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 ================================================ -

AbsGS: Recovering Fine Details for 3D Gaussian Splatting

Zongxin Ye+ · Wenyu Li+ · Sidun Liu · Peng Qiao · Yong Dou

arXiv | Project Page | Code

Logo

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.


​ ## Installation The repository contains submodules, thus please check it out with ```shell git clone git@github.com:TY424/AbsGS.git --recursive # if you have an environment used for 3dgs, use it # if not, create a new environment conda env create --file environment.yml conda activate Absgs cd submodules/ python ./diff-gaussian-rasterization-abs/setup.py install python ./simple-knn/setup.py install ``` ## Training and Evaluation ``` # Train python train.py -s -m --eval # Train with train/test split # Generate renderings python render.py -s -m # Compute error metrics on renderings python metrics.py -m # This script specifies the routine used in our evaluation python full_eval.py -m360 -tat -db ``` ## Some minor changes Based on AbsGS, we have made some minor modifications to improve performance in large scenarios. None of these modifications were utilized in our paper. ### Initial pruning We noticed that the visualization results of point clouds in COLMAP are inconsistent with those in the `.ply` file, as COLMAP filters them based on reprojection errors and track length during visualization. Therefore, we modified the `read_points3D_binary` function. In addition, pruning is performed initially based on the size of the radius to remove noise. point ### Weight-based pruning Taking inspiration from the pruning strategy based on ```max_radii2d``` in 3DGS, we conduct pruning based on the contribution (```max_weight```) of the Gaussian during rendering , where ```max_weight``` represents the maximum weight of the Gaussian participated in all rendering processes. In fact, the pruning strategy based on max_radii2d does not work for 3DGS, and we haven't fixed this bug. Sci-Art >Sci-Art scene from UrbanScene3D dataset > >w/ prune: uses Initial pruning and weight-based pruning ## New Arguments #### --percent_dense Percentage of scene extent (0--1) a point must exceed to be splite, ```0.001``` by default. #### --densify_grad_threshold Limit that decides if points should be cloned based on 2D position gradient, ```0.0002``` by default. #### --densify_grad_abs_threshold Limit that decides if points should be splite based on homodirectional gradient, ```0.0004``` by default. #### --use_reduce Whether to periodically reduce opacity, ```True``` by default. #### --opacity_reduce_interval How frequently to reduce opacity, ```3_000``` by default. #### --use_prune_weight Whether to prune based on weights, ```False``` by default. #### --min_weight Gaussians with weights less than this threshold will be pruned, ```0.5``` by default. #### --prune_until_iter Iteration where pruning by weight stops, ```15_000``` by default. # Citation If you find our code or paper useful, please consider citing: ```bibtex @misc{ye2024absgs, title={AbsGS: Recovering Fine Details for 3D Gaussian Splatting}, author={Zongxin Ye and Wenyu Li and Sidun Liu and Peng Qiao and Yong Dou}, year={2024}, eprint={2404.10484}, archivePrefix={arXiv}, primaryClass={cs.CV} } @Article{kerbl3Dgaussians, author = {Kerbl, Bernhard and Kopanas, Georgios and Leimk{\"u}hler, Thomas and Drettakis, George}, title = {3D Gaussian Splatting for Real-Time Radiance Field Rendering}, journal = {ACM Transactions on Graphics}, number = {4}, volume = {42}, month = {July}, year = {2023}, url = {https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/} } ``` ================================================ FILE: arguments/__init__.py ================================================ # # Copyright (C) 2023, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact george.drettakis@inria.fr # from argparse import ArgumentParser, Namespace import sys import os class GroupParams: pass class ParamGroup: def __init__(self, parser: ArgumentParser, name : str, fill_none = False): group = parser.add_argument_group(name) for key, value in vars(self).items(): shorthand = False if key.startswith("_"): shorthand = True key = key[1:] t = type(value) value = value if not fill_none else None if shorthand: if t == bool: group.add_argument("--" + key, ("-" + key[0:1]), default=value, action="store_true") else: group.add_argument("--" + key, ("-" + key[0:1]), default=value, type=t) else: if t == bool: group.add_argument("--" + key, default=value, action="store_true") else: group.add_argument("--" + key, default=value, type=t) def extract(self, args): group = GroupParams() for arg in vars(args).items(): if arg[0] in vars(self) or ("_" + arg[0]) in vars(self): setattr(group, arg[0], arg[1]) return group class ModelParams(ParamGroup): def __init__(self, parser, sentinel=False): self.sh_degree = 3 self._source_path = "" self._model_path = "" self._images = "images" self._resolution = -1 self._white_background = False self.data_device = "cuda" self.eval = False self.init_prune = False # For removing initial noises. super().__init__(parser, "Loading Parameters", sentinel) def extract(self, args): g = super().extract(args) g.source_path = os.path.abspath(g.source_path) return g class PipelineParams(ParamGroup): def __init__(self, parser): self.convert_SHs_python = False self.compute_cov3D_python = False self.debug = False super().__init__(parser, "Pipeline Parameters") class OptimizationParams(ParamGroup): def __init__(self, parser): self.iterations = 30_000 self.position_lr_init = 0.00016 self.position_lr_final = 0.0000016 self.position_lr_delay_mult = 0.01 self.position_lr_max_steps = 30_000 self.feature_lr = 0.0025 self.opacity_lr = 0.05 self.scaling_lr = 0.005 self.rotation_lr = 0.001 self.percent_dense = 0.001 # 0.01 self.lambda_dssim = 0.2 self.densification_interval = 100 self.opacity_reset_interval = 3000 self.densify_from_iter = 500 self.densify_until_iter = 15000 self.densify_grad_threshold = 0.0002 self.densify_grad_abs_threshold = 0.0004 self.use_reduce = True self.opacity_reduce_interval = 500 # remove floater self.use_prune_weight = False self.prune_until_iter = 25000 self.min_weight = 0.7 self.random_background = False super().__init__(parser, "Optimization Parameters") def get_combined_args(parser : ArgumentParser): cmdlne_string = sys.argv[1:] cfgfile_string = "Namespace()" args_cmdline = parser.parse_args(cmdlne_string) try: cfgfilepath = os.path.join(args_cmdline.model_path, "cfg_args") print("Looking for config file in", cfgfilepath) with open(cfgfilepath) as cfg_file: print("Config file found: {}".format(cfgfilepath)) cfgfile_string = cfg_file.read() except TypeError: print("Config file not found at") pass args_cfgfile = eval(cfgfile_string) merged_dict = vars(args_cfgfile).copy() for k,v in vars(args_cmdline).items(): if v != None: merged_dict[k] = v return Namespace(**merged_dict) ================================================ FILE: convert.py ================================================ # # Copyright (C) 2023, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact george.drettakis@inria.fr # import os import logging from argparse import ArgumentParser import shutil # This Python script is based on the shell converter script provided in the MipNerF 360 repository. parser = ArgumentParser("Colmap converter") parser.add_argument("--no_gpu", action='store_true') parser.add_argument("--skip_matching", action='store_true') parser.add_argument("--source_path", "-s", required=True, type=str) parser.add_argument("--camera", default="OPENCV", type=str) parser.add_argument("--colmap_executable", default="", type=str) parser.add_argument("--resize", action="store_true") parser.add_argument("--magick_executable", default="", type=str) args = parser.parse_args() colmap_command = '"{}"'.format(args.colmap_executable) if len(args.colmap_executable) > 0 else "colmap" magick_command = '"{}"'.format(args.magick_executable) if len(args.magick_executable) > 0 else "magick" use_gpu = 1 if not args.no_gpu else 0 if not args.skip_matching: os.makedirs(args.source_path + "/distorted/sparse", exist_ok=True) ## Feature extraction feat_extracton_cmd = colmap_command + " feature_extractor "\ "--database_path " + args.source_path + "/distorted/database.db \ --image_path " + args.source_path + "/input \ --ImageReader.single_camera 1 \ --ImageReader.camera_model " + args.camera + " \ --SiftExtraction.use_gpu " + str(use_gpu) exit_code = os.system(feat_extracton_cmd) if exit_code != 0: logging.error(f"Feature extraction failed with code {exit_code}. Exiting.") exit(exit_code) ## Feature matching feat_matching_cmd = colmap_command + " exhaustive_matcher \ --database_path " + args.source_path + "/distorted/database.db \ --SiftMatching.use_gpu " + str(use_gpu) exit_code = os.system(feat_matching_cmd) if exit_code != 0: logging.error(f"Feature matching failed with code {exit_code}. Exiting.") exit(exit_code) ### Bundle adjustment # The default Mapper tolerance is unnecessarily large, # decreasing it speeds up bundle adjustment steps. mapper_cmd = (colmap_command + " mapper \ --database_path " + args.source_path + "/distorted/database.db \ --image_path " + args.source_path + "/input \ --output_path " + args.source_path + "/distorted/sparse \ --Mapper.ba_global_function_tolerance=0.000001") exit_code = os.system(mapper_cmd) if exit_code != 0: logging.error(f"Mapper failed with code {exit_code}. Exiting.") exit(exit_code) ### Image undistortion ## We need to undistort our images into ideal pinhole intrinsics. img_undist_cmd = (colmap_command + " image_undistorter \ --image_path " + args.source_path + "/input \ --input_path " + args.source_path + "/distorted/sparse/0 \ --output_path " + args.source_path + "\ --output_type COLMAP") exit_code = os.system(img_undist_cmd) if exit_code != 0: logging.error(f"Mapper failed with code {exit_code}. Exiting.") exit(exit_code) files = os.listdir(args.source_path + "/sparse") os.makedirs(args.source_path + "/sparse/0", exist_ok=True) # Copy each file from the source directory to the destination directory for file in files: if file == '0': continue source_file = os.path.join(args.source_path, "sparse", file) destination_file = os.path.join(args.source_path, "sparse", "0", file) shutil.move(source_file, destination_file) if(args.resize): print("Copying and resizing...") # Resize images. os.makedirs(args.source_path + "/images_2", exist_ok=True) os.makedirs(args.source_path + "/images_4", exist_ok=True) os.makedirs(args.source_path + "/images_8", exist_ok=True) # Get the list of files in the source directory files = os.listdir(args.source_path + "/images") # Copy each file from the source directory to the destination directory for file in files: source_file = os.path.join(args.source_path, "images", file) destination_file = os.path.join(args.source_path, "images_2", file) shutil.copy2(source_file, destination_file) exit_code = os.system(magick_command + " mogrify -resize 50% " + destination_file) if exit_code != 0: logging.error(f"50% resize failed with code {exit_code}. Exiting.") exit(exit_code) destination_file = os.path.join(args.source_path, "images_4", file) shutil.copy2(source_file, destination_file) exit_code = os.system(magick_command + " mogrify -resize 25% " + destination_file) if exit_code != 0: logging.error(f"25% resize failed with code {exit_code}. Exiting.") exit(exit_code) destination_file = os.path.join(args.source_path, "images_8", file) shutil.copy2(source_file, destination_file) exit_code = os.system(magick_command + " mogrify -resize 12.5% " + destination_file) if exit_code != 0: logging.error(f"12.5% resize failed with code {exit_code}. Exiting.") exit(exit_code) print("Done.") ================================================ FILE: environment.yml ================================================ name: Absgs channels: - pytorch - conda-forge - defaults dependencies: - cudatoolkit=11.6 - plyfile - python=3.7.13 - pip=22.3.1 - pytorch=1.12.1 - torchaudio=0.12.1 - torchvision=0.13.1 - tqdm - pip: - submodules/diff-gaussian-rasterization-abs - submodules/simple-knn ================================================ FILE: full_eval.py ================================================ # # Copyright (C) 2023, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact george.drettakis@inria.fr # import os from argparse import ArgumentParser # mipnerf360_outdoor_scenes = ["bicycle", "flowers", "garden", "stump", "treehill"] # mipnerf360_indoor_scenes = ["room", "counter", "kitchen", "bonsai"] # tanks_and_temples_scenes = ["truck", "train"] # deep_blending_scenes = ["drjohnson", "playroom"] mipnerf360_outdoor_scenes = ["bicycle"] mipnerf360_indoor_scenes = [] tanks_and_temples_scenes = [] deep_blending_scenes = [] parser = ArgumentParser(description="Full evaluation script parameters") parser.add_argument("--skip_training", action="store_true") parser.add_argument("--skip_rendering", action="store_true") parser.add_argument("--skip_metrics", action="store_true") parser.add_argument("--output_path", default="./eval") args, _ = parser.parse_known_args() all_scenes = [] all_scenes.extend(mipnerf360_outdoor_scenes) all_scenes.extend(mipnerf360_indoor_scenes) all_scenes.extend(tanks_and_temples_scenes) all_scenes.extend(deep_blending_scenes) if not args.skip_training or not args.skip_rendering: parser.add_argument('--mipnerf360', "-m360", required=True, type=str) 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 " for scene in mipnerf360_outdoor_scenes: source = args.mipnerf360 + "/" + scene print("python train.py -s " + source + " -i images_4 -m " + args.output_path + "/" + scene + common_args) os.system("python train.py -s " + source + " -i images_4 -m " + args.output_path + "/" + scene + common_args) for scene in mipnerf360_indoor_scenes: source = args.mipnerf360 + "/" + scene os.system("python train.py -s " + source + " -i images_2 -m " + args.output_path + "/" + scene + common_args) for scene in tanks_and_temples_scenes: source = args.tanksandtemples + "/" + scene os.system("python train.py -s " + source + " -m " + args.output_path + "/" + scene + common_args) for scene in deep_blending_scenes: source = args.deepblending + "/" + scene os.system("python train.py -s " + source + " -m " + args.output_path + "/" + scene + common_args) if not args.skip_rendering: all_sources = [] for scene in mipnerf360_outdoor_scenes: all_sources.append(args.mipnerf360 + "/" + scene) for scene in mipnerf360_indoor_scenes: all_sources.append(args.mipnerf360 + "/" + scene) for scene in tanks_and_temples_scenes: all_sources.append(args.tanksandtemples + "/" + scene) for scene in deep_blending_scenes: all_sources.append(args.deepblending + "/" + scene) common_args = " --quiet --eval --skip_train" 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) if not args.skip_metrics: scenes_string = "" for scene in all_scenes: scenes_string += "\"" + args.output_path + "/" + scene + "\" " os.system("python metrics.py -m " + scenes_string) ================================================ FILE: gaussian_renderer/__init__.py ================================================ # # Copyright (C) 2023, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact george.drettakis@inria.fr # import torch import math # from diff_gaussian_rasterization import GaussianRasterizationSettings, GaussianRasterizer from diff_gaussian_rasterization_abs import GaussianRasterizationSettings, GaussianRasterizer 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): """ Render the scene. Background tensor (bg_color) must be on GPU! """ # Create zero tensor. We will use it to make pytorch return gradients of the 2D (screen-space) means screenspace_points = torch.zeros((pc.get_xyz.shape[0], 4), dtype=pc.get_xyz.dtype, requires_grad=True, device="cuda") + 0 try: screenspace_points.retain_grad() except: pass # Set up rasterization configuration tanfovx = math.tan(viewpoint_camera.FoVx * 0.5) tanfovy = math.tan(viewpoint_camera.FoVy * 0.5) raster_settings = GaussianRasterizationSettings( image_height=int(viewpoint_camera.image_height), image_width=int(viewpoint_camera.image_width), tanfovx=tanfovx, tanfovy=tanfovy, bg=bg_color, scale_modifier=scaling_modifier, viewmatrix=viewpoint_camera.world_view_transform, projmatrix=viewpoint_camera.full_proj_transform, sh_degree=pc.active_sh_degree, campos=viewpoint_camera.camera_center, prefiltered=False, debug=pipe.debug ) rasterizer = GaussianRasterizer(raster_settings=raster_settings) means3D = pc.get_xyz means2D = screenspace_points opacity = pc.get_opacity # If precomputed 3d covariance is provided, use it. If not, then it will be computed from # scaling / rotation by the rasterizer. scales = None rotations = None cov3D_precomp = None if pipe.compute_cov3D_python: cov3D_precomp = pc.get_covariance(scaling_modifier) else: scales = pc.get_scaling rotations = pc.get_rotation # If precomputed colors are provided, use them. Otherwise, if it is desired to precompute colors # from SHs in Python, do it. If not, then SH -> RGB conversion will be done by rasterizer. shs = None colors_precomp = None if override_color is None: if pipe.convert_SHs_python: shs_view = pc.get_features.transpose(1, 2).view(-1, 3, (pc.max_sh_degree+1)**2) dir_pp = (pc.get_xyz - viewpoint_camera.camera_center.repeat(pc.get_features.shape[0], 1)) dir_pp_normalized = dir_pp/dir_pp.norm(dim=1, keepdim=True) 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 else: colors_precomp = override_color # Rasterize visible Gaussians to image, obtain their radii (on screen). gs_w = None rendered_image, radii, gs_w = rasterizer( means3D = means3D, means2D = means2D, shs = shs, colors_precomp = colors_precomp, opacities = opacity, scales = scales, rotations = rotations, cov3D_precomp = cov3D_precomp) # Those Gaussians that were frustum culled or had a radius of 0 were not visible. # They will be excluded from value updates used in the splitting criteria. return {"render": rendered_image, "viewspace_points": screenspace_points, "visibility_filter" : radii > 0, "radii": radii, "gs_w": gs_w } ================================================ FILE: gaussian_renderer/network_gui.py ================================================ # # Copyright (C) 2023, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact george.drettakis@inria.fr # import torch import traceback import socket import json from scene.cameras import MiniCam host = "127.0.0.1" port = 6009 conn = None addr = None listener = socket.socket(socket.AF_INET, socket.SOCK_STREAM) def init(wish_host, wish_port): global host, port, listener host = wish_host port = wish_port listener.bind((host, port)) listener.listen() listener.settimeout(0) def try_connect(): global conn, addr, listener try: conn, addr = listener.accept() print(f"\nConnected by {addr}") conn.settimeout(None) except Exception as inst: pass def read(): global conn messageLength = conn.recv(4) messageLength = int.from_bytes(messageLength, 'little') message = conn.recv(messageLength) return json.loads(message.decode("utf-8")) def send(message_bytes, verify): global conn if message_bytes != None: conn.sendall(message_bytes) conn.sendall(len(verify).to_bytes(4, 'little')) conn.sendall(bytes(verify, 'ascii')) def receive(): message = read() width = message["resolution_x"] height = message["resolution_y"] if width != 0 and height != 0: try: do_training = bool(message["train"]) fovy = message["fov_y"] fovx = message["fov_x"] znear = message["z_near"] zfar = message["z_far"] do_shs_python = bool(message["shs_python"]) do_rot_scale_python = bool(message["rot_scale_python"]) keep_alive = bool(message["keep_alive"]) scaling_modifier = message["scaling_modifier"] world_view_transform = torch.reshape(torch.tensor(message["view_matrix"]), (4, 4)).cuda() world_view_transform[:,1] = -world_view_transform[:,1] world_view_transform[:,2] = -world_view_transform[:,2] full_proj_transform = torch.reshape(torch.tensor(message["view_projection_matrix"]), (4, 4)).cuda() full_proj_transform[:,1] = -full_proj_transform[:,1] custom_cam = MiniCam(width, height, fovy, fovx, znear, zfar, world_view_transform, full_proj_transform) except Exception as e: print("") traceback.print_exc() raise e return custom_cam, do_training, do_shs_python, do_rot_scale_python, keep_alive, scaling_modifier else: return None, None, None, None, None, None ================================================ FILE: lpipsPyTorch/__init__.py ================================================ import torch from .modules.lpips import LPIPS def lpips(x: torch.Tensor, y: torch.Tensor, net_type: str = 'alex', version: str = '0.1'): r"""Function that measures Learned Perceptual Image Patch Similarity (LPIPS). Arguments: x, y (torch.Tensor): the input tensors to compare. net_type (str): the network type to compare the features: 'alex' | 'squeeze' | 'vgg'. Default: 'alex'. version (str): the version of LPIPS. Default: 0.1. """ device = x.device criterion = LPIPS(net_type, version).to(device) return criterion(x, y) ================================================ FILE: lpipsPyTorch/modules/lpips.py ================================================ import torch import torch.nn as nn from .networks import get_network, LinLayers from .utils import get_state_dict class LPIPS(nn.Module): r"""Creates a criterion that measures Learned Perceptual Image Patch Similarity (LPIPS). Arguments: net_type (str): the network type to compare the features: 'alex' | 'squeeze' | 'vgg'. Default: 'alex'. version (str): the version of LPIPS. Default: 0.1. """ def __init__(self, net_type: str = 'alex', version: str = '0.1'): assert version in ['0.1'], 'v0.1 is only supported now' super(LPIPS, self).__init__() # pretrained network self.net = get_network(net_type) # linear layers self.lin = LinLayers(self.net.n_channels_list) self.lin.load_state_dict(get_state_dict(net_type, version)) def forward(self, x: torch.Tensor, y: torch.Tensor): feat_x, feat_y = self.net(x), self.net(y) diff = [(fx - fy) ** 2 for fx, fy in zip(feat_x, feat_y)] res = [l(d).mean((2, 3), True) for d, l in zip(diff, self.lin)] return torch.sum(torch.cat(res, 0), 0, True) ================================================ FILE: lpipsPyTorch/modules/networks.py ================================================ from typing import Sequence from itertools import chain import torch import torch.nn as nn from torchvision import models from .utils import normalize_activation def get_network(net_type: str): if net_type == 'alex': return AlexNet() elif net_type == 'squeeze': return SqueezeNet() elif net_type == 'vgg': return VGG16() else: raise NotImplementedError('choose net_type from [alex, squeeze, vgg].') class LinLayers(nn.ModuleList): def __init__(self, n_channels_list: Sequence[int]): super(LinLayers, self).__init__([ nn.Sequential( nn.Identity(), nn.Conv2d(nc, 1, 1, 1, 0, bias=False) ) for nc in n_channels_list ]) for param in self.parameters(): param.requires_grad = False class BaseNet(nn.Module): def __init__(self): super(BaseNet, self).__init__() # register buffer self.register_buffer( 'mean', torch.Tensor([-.030, -.088, -.188])[None, :, None, None]) self.register_buffer( 'std', torch.Tensor([.458, .448, .450])[None, :, None, None]) def set_requires_grad(self, state: bool): for param in chain(self.parameters(), self.buffers()): param.requires_grad = state def z_score(self, x: torch.Tensor): return (x - self.mean) / self.std def forward(self, x: torch.Tensor): x = self.z_score(x) output = [] for i, (_, layer) in enumerate(self.layers._modules.items(), 1): x = layer(x) if i in self.target_layers: output.append(normalize_activation(x)) if len(output) == len(self.target_layers): break return output class SqueezeNet(BaseNet): def __init__(self): super(SqueezeNet, self).__init__() self.layers = models.squeezenet1_1(True).features self.target_layers = [2, 5, 8, 10, 11, 12, 13] self.n_channels_list = [64, 128, 256, 384, 384, 512, 512] self.set_requires_grad(False) class AlexNet(BaseNet): def __init__(self): super(AlexNet, self).__init__() self.layers = models.alexnet(True).features self.target_layers = [2, 5, 8, 10, 12] self.n_channels_list = [64, 192, 384, 256, 256] self.set_requires_grad(False) class VGG16(BaseNet): def __init__(self): super(VGG16, self).__init__() self.layers = models.vgg16(weights=models.VGG16_Weights.IMAGENET1K_V1).features self.target_layers = [4, 9, 16, 23, 30] self.n_channels_list = [64, 128, 256, 512, 512] self.set_requires_grad(False) ================================================ FILE: lpipsPyTorch/modules/utils.py ================================================ from collections import OrderedDict import torch def normalize_activation(x, eps=1e-10): norm_factor = torch.sqrt(torch.sum(x ** 2, dim=1, keepdim=True)) return x / (norm_factor + eps) def get_state_dict(net_type: str = 'alex', version: str = '0.1'): # build url url = 'https://raw.githubusercontent.com/richzhang/PerceptualSimilarity/' \ + f'master/lpips/weights/v{version}/{net_type}.pth' # download old_state_dict = torch.hub.load_state_dict_from_url( url, progress=True, map_location=None if torch.cuda.is_available() else torch.device('cpu') ) # rename keys new_state_dict = OrderedDict() for key, val in old_state_dict.items(): new_key = key new_key = new_key.replace('lin', '') new_key = new_key.replace('model.', '') new_state_dict[new_key] = val return new_state_dict ================================================ FILE: metrics.py ================================================ # # Copyright (C) 2023, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact george.drettakis@inria.fr # from pathlib import Path import os from PIL import Image import torch import torchvision.transforms.functional as tf from utils.loss_utils import ssim from lpipsPyTorch import lpips import json from tqdm import tqdm from utils.image_utils import psnr from argparse import ArgumentParser def readImages(renders_dir, gt_dir): renders = [] gts = [] image_names = [] for fname in os.listdir(renders_dir): render = Image.open(renders_dir / fname) gt = Image.open(gt_dir / fname) renders.append(tf.to_tensor(render).unsqueeze(0)[:, :3, :, :].cuda()) gts.append(tf.to_tensor(gt).unsqueeze(0)[:, :3, :, :].cuda()) image_names.append(fname) return renders, gts, image_names def evaluate(model_paths): full_dict = {} per_view_dict = {} full_dict_polytopeonly = {} per_view_dict_polytopeonly = {} print("") for scene_dir in model_paths: try: print("Scene:", scene_dir) full_dict[scene_dir] = {} per_view_dict[scene_dir] = {} full_dict_polytopeonly[scene_dir] = {} per_view_dict_polytopeonly[scene_dir] = {} test_dir = Path(scene_dir) / "test" for method in os.listdir(test_dir): print("Method:", method) full_dict[scene_dir][method] = {} per_view_dict[scene_dir][method] = {} full_dict_polytopeonly[scene_dir][method] = {} per_view_dict_polytopeonly[scene_dir][method] = {} method_dir = test_dir / method gt_dir = method_dir/ "gt" renders_dir = method_dir / "renders" renders, gts, image_names = readImages(renders_dir, gt_dir) ssims = [] psnrs = [] lpipss = [] for idx in tqdm(range(len(renders)), desc="Metric evaluation progress"): ssims.append(ssim(renders[idx], gts[idx])) psnrs.append(psnr(renders[idx], gts[idx])) lpipss.append(lpips(renders[idx], gts[idx], net_type='vgg')) print(" SSIM : {:>12.7f}".format(torch.tensor(ssims).mean(), ".5")) print(" PSNR : {:>12.7f}".format(torch.tensor(psnrs).mean(), ".5")) print(" LPIPS: {:>12.7f}".format(torch.tensor(lpipss).mean(), ".5")) print("") full_dict[scene_dir][method].update({"SSIM": torch.tensor(ssims).mean().item(), "PSNR": torch.tensor(psnrs).mean().item(), "LPIPS": torch.tensor(lpipss).mean().item()}) per_view_dict[scene_dir][method].update({"SSIM": {name: ssim for ssim, name in zip(torch.tensor(ssims).tolist(), image_names)}, "PSNR": {name: psnr for psnr, name in zip(torch.tensor(psnrs).tolist(), image_names)}, "LPIPS": {name: lp for lp, name in zip(torch.tensor(lpipss).tolist(), image_names)}}) with open(scene_dir + "/results.json", 'w') as fp: json.dump(full_dict[scene_dir], fp, indent=True) with open(scene_dir + "/per_view.json", 'w') as fp: json.dump(per_view_dict[scene_dir], fp, indent=True) except: print("Unable to compute metrics for model", scene_dir) if __name__ == "__main__": device = torch.device("cuda:0") torch.cuda.set_device(device) # Set up command line argument parser parser = ArgumentParser(description="Training script parameters") parser.add_argument('--model_paths', '-m', required=True, nargs="+", type=str, default=[]) args = parser.parse_args() evaluate(args.model_paths) ================================================ FILE: render.py ================================================ # # Copyright (C) 2023, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact george.drettakis@inria.fr # import torch from scene import Scene import os from tqdm import tqdm from os import makedirs from gaussian_renderer import render import torchvision from utils.general_utils import safe_state from argparse import ArgumentParser from arguments import ModelParams, PipelineParams, get_combined_args from gaussian_renderer import GaussianModel def render_set(model_path, name, iteration, views, gaussians, pipeline, background): render_path = os.path.join(model_path, name, "ours_{}".format(iteration), "renders") gts_path = os.path.join(model_path, name, "ours_{}".format(iteration), "gt") makedirs(render_path, exist_ok=True) makedirs(gts_path, exist_ok=True) for idx, view in enumerate(tqdm(views, desc="Rendering progress")): rendering = render(view, gaussians, pipeline, background)["render"] gt = view.original_image[0:3, :, :] 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): with torch.no_grad(): gaussians = GaussianModel(dataset.sh_degree) scene = Scene(dataset, gaussians, load_iteration=iteration, shuffle=False) bg_color = [1,1,1] if dataset.white_background else [0, 0, 0] 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) if not skip_test: render_set(dataset.model_path, "test", scene.loaded_iter, scene.getTestCameras(), gaussians, pipeline, background) if __name__ == "__main__": # Set up command line argument parser parser = ArgumentParser(description="Testing script parameters") model = ModelParams(parser, sentinel=True) pipeline = PipelineParams(parser) parser.add_argument("--iteration", default=-1, type=int) parser.add_argument("--skip_train", action="store_true") parser.add_argument("--skip_test", action="store_true") parser.add_argument("--quiet", action="store_true") args = get_combined_args(parser) print("Rendering " + args.model_path) # Initialize system state (RNG) safe_state(args.quiet) render_sets(model.extract(args), args.iteration, pipeline.extract(args), args.skip_train, args.skip_test) ================================================ FILE: scene/__init__.py ================================================ # # Copyright (C) 2023, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact george.drettakis@inria.fr # import os import random import json from utils.system_utils import searchForMaxIteration from scene.dataset_readers import sceneLoadTypeCallbacks from scene.gaussian_model import GaussianModel from arguments import ModelParams from utils.camera_utils import cameraList_from_camInfos, camera_to_JSON class Scene: gaussians : GaussianModel def __init__(self, args : ModelParams, gaussians : GaussianModel, load_iteration=None, shuffle=True, resolution_scales=[1.0]): """b :param path: Path to colmap scene main folder. """ self.model_path = args.model_path self.loaded_iter = None self.gaussians = gaussians if load_iteration: if load_iteration == -1: self.loaded_iter = searchForMaxIteration(os.path.join(self.model_path, "point_cloud")) else: self.loaded_iter = load_iteration print("Loading trained model at iteration {}".format(self.loaded_iter)) self.train_cameras = {} self.test_cameras = {} if os.path.exists(os.path.join(args.source_path, "sparse")): scene_info = sceneLoadTypeCallbacks["Colmap"](args.source_path, args.images, args.eval) elif os.path.exists(os.path.join(args.source_path, "transforms_train.json")): print("Found transforms_train.json file, assuming Blender data set!") scene_info = sceneLoadTypeCallbacks["Blender"](args.source_path, args.white_background, args.eval) else: assert False, "Could not recognize scene type!" if not self.loaded_iter: with open(scene_info.ply_path, 'rb') as src_file, open(os.path.join(self.model_path, "input.ply") , 'wb') as dest_file: dest_file.write(src_file.read()) json_cams = [] camlist = [] if scene_info.test_cameras: camlist.extend(scene_info.test_cameras) if scene_info.train_cameras: camlist.extend(scene_info.train_cameras) for id, cam in enumerate(camlist): json_cams.append(camera_to_JSON(id, cam)) with open(os.path.join(self.model_path, "cameras.json"), 'w') as file: json.dump(json_cams, file) if shuffle: random.shuffle(scene_info.train_cameras) # Multi-res consistent random shuffling random.shuffle(scene_info.test_cameras) # Multi-res consistent random shuffling self.cameras_extent = scene_info.nerf_normalization["radius"] for resolution_scale in resolution_scales: print("Loading Training Cameras") self.train_cameras[resolution_scale] = cameraList_from_camInfos(scene_info.train_cameras, resolution_scale, args) print("Loading Test Cameras") self.test_cameras[resolution_scale] = cameraList_from_camInfos(scene_info.test_cameras, resolution_scale, args) if self.loaded_iter: self.gaussians.load_ply(os.path.join(self.model_path, "point_cloud", "iteration_" + str(self.loaded_iter), "point_cloud.ply")) else: self.gaussians.create_from_pcd(scene_info.point_cloud, self.cameras_extent) def save(self, iteration): point_cloud_path = os.path.join(self.model_path, "point_cloud/iteration_{}".format(iteration)) self.gaussians.save_ply(os.path.join(point_cloud_path, "point_cloud.ply")) def getTrainCameras(self, scale=1.0): return self.train_cameras[scale] def getTestCameras(self, scale=1.0): return self.test_cameras[scale] ================================================ FILE: scene/cameras.py ================================================ # # Copyright (C) 2023, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact george.drettakis@inria.fr # import torch from torch import nn import numpy as np from utils.graphics_utils import getWorld2View2, getProjectionMatrix class Camera(nn.Module): def __init__(self, colmap_id, R, T, FoVx, FoVy, image, gt_alpha_mask, image_name, uid, trans=np.array([0.0, 0.0, 0.0]), scale=1.0, data_device = "cuda" ): super(Camera, self).__init__() self.uid = uid self.colmap_id = colmap_id self.R = R self.T = T self.FoVx = FoVx self.FoVy = FoVy self.image_name = image_name try: self.data_device = torch.device(data_device) except Exception as e: print(e) print(f"[Warning] Custom device {data_device} failed, fallback to default cuda device" ) self.data_device = torch.device("cuda") self.original_image = image.clamp(0.0, 1.0) self.image_width = self.original_image.shape[2] self.image_height = self.original_image.shape[1] if gt_alpha_mask is not None: self.original_image *= gt_alpha_mask else: self.original_image *= torch.ones((1, self.image_height, self.image_width)) self.zfar = 100.0 self.znear = 0.01 self.trans = trans self.scale = scale self.world_view_transform = torch.tensor(getWorld2View2(R, T, trans, scale)).transpose(0, 1).cuda() self.projection_matrix = getProjectionMatrix(znear=self.znear, zfar=self.zfar, fovX=self.FoVx, fovY=self.FoVy).transpose(0,1).cuda() self.full_proj_transform = (self.world_view_transform.unsqueeze(0).bmm(self.projection_matrix.unsqueeze(0))).squeeze(0) self.camera_center = self.world_view_transform.inverse()[3, :3] class MiniCam: def __init__(self, width, height, fovy, fovx, znear, zfar, world_view_transform, full_proj_transform): self.image_width = width self.image_height = height self.FoVy = fovy self.FoVx = fovx self.znear = znear self.zfar = zfar self.world_view_transform = world_view_transform self.full_proj_transform = full_proj_transform view_inv = torch.inverse(self.world_view_transform) self.camera_center = view_inv[3][:3] ================================================ FILE: scene/colmap_loader.py ================================================ # # Copyright (C) 2023, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact george.drettakis@inria.fr # import numpy as np import collections import struct 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"]) 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 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 class Image(BaseImage): def qvec2rotmat(self): return qvec2rotmat(self.qvec) 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 read_points3D_text_3DGS(path): """ see: src/base/reconstruction.cc void Reconstruction::ReadPoints3DText(const std::string& path) void Reconstruction::WritePoints3DText(const std::string& path) """ xyzs = None rgbs = None errors = None num_points = 0 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] != "#": num_points += 1 xyzs = np.empty((num_points, 3)) rgbs = np.empty((num_points, 3)) errors = np.empty((num_points, 1)) count = 0 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() xyz = np.array(tuple(map(float, elems[1:4]))) rgb = np.array(tuple(map(int, elems[4:7]))) error = np.array(float(elems[7])) xyzs[count] = xyz rgbs[count] = rgb errors[count] = error count += 1 return xyzs, rgbs, errors def read_points3D_text(path, max_err=2, min_track_length=3): """ see: src/base/reconstruction.cc void Reconstruction::ReadPoints3DText(const std::string& path) void Reconstruction::WritePoints3DText(const std::string& path) The colmap visualization filters out points with err greater than 2.0 and track length less than 3 see: src/ui/model_viewer_widget.cc void ModelViewerWidget::UploadPointData(const bool selection_mode) """ xyzs = None rgbs = None errors = None num_points = 0 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] != "#": num_points += 1 xyzs = np.empty((num_points, 3)) rgbs = np.empty((num_points, 3)) errors = np.empty((num_points, 1)) count = 0 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() xyz = np.array(tuple(map(float, elems[1:4]))) rgb = np.array(tuple(map(int, elems[4:7]))) error = np.array(float(elems[7])) track_length = int(len(elems[8:]) / 2) if error > max_err or track_length < min_track_length: continue xyzs[count] = xyz rgbs[count] = rgb errors[count] = error count += 1 xyzs = np.delete(xyzs,np.arange(count,num_points),axis=0) rgbs = np.delete(rgbs, np.arange(count, num_points), axis=0) errors = np.delete(errors, np.arange(count, num_points), axis=0) return xyzs, rgbs, errors def read_points3D_binary_3DGS(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, "rb") as fid: num_points = read_next_bytes(fid, 8, "Q")[0] xyzs = np.empty((num_points, 3)) rgbs = np.empty((num_points, 3)) errors = np.empty((num_points, 1)) for p_id in range(num_points): binary_point_line_properties = read_next_bytes( fid, num_bytes=43, format_char_sequence="QdddBBBd") 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) xyzs[p_id] = xyz rgbs[p_id] = rgb errors[p_id] = error return xyzs, rgbs, errors def read_points3D_binary(path_to_model_file,max_err=2,min_track_length=3): """ see: src/base/reconstruction.cc void Reconstruction::ReadPoints3DBinary(const std::string& path) void Reconstruction::WritePoints3DBinary(const std::string& path) The colmap visualization filters out points with err greater than 2.0 and track length less than 3 see: src/ui/model_viewer_widget.cc void ModelViewerWidget::UploadPointData(const bool selection_mode) """ with open(path_to_model_file, "rb") as fid: num_points = read_next_bytes(fid, 8, "Q")[0] xyzs = np.empty((num_points, 3)) rgbs = np.empty((num_points, 3)) errors = np.empty((num_points, 1)) count = 0 for p_id in range(num_points): binary_point_line_properties = read_next_bytes( fid, num_bytes=43, format_char_sequence="QdddBBBd") 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) if error > max_err or track_length < min_track_length: continue xyzs[count] = xyz rgbs[count] = rgb errors[count] = error count +=1 xyzs = np.delete(xyzs,np.arange(count,num_points),axis=0) rgbs = np.delete(rgbs, np.arange(count, num_points), axis=0) errors = np.delete(errors, np.arange(count, num_points), axis=0) return xyzs, rgbs, errors def read_intrinsics_text(path): """ Taken from https://github.com/colmap/colmap/blob/dev/scripts/python/read_write_model.py """ 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] assert model == "PINHOLE", "While the loader support other types, the rest of the code assumes PINHOLE" 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_extrinsics_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 read_intrinsics_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 read_extrinsics_text(path): """ Taken from https://github.com/colmap/colmap/blob/dev/scripts/python/read_write_model.py """ 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_colmap_bin_array(path): """ Taken from https://github.com/colmap/colmap/blob/dev/scripts/python/read_dense.py :param path: path to the colmap binary file. :return: nd array with the floating point values in the value """ with open(path, "rb") as fid: width, height, channels = np.genfromtxt(fid, delimiter="&", max_rows=1, usecols=(0, 1, 2), dtype=int) fid.seek(0) num_delimiter = 0 byte = fid.read(1) while True: if byte == b"&": num_delimiter += 1 if num_delimiter >= 3: break byte = fid.read(1) array = np.fromfile(fid, np.float32) array = array.reshape((width, height, channels), order="F") return np.transpose(array, (1, 0, 2)).squeeze() ================================================ FILE: scene/dataset_readers.py ================================================ # # Copyright (C) 2023, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact george.drettakis@inria.fr # import os import sys from PIL import Image from typing import NamedTuple from scene.colmap_loader import read_extrinsics_text, read_intrinsics_text, qvec2rotmat, \ read_extrinsics_binary, read_intrinsics_binary, read_points3D_binary, read_points3D_text from utils.graphics_utils import getWorld2View2, focal2fov, fov2focal import numpy as np import json from pathlib import Path from plyfile import PlyData, PlyElement from utils.sh_utils import SH2RGB from scene.gaussian_model import BasicPointCloud class CameraInfo(NamedTuple): uid: int R: np.array T: np.array FovY: np.array FovX: np.array image: np.array image_path: str image_name: str width: int height: int class SceneInfo(NamedTuple): point_cloud: BasicPointCloud train_cameras: list test_cameras: list nerf_normalization: dict ply_path: str def getNerfppNorm(cam_info): def get_center_and_diag(cam_centers): cam_centers = np.hstack(cam_centers) avg_cam_center = np.mean(cam_centers, axis=1, keepdims=True) center = avg_cam_center dist = np.linalg.norm(cam_centers - center, axis=0, keepdims=True) diagonal = np.max(dist) return center.flatten(), diagonal cam_centers = [] for cam in cam_info: W2C = getWorld2View2(cam.R, cam.T) C2W = np.linalg.inv(W2C) cam_centers.append(C2W[:3, 3:4]) center, diagonal = get_center_and_diag(cam_centers) radius = diagonal * 1.1 translate = -center return {"translate": translate, "radius": radius} def readColmapCameras(cam_extrinsics, cam_intrinsics, images_folder): cam_infos = [] for idx, key in enumerate(cam_extrinsics): sys.stdout.write('\r') # the exact output you're looking for: sys.stdout.write("Reading camera {}/{}".format(idx+1, len(cam_extrinsics))) sys.stdout.flush() extr = cam_extrinsics[key] intr = cam_intrinsics[extr.camera_id] height = intr.height width = intr.width uid = intr.id R = np.transpose(qvec2rotmat(extr.qvec)) T = np.array(extr.tvec) if intr.model == "SIMPLE_PINHOLE" or intr.model == "SIMPLE_RADIAL": if intr.model == "SIMPLE_RADIAL": print("Warning: Camera model SIMPLE_RADIA is simplified to SIMPLE_PINHOLE.") focal_length_x = intr.params[0] FovY = focal2fov(focal_length_x, height) FovX = focal2fov(focal_length_x, width) elif intr.model == "PINHOLE": focal_length_x = intr.params[0] focal_length_y = intr.params[1] FovY = focal2fov(focal_length_y, height) FovX = focal2fov(focal_length_x, width) else: assert False, "Colmap camera model not handled: only undistorted datasets (PINHOLE or SIMPLE_PINHOLE cameras) supported!" image_path = os.path.join(images_folder, os.path.basename(extr.name)) image_name = os.path.basename(image_path).split(".")[0] image = None cam_info = CameraInfo(uid=uid, R=R, T=T, FovY=FovY, FovX=FovX, image=image, image_path=image_path, image_name=image_name, width=width, height=height) cam_infos.append(cam_info) sys.stdout.write('\n') return cam_infos def fetchPly(path): plydata = PlyData.read(path) vertices = plydata['vertex'] positions = np.vstack([vertices['x'], vertices['y'], vertices['z']]).T colors = np.vstack([vertices['red'], vertices['green'], vertices['blue']]).T / 255.0 normals = np.vstack([vertices['nx'], vertices['ny'], vertices['nz']]).T return BasicPointCloud(points=positions, colors=colors, normals=normals) def storePly(path, xyz, rgb): # Define the dtype for the structured array dtype = [('x', 'f4'), ('y', 'f4'), ('z', 'f4'), ('nx', 'f4'), ('ny', 'f4'), ('nz', 'f4'), ('red', 'u1'), ('green', 'u1'), ('blue', 'u1')] normals = np.zeros_like(xyz) elements = np.empty(xyz.shape[0], dtype=dtype) attributes = np.concatenate((xyz, normals, rgb), axis=1) elements[:] = list(map(tuple, attributes)) # Create the PlyData object and write to file vertex_element = PlyElement.describe(elements, 'vertex') ply_data = PlyData([vertex_element]) ply_data.write(path) def readColmapSceneInfo(path, images, eval, llffhold=8): try: cameras_extrinsic_file = os.path.join(path, "sparse/0", "images.bin") cameras_intrinsic_file = os.path.join(path, "sparse/0", "cameras.bin") cam_extrinsics = read_extrinsics_binary(cameras_extrinsic_file) cam_intrinsics = read_intrinsics_binary(cameras_intrinsic_file) except: cameras_extrinsic_file = os.path.join(path, "sparse/0", "images.txt") cameras_intrinsic_file = os.path.join(path, "sparse/0", "cameras.txt") cam_extrinsics = read_extrinsics_text(cameras_extrinsic_file) cam_intrinsics = read_intrinsics_text(cameras_intrinsic_file) reading_dir = "images" if images == None else images cam_infos_unsorted = readColmapCameras(cam_extrinsics=cam_extrinsics, cam_intrinsics=cam_intrinsics, images_folder=os.path.join(path, reading_dir)) cam_infos = sorted(cam_infos_unsorted.copy(), key = lambda x : x.image_name) if eval: train_cam_infos = [c for idx, c in enumerate(cam_infos) if idx % llffhold != 0] test_cam_infos = [c for idx, c in enumerate(cam_infos) if idx % llffhold == 0] else: train_cam_infos = cam_infos test_cam_infos = [] nerf_normalization = getNerfppNorm(train_cam_infos) ply_path = os.path.join(path, "sparse/0/points3D.ply") bin_path = os.path.join(path, "sparse/0/points3D.bin") txt_path = os.path.join(path, "sparse/0/points3D.txt") if not os.path.exists(ply_path): print("Converting point3d.bin to .ply, will happen only the first time you open the scene.") try: xyz, rgb, _ = read_points3D_binary(bin_path, max_err=2, min_track_length=3) # xyz, rgb, _ = read_points3D_binary_3DGS(bin_path) except: xyz, rgb, _ = read_points3D_text(txt_path, max_err=2, min_track_length=3) # xyz, rgb, _ = read_points3D_text_3DGS(bin_path) storePly(ply_path, xyz, rgb) try: pcd = fetchPly(ply_path) except: pcd = None scene_info = SceneInfo(point_cloud=pcd, train_cameras=train_cam_infos, test_cameras=test_cam_infos, nerf_normalization=nerf_normalization, ply_path=ply_path) return scene_info def readCamerasFromTransforms(path, transformsfile, white_background, extension=".png"): cam_infos = [] with open(os.path.join(path, transformsfile)) as json_file: contents = json.load(json_file) fovx = contents["camera_angle_x"] frames = contents["frames"] for idx, frame in enumerate(frames): cam_name = os.path.join(path, frame["file_path"] + extension) # NeRF 'transform_matrix' is a camera-to-world transform c2w = np.array(frame["transform_matrix"]) # change from OpenGL/Blender camera axes (Y up, Z back) to COLMAP (Y down, Z forward) c2w[:3, 1:3] *= -1 # get the world-to-camera transform and set R, T w2c = np.linalg.inv(c2w) R = np.transpose(w2c[:3,:3]) # R is stored transposed due to 'glm' in CUDA code T = w2c[:3, 3] image_path = os.path.join(path, cam_name) image_name = Path(cam_name).stem image = Image.open(image_path) im_data = np.array(image.convert("RGBA")) bg = np.array([1,1,1]) if white_background else np.array([0, 0, 0]) norm_data = im_data / 255.0 arr = norm_data[:,:,:3] * norm_data[:, :, 3:4] + bg * (1 - norm_data[:, :, 3:4]) image = Image.fromarray(np.array(arr*255.0, dtype=np.byte), "RGB") fovy = focal2fov(fov2focal(fovx, image.size[0]), image.size[1]) FovY = fovy FovX = fovx cam_infos.append(CameraInfo(uid=idx, R=R, T=T, FovY=FovY, FovX=FovX, image=image, image_path=image_path, image_name=image_name, width=image.size[0], height=image.size[1])) return cam_infos def readNerfSyntheticInfo(path, white_background, eval, extension=".png"): print("Reading Training Transforms") train_cam_infos = readCamerasFromTransforms(path, "transforms_train.json", white_background, extension) print("Reading Test Transforms") test_cam_infos = readCamerasFromTransforms(path, "transforms_test.json", white_background, extension) if not eval: train_cam_infos.extend(test_cam_infos) test_cam_infos = [] nerf_normalization = getNerfppNorm(train_cam_infos) ply_path = os.path.join(path, "points3d.ply") if not os.path.exists(ply_path): # Since this data set has no colmap data, we start with random points num_pts = 100_000 print(f"Generating random point cloud ({num_pts})...") # We create random points inside the bounds of the synthetic Blender scenes xyz = np.random.random((num_pts, 3)) * 2.6 - 1.3 shs = np.random.random((num_pts, 3)) / 255.0 pcd = BasicPointCloud(points=xyz, colors=SH2RGB(shs), normals=np.zeros((num_pts, 3))) storePly(ply_path, xyz, SH2RGB(shs) * 255) try: pcd = fetchPly(ply_path) except: pcd = None scene_info = SceneInfo(point_cloud=pcd, train_cameras=train_cam_infos, test_cameras=test_cam_infos, nerf_normalization=nerf_normalization, ply_path=ply_path) return scene_info sceneLoadTypeCallbacks = { "Colmap": readColmapSceneInfo, "Blender": readNerfSyntheticInfo } ================================================ FILE: scene/gaussian_model.py ================================================ # # Copyright (C) 2023, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact george.drettakis@inria.fr # import torch import numpy as np from utils.general_utils import inverse_sigmoid, get_expon_lr_func, build_rotation from torch import nn import os from utils.system_utils import mkdir_p from plyfile import PlyData, PlyElement from utils.sh_utils import RGB2SH from simple_knn._C import distCUDA2 from utils.graphics_utils import BasicPointCloud from utils.general_utils import strip_symmetric, build_scaling_rotation class GaussianModel: def setup_functions(self): def build_covariance_from_scaling_rotation(scaling, scaling_modifier, rotation): L = build_scaling_rotation(scaling_modifier * scaling, rotation) actual_covariance = L @ L.transpose(1, 2) symm = strip_symmetric(actual_covariance) return symm self.scaling_activation = torch.exp self.scaling_inverse_activation = torch.log self.covariance_activation = build_covariance_from_scaling_rotation self.opacity_activation = torch.sigmoid self.inverse_opacity_activation = inverse_sigmoid self.rotation_activation = torch.nn.functional.normalize def __init__(self, sh_degree : int): self.active_sh_degree = 0 self.max_sh_degree = sh_degree self._xyz = torch.empty(0) self._features_dc = torch.empty(0) self._features_rest = torch.empty(0) self._scaling = torch.empty(0) self._rotation = torch.empty(0) self._opacity = torch.empty(0) self.max_radii2D = torch.empty(0) self.max_weight = torch.empty(0) self.xyz_gradient_accum = torch.empty(0) self.xyz_gradient_accum_abs = torch.empty(0) self.denom = torch.empty(0) self.optimizer = None self.percent_dense = 0 self.spatial_lr_scale = 0 self.setup_functions() def capture(self): return ( self.active_sh_degree, self._xyz, self._features_dc, self._features_rest, self._scaling, self._rotation, self._opacity, self.max_radii2D, self.max_weight, self.xyz_gradient_accum, self.xyz_gradient_accum_abs, self.denom, self.optimizer.state_dict(), self.spatial_lr_scale, ) def restore(self, model_args, training_args): (self.active_sh_degree, self._xyz, self._features_dc, self._features_rest, self._scaling, self._rotation, self._opacity, self.max_radii2D, self.max_weight, xyz_gradient_accum, xyz_gradient_accum_abs, denom, opt_dict, self.spatial_lr_scale) = model_args self.training_setup(training_args) self.xyz_gradient_accum = xyz_gradient_accum self.xyz_gradient_accum_abs = xyz_gradient_accum_abs self.denom = denom self.optimizer.load_state_dict(opt_dict) def capture_for_3DGS(self): return ( self.active_sh_degree, self._xyz, self._features_dc, self._features_rest, self._scaling, self._rotation, self._opacity, self.max_radii2D, self.xyz_gradient_accum, self.denom, self.optimizer.state_dict(), self.spatial_lr_scale, ) def restore_from_3DGS(self, model_args, training_args): (self.active_sh_degree, self._xyz, self._features_dc, self._features_rest, self._scaling, self._rotation, self._opacity, self.max_radii2D, xyz_gradient_accum, denom, opt_dict, self.spatial_lr_scale) = model_args self.training_setup(training_args) self.xyz_gradient_accum = xyz_gradient_accum self.xyz_gradient_accum_abs = torch.zeros((self.xyz_gradient_accum.shape[0],2),device="cuda") self.max_weight = torch.zeros_like(self.max_radii2D) self.denom = denom self.optimizer.load_state_dict(opt_dict) @property def get_scaling(self): return self.scaling_activation(self._scaling) @property def get_rotation(self): return self.rotation_activation(self._rotation) @property def get_xyz(self): return self._xyz @property def get_features(self): features_dc = self._features_dc features_rest = self._features_rest return torch.cat((features_dc, features_rest), dim=1) @property def get_opacity(self): return self.opacity_activation(self._opacity) def get_covariance(self, scaling_modifier = 1): return self.covariance_activation(self.get_scaling, scaling_modifier, self._rotation) def oneupSHdegree(self): if self.active_sh_degree < self.max_sh_degree: self.active_sh_degree += 1 def create_from_pcd(self, pcd : BasicPointCloud, spatial_lr_scale : float): self.spatial_lr_scale = spatial_lr_scale fused_point_cloud = torch.tensor(np.asarray(pcd.points)).float().cuda() fused_color = RGB2SH(torch.tensor(np.asarray(pcd.colors)).float().cuda()) features = torch.zeros((fused_color.shape[0], 3, (self.max_sh_degree + 1) ** 2)).float().cuda() features[:, :3, 0 ] = fused_color features[:, 3:, 1:] = 0.0 print("Number of points at initialisation : ", fused_point_cloud.shape[0]) dist2 = torch.clamp_min(distCUDA2(torch.from_numpy(np.asarray(pcd.points)).float().cuda()), 0.0000001) scales = torch.log(torch.sqrt(dist2))[...,None].repeat(1, 3) rots = torch.zeros((fused_point_cloud.shape[0], 4), device="cuda") rots[:, 0] = 1 opacities = inverse_sigmoid(0.1 * torch.ones((fused_point_cloud.shape[0], 1), dtype=torch.float, device="cuda")) self._xyz = nn.Parameter(fused_point_cloud.requires_grad_(True)) self._features_dc = nn.Parameter(features[:,:,0:1].transpose(1, 2).contiguous().requires_grad_(True)) self._features_rest = nn.Parameter(features[:,:,1:].transpose(1, 2).contiguous().requires_grad_(True)) self._scaling = nn.Parameter(scales.requires_grad_(True)) self._rotation = nn.Parameter(rots.requires_grad_(True)) self._opacity = nn.Parameter(opacities.requires_grad_(True)) self.max_radii2D = torch.zeros((self.get_xyz.shape[0]), device="cuda") self.max_weight = torch.zeros((self.get_xyz.shape[0]), device="cuda") def training_setup(self, training_args): self.percent_dense = training_args.percent_dense self.xyz_gradient_accum = torch.zeros((self.get_xyz.shape[0], 1), device="cuda") self.xyz_gradient_accum_abs = torch.zeros((self.get_xyz.shape[0], 1), device="cuda") self.denom = torch.zeros((self.get_xyz.shape[0], 1), device="cuda") l = [ {'params': [self._xyz], 'lr': training_args.position_lr_init * self.spatial_lr_scale, "name": "xyz"}, {'params': [self._features_dc], 'lr': training_args.feature_lr, "name": "f_dc"}, {'params': [self._features_rest], 'lr': training_args.feature_lr / 20.0, "name": "f_rest"}, {'params': [self._opacity], 'lr': training_args.opacity_lr, "name": "opacity"}, {'params': [self._scaling], 'lr': training_args.scaling_lr, "name": "scaling"}, {'params': [self._rotation], 'lr': training_args.rotation_lr, "name": "rotation"} ] self.optimizer = torch.optim.Adam(l, lr=0.0, eps=1e-15) 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, lr_delay_mult=training_args.position_lr_delay_mult, max_steps=training_args.position_lr_max_steps) def update_learning_rate(self, iteration): ''' Learning rate scheduling per step ''' for param_group in self.optimizer.param_groups: if param_group["name"] == "xyz": lr = self.xyz_scheduler_args(iteration) param_group['lr'] = lr return lr def construct_list_of_attributes(self): l = ['x', 'y', 'z', 'nx', 'ny', 'nz'] # All channels except the 3 DC for i in range(self._features_dc.shape[1]*self._features_dc.shape[2]): l.append('f_dc_{}'.format(i)) for i in range(self._features_rest.shape[1]*self._features_rest.shape[2]): l.append('f_rest_{}'.format(i)) l.append('opacity') for i in range(self._scaling.shape[1]): l.append('scale_{}'.format(i)) for i in range(self._rotation.shape[1]): l.append('rot_{}'.format(i)) return l def save_ply(self, path): mkdir_p(os.path.dirname(path)) xyz = self._xyz.detach().cpu().numpy() normals = np.zeros_like(xyz) f_dc = self._features_dc.detach().transpose(1, 2).flatten(start_dim=1).contiguous().cpu().numpy() f_rest = self._features_rest.detach().transpose(1, 2).flatten(start_dim=1).contiguous().cpu().numpy() opacities = self._opacity.detach().cpu().numpy() scale = self._scaling.detach().cpu().numpy() rotation = self._rotation.detach().cpu().numpy() dtype_full = [(attribute, 'f4') for attribute in self.construct_list_of_attributes()] elements = np.empty(xyz.shape[0], dtype=dtype_full) attributes = np.concatenate((xyz, normals, f_dc, f_rest, opacities, scale, rotation), axis=1) elements[:] = list(map(tuple, attributes)) el = PlyElement.describe(elements, 'vertex') PlyData([el]).write(path) def reset_opacity(self): opacities_new = inverse_sigmoid(torch.min(self.get_opacity, torch.ones_like(self.get_opacity)*0.01)) optimizable_tensors = self.replace_tensor_to_optimizer(opacities_new, "opacity") self._opacity = optimizable_tensors["opacity"] def reduce_opacity(self): opacities_new = inverse_sigmoid(torch.min(self.get_opacity, torch.ones_like(self.get_opacity)*0.8)) optimizable_tensors = self.replace_tensor_to_optimizer(opacities_new, "opacity") self._opacity = optimizable_tensors["opacity"] def load_ply(self, path): plydata = PlyData.read(path) xyz = np.stack((np.asarray(plydata.elements[0]["x"]), np.asarray(plydata.elements[0]["y"]), np.asarray(plydata.elements[0]["z"])), axis=1) opacities = np.asarray(plydata.elements[0]["opacity"])[..., np.newaxis] features_dc = np.zeros((xyz.shape[0], 3, 1)) features_dc[:, 0, 0] = np.asarray(plydata.elements[0]["f_dc_0"]) features_dc[:, 1, 0] = np.asarray(plydata.elements[0]["f_dc_1"]) features_dc[:, 2, 0] = np.asarray(plydata.elements[0]["f_dc_2"]) extra_f_names = [p.name for p in plydata.elements[0].properties if p.name.startswith("f_rest_")] extra_f_names = sorted(extra_f_names, key = lambda x: int(x.split('_')[-1])) assert len(extra_f_names)==3*(self.max_sh_degree + 1) ** 2 - 3 features_extra = np.zeros((xyz.shape[0], len(extra_f_names))) for idx, attr_name in enumerate(extra_f_names): features_extra[:, idx] = np.asarray(plydata.elements[0][attr_name]) # Reshape (P,F*SH_coeffs) to (P, F, SH_coeffs except DC) features_extra = features_extra.reshape((features_extra.shape[0], 3, (self.max_sh_degree + 1) ** 2 - 1)) scale_names = [p.name for p in plydata.elements[0].properties if p.name.startswith("scale_")] scale_names = sorted(scale_names, key = lambda x: int(x.split('_')[-1])) scales = np.zeros((xyz.shape[0], len(scale_names))) for idx, attr_name in enumerate(scale_names): scales[:, idx] = np.asarray(plydata.elements[0][attr_name]) rot_names = [p.name for p in plydata.elements[0].properties if p.name.startswith("rot")] rot_names = sorted(rot_names, key = lambda x: int(x.split('_')[-1])) rots = np.zeros((xyz.shape[0], len(rot_names))) for idx, attr_name in enumerate(rot_names): rots[:, idx] = np.asarray(plydata.elements[0][attr_name]) self._xyz = nn.Parameter(torch.tensor(xyz, dtype=torch.float, device="cuda").requires_grad_(True)) self._features_dc = nn.Parameter(torch.tensor(features_dc, dtype=torch.float, device="cuda").transpose(1, 2).contiguous().requires_grad_(True)) self._features_rest = nn.Parameter(torch.tensor(features_extra, dtype=torch.float, device="cuda").transpose(1, 2).contiguous().requires_grad_(True)) self._opacity = nn.Parameter(torch.tensor(opacities, dtype=torch.float, device="cuda").requires_grad_(True)) self._scaling = nn.Parameter(torch.tensor(scales, dtype=torch.float, device="cuda").requires_grad_(True)) self._rotation = nn.Parameter(torch.tensor(rots, dtype=torch.float, device="cuda").requires_grad_(True)) self.active_sh_degree = self.max_sh_degree def replace_tensor_to_optimizer(self, tensor, name): optimizable_tensors = {} for group in self.optimizer.param_groups: if group["name"] == name: stored_state = self.optimizer.state.get(group['params'][0], None) stored_state["exp_avg"] = torch.zeros_like(tensor) stored_state["exp_avg_sq"] = torch.zeros_like(tensor) del self.optimizer.state[group['params'][0]] group["params"][0] = nn.Parameter(tensor.requires_grad_(True)) self.optimizer.state[group['params'][0]] = stored_state optimizable_tensors[group["name"]] = group["params"][0] return optimizable_tensors def _prune_optimizer(self, mask): optimizable_tensors = {} for group in self.optimizer.param_groups: stored_state = self.optimizer.state.get(group['params'][0], None) if stored_state is not None: stored_state["exp_avg"] = stored_state["exp_avg"][mask] stored_state["exp_avg_sq"] = stored_state["exp_avg_sq"][mask] del self.optimizer.state[group['params'][0]] group["params"][0] = nn.Parameter((group["params"][0][mask].requires_grad_(True))) self.optimizer.state[group['params'][0]] = stored_state optimizable_tensors[group["name"]] = group["params"][0] else: group["params"][0] = nn.Parameter(group["params"][0][mask].requires_grad_(True)) optimizable_tensors[group["name"]] = group["params"][0] return optimizable_tensors def prune_points(self, mask): valid_points_mask = ~mask optimizable_tensors = self._prune_optimizer(valid_points_mask) self._xyz = optimizable_tensors["xyz"] self._features_dc = optimizable_tensors["f_dc"] self._features_rest = optimizable_tensors["f_rest"] self._opacity = optimizable_tensors["opacity"] self._scaling = optimizable_tensors["scaling"] self._rotation = optimizable_tensors["rotation"] self.xyz_gradient_accum = self.xyz_gradient_accum[valid_points_mask] self.xyz_gradient_accum_abs = self.xyz_gradient_accum_abs[valid_points_mask] self.denom = self.denom[valid_points_mask] self.max_radii2D = self.max_radii2D[valid_points_mask] self.max_weight = self.max_weight[valid_points_mask] def initial_prune(self): pts_mask_1 = torch.max(self.get_scaling, dim=1).values > torch.mean(self.get_scaling) if len(self.get_scaling) < 500_0000: pts_mask_2 = torch.max(self.get_scaling, dim=1).values > torch.quantile( self.get_scaling, 0.999) else: pts_mask_2 = torch.max(self.get_scaling, dim=1).values > torch.mean( self.get_scaling) * 4 selected_pts_mask = torch.logical_and(pts_mask_1, pts_mask_2) print("Initial pruning based on radius, GS num: ", sum(selected_pts_mask)) self.prune_points(selected_pts_mask) def cat_tensors_to_optimizer(self, tensors_dict): optimizable_tensors = {} for group in self.optimizer.param_groups: assert len(group["params"]) == 1 extension_tensor = tensors_dict[group["name"]] stored_state = self.optimizer.state.get(group['params'][0], None) if stored_state is not None: stored_state["exp_avg"] = torch.cat((stored_state["exp_avg"], torch.zeros_like(extension_tensor)), dim=0) stored_state["exp_avg_sq"] = torch.cat((stored_state["exp_avg_sq"], torch.zeros_like(extension_tensor)), dim=0) del self.optimizer.state[group['params'][0]] group["params"][0] = nn.Parameter(torch.cat((group["params"][0], extension_tensor), dim=0).requires_grad_(True)) self.optimizer.state[group['params'][0]] = stored_state optimizable_tensors[group["name"]] = group["params"][0] else: group["params"][0] = nn.Parameter(torch.cat((group["params"][0], extension_tensor), dim=0).requires_grad_(True)) optimizable_tensors[group["name"]] = group["params"][0] return optimizable_tensors def densification_postfix(self, new_xyz, new_features_dc, new_features_rest, new_opacities, new_scaling, new_rotation): d = {"xyz": new_xyz, "f_dc": new_features_dc, "f_rest": new_features_rest, "opacity": new_opacities, "scaling" : new_scaling, "rotation" : new_rotation} optimizable_tensors = self.cat_tensors_to_optimizer(d) self._xyz = optimizable_tensors["xyz"] self._features_dc = optimizable_tensors["f_dc"] self._features_rest = optimizable_tensors["f_rest"] self._opacity = optimizable_tensors["opacity"] self._scaling = optimizable_tensors["scaling"] self._rotation = optimizable_tensors["rotation"] self.xyz_gradient_accum = torch.zeros((self.get_xyz.shape[0], 1), device="cuda") self.xyz_gradient_accum_abs = 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") max_weight = torch.zeros((new_xyz.shape[0]), device="cuda") self.max_weight = torch.cat((self.max_weight,max_weight),dim=0) def densify_and_split(self, grads, grad_threshold, scene_extent, N=2): n_init_points = self.get_xyz.shape[0] # Extract points that satisfy the gradient condition padded_grad = torch.zeros((n_init_points), device="cuda") padded_grad[:grads.shape[0]] = grads.squeeze() selected_pts_mask = torch.where(padded_grad >= grad_threshold, True, False) selected_pts_mask = torch.logical_and(selected_pts_mask, torch.max(self.get_scaling, dim=1).values > self.percent_dense*scene_extent) stds = self.get_scaling[selected_pts_mask].repeat(N,1) means =torch.zeros((stds.size(0), 3),device="cuda") samples = torch.normal(mean=means, std=stds) rots = build_rotation(self._rotation[selected_pts_mask]).repeat(N,1,1) new_xyz = torch.bmm(rots, samples.unsqueeze(-1)).squeeze(-1) + self.get_xyz[selected_pts_mask].repeat(N, 1) new_scaling = self.scaling_inverse_activation(self.get_scaling[selected_pts_mask].repeat(N,1) / (0.8*N)) new_rotation = self._rotation[selected_pts_mask].repeat(N,1) 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) # print("split:", new_xyz.shape[0]) self.densification_postfix(new_xyz, new_features_dc, new_features_rest, new_opacity, new_scaling, new_rotation) prune_filter = torch.cat((selected_pts_mask, torch.zeros(N * selected_pts_mask.sum(), device="cuda", dtype=bool))) self.prune_points(prune_filter) def densify_and_clone(self, grads, grad_threshold, scene_extent): # Extract points that satisfy the gradient condition selected_pts_mask = torch.where(torch.norm(grads, dim=-1) >= grad_threshold, True, False) selected_pts_mask = torch.logical_and(selected_pts_mask, torch.max(self.get_scaling, dim=1).values <= self.percent_dense*scene_extent) new_xyz = self._xyz[selected_pts_mask] new_features_dc = self._features_dc[selected_pts_mask] new_features_rest = self._features_rest[selected_pts_mask] new_opacities = self._opacity[selected_pts_mask] new_scaling = self._scaling[selected_pts_mask] new_rotation = self._rotation[selected_pts_mask] # print("clone:", new_xyz.shape[0]) self.densification_postfix(new_xyz, new_features_dc, new_features_rest, new_opacities, new_scaling, new_rotation) def densify_and_prune(self, max_grad, max_grad_abs, min_opacity, extent, max_screen_size): grads = self.xyz_gradient_accum / self.denom grads[grads.isnan()] = 0.0 grads_abs = self.xyz_gradient_accum_abs / self.denom grads_abs[grads_abs.isnan()] = 0.0 self.densify_and_clone(grads, max_grad, extent) self.densify_and_split(grads_abs, max_grad_abs, extent) prune_mask = (self.get_opacity < min_opacity).squeeze() if max_screen_size: big_points_vs = self.max_radii2D > 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) 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.xyz_gradient_accum_abs[update_filter] += torch.norm(viewspace_point_tensor.grad[update_filter, 2:], dim=-1, keepdim=True) self.denom[update_filter] += 1 ================================================ FILE: submodules/diff-gaussian-rasterization-abs/.gitignore ================================================ build/ diff_gaussian_rasterization_abs.egg-info/ dist/ cmake-build-debug/ ================================================ FILE: submodules/diff-gaussian-rasterization-abs/.gitmodules ================================================ [submodule "third_party/glm"] path = third_party/glm url = https://github.com/g-truc/glm.git ================================================ FILE: submodules/diff-gaussian-rasterization-abs/CMakeLists.txt ================================================ # # Copyright (C) 2023, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact george.drettakis@inria.fr # cmake_minimum_required(VERSION 3.20) project(DiffRast LANGUAGES CUDA CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_CUDA_STANDARD 17) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") add_library(CudaRasterizer cuda_rasterizer/backward.h cuda_rasterizer/backward.cu cuda_rasterizer/forward.h cuda_rasterizer/forward.cu cuda_rasterizer/auxiliary.h cuda_rasterizer/rasterizer_impl.cu cuda_rasterizer/rasterizer_impl.h cuda_rasterizer/rasterizer.h ) set_target_properties(CudaRasterizer PROPERTIES CUDA_ARCHITECTURES "70;75;86") target_include_directories(CudaRasterizer PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/cuda_rasterizer) target_include_directories(CudaRasterizer PRIVATE third_party/glm ${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES}) ================================================ FILE: submodules/diff-gaussian-rasterization-abs/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: submodules/diff-gaussian-rasterization-abs/README.md ================================================ # Differential Gaussian Rasterization Used as the rasterization engine for the paper "AbsGS: Recovering Fine Details for 3D Gaussian Splatting". If you can make use of it in your own research, please be so kind to cite us.

BibTeX

@Article{ye2024absgs,
      title={AbsGS: Recovering Fine Details for 3D Gaussian Splatting}, 
      author={Zongxin Ye and Wenyu Li and Sidun Liu and Peng Qiao and Yong Dou},
      year={2024},
      eprint={2404.10484},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

BibTeX

@Article{kerbl3Dgaussians,
      author       = {Kerbl, Bernhard and Kopanas, Georgios and Leimk{\"u}hler, Thomas and Drettakis, George},
      title        = {3D Gaussian Splatting for Real-Time Radiance Field Rendering},
      journal      = {ACM Transactions on Graphics},
      number       = {4},
      volume       = {42},
      month        = {July},
      year         = {2023},
      url          = {https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/}
}
================================================ FILE: submodules/diff-gaussian-rasterization-abs/cuda_rasterizer/auxiliary.h ================================================ /* * Copyright (C) 2023, Inria * GRAPHDECO research group, https://team.inria.fr/graphdeco * All rights reserved. * * This software is free for non-commercial, research and evaluation use * under the terms of the LICENSE.md file. * * For inquiries contact george.drettakis@inria.fr */ #ifndef CUDA_RASTERIZER_AUXILIARY_H_INCLUDED #define CUDA_RASTERIZER_AUXILIARY_H_INCLUDED #include "config.h" #include "stdio.h" #define BLOCK_SIZE (BLOCK_X * BLOCK_Y) #define NUM_WARPS (BLOCK_SIZE/32) // Spherical harmonics coefficients __device__ const float SH_C0 = 0.28209479177387814f; __device__ const float SH_C1 = 0.4886025119029199f; __device__ const float SH_C2[] = { 1.0925484305920792f, -1.0925484305920792f, 0.31539156525252005f, -1.0925484305920792f, 0.5462742152960396f }; __device__ const float SH_C3[] = { -0.5900435899266435f, 2.890611442640554f, -0.4570457994644658f, 0.3731763325901154f, -0.4570457994644658f, 1.445305721320277f, -0.5900435899266435f }; __forceinline__ __device__ float ndc2Pix(float v, int S) { return ((v + 1.0) * S - 1.0) * 0.5; } __forceinline__ __device__ void getRect(const float2 p, int max_radius, uint2& rect_min, uint2& rect_max, dim3 grid) { rect_min = { min(grid.x, max((int)0, (int)((p.x - max_radius) / BLOCK_X))), min(grid.y, max((int)0, (int)((p.y - max_radius) / BLOCK_Y))) }; rect_max = { min(grid.x, max((int)0, (int)((p.x + max_radius + BLOCK_X - 1) / BLOCK_X))), min(grid.y, max((int)0, (int)((p.y + max_radius + BLOCK_Y - 1) / BLOCK_Y))) }; } __forceinline__ __device__ float3 transformPoint4x3(const float3& p, const float* matrix) { float3 transformed = { matrix[0] * p.x + matrix[4] * p.y + matrix[8] * p.z + matrix[12], matrix[1] * p.x + matrix[5] * p.y + matrix[9] * p.z + matrix[13], matrix[2] * p.x + matrix[6] * p.y + matrix[10] * p.z + matrix[14], }; return transformed; } __forceinline__ __device__ float4 transformPoint4x4(const float3& p, const float* matrix) { float4 transformed = { matrix[0] * p.x + matrix[4] * p.y + matrix[8] * p.z + matrix[12], matrix[1] * p.x + matrix[5] * p.y + matrix[9] * p.z + matrix[13], matrix[2] * p.x + matrix[6] * p.y + matrix[10] * p.z + matrix[14], matrix[3] * p.x + matrix[7] * p.y + matrix[11] * p.z + matrix[15] }; return transformed; } __forceinline__ __device__ float3 transformVec4x3(const float3& p, const float* matrix) { float3 transformed = { matrix[0] * p.x + matrix[4] * p.y + matrix[8] * p.z, matrix[1] * p.x + matrix[5] * p.y + matrix[9] * p.z, matrix[2] * p.x + matrix[6] * p.y + matrix[10] * p.z, }; return transformed; } __forceinline__ __device__ float3 transformVec4x3Transpose(const float3& p, const float* matrix) { float3 transformed = { matrix[0] * p.x + matrix[1] * p.y + matrix[2] * p.z, matrix[4] * p.x + matrix[5] * p.y + matrix[6] * p.z, matrix[8] * p.x + matrix[9] * p.y + matrix[10] * p.z, }; return transformed; } __forceinline__ __device__ float dnormvdz(float3 v, float3 dv) { float sum2 = v.x * v.x + v.y * v.y + v.z * v.z; float invsum32 = 1.0f / sqrt(sum2 * sum2 * sum2); float dnormvdz = (-v.x * v.z * dv.x - v.y * v.z * dv.y + (sum2 - v.z * v.z) * dv.z) * invsum32; return dnormvdz; } __forceinline__ __device__ float3 dnormvdv(float3 v, float3 dv) { float sum2 = v.x * v.x + v.y * v.y + v.z * v.z; float invsum32 = 1.0f / sqrt(sum2 * sum2 * sum2); float3 dnormvdv; dnormvdv.x = ((+sum2 - v.x * v.x) * dv.x - v.y * v.x * dv.y - v.z * v.x * dv.z) * invsum32; dnormvdv.y = (-v.x * v.y * dv.x + (sum2 - v.y * v.y) * dv.y - v.z * v.y * dv.z) * invsum32; dnormvdv.z = (-v.x * v.z * dv.x - v.y * v.z * dv.y + (sum2 - v.z * v.z) * dv.z) * invsum32; return dnormvdv; } __forceinline__ __device__ float4 dnormvdv(float4 v, float4 dv) { float sum2 = v.x * v.x + v.y * v.y + v.z * v.z + v.w * v.w; float invsum32 = 1.0f / sqrt(sum2 * sum2 * sum2); float4 vdv = { v.x * dv.x, v.y * dv.y, v.z * dv.z, v.w * dv.w }; float vdv_sum = vdv.x + vdv.y + vdv.z + vdv.w; float4 dnormvdv; dnormvdv.x = ((sum2 - v.x * v.x) * dv.x - v.x * (vdv_sum - vdv.x)) * invsum32; dnormvdv.y = ((sum2 - v.y * v.y) * dv.y - v.y * (vdv_sum - vdv.y)) * invsum32; dnormvdv.z = ((sum2 - v.z * v.z) * dv.z - v.z * (vdv_sum - vdv.z)) * invsum32; dnormvdv.w = ((sum2 - v.w * v.w) * dv.w - v.w * (vdv_sum - vdv.w)) * invsum32; return dnormvdv; } __forceinline__ __device__ float sigmoid(float x) { return 1.0f / (1.0f + expf(-x)); } __forceinline__ __device__ bool in_frustum(int idx, const float* orig_points, const float* viewmatrix, const float* projmatrix, bool prefiltered, float3& p_view) { float3 p_orig = { orig_points[3 * idx], orig_points[3 * idx + 1], orig_points[3 * idx + 2] }; // Bring points to screen space float4 p_hom = transformPoint4x4(p_orig, projmatrix); float p_w = 1.0f / (p_hom.w + 0.0000001f); float3 p_proj = { p_hom.x * p_w, p_hom.y * p_w, p_hom.z * p_w }; p_view = transformPoint4x3(p_orig, viewmatrix); if (p_view.z <= 0.2f)// || ((p_proj.x < -1.3 || p_proj.x > 1.3 || p_proj.y < -1.3 || p_proj.y > 1.3))) { if (prefiltered) { printf("Point is filtered although prefiltered is set. This shouldn't happen!"); __trap(); } return false; } return true; } #define CHECK_CUDA(A, debug) \ A; if(debug) { \ auto ret = cudaDeviceSynchronize(); \ if (ret != cudaSuccess) { \ std::cerr << "\n[CUDA ERROR] in " << __FILE__ << "\nLine " << __LINE__ << ": " << cudaGetErrorString(ret); \ throw std::runtime_error(cudaGetErrorString(ret)); \ } \ } #endif ================================================ FILE: submodules/diff-gaussian-rasterization-abs/cuda_rasterizer/backward.cu ================================================ /* * Copyright (C) 2023, Inria * GRAPHDECO research group, https://team.inria.fr/graphdeco * All rights reserved. * * This software is free for non-commercial, research and evaluation use * under the terms of the LICENSE.md file. * * For inquiries contact george.drettakis@inria.fr */ #include "backward.h" #include "auxiliary.h" #include #include namespace cg = cooperative_groups; // Backward pass for conversion of spherical harmonics to RGB for // each Gaussian. __device__ void computeColorFromSH(int idx, int deg, int max_coeffs, const glm::vec3* means, glm::vec3 campos, const float* shs, const bool* clamped, const glm::vec3* dL_dcolor, glm::vec3* dL_dmeans, glm::vec3* dL_dshs) { // Compute intermediate values, as it is done during forward glm::vec3 pos = means[idx]; glm::vec3 dir_orig = pos - campos; glm::vec3 dir = dir_orig / glm::length(dir_orig); glm::vec3* sh = ((glm::vec3*)shs) + idx * max_coeffs; // Use PyTorch rule for clamping: if clamping was applied, // gradient becomes 0. glm::vec3 dL_dRGB = dL_dcolor[idx]; dL_dRGB.x *= clamped[3 * idx + 0] ? 0 : 1; dL_dRGB.y *= clamped[3 * idx + 1] ? 0 : 1; dL_dRGB.z *= clamped[3 * idx + 2] ? 0 : 1; glm::vec3 dRGBdx(0, 0, 0); glm::vec3 dRGBdy(0, 0, 0); glm::vec3 dRGBdz(0, 0, 0); float x = dir.x; float y = dir.y; float z = dir.z; // Target location for this Gaussian to write SH gradients to glm::vec3* dL_dsh = dL_dshs + idx * max_coeffs; // No tricks here, just high school-level calculus. float dRGBdsh0 = SH_C0; dL_dsh[0] = dRGBdsh0 * dL_dRGB; if (deg > 0) { float dRGBdsh1 = -SH_C1 * y; float dRGBdsh2 = SH_C1 * z; float dRGBdsh3 = -SH_C1 * x; dL_dsh[1] = dRGBdsh1 * dL_dRGB; dL_dsh[2] = dRGBdsh2 * dL_dRGB; dL_dsh[3] = dRGBdsh3 * dL_dRGB; dRGBdx = -SH_C1 * sh[3]; dRGBdy = -SH_C1 * sh[1]; dRGBdz = SH_C1 * sh[2]; if (deg > 1) { float xx = x * x, yy = y * y, zz = z * z; float xy = x * y, yz = y * z, xz = x * z; float dRGBdsh4 = SH_C2[0] * xy; float dRGBdsh5 = SH_C2[1] * yz; float dRGBdsh6 = SH_C2[2] * (2.f * zz - xx - yy); float dRGBdsh7 = SH_C2[3] * xz; float dRGBdsh8 = SH_C2[4] * (xx - yy); dL_dsh[4] = dRGBdsh4 * dL_dRGB; dL_dsh[5] = dRGBdsh5 * dL_dRGB; dL_dsh[6] = dRGBdsh6 * dL_dRGB; dL_dsh[7] = dRGBdsh7 * dL_dRGB; dL_dsh[8] = dRGBdsh8 * dL_dRGB; dRGBdx += SH_C2[0] * y * sh[4] + SH_C2[2] * 2.f * -x * sh[6] + SH_C2[3] * z * sh[7] + SH_C2[4] * 2.f * x * sh[8]; dRGBdy += SH_C2[0] * x * sh[4] + SH_C2[1] * z * sh[5] + SH_C2[2] * 2.f * -y * sh[6] + SH_C2[4] * 2.f * -y * sh[8]; dRGBdz += SH_C2[1] * y * sh[5] + SH_C2[2] * 2.f * 2.f * z * sh[6] + SH_C2[3] * x * sh[7]; if (deg > 2) { float dRGBdsh9 = SH_C3[0] * y * (3.f * xx - yy); float dRGBdsh10 = SH_C3[1] * xy * z; float dRGBdsh11 = SH_C3[2] * y * (4.f * zz - xx - yy); float dRGBdsh12 = SH_C3[3] * z * (2.f * zz - 3.f * xx - 3.f * yy); float dRGBdsh13 = SH_C3[4] * x * (4.f * zz - xx - yy); float dRGBdsh14 = SH_C3[5] * z * (xx - yy); float dRGBdsh15 = SH_C3[6] * x * (xx - 3.f * yy); dL_dsh[9] = dRGBdsh9 * dL_dRGB; dL_dsh[10] = dRGBdsh10 * dL_dRGB; dL_dsh[11] = dRGBdsh11 * dL_dRGB; dL_dsh[12] = dRGBdsh12 * dL_dRGB; dL_dsh[13] = dRGBdsh13 * dL_dRGB; dL_dsh[14] = dRGBdsh14 * dL_dRGB; dL_dsh[15] = dRGBdsh15 * dL_dRGB; dRGBdx += ( SH_C3[0] * sh[9] * 3.f * 2.f * xy + SH_C3[1] * sh[10] * yz + SH_C3[2] * sh[11] * -2.f * xy + SH_C3[3] * sh[12] * -3.f * 2.f * xz + SH_C3[4] * sh[13] * (-3.f * xx + 4.f * zz - yy) + SH_C3[5] * sh[14] * 2.f * xz + SH_C3[6] * sh[15] * 3.f * (xx - yy)); dRGBdy += ( SH_C3[0] * sh[9] * 3.f * (xx - yy) + SH_C3[1] * sh[10] * xz + SH_C3[2] * sh[11] * (-3.f * yy + 4.f * zz - xx) + SH_C3[3] * sh[12] * -3.f * 2.f * yz + SH_C3[4] * sh[13] * -2.f * xy + SH_C3[5] * sh[14] * -2.f * yz + SH_C3[6] * sh[15] * -3.f * 2.f * xy); dRGBdz += ( SH_C3[1] * sh[10] * xy + SH_C3[2] * sh[11] * 4.f * 2.f * yz + SH_C3[3] * sh[12] * 3.f * (2.f * zz - xx - yy) + SH_C3[4] * sh[13] * 4.f * 2.f * xz + SH_C3[5] * sh[14] * (xx - yy)); } } } // The view direction is an input to the computation. View direction // is influenced by the Gaussian's mean, so SHs gradients // must propagate back into 3D position. glm::vec3 dL_ddir(glm::dot(dRGBdx, dL_dRGB), glm::dot(dRGBdy, dL_dRGB), glm::dot(dRGBdz, dL_dRGB)); // Account for normalization of direction float3 dL_dmean = dnormvdv(float3{ dir_orig.x, dir_orig.y, dir_orig.z }, float3{ dL_ddir.x, dL_ddir.y, dL_ddir.z }); // Gradients of loss w.r.t. Gaussian means, but only the portion // that is caused because the mean affects the view-dependent color. // Additional mean gradient is accumulated in below methods. dL_dmeans[idx] += glm::vec3(dL_dmean.x, dL_dmean.y, dL_dmean.z); } // Backward version of INVERSE 2D covariance matrix computation // (due to length launched as separate kernel before other // backward steps contained in preprocess) __global__ void computeCov2DCUDA(int P, const float3* means, const int* radii, const float* cov3Ds, const float h_x, float h_y, const float tan_fovx, float tan_fovy, const float* view_matrix, const float* dL_dconics, float3* dL_dmeans, float* dL_dcov) { auto idx = cg::this_grid().thread_rank(); if (idx >= P || !(radii[idx] > 0)) return; // Reading location of 3D covariance for this Gaussian const float* cov3D = cov3Ds + 6 * idx; // Fetch gradients, recompute 2D covariance and relevant // intermediate forward results needed in the backward. float3 mean = means[idx]; float3 dL_dconic = { dL_dconics[4 * idx], dL_dconics[4 * idx + 1], dL_dconics[4 * idx + 3] }; float3 t = transformPoint4x3(mean, view_matrix); const float limx = 1.3f * tan_fovx; const float limy = 1.3f * tan_fovy; const float txtz = t.x / t.z; const float tytz = t.y / t.z; t.x = min(limx, max(-limx, txtz)) * t.z; t.y = min(limy, max(-limy, tytz)) * t.z; const float x_grad_mul = txtz < -limx || txtz > limx ? 0 : 1; const float y_grad_mul = tytz < -limy || tytz > limy ? 0 : 1; glm::mat3 J = glm::mat3(h_x / t.z, 0.0f, -(h_x * t.x) / (t.z * t.z), 0.0f, h_y / t.z, -(h_y * t.y) / (t.z * t.z), 0, 0, 0); glm::mat3 W = glm::mat3( view_matrix[0], view_matrix[4], view_matrix[8], view_matrix[1], view_matrix[5], view_matrix[9], view_matrix[2], view_matrix[6], view_matrix[10]); glm::mat3 Vrk = glm::mat3( cov3D[0], cov3D[1], cov3D[2], cov3D[1], cov3D[3], cov3D[4], cov3D[2], cov3D[4], cov3D[5]); glm::mat3 T = W * J; glm::mat3 cov2D = glm::transpose(T) * glm::transpose(Vrk) * T; // Use helper variables for 2D covariance entries. More compact. float a = cov2D[0][0] += 0.3f; float b = cov2D[0][1]; float c = cov2D[1][1] += 0.3f; float denom = a * c - b * b; float dL_da = 0, dL_db = 0, dL_dc = 0; float denom2inv = 1.0f / ((denom * denom) + 0.0000001f); if (denom2inv != 0) { // Gradients of loss w.r.t. entries of 2D covariance matrix, // given gradients of loss w.r.t. conic matrix (inverse covariance matrix). // e.g., dL / da = dL / d_conic_a * d_conic_a / d_a dL_da = denom2inv * (-c * c * dL_dconic.x + 2 * b * c * dL_dconic.y + (denom - a * c) * dL_dconic.z); dL_dc = denom2inv * (-a * a * dL_dconic.z + 2 * a * b * dL_dconic.y + (denom - a * c) * dL_dconic.x); dL_db = denom2inv * 2 * (b * c * dL_dconic.x - (denom + 2 * b * b) * dL_dconic.y + a * b * dL_dconic.z); // Gradients of loss L w.r.t. each 3D covariance matrix (Vrk) entry, // given gradients w.r.t. 2D covariance matrix (diagonal). // cov2D = transpose(T) * transpose(Vrk) * T; dL_dcov[6 * idx + 0] = (T[0][0] * T[0][0] * dL_da + T[0][0] * T[1][0] * dL_db + T[1][0] * T[1][0] * dL_dc); dL_dcov[6 * idx + 3] = (T[0][1] * T[0][1] * dL_da + T[0][1] * T[1][1] * dL_db + T[1][1] * T[1][1] * dL_dc); dL_dcov[6 * idx + 5] = (T[0][2] * T[0][2] * dL_da + T[0][2] * T[1][2] * dL_db + T[1][2] * T[1][2] * dL_dc); // Gradients of loss L w.r.t. each 3D covariance matrix (Vrk) entry, // given gradients w.r.t. 2D covariance matrix (off-diagonal). // Off-diagonal elements appear twice --> double the gradient. // cov2D = transpose(T) * transpose(Vrk) * T; dL_dcov[6 * idx + 1] = 2 * T[0][0] * T[0][1] * dL_da + (T[0][0] * T[1][1] + T[0][1] * T[1][0]) * dL_db + 2 * T[1][0] * T[1][1] * dL_dc; dL_dcov[6 * idx + 2] = 2 * T[0][0] * T[0][2] * dL_da + (T[0][0] * T[1][2] + T[0][2] * T[1][0]) * dL_db + 2 * T[1][0] * T[1][2] * dL_dc; dL_dcov[6 * idx + 4] = 2 * T[0][2] * T[0][1] * dL_da + (T[0][1] * T[1][2] + T[0][2] * T[1][1]) * dL_db + 2 * T[1][1] * T[1][2] * dL_dc; } else { for (int i = 0; i < 6; i++) dL_dcov[6 * idx + i] = 0; } // Gradients of loss w.r.t. upper 2x3 portion of intermediate matrix T // cov2D = transpose(T) * transpose(Vrk) * T; float dL_dT00 = 2 * (T[0][0] * Vrk[0][0] + T[0][1] * Vrk[0][1] + T[0][2] * Vrk[0][2]) * dL_da + (T[1][0] * Vrk[0][0] + T[1][1] * Vrk[0][1] + T[1][2] * Vrk[0][2]) * dL_db; float dL_dT01 = 2 * (T[0][0] * Vrk[1][0] + T[0][1] * Vrk[1][1] + T[0][2] * Vrk[1][2]) * dL_da + (T[1][0] * Vrk[1][0] + T[1][1] * Vrk[1][1] + T[1][2] * Vrk[1][2]) * dL_db; float dL_dT02 = 2 * (T[0][0] * Vrk[2][0] + T[0][1] * Vrk[2][1] + T[0][2] * Vrk[2][2]) * dL_da + (T[1][0] * Vrk[2][0] + T[1][1] * Vrk[2][1] + T[1][2] * Vrk[2][2]) * dL_db; float dL_dT10 = 2 * (T[1][0] * Vrk[0][0] + T[1][1] * Vrk[0][1] + T[1][2] * Vrk[0][2]) * dL_dc + (T[0][0] * Vrk[0][0] + T[0][1] * Vrk[0][1] + T[0][2] * Vrk[0][2]) * dL_db; float dL_dT11 = 2 * (T[1][0] * Vrk[1][0] + T[1][1] * Vrk[1][1] + T[1][2] * Vrk[1][2]) * dL_dc + (T[0][0] * Vrk[1][0] + T[0][1] * Vrk[1][1] + T[0][2] * Vrk[1][2]) * dL_db; float dL_dT12 = 2 * (T[1][0] * Vrk[2][0] + T[1][1] * Vrk[2][1] + T[1][2] * Vrk[2][2]) * dL_dc + (T[0][0] * Vrk[2][0] + T[0][1] * Vrk[2][1] + T[0][2] * Vrk[2][2]) * dL_db; // Gradients of loss w.r.t. upper 3x2 non-zero entries of Jacobian matrix // T = W * J float dL_dJ00 = W[0][0] * dL_dT00 + W[0][1] * dL_dT01 + W[0][2] * dL_dT02; float dL_dJ02 = W[2][0] * dL_dT00 + W[2][1] * dL_dT01 + W[2][2] * dL_dT02; float dL_dJ11 = W[1][0] * dL_dT10 + W[1][1] * dL_dT11 + W[1][2] * dL_dT12; float dL_dJ12 = W[2][0] * dL_dT10 + W[2][1] * dL_dT11 + W[2][2] * dL_dT12; float tz = 1.f / t.z; float tz2 = tz * tz; float tz3 = tz2 * tz; // Gradients of loss w.r.t. transformed Gaussian mean t float dL_dtx = x_grad_mul * -h_x * tz2 * dL_dJ02; float dL_dty = y_grad_mul * -h_y * tz2 * dL_dJ12; float dL_dtz = -h_x * tz2 * dL_dJ00 - h_y * tz2 * dL_dJ11 + (2 * h_x * t.x) * tz3 * dL_dJ02 + (2 * h_y * t.y) * tz3 * dL_dJ12; // Account for transformation of mean to t // t = transformPoint4x3(mean, view_matrix); float3 dL_dmean = transformVec4x3Transpose({ dL_dtx, dL_dty, dL_dtz }, view_matrix); // Gradients of loss w.r.t. Gaussian means, but only the portion // that is caused because the mean affects the covariance matrix. // Additional mean gradient is accumulated in BACKWARD::preprocess. dL_dmeans[idx] = dL_dmean; } // Backward pass for the conversion of scale and rotation to a // 3D covariance matrix for each Gaussian. __device__ void computeCov3D(int idx, const glm::vec3 scale, float mod, const glm::vec4 rot, const float* dL_dcov3Ds, glm::vec3* dL_dscales, glm::vec4* dL_drots) { // Recompute (intermediate) results for the 3D covariance computation. glm::vec4 q = rot;// / glm::length(rot); float r = q.x; float x = q.y; float y = q.z; float z = q.w; glm::mat3 R = glm::mat3( 1.f - 2.f * (y * y + z * z), 2.f * (x * y - r * z), 2.f * (x * z + r * y), 2.f * (x * y + r * z), 1.f - 2.f * (x * x + z * z), 2.f * (y * z - r * x), 2.f * (x * z - r * y), 2.f * (y * z + r * x), 1.f - 2.f * (x * x + y * y) ); glm::mat3 S = glm::mat3(1.0f); glm::vec3 s = mod * scale; S[0][0] = s.x; S[1][1] = s.y; S[2][2] = s.z; glm::mat3 M = S * R; const float* dL_dcov3D = dL_dcov3Ds + 6 * idx; glm::vec3 dunc(dL_dcov3D[0], dL_dcov3D[3], dL_dcov3D[5]); glm::vec3 ounc = 0.5f * glm::vec3(dL_dcov3D[1], dL_dcov3D[2], dL_dcov3D[4]); // Convert per-element covariance loss gradients to matrix form glm::mat3 dL_dSigma = glm::mat3( dL_dcov3D[0], 0.5f * dL_dcov3D[1], 0.5f * dL_dcov3D[2], 0.5f * dL_dcov3D[1], dL_dcov3D[3], 0.5f * dL_dcov3D[4], 0.5f * dL_dcov3D[2], 0.5f * dL_dcov3D[4], dL_dcov3D[5] ); // Compute loss gradient w.r.t. matrix M // dSigma_dM = 2 * M glm::mat3 dL_dM = 2.0f * M * dL_dSigma; glm::mat3 Rt = glm::transpose(R); glm::mat3 dL_dMt = glm::transpose(dL_dM); // Gradients of loss w.r.t. scale glm::vec3* dL_dscale = dL_dscales + idx; dL_dscale->x = glm::dot(Rt[0], dL_dMt[0]); dL_dscale->y = glm::dot(Rt[1], dL_dMt[1]); dL_dscale->z = glm::dot(Rt[2], dL_dMt[2]); dL_dMt[0] *= s.x; dL_dMt[1] *= s.y; dL_dMt[2] *= s.z; // Gradients of loss w.r.t. normalized quaternion glm::vec4 dL_dq; dL_dq.x = 2 * z * (dL_dMt[0][1] - dL_dMt[1][0]) + 2 * y * (dL_dMt[2][0] - dL_dMt[0][2]) + 2 * x * (dL_dMt[1][2] - dL_dMt[2][1]); dL_dq.y = 2 * y * (dL_dMt[1][0] + dL_dMt[0][1]) + 2 * z * (dL_dMt[2][0] + dL_dMt[0][2]) + 2 * r * (dL_dMt[1][2] - dL_dMt[2][1]) - 4 * x * (dL_dMt[2][2] + dL_dMt[1][1]); dL_dq.z = 2 * x * (dL_dMt[1][0] + dL_dMt[0][1]) + 2 * r * (dL_dMt[2][0] - dL_dMt[0][2]) + 2 * z * (dL_dMt[1][2] + dL_dMt[2][1]) - 4 * y * (dL_dMt[2][2] + dL_dMt[0][0]); dL_dq.w = 2 * r * (dL_dMt[0][1] - dL_dMt[1][0]) + 2 * x * (dL_dMt[2][0] + dL_dMt[0][2]) + 2 * y * (dL_dMt[1][2] + dL_dMt[2][1]) - 4 * z * (dL_dMt[1][1] + dL_dMt[0][0]); // Gradients of loss w.r.t. unnormalized quaternion float4* dL_drot = (float4*)(dL_drots + idx); *dL_drot = float4{ dL_dq.x, dL_dq.y, dL_dq.z, dL_dq.w };//dnormvdv(float4{ rot.x, rot.y, rot.z, rot.w }, float4{ dL_dq.x, dL_dq.y, dL_dq.z, dL_dq.w }); } // Backward pass of the preprocessing steps, except // for the covariance computation and inversion // (those are handled by a previous kernel call) template __global__ void preprocessCUDA( int P, int D, int M, const float3* means, const int* radii, const float* shs, const bool* clamped, const glm::vec3* scales, const glm::vec4* rotations, const float scale_modifier, const float* proj, const glm::vec3* campos, const float4* dL_dmean2D, glm::vec3* dL_dmeans, float* dL_dcolor, float* dL_dcov3D, float* dL_dsh, glm::vec3* dL_dscale, glm::vec4* dL_drot) { auto idx = cg::this_grid().thread_rank(); if (idx >= P || !(radii[idx] > 0)) return; float3 m = means[idx]; // Taking care of gradients from the screenspace points float4 m_hom = transformPoint4x4(m, proj); float m_w = 1.0f / (m_hom.w + 0.0000001f); // Compute loss gradient w.r.t. 3D means due to gradients of 2D means // from rendering procedure glm::vec3 dL_dmean; float mul1 = (proj[0] * m.x + proj[4] * m.y + proj[8] * m.z + proj[12]) * m_w * m_w; float mul2 = (proj[1] * m.x + proj[5] * m.y + proj[9] * m.z + proj[13]) * m_w * m_w; dL_dmean.x = (proj[0] * m_w - proj[3] * mul1) * dL_dmean2D[idx].x + (proj[1] * m_w - proj[3] * mul2) * dL_dmean2D[idx].y; dL_dmean.y = (proj[4] * m_w - proj[7] * mul1) * dL_dmean2D[idx].x + (proj[5] * m_w - proj[7] * mul2) * dL_dmean2D[idx].y; dL_dmean.z = (proj[8] * m_w - proj[11] * mul1) * dL_dmean2D[idx].x + (proj[9] * m_w - proj[11] * mul2) * dL_dmean2D[idx].y; // That's the second part of the mean gradient. Previous computation // of cov2D and following SH conversion also affects it. dL_dmeans[idx] += dL_dmean; // Compute gradient updates due to computing colors from SHs if (shs) computeColorFromSH(idx, D, M, (glm::vec3*)means, *campos, shs, clamped, (glm::vec3*)dL_dcolor, (glm::vec3*)dL_dmeans, (glm::vec3*)dL_dsh); // Compute gradient updates due to computing covariance from scale/rotation if (scales) computeCov3D(idx, scales[idx], scale_modifier, rotations[idx], dL_dcov3D, dL_dscale, dL_drot); } // Backward version of the rendering procedure. template __global__ void __launch_bounds__(BLOCK_X * BLOCK_Y) renderCUDA( const uint2* __restrict__ ranges, const uint32_t* __restrict__ point_list, int W, int H, const float* __restrict__ bg_color, const float2* __restrict__ points_xy_image, const float4* __restrict__ conic_opacity, const float* __restrict__ colors, const float* __restrict__ final_Ts, const uint32_t* __restrict__ n_contrib, const float* __restrict__ dL_dpixels, float4* __restrict__ dL_dmean2D, float4* __restrict__ dL_dconic2D, float* __restrict__ dL_dopacity, float* __restrict__ dL_dcolors) { // We rasterize again. Compute necessary block info. auto block = cg::this_thread_block(); const uint32_t horizontal_blocks = (W + BLOCK_X - 1) / BLOCK_X; const uint2 pix_min = { block.group_index().x * BLOCK_X, block.group_index().y * BLOCK_Y }; const uint2 pix_max = { min(pix_min.x + BLOCK_X, W), min(pix_min.y + BLOCK_Y , H) }; const uint2 pix = { pix_min.x + block.thread_index().x, pix_min.y + block.thread_index().y }; const uint32_t pix_id = W * pix.y + pix.x; const float2 pixf = { (float)pix.x, (float)pix.y }; const bool inside = pix.x < W&& pix.y < H; const uint2 range = ranges[block.group_index().y * horizontal_blocks + block.group_index().x]; const int rounds = ((range.y - range.x + BLOCK_SIZE - 1) / BLOCK_SIZE); bool done = !inside; int toDo = range.y - range.x; __shared__ int collected_id[BLOCK_SIZE]; __shared__ float2 collected_xy[BLOCK_SIZE]; __shared__ float4 collected_conic_opacity[BLOCK_SIZE]; __shared__ float collected_colors[C * BLOCK_SIZE]; // In the forward, we stored the final value for T, the // product of all (1 - alpha) factors. const float T_final = inside ? final_Ts[pix_id] : 0; float T = T_final; // We start from the back. The ID of the last contributing // Gaussian is known from each pixel from the forward. uint32_t contributor = toDo; const int last_contributor = inside ? n_contrib[pix_id] : 0; float accum_rec[C] = { 0 }; float dL_dpixel[C]; if (inside) for (int i = 0; i < C; i++) dL_dpixel[i] = dL_dpixels[i * H * W + pix_id]; float last_alpha = 0; float last_color[C] = { 0 }; // Gradient of pixel coordinate w.r.t. normalized // screen-space viewport corrdinates (-1 to 1) const float ddelx_dx = 0.5 * W; const float ddely_dy = 0.5 * H; // Traverse all Gaussians for (int i = 0; i < rounds; i++, toDo -= BLOCK_SIZE) { // Load auxiliary data into shared memory, start in the BACK // and load them in revers order. block.sync(); const int progress = i * BLOCK_SIZE + block.thread_rank(); if (range.x + progress < range.y) { const int coll_id = point_list[range.y - progress - 1]; collected_id[block.thread_rank()] = coll_id; collected_xy[block.thread_rank()] = points_xy_image[coll_id]; collected_conic_opacity[block.thread_rank()] = conic_opacity[coll_id]; for (int i = 0; i < C; i++) collected_colors[i * BLOCK_SIZE + block.thread_rank()] = colors[coll_id * C + i]; } block.sync(); // Iterate over Gaussians for (int j = 0; !done && j < min(BLOCK_SIZE, toDo); j++) { // Keep track of current Gaussian ID. Skip, if this one // is behind the last contributor for this pixel. contributor--; if (contributor >= last_contributor) continue; // Compute blending values, as before. const float2 xy = collected_xy[j]; const float2 d = { xy.x - pixf.x, xy.y - pixf.y }; const float4 con_o = collected_conic_opacity[j]; const float power = -0.5f * (con_o.x * d.x * d.x + con_o.z * d.y * d.y) - con_o.y * d.x * d.y; if (power > 0.0f) continue; const float G = exp(power); const float alpha = min(0.99f, con_o.w * G); if (alpha < 1.0f / 255.0f) continue; T = T / (1.f - alpha); const float dchannel_dcolor = alpha * T; // Propagate gradients to per-Gaussian colors and keep // gradients w.r.t. alpha (blending factor for a Gaussian/pixel // pair). float dL_dalpha = 0.0f; const int global_id = collected_id[j]; for (int ch = 0; ch < C; ch++) { const float c = collected_colors[ch * BLOCK_SIZE + j]; // Update last color (to be used in the next iteration) accum_rec[ch] = last_alpha * last_color[ch] + (1.f - last_alpha) * accum_rec[ch]; last_color[ch] = c; const float dL_dchannel = dL_dpixel[ch]; dL_dalpha += (c - accum_rec[ch]) * dL_dchannel; // Update the gradients w.r.t. color of the Gaussian. // Atomic, since this pixel is just one of potentially // many that were affected by this Gaussian. atomicAdd(&(dL_dcolors[global_id * C + ch]), dchannel_dcolor * dL_dchannel); } dL_dalpha *= T; // Update last alpha (to be used in the next iteration) last_alpha = alpha; // Account for fact that alpha also influences how much of // the background color is added if nothing left to blend float bg_dot_dpixel = 0; for (int i = 0; i < C; i++) bg_dot_dpixel += bg_color[i] * dL_dpixel[i]; dL_dalpha += (-T_final / (1.f - alpha)) * bg_dot_dpixel; // Helpful reusable temporary variables const float dL_dG = con_o.w * dL_dalpha; const float gdx = G * d.x; const float gdy = G * d.y; const float dG_ddelx = -gdx * con_o.x - gdy * con_o.y; const float dG_ddely = -gdy * con_o.z - gdx * con_o.y; // Update gradients w.r.t. 2D mean position of the Gaussian atomicAdd(&dL_dmean2D[global_id].x, dL_dG * dG_ddelx * ddelx_dx); atomicAdd(&dL_dmean2D[global_id].y, dL_dG * dG_ddely * ddely_dy); // Homodirectional Gradient atomicAdd(&dL_dmean2D[global_id].z, fabs(dL_dG * dG_ddelx * ddelx_dx)); atomicAdd(&dL_dmean2D[global_id].w, fabs(dL_dG * dG_ddely * ddely_dy)); // Update gradients w.r.t. 2D covariance (2x2 matrix, symmetric) atomicAdd(&dL_dconic2D[global_id].x, -0.5f * gdx * d.x * dL_dG); atomicAdd(&dL_dconic2D[global_id].y, -0.5f * gdx * d.y * dL_dG); atomicAdd(&dL_dconic2D[global_id].w, -0.5f * gdy * d.y * dL_dG); // Update gradients w.r.t. opacity of the Gaussian atomicAdd(&(dL_dopacity[global_id]), G * dL_dalpha); } } } void BACKWARD::preprocess( int P, int D, int M, const float3* means3D, const int* radii, const float* shs, const bool* clamped, const glm::vec3* scales, const glm::vec4* rotations, const float scale_modifier, const float* cov3Ds, const float* viewmatrix, const float* projmatrix, const float focal_x, float focal_y, const float tan_fovx, float tan_fovy, const glm::vec3* campos, const float4* dL_dmean2D, const float* dL_dconic, glm::vec3* dL_dmean3D, float* dL_dcolor, float* dL_dcov3D, float* dL_dsh, glm::vec3* dL_dscale, glm::vec4* dL_drot) { // Propagate gradients for the path of 2D conic matrix computation. // Somewhat long, thus it is its own kernel rather than being part of // "preprocess". When done, loss gradient w.r.t. 3D means has been // modified and gradient w.r.t. 3D covariance matrix has been computed. computeCov2DCUDA << <(P + 255) / 256, 256 >> > ( P, means3D, radii, cov3Ds, focal_x, focal_y, tan_fovx, tan_fovy, viewmatrix, dL_dconic, (float3*)dL_dmean3D, dL_dcov3D); // Propagate gradients for remaining steps: finish 3D mean gradients, // propagate color gradients to SH (if desireD), propagate 3D covariance // matrix gradients to scale and rotation. preprocessCUDA << < (P + 255) / 256, 256 >> > ( P, D, M, (float3*)means3D, radii, shs, clamped, (glm::vec3*)scales, (glm::vec4*)rotations, scale_modifier, projmatrix, campos, (float4*)dL_dmean2D, (glm::vec3*)dL_dmean3D, dL_dcolor, dL_dcov3D, dL_dsh, dL_dscale, dL_drot); } void BACKWARD::render( const dim3 grid, const dim3 block, const uint2* ranges, const uint32_t* point_list, int W, int H, const float* bg_color, const float2* means2D, const float4* conic_opacity, const float* colors, const float* final_Ts, const uint32_t* n_contrib, const float* dL_dpixels, float4* dL_dmean2D, float4* dL_dconic2D, float* dL_dopacity, float* dL_dcolors) { renderCUDA << > >( ranges, point_list, W, H, bg_color, means2D, conic_opacity, colors, final_Ts, n_contrib, dL_dpixels, dL_dmean2D, dL_dconic2D, dL_dopacity, dL_dcolors ); } ================================================ FILE: submodules/diff-gaussian-rasterization-abs/cuda_rasterizer/backward.h ================================================ /* * Copyright (C) 2023, Inria * GRAPHDECO research group, https://team.inria.fr/graphdeco * All rights reserved. * * This software is free for non-commercial, research and evaluation use * under the terms of the LICENSE.md file. * * For inquiries contact george.drettakis@inria.fr */ #ifndef CUDA_RASTERIZER_BACKWARD_H_INCLUDED #define CUDA_RASTERIZER_BACKWARD_H_INCLUDED #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #define GLM_FORCE_CUDA #include namespace BACKWARD { void render( const dim3 grid, dim3 block, const uint2* ranges, const uint32_t* point_list, int W, int H, const float* bg_color, const float2* means2D, const float4* conic_opacity, const float* colors, const float* final_Ts, const uint32_t* n_contrib, const float* dL_dpixels, float4* dL_dmean2D, float4* dL_dconic2D, float* dL_dopacity, float* dL_dcolors); void preprocess( int P, int D, int M, const float3* means, const int* radii, const float* shs, const bool* clamped, const glm::vec3* scales, const glm::vec4* rotations, const float scale_modifier, const float* cov3Ds, const float* view, const float* proj, const float focal_x, float focal_y, const float tan_fovx, float tan_fovy, const glm::vec3* campos, const float4* dL_dmean2D, const float* dL_dconics, glm::vec3* dL_dmeans, float* dL_dcolor, float* dL_dcov3D, float* dL_dsh, glm::vec3* dL_dscale, glm::vec4* dL_drot); } #endif ================================================ FILE: submodules/diff-gaussian-rasterization-abs/cuda_rasterizer/config.h ================================================ /* * Copyright (C) 2023, Inria * GRAPHDECO research group, https://team.inria.fr/graphdeco * All rights reserved. * * This software is free for non-commercial, research and evaluation use * under the terms of the LICENSE.md file. * * For inquiries contact george.drettakis@inria.fr */ #ifndef CUDA_RASTERIZER_CONFIG_H_INCLUDED #define CUDA_RASTERIZER_CONFIG_H_INCLUDED #define NUM_CHANNELS 3 // Default 3, RGB #define BLOCK_X 16 #define BLOCK_Y 16 #endif ================================================ FILE: submodules/diff-gaussian-rasterization-abs/cuda_rasterizer/forward.cu ================================================ /* * Copyright (C) 2023, Inria * GRAPHDECO research group, https://team.inria.fr/graphdeco * All rights reserved. * * This software is free for non-commercial, research and evaluation use * under the terms of the LICENSE.md file. * * For inquiries contact george.drettakis@inria.fr */ #include "forward.h" #include "auxiliary.h" #include #include namespace cg = cooperative_groups; // Forward method for converting the input spherical harmonics // coefficients of each Gaussian to a simple RGB color. __device__ glm::vec3 computeColorFromSH(int idx, int deg, int max_coeffs, const glm::vec3* means, glm::vec3 campos, const float* shs, bool* clamped) { // The implementation is loosely based on code for // "Differentiable Point-Based Radiance Fields for // Efficient View Synthesis" by Zhang et al. (2022) glm::vec3 pos = means[idx]; glm::vec3 dir = pos - campos; dir = dir / glm::length(dir); glm::vec3* sh = ((glm::vec3*)shs) + idx * max_coeffs; glm::vec3 result = SH_C0 * sh[0]; if (deg > 0) { float x = dir.x; float y = dir.y; float z = dir.z; result = result - SH_C1 * y * sh[1] + SH_C1 * z * sh[2] - SH_C1 * x * sh[3]; if (deg > 1) { float xx = x * x, yy = y * y, zz = z * z; float xy = x * y, yz = y * z, xz = x * z; result = result + SH_C2[0] * xy * sh[4] + SH_C2[1] * yz * sh[5] + SH_C2[2] * (2.0f * zz - xx - yy) * sh[6] + SH_C2[3] * xz * sh[7] + SH_C2[4] * (xx - yy) * sh[8]; if (deg > 2) { result = result + SH_C3[0] * y * (3.0f * xx - yy) * sh[9] + SH_C3[1] * xy * z * sh[10] + SH_C3[2] * y * (4.0f * zz - xx - yy) * sh[11] + SH_C3[3] * z * (2.0f * zz - 3.0f * xx - 3.0f * yy) * sh[12] + SH_C3[4] * x * (4.0f * zz - xx - yy) * sh[13] + SH_C3[5] * z * (xx - yy) * sh[14] + SH_C3[6] * x * (xx - 3.0f * yy) * sh[15]; } } } result += 0.5f; // RGB colors are clamped to positive values. If values are // clamped, we need to keep track of this for the backward pass. clamped[3 * idx + 0] = (result.x < 0); clamped[3 * idx + 1] = (result.y < 0); clamped[3 * idx + 2] = (result.z < 0); return glm::max(result, 0.0f); } // Forward version of 2D covariance matrix computation __device__ float3 computeCov2D(const float3& mean, float focal_x, float focal_y, float tan_fovx, float tan_fovy, const float* cov3D, const float* viewmatrix) { // The following models the steps outlined by equations 29 // and 31 in "EWA Splatting" (Zwicker et al., 2002). // Additionally considers aspect / scaling of viewport. // Transposes used to account for row-/column-major conventions. float3 t = transformPoint4x3(mean, viewmatrix); const float limx = 1.3f * tan_fovx; const float limy = 1.3f * tan_fovy; const float txtz = t.x / t.z; const float tytz = t.y / t.z; t.x = min(limx, max(-limx, txtz)) * t.z; t.y = min(limy, max(-limy, tytz)) * t.z; glm::mat3 J = glm::mat3( focal_x / t.z, 0.0f, -(focal_x * t.x) / (t.z * t.z), 0.0f, focal_y / t.z, -(focal_y * t.y) / (t.z * t.z), 0, 0, 0); glm::mat3 W = glm::mat3( viewmatrix[0], viewmatrix[4], viewmatrix[8], viewmatrix[1], viewmatrix[5], viewmatrix[9], viewmatrix[2], viewmatrix[6], viewmatrix[10]); glm::mat3 T = W * J; glm::mat3 Vrk = glm::mat3( cov3D[0], cov3D[1], cov3D[2], cov3D[1], cov3D[3], cov3D[4], cov3D[2], cov3D[4], cov3D[5]); glm::mat3 cov = glm::transpose(T) * glm::transpose(Vrk) * T; // Apply low-pass filter: every Gaussian should be at least // one pixel wide/high. Discard 3rd row and column. cov[0][0] += 0.3f; cov[1][1] += 0.3f; return { float(cov[0][0]), float(cov[0][1]), float(cov[1][1]) }; } // Forward method for converting scale and rotation properties of each // Gaussian to a 3D covariance matrix in world space. Also takes care // of quaternion normalization. __device__ void computeCov3D(const glm::vec3 scale, float mod, const glm::vec4 rot, float* cov3D) { // Create scaling matrix glm::mat3 S = glm::mat3(1.0f); S[0][0] = mod * scale.x; S[1][1] = mod * scale.y; S[2][2] = mod * scale.z; // Normalize quaternion to get valid rotation glm::vec4 q = rot;// / glm::length(rot); float r = q.x; float x = q.y; float y = q.z; float z = q.w; // Compute rotation matrix from quaternion glm::mat3 R = glm::mat3( 1.f - 2.f * (y * y + z * z), 2.f * (x * y - r * z), 2.f * (x * z + r * y), 2.f * (x * y + r * z), 1.f - 2.f * (x * x + z * z), 2.f * (y * z - r * x), 2.f * (x * z - r * y), 2.f * (y * z + r * x), 1.f - 2.f * (x * x + y * y) ); glm::mat3 M = S * R; // Compute 3D world covariance matrix Sigma glm::mat3 Sigma = glm::transpose(M) * M; // Covariance is symmetric, only store upper right cov3D[0] = Sigma[0][0]; cov3D[1] = Sigma[0][1]; cov3D[2] = Sigma[0][2]; cov3D[3] = Sigma[1][1]; cov3D[4] = Sigma[1][2]; cov3D[5] = Sigma[2][2]; } // Perform initial steps for each Gaussian prior to rasterization. template __global__ void preprocessCUDA(int P, int D, int M, const float* orig_points, const glm::vec3* scales, const float scale_modifier, const glm::vec4* rotations, const float* opacities, const float* shs, bool* clamped, const float* cov3D_precomp, const float* colors_precomp, const float* viewmatrix, const float* projmatrix, const glm::vec3* cam_pos, const int W, int H, const float tan_fovx, float tan_fovy, const float focal_x, float focal_y, int* radii, float2* points_xy_image, float* depths, float* cov3Ds, float* rgb, float4* conic_opacity, const dim3 grid, uint32_t* tiles_touched, bool prefiltered) { auto idx = cg::this_grid().thread_rank(); if (idx >= P) return; // Initialize radius and touched tiles to 0. If this isn't changed, // this Gaussian will not be processed further. radii[idx] = 0; tiles_touched[idx] = 0; // Perform near culling, quit if outside. float3 p_view; if (!in_frustum(idx, orig_points, viewmatrix, projmatrix, prefiltered, p_view)) return; // Transform point by projecting float3 p_orig = { orig_points[3 * idx], orig_points[3 * idx + 1], orig_points[3 * idx + 2] }; float4 p_hom = transformPoint4x4(p_orig, projmatrix); float p_w = 1.0f / (p_hom.w + 0.0000001f); float3 p_proj = { p_hom.x * p_w, p_hom.y * p_w, p_hom.z * p_w }; // If 3D covariance matrix is precomputed, use it, otherwise compute // from scaling and rotation parameters. const float* cov3D; if (cov3D_precomp != nullptr) { cov3D = cov3D_precomp + idx * 6; } else { computeCov3D(scales[idx], scale_modifier, rotations[idx], cov3Ds + idx * 6); cov3D = cov3Ds + idx * 6; } // Compute 2D screen-space covariance matrix float3 cov = computeCov2D(p_orig, focal_x, focal_y, tan_fovx, tan_fovy, cov3D, viewmatrix); // Invert covariance (EWA algorithm) float det = (cov.x * cov.z - cov.y * cov.y); if (det == 0.0f) return; float det_inv = 1.f / det; float3 conic = { cov.z * det_inv, -cov.y * det_inv, cov.x * det_inv }; // Compute extent in screen space (by finding eigenvalues of // 2D covariance matrix). Use extent to compute a bounding rectangle // of screen-space tiles that this Gaussian overlaps with. Quit if // rectangle covers 0 tiles. float mid = 0.5f * (cov.x + cov.z); float lambda1 = mid + sqrt(max(0.1f, mid * mid - det)); float lambda2 = mid - sqrt(max(0.1f, mid * mid - det)); float my_radius = ceil(3.f * sqrt(max(lambda1, lambda2))); float2 point_image = { ndc2Pix(p_proj.x, W), ndc2Pix(p_proj.y, H) }; uint2 rect_min, rect_max; getRect(point_image, my_radius, rect_min, rect_max, grid); if ((rect_max.x - rect_min.x) * (rect_max.y - rect_min.y) == 0) return; // If colors have been precomputed, use them, otherwise convert // spherical harmonics coefficients to RGB color. if (colors_precomp == nullptr) { glm::vec3 result = computeColorFromSH(idx, D, M, (glm::vec3*)orig_points, *cam_pos, shs, clamped); rgb[idx * C + 0] = result.x; rgb[idx * C + 1] = result.y; rgb[idx * C + 2] = result.z; } // Store some useful helper data for the next steps. depths[idx] = p_view.z; radii[idx] = my_radius; points_xy_image[idx] = point_image; // Inverse 2D covariance and opacity neatly pack into one float4 conic_opacity[idx] = { conic.x, conic.y, conic.z, opacities[idx] }; tiles_touched[idx] = (rect_max.y - rect_min.y) * (rect_max.x - rect_min.x); } // Main rasterization method. Collaboratively works on one tile per // block, each thread treats one pixel. Alternates between fetching // and rasterizing data. template __global__ void __launch_bounds__(BLOCK_X * BLOCK_Y) renderCUDA( const uint2* __restrict__ ranges, const uint32_t* __restrict__ point_list, int W, int H, const float2* __restrict__ points_xy_image, const float* __restrict__ features, const float4* __restrict__ conic_opacity, float* __restrict__ final_T, uint32_t* __restrict__ n_contrib, const float* __restrict__ bg_color, float* __restrict__ out_color, float* __restrict__ gs_w) { // Identify current tile and associated min/max pixel range. auto block = cg::this_thread_block(); uint32_t horizontal_blocks = (W + BLOCK_X - 1) / BLOCK_X; uint2 pix_min = { block.group_index().x * BLOCK_X, block.group_index().y * BLOCK_Y }; uint2 pix_max = { min(pix_min.x + BLOCK_X, W), min(pix_min.y + BLOCK_Y , H) }; uint2 pix = { pix_min.x + block.thread_index().x, pix_min.y + block.thread_index().y }; uint32_t pix_id = W * pix.y + pix.x; float2 pixf = { (float)pix.x, (float)pix.y }; // Check if this thread is associated with a valid pixel or outside. bool inside = pix.x < W&& pix.y < H; // Done threads can help with fetching, but don't rasterize bool done = !inside; // Load start/end range of IDs to process in bit sorted list. uint2 range = ranges[block.group_index().y * horizontal_blocks + block.group_index().x]; const int rounds = ((range.y - range.x + BLOCK_SIZE - 1) / BLOCK_SIZE); int toDo = range.y - range.x; // Allocate storage for batches of collectively fetched data. __shared__ int collected_id[BLOCK_SIZE]; __shared__ float2 collected_xy[BLOCK_SIZE]; __shared__ float4 collected_conic_opacity[BLOCK_SIZE]; // Initialize helper variables float T = 1.0f; uint32_t contributor = 0; uint32_t last_contributor = 0; float C[CHANNELS] = { 0 }; // Iterate over batches until all done or range is complete for (int i = 0; i < rounds; i++, toDo -= BLOCK_SIZE) { // End if entire block votes that it is done rasterizing int num_done = __syncthreads_count(done); if (num_done == BLOCK_SIZE) break; // Collectively fetch per-Gaussian data from global to shared int progress = i * BLOCK_SIZE + block.thread_rank(); if (range.x + progress < range.y) { int coll_id = point_list[range.x + progress]; collected_id[block.thread_rank()] = coll_id; collected_xy[block.thread_rank()] = points_xy_image[coll_id]; collected_conic_opacity[block.thread_rank()] = conic_opacity[coll_id]; } block.sync(); // Iterate over current batch for (int j = 0; !done && j < min(BLOCK_SIZE, toDo); j++) { // Keep track of current position in range contributor++; // Resample using conic matrix (cf. "Surface // Splatting" by Zwicker et al., 2001) float2 xy = collected_xy[j]; float2 d = { xy.x - pixf.x, xy.y - pixf.y }; float4 con_o = collected_conic_opacity[j]; float power = -0.5f * (con_o.x * d.x * d.x + con_o.z * d.y * d.y) - con_o.y * d.x * d.y; if (power > 0.0f) continue; // Eq. (2) from 3D Gaussian splatting paper. // Obtain alpha by multiplying with Gaussian opacity // and its exponential falloff from mean. // Avoid numerical instabilities (see paper appendix). float alpha = min(0.99f, con_o.w * exp(power)); if (alpha < 1.0f / 255.0f) continue; float test_T = T * (1 - alpha); if (test_T < 0.0001f) { done = true; continue; } // Eq. (3) from 3D Gaussian splatting paper. for (int ch = 0; ch < CHANNELS; ch++) C[ch] += features[collected_id[j] * CHANNELS + ch] * alpha * T; atomicAdd(&gs_w[collected_id[j]], alpha * T); T = test_T; // Keep track of last range entry to update this // pixel. last_contributor = contributor; } } // All threads that treat valid pixel write out their final // rendering data to the frame and auxiliary buffers. if (inside) { final_T[pix_id] = T; n_contrib[pix_id] = last_contributor; for (int ch = 0; ch < CHANNELS; ch++) out_color[ch * H * W + pix_id] = C[ch] + T * bg_color[ch]; } } void FORWARD::render( const dim3 grid, dim3 block, const uint2* ranges, const uint32_t* point_list, int W, int H, const float2* means2D, const float* colors, const float4* conic_opacity, float* final_T, uint32_t* n_contrib, const float* bg_color, float* out_color, float* gs_w) { renderCUDA << > > ( ranges, point_list, W, H, means2D, colors, conic_opacity, final_T, n_contrib, bg_color, out_color, gs_w); } void FORWARD::preprocess(int P, int D, int M, const float* means3D, const glm::vec3* scales, const float scale_modifier, const glm::vec4* rotations, const float* opacities, const float* shs, bool* clamped, const float* cov3D_precomp, const float* colors_precomp, const float* viewmatrix, const float* projmatrix, const glm::vec3* cam_pos, const int W, int H, const float focal_x, float focal_y, const float tan_fovx, float tan_fovy, int* radii, float2* means2D, float* depths, float* cov3Ds, float* rgb, float4* conic_opacity, const dim3 grid, uint32_t* tiles_touched, bool prefiltered) { preprocessCUDA << <(P + 255) / 256, 256 >> > ( P, D, M, means3D, scales, scale_modifier, rotations, opacities, shs, clamped, cov3D_precomp, colors_precomp, viewmatrix, projmatrix, cam_pos, W, H, tan_fovx, tan_fovy, focal_x, focal_y, radii, means2D, depths, cov3Ds, rgb, conic_opacity, grid, tiles_touched, prefiltered ); } ================================================ FILE: submodules/diff-gaussian-rasterization-abs/cuda_rasterizer/forward.h ================================================ /* * Copyright (C) 2023, Inria * GRAPHDECO research group, https://team.inria.fr/graphdeco * All rights reserved. * * This software is free for non-commercial, research and evaluation use * under the terms of the LICENSE.md file. * * For inquiries contact george.drettakis@inria.fr */ #ifndef CUDA_RASTERIZER_FORWARD_H_INCLUDED #define CUDA_RASTERIZER_FORWARD_H_INCLUDED #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #define GLM_FORCE_CUDA #include namespace FORWARD { // Perform initial steps for each Gaussian prior to rasterization. void preprocess(int P, int D, int M, const float* orig_points, const glm::vec3* scales, const float scale_modifier, const glm::vec4* rotations, const float* opacities, const float* shs, bool* clamped, const float* cov3D_precomp, const float* colors_precomp, const float* viewmatrix, const float* projmatrix, const glm::vec3* cam_pos, const int W, int H, const float focal_x, float focal_y, const float tan_fovx, float tan_fovy, int* radii, float2* points_xy_image, float* depths, float* cov3Ds, float* colors, float4* conic_opacity, const dim3 grid, uint32_t* tiles_touched, bool prefiltered); // Main rasterization method. void render( const dim3 grid, dim3 block, const uint2* ranges, const uint32_t* point_list, int W, int H, const float2* points_xy_image, const float* features, const float4* conic_opacity, float* final_T, uint32_t* n_contrib, const float* bg_color, float* out_color, float* gs_w); } #endif ================================================ FILE: submodules/diff-gaussian-rasterization-abs/cuda_rasterizer/rasterizer.h ================================================ /* * Copyright (C) 2023, Inria * GRAPHDECO research group, https://team.inria.fr/graphdeco * All rights reserved. * * This software is free for non-commercial, research and evaluation use * under the terms of the LICENSE.md file. * * For inquiries contact george.drettakis@inria.fr */ #ifndef CUDA_RASTERIZER_H_INCLUDED #define CUDA_RASTERIZER_H_INCLUDED #include #include namespace CudaRasterizer { class Rasterizer { public: static void markVisible( int P, float* means3D, float* viewmatrix, float* projmatrix, bool* present); static int forward( std::function geometryBuffer, std::function binningBuffer, std::function imageBuffer, const int P, int D, int M, const float* background, const int width, int height, const float* means3D, const float* shs, const float* colors_precomp, const float* opacities, const float* scales, const float scale_modifier, const float* rotations, const float* cov3D_precomp, const float* viewmatrix, const float* projmatrix, const float* cam_pos, const float tan_fovx, float tan_fovy, const bool prefiltered, float* out_color, float* gs_w, int* radii = nullptr, bool debug = false); static void backward( const int P, int D, int M, int R, const float* background, const int width, int height, const float* means3D, const float* shs, const float* colors_precomp, const float* scales, const float scale_modifier, const float* rotations, const float* cov3D_precomp, const float* viewmatrix, const float* projmatrix, const float* campos, const float tan_fovx, float tan_fovy, const int* radii, char* geom_buffer, char* binning_buffer, char* image_buffer, const float* dL_dpix, float* dL_dmean2D, float* dL_dconic, float* dL_dopacity, float* dL_dcolor, float* dL_dmean3D, float* dL_dcov3D, float* dL_dsh, float* dL_dscale, float* dL_drot, bool debug); }; }; #endif ================================================ FILE: submodules/diff-gaussian-rasterization-abs/cuda_rasterizer/rasterizer_impl.cu ================================================ /* * Copyright (C) 2023, Inria * GRAPHDECO research group, https://team.inria.fr/graphdeco * All rights reserved. * * This software is free for non-commercial, research and evaluation use * under the terms of the LICENSE.md file. * * For inquiries contact george.drettakis@inria.fr */ #include "rasterizer_impl.h" #include #include #include #include #include #include "cuda_runtime.h" #include "device_launch_parameters.h" #include #include #define GLM_FORCE_CUDA #include #include #include namespace cg = cooperative_groups; #include "auxiliary.h" #include "forward.h" #include "backward.h" // Helper function to find the next-highest bit of the MSB // on the CPU. uint32_t getHigherMsb(uint32_t n) { uint32_t msb = sizeof(n) * 4; uint32_t step = msb; while (step > 1) { step /= 2; if (n >> msb) msb += step; else msb -= step; } if (n >> msb) msb++; return msb; } // Wrapper method to call auxiliary coarse frustum containment test. // Mark all Gaussians that pass it. __global__ void checkFrustum(int P, const float* orig_points, const float* viewmatrix, const float* projmatrix, bool* present) { auto idx = cg::this_grid().thread_rank(); if (idx >= P) return; float3 p_view; present[idx] = in_frustum(idx, orig_points, viewmatrix, projmatrix, false, p_view); } // Generates one key/value pair for all Gaussian / tile overlaps. // Run once per Gaussian (1:N mapping). __global__ void duplicateWithKeys( int P, const float2* points_xy, const float* depths, const uint32_t* offsets, uint64_t* gaussian_keys_unsorted, uint32_t* gaussian_values_unsorted, int* radii, dim3 grid) { auto idx = cg::this_grid().thread_rank(); if (idx >= P) return; // Generate no key/value pair for invisible Gaussians if (radii[idx] > 0) { // Find this Gaussian's offset in buffer for writing keys/values. uint32_t off = (idx == 0) ? 0 : offsets[idx - 1]; uint2 rect_min, rect_max; getRect(points_xy[idx], radii[idx], rect_min, rect_max, grid); // For each tile that the bounding rect overlaps, emit a // key/value pair. The key is | tile ID | depth |, // and the value is the ID of the Gaussian. Sorting the values // with this key yields Gaussian IDs in a list, such that they // are first sorted by tile and then by depth. for (int y = rect_min.y; y < rect_max.y; y++) { for (int x = rect_min.x; x < rect_max.x; x++) { uint64_t key = y * grid.x + x; key <<= 32; key |= *((uint32_t*)&depths[idx]); gaussian_keys_unsorted[off] = key; gaussian_values_unsorted[off] = idx; off++; } } } } // Check keys to see if it is at the start/end of one tile's range in // the full sorted list. If yes, write start/end of this tile. // Run once per instanced (duplicated) Gaussian ID. __global__ void identifyTileRanges(int L, uint64_t* point_list_keys, uint2* ranges) { auto idx = cg::this_grid().thread_rank(); if (idx >= L) return; // Read tile ID from key. Update start/end of tile range if at limit. uint64_t key = point_list_keys[idx]; uint32_t currtile = key >> 32; if (idx == 0) ranges[currtile].x = 0; else { uint32_t prevtile = point_list_keys[idx - 1] >> 32; if (currtile != prevtile) { ranges[prevtile].y = idx; ranges[currtile].x = idx; } } if (idx == L - 1) ranges[currtile].y = L; } // Mark Gaussians as visible/invisible, based on view frustum testing void CudaRasterizer::Rasterizer::markVisible( int P, float* means3D, float* viewmatrix, float* projmatrix, bool* present) { checkFrustum << <(P + 255) / 256, 256 >> > ( P, means3D, viewmatrix, projmatrix, present); } CudaRasterizer::GeometryState CudaRasterizer::GeometryState::fromChunk(char*& chunk, size_t P) { GeometryState geom; obtain(chunk, geom.depths, P, 128); obtain(chunk, geom.clamped, P * 3, 128); obtain(chunk, geom.internal_radii, P, 128); obtain(chunk, geom.means2D, P, 128); obtain(chunk, geom.cov3D, P * 6, 128); obtain(chunk, geom.conic_opacity, P, 128); obtain(chunk, geom.rgb, P * 3, 128); obtain(chunk, geom.tiles_touched, P, 128); cub::DeviceScan::InclusiveSum(nullptr, geom.scan_size, geom.tiles_touched, geom.tiles_touched, P); obtain(chunk, geom.scanning_space, geom.scan_size, 128); obtain(chunk, geom.point_offsets, P, 128); return geom; } CudaRasterizer::ImageState CudaRasterizer::ImageState::fromChunk(char*& chunk, size_t N) { ImageState img; obtain(chunk, img.accum_alpha, N, 128); obtain(chunk, img.n_contrib, N, 128); obtain(chunk, img.ranges, N, 128); return img; } CudaRasterizer::BinningState CudaRasterizer::BinningState::fromChunk(char*& chunk, size_t P) { BinningState binning; obtain(chunk, binning.point_list, P, 128); obtain(chunk, binning.point_list_unsorted, P, 128); obtain(chunk, binning.point_list_keys, P, 128); obtain(chunk, binning.point_list_keys_unsorted, P, 128); cub::DeviceRadixSort::SortPairs( nullptr, binning.sorting_size, binning.point_list_keys_unsorted, binning.point_list_keys, binning.point_list_unsorted, binning.point_list, P); obtain(chunk, binning.list_sorting_space, binning.sorting_size, 128); return binning; } // Forward rendering procedure for differentiable rasterization // of Gaussians. int CudaRasterizer::Rasterizer::forward( std::function geometryBuffer, std::function binningBuffer, std::function imageBuffer, const int P, int D, int M, const float* background, const int width, int height, const float* means3D, const float* shs, const float* colors_precomp, const float* opacities, const float* scales, const float scale_modifier, const float* rotations, const float* cov3D_precomp, const float* viewmatrix, const float* projmatrix, const float* cam_pos, const float tan_fovx, float tan_fovy, const bool prefiltered, float* out_color, float* gs_w, int* radii, bool debug) { const float focal_y = height / (2.0f * tan_fovy); const float focal_x = width / (2.0f * tan_fovx); size_t chunk_size = required(P); char* chunkptr = geometryBuffer(chunk_size); GeometryState geomState = GeometryState::fromChunk(chunkptr, P); if (radii == nullptr) { radii = geomState.internal_radii; } dim3 tile_grid((width + BLOCK_X - 1) / BLOCK_X, (height + BLOCK_Y - 1) / BLOCK_Y, 1); dim3 block(BLOCK_X, BLOCK_Y, 1); // Dynamically resize image-based auxiliary buffers during training size_t img_chunk_size = required(width * height); char* img_chunkptr = imageBuffer(img_chunk_size); ImageState imgState = ImageState::fromChunk(img_chunkptr, width * height); if (NUM_CHANNELS != 3 && colors_precomp == nullptr) { throw std::runtime_error("For non-RGB, provide precomputed Gaussian colors!"); } // Run preprocessing per-Gaussian (transformation, bounding, conversion of SHs to RGB) CHECK_CUDA(FORWARD::preprocess( P, D, M, means3D, (glm::vec3*)scales, scale_modifier, (glm::vec4*)rotations, opacities, shs, geomState.clamped, cov3D_precomp, colors_precomp, viewmatrix, projmatrix, (glm::vec3*)cam_pos, width, height, focal_x, focal_y, tan_fovx, tan_fovy, radii, geomState.means2D, geomState.depths, geomState.cov3D, geomState.rgb, geomState.conic_opacity, tile_grid, geomState.tiles_touched, prefiltered ), debug) // Compute prefix sum over full list of touched tile counts by Gaussians // E.g., [2, 3, 0, 2, 1] -> [2, 5, 5, 7, 8] CHECK_CUDA(cub::DeviceScan::InclusiveSum(geomState.scanning_space, geomState.scan_size, geomState.tiles_touched, geomState.point_offsets, P), debug) // Retrieve total number of Gaussian instances to launch and resize aux buffers int num_rendered; CHECK_CUDA(cudaMemcpy(&num_rendered, geomState.point_offsets + P - 1, sizeof(int), cudaMemcpyDeviceToHost), debug); size_t binning_chunk_size = required(num_rendered); char* binning_chunkptr = binningBuffer(binning_chunk_size); BinningState binningState = BinningState::fromChunk(binning_chunkptr, num_rendered); // For each instance to be rendered, produce adequate [ tile | depth ] key // and corresponding dublicated Gaussian indices to be sorted duplicateWithKeys << <(P + 255) / 256, 256 >> > ( P, geomState.means2D, geomState.depths, geomState.point_offsets, binningState.point_list_keys_unsorted, binningState.point_list_unsorted, radii, tile_grid) CHECK_CUDA(, debug) int bit = getHigherMsb(tile_grid.x * tile_grid.y); // Sort complete list of (duplicated) Gaussian indices by keys CHECK_CUDA(cub::DeviceRadixSort::SortPairs( binningState.list_sorting_space, binningState.sorting_size, binningState.point_list_keys_unsorted, binningState.point_list_keys, binningState.point_list_unsorted, binningState.point_list, num_rendered, 0, 32 + bit), debug) CHECK_CUDA(cudaMemset(imgState.ranges, 0, tile_grid.x * tile_grid.y * sizeof(uint2)), debug); // Identify start and end of per-tile workloads in sorted list if (num_rendered > 0) identifyTileRanges << <(num_rendered + 255) / 256, 256 >> > ( num_rendered, binningState.point_list_keys, imgState.ranges); CHECK_CUDA(, debug) // Let each tile blend its range of Gaussians independently in parallel const float* feature_ptr = colors_precomp != nullptr ? colors_precomp : geomState.rgb; CHECK_CUDA(FORWARD::render( tile_grid, block, imgState.ranges, binningState.point_list, width, height, geomState.means2D, feature_ptr, geomState.conic_opacity, imgState.accum_alpha, imgState.n_contrib, background, out_color, gs_w), debug) return num_rendered; } // Produce necessary gradients for optimization, corresponding // to forward render pass void CudaRasterizer::Rasterizer::backward( const int P, int D, int M, int R, const float* background, const int width, int height, const float* means3D, const float* shs, const float* colors_precomp, const float* scales, const float scale_modifier, const float* rotations, const float* cov3D_precomp, const float* viewmatrix, const float* projmatrix, const float* campos, const float tan_fovx, float tan_fovy, const int* radii, char* geom_buffer, char* binning_buffer, char* img_buffer, const float* dL_dpix, float* dL_dmean2D, float* dL_dconic, float* dL_dopacity, float* dL_dcolor, float* dL_dmean3D, float* dL_dcov3D, float* dL_dsh, float* dL_dscale, float* dL_drot, bool debug) { GeometryState geomState = GeometryState::fromChunk(geom_buffer, P); BinningState binningState = BinningState::fromChunk(binning_buffer, R); ImageState imgState = ImageState::fromChunk(img_buffer, width * height); if (radii == nullptr) { radii = geomState.internal_radii; } const float focal_y = height / (2.0f * tan_fovy); const float focal_x = width / (2.0f * tan_fovx); const dim3 tile_grid((width + BLOCK_X - 1) / BLOCK_X, (height + BLOCK_Y - 1) / BLOCK_Y, 1); const dim3 block(BLOCK_X, BLOCK_Y, 1); // Compute loss gradients w.r.t. 2D mean position, conic matrix, // opacity and RGB of Gaussians from per-pixel loss gradients. // If we were given precomputed colors and not SHs, use them. const float* color_ptr = (colors_precomp != nullptr) ? colors_precomp : geomState.rgb; CHECK_CUDA(BACKWARD::render( tile_grid, block, imgState.ranges, binningState.point_list, width, height, background, geomState.means2D, geomState.conic_opacity, color_ptr, imgState.accum_alpha, imgState.n_contrib, dL_dpix, (float4*)dL_dmean2D, (float4*)dL_dconic, dL_dopacity, dL_dcolor), debug) // Take care of the rest of preprocessing. Was the precomputed covariance // given to us or a scales/rot pair? If precomputed, pass that. If not, // use the one we computed ourselves. const float* cov3D_ptr = (cov3D_precomp != nullptr) ? cov3D_precomp : geomState.cov3D; CHECK_CUDA(BACKWARD::preprocess(P, D, M, (float3*)means3D, radii, shs, geomState.clamped, (glm::vec3*)scales, (glm::vec4*)rotations, scale_modifier, cov3D_ptr, viewmatrix, projmatrix, focal_x, focal_y, tan_fovx, tan_fovy, (glm::vec3*)campos, (float4*)dL_dmean2D, dL_dconic, (glm::vec3*)dL_dmean3D, dL_dcolor, dL_dcov3D, dL_dsh, (glm::vec3*)dL_dscale, (glm::vec4*)dL_drot), debug) } ================================================ FILE: submodules/diff-gaussian-rasterization-abs/cuda_rasterizer/rasterizer_impl.h ================================================ /* * Copyright (C) 2023, Inria * GRAPHDECO research group, https://team.inria.fr/graphdeco * All rights reserved. * * This software is free for non-commercial, research and evaluation use * under the terms of the LICENSE.md file. * * For inquiries contact george.drettakis@inria.fr */ #pragma once #include #include #include "rasterizer.h" #include namespace CudaRasterizer { template static void obtain(char*& chunk, T*& ptr, std::size_t count, std::size_t alignment) { std::size_t offset = (reinterpret_cast(chunk) + alignment - 1) & ~(alignment - 1); ptr = reinterpret_cast(offset); chunk = reinterpret_cast(ptr + count); } struct GeometryState { size_t scan_size; float* depths; char* scanning_space; bool* clamped; int* internal_radii; float2* means2D; float* cov3D; float4* conic_opacity; float* rgb; uint32_t* point_offsets; uint32_t* tiles_touched; static GeometryState fromChunk(char*& chunk, size_t P); }; struct ImageState { uint2* ranges; uint32_t* n_contrib; float* accum_alpha; static ImageState fromChunk(char*& chunk, size_t N); }; struct BinningState { size_t sorting_size; uint64_t* point_list_keys_unsorted; uint64_t* point_list_keys; uint32_t* point_list_unsorted; uint32_t* point_list; char* list_sorting_space; static BinningState fromChunk(char*& chunk, size_t P); }; template size_t required(size_t P) { char* size = nullptr; T::fromChunk(size, P); return ((size_t)size) + 128; } }; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/diff_gaussian_rasterization_abs/__init__.py ================================================ # # Copyright (C) 2023, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact george.drettakis@inria.fr # from typing import NamedTuple import torch.nn as nn import torch from . import _C def cpu_deep_copy_tuple(input_tuple): copied_tensors = [item.cpu().clone() if isinstance(item, torch.Tensor) else item for item in input_tuple] return tuple(copied_tensors) def rasterize_gaussians( means3D, means2D, sh, colors_precomp, opacities, scales, rotations, cov3Ds_precomp, raster_settings, ): return _RasterizeGaussians.apply( means3D, means2D, sh, colors_precomp, opacities, scales, rotations, cov3Ds_precomp, raster_settings, ) class _RasterizeGaussians(torch.autograd.Function): @staticmethod def forward( ctx, means3D, means2D, sh, colors_precomp, opacities, scales, rotations, cov3Ds_precomp, raster_settings, ): # Restructure arguments the way that the C++ lib expects them args = ( raster_settings.bg, means3D, colors_precomp, opacities, scales, rotations, raster_settings.scale_modifier, cov3Ds_precomp, raster_settings.viewmatrix, raster_settings.projmatrix, raster_settings.tanfovx, raster_settings.tanfovy, raster_settings.image_height, raster_settings.image_width, sh, raster_settings.sh_degree, raster_settings.campos, raster_settings.prefiltered, raster_settings.debug ) # Invoke C++/CUDA rasterizer if raster_settings.debug: cpu_args = cpu_deep_copy_tuple(args) # Copy them before they can be corrupted try: num_rendered, color, radii, geomBuffer, binningBuffer, imgBuffer, gs_w = _C.rasterize_gaussians(*args) except Exception as ex: torch.save(cpu_args, "snapshot_fw.dump") print("\nAn error occured in forward. Please forward snapshot_fw.dump for debugging.") raise ex else: num_rendered, color, radii, geomBuffer, binningBuffer, imgBuffer, gs_w = _C.rasterize_gaussians(*args) # Keep relevant tensors for backward ctx.raster_settings = raster_settings ctx.num_rendered = num_rendered ctx.save_for_backward(colors_precomp, means3D, scales, rotations, cov3Ds_precomp, radii, sh, geomBuffer, binningBuffer, imgBuffer) return color, radii, gs_w @staticmethod def backward(ctx, grad_out_color, grad_radii, grad_gs_w): # Restore necessary values from context num_rendered = ctx.num_rendered raster_settings = ctx.raster_settings colors_precomp, means3D, scales, rotations, cov3Ds_precomp, radii, sh, geomBuffer, binningBuffer, imgBuffer = ctx.saved_tensors # Restructure args as C++ method expects them args = (raster_settings.bg, means3D, radii, colors_precomp, scales, rotations, raster_settings.scale_modifier, cov3Ds_precomp, raster_settings.viewmatrix, raster_settings.projmatrix, raster_settings.tanfovx, raster_settings.tanfovy, grad_out_color, sh, raster_settings.sh_degree, raster_settings.campos, geomBuffer, num_rendered, binningBuffer, imgBuffer, raster_settings.debug) # Compute gradients for relevant tensors by invoking backward method if raster_settings.debug: cpu_args = cpu_deep_copy_tuple(args) # Copy them before they can be corrupted try: grad_means2D, grad_colors_precomp, grad_opacities, grad_means3D, grad_cov3Ds_precomp, grad_sh, grad_scales, grad_rotations = _C.rasterize_gaussians_backward(*args) except Exception as ex: torch.save(cpu_args, "snapshot_bw.dump") print("\nAn error occured in backward. Writing snapshot_bw.dump for debugging.\n") raise ex else: grad_means2D, grad_colors_precomp, grad_opacities, grad_means3D, grad_cov3Ds_precomp, grad_sh, grad_scales, grad_rotations = _C.rasterize_gaussians_backward(*args) grads = ( grad_means3D, grad_means2D, grad_sh, grad_colors_precomp, grad_opacities, grad_scales, grad_rotations, grad_cov3Ds_precomp, None, ) return grads class GaussianRasterizationSettings(NamedTuple): image_height: int image_width: int tanfovx : float tanfovy : float bg : torch.Tensor scale_modifier : float viewmatrix : torch.Tensor projmatrix : torch.Tensor sh_degree : int campos : torch.Tensor prefiltered : bool debug : bool class GaussianRasterizer(nn.Module): def __init__(self, raster_settings): super().__init__() self.raster_settings = raster_settings def markVisible(self, positions): # Mark visible points (based on frustum culling for camera) with a boolean with torch.no_grad(): raster_settings = self.raster_settings visible = _C.mark_visible( positions, raster_settings.viewmatrix, raster_settings.projmatrix) return visible def forward(self, means3D, means2D, opacities, shs = None, colors_precomp = None, scales = None, rotations = None, cov3D_precomp = None): raster_settings = self.raster_settings if (shs is None and colors_precomp is None) or (shs is not None and colors_precomp is not None): raise Exception('Please provide excatly one of either SHs or precomputed colors!') if ((scales is None or rotations is None) and cov3D_precomp is None) or ((scales is not None or rotations is not None) and cov3D_precomp is not None): raise Exception('Please provide exactly one of either scale/rotation pair or precomputed 3D covariance!') if shs is None: shs = torch.Tensor([]) if colors_precomp is None: colors_precomp = torch.Tensor([]) if scales is None: scales = torch.Tensor([]) if rotations is None: rotations = torch.Tensor([]) if cov3D_precomp is None: cov3D_precomp = torch.Tensor([]) # Invoke C++/CUDA rasterization routine return rasterize_gaussians( means3D, means2D, shs, colors_precomp, opacities, scales, rotations, cov3D_precomp, raster_settings, ) ================================================ FILE: submodules/diff-gaussian-rasterization-abs/ext.cpp ================================================ /* * Copyright (C) 2023, Inria * GRAPHDECO research group, https://team.inria.fr/graphdeco * All rights reserved. * * This software is free for non-commercial, research and evaluation use * under the terms of the LICENSE.md file. * * For inquiries contact george.drettakis@inria.fr */ #include #include "rasterize_points.h" PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { m.def("rasterize_gaussians", &RasterizeGaussiansCUDA); m.def("rasterize_gaussians_backward", &RasterizeGaussiansBackwardCUDA); m.def("mark_visible", &markVisible); } ================================================ FILE: submodules/diff-gaussian-rasterization-abs/rasterize_points.cu ================================================ /* * Copyright (C) 2023, Inria * GRAPHDECO research group, https://team.inria.fr/graphdeco * All rights reserved. * * This software is free for non-commercial, research and evaluation use * under the terms of the LICENSE.md file. * * For inquiries contact george.drettakis@inria.fr */ #include #include #include #include #include #include #include #include #include #include "cuda_rasterizer/config.h" #include "cuda_rasterizer/rasterizer.h" #include #include #include std::function resizeFunctional(torch::Tensor& t) { auto lambda = [&t](size_t N) { t.resize_({(long long)N}); return reinterpret_cast(t.contiguous().data_ptr()); }; return lambda; } std::tuple RasterizeGaussiansCUDA( const torch::Tensor& background, const torch::Tensor& means3D, const torch::Tensor& colors, const torch::Tensor& opacity, const torch::Tensor& scales, const torch::Tensor& rotations, const float scale_modifier, const torch::Tensor& cov3D_precomp, const torch::Tensor& viewmatrix, const torch::Tensor& projmatrix, const float tan_fovx, const float tan_fovy, const int image_height, const int image_width, const torch::Tensor& sh, const int degree, const torch::Tensor& campos, const bool prefiltered, const bool debug) { if (means3D.ndimension() != 2 || means3D.size(1) != 3) { AT_ERROR("means3D must have dimensions (num_points, 3)"); } const int P = means3D.size(0); const int H = image_height; const int W = image_width; auto int_opts = means3D.options().dtype(torch::kInt32); auto float_opts = means3D.options().dtype(torch::kFloat32); torch::Tensor out_color = torch::full({NUM_CHANNELS, H, W}, 0.0, float_opts); torch::Tensor radii = torch::full({P}, 0, means3D.options().dtype(torch::kInt32)); torch::Tensor gs_w = torch::full({P}, 0.0, means3D.options()); torch::Device device(torch::kCUDA); torch::TensorOptions options(torch::kByte); torch::Tensor geomBuffer = torch::empty({0}, options.device(device)); torch::Tensor binningBuffer = torch::empty({0}, options.device(device)); torch::Tensor imgBuffer = torch::empty({0}, options.device(device)); std::function geomFunc = resizeFunctional(geomBuffer); std::function binningFunc = resizeFunctional(binningBuffer); std::function imgFunc = resizeFunctional(imgBuffer); int rendered = 0; if(P != 0) { int M = 0; if(sh.size(0) != 0) { M = sh.size(1); } rendered = CudaRasterizer::Rasterizer::forward( geomFunc, binningFunc, imgFunc, P, degree, M, background.contiguous().data(), W, H, means3D.contiguous().data(), sh.contiguous().data_ptr(), colors.contiguous().data(), opacity.contiguous().data(), scales.contiguous().data_ptr(), scale_modifier, rotations.contiguous().data_ptr(), cov3D_precomp.contiguous().data(), viewmatrix.contiguous().data(), projmatrix.contiguous().data(), campos.contiguous().data(), tan_fovx, tan_fovy, prefiltered, out_color.contiguous().data(), gs_w.contiguous().data(), radii.contiguous().data(), debug); } return std::make_tuple(rendered, out_color, radii, geomBuffer, binningBuffer, imgBuffer, gs_w); } std::tuple RasterizeGaussiansBackwardCUDA( const torch::Tensor& background, const torch::Tensor& means3D, const torch::Tensor& radii, const torch::Tensor& colors, const torch::Tensor& scales, const torch::Tensor& rotations, const float scale_modifier, const torch::Tensor& cov3D_precomp, const torch::Tensor& viewmatrix, const torch::Tensor& projmatrix, const float tan_fovx, const float tan_fovy, const torch::Tensor& dL_dout_color, const torch::Tensor& sh, const int degree, const torch::Tensor& campos, const torch::Tensor& geomBuffer, const int R, const torch::Tensor& binningBuffer, const torch::Tensor& imageBuffer, const bool debug) { const int P = means3D.size(0); const int H = dL_dout_color.size(1); const int W = dL_dout_color.size(2); int M = 0; if(sh.size(0) != 0) { M = sh.size(1); } torch::Tensor dL_dmeans3D = torch::zeros({P, 3}, means3D.options()); torch::Tensor dL_dmeans2D = torch::zeros({P, 4}, means3D.options()); torch::Tensor dL_dcolors = torch::zeros({P, NUM_CHANNELS}, means3D.options()); torch::Tensor dL_dconic = torch::zeros({P, 2, 2}, means3D.options()); torch::Tensor dL_dopacity = torch::zeros({P, 1}, means3D.options()); torch::Tensor dL_dcov3D = torch::zeros({P, 6}, means3D.options()); torch::Tensor dL_dsh = torch::zeros({P, M, 3}, means3D.options()); torch::Tensor dL_dscales = torch::zeros({P, 3}, means3D.options()); torch::Tensor dL_drotations = torch::zeros({P, 4}, means3D.options()); if(P != 0) { CudaRasterizer::Rasterizer::backward(P, degree, M, R, background.contiguous().data(), W, H, means3D.contiguous().data(), sh.contiguous().data(), colors.contiguous().data(), scales.data_ptr(), scale_modifier, rotations.data_ptr(), cov3D_precomp.contiguous().data(), viewmatrix.contiguous().data(), projmatrix.contiguous().data(), campos.contiguous().data(), tan_fovx, tan_fovy, radii.contiguous().data(), reinterpret_cast(geomBuffer.contiguous().data_ptr()), reinterpret_cast(binningBuffer.contiguous().data_ptr()), reinterpret_cast(imageBuffer.contiguous().data_ptr()), dL_dout_color.contiguous().data(), dL_dmeans2D.contiguous().data(), dL_dconic.contiguous().data(), dL_dopacity.contiguous().data(), dL_dcolors.contiguous().data(), dL_dmeans3D.contiguous().data(), dL_dcov3D.contiguous().data(), dL_dsh.contiguous().data(), dL_dscales.contiguous().data(), dL_drotations.contiguous().data(), debug); } return std::make_tuple(dL_dmeans2D, dL_dcolors, dL_dopacity, dL_dmeans3D, dL_dcov3D, dL_dsh, dL_dscales, dL_drotations); } torch::Tensor markVisible( torch::Tensor& means3D, torch::Tensor& viewmatrix, torch::Tensor& projmatrix) { const int P = means3D.size(0); torch::Tensor present = torch::full({P}, false, means3D.options().dtype(at::kBool)); if(P != 0) { CudaRasterizer::Rasterizer::markVisible(P, means3D.contiguous().data(), viewmatrix.contiguous().data(), projmatrix.contiguous().data(), present.contiguous().data()); } return present; } ================================================ FILE: submodules/diff-gaussian-rasterization-abs/rasterize_points.h ================================================ /* * Copyright (C) 2023, Inria * GRAPHDECO research group, https://team.inria.fr/graphdeco * All rights reserved. * * This software is free for non-commercial, research and evaluation use * under the terms of the LICENSE.md file. * * For inquiries contact george.drettakis@inria.fr */ #pragma once #include #include #include #include std::tuple RasterizeGaussiansCUDA( const torch::Tensor& background, const torch::Tensor& means3D, const torch::Tensor& colors, const torch::Tensor& opacity, const torch::Tensor& scales, const torch::Tensor& rotations, const float scale_modifier, const torch::Tensor& cov3D_precomp, const torch::Tensor& viewmatrix, const torch::Tensor& projmatrix, const float tan_fovx, const float tan_fovy, const int image_height, const int image_width, const torch::Tensor& sh, const int degree, const torch::Tensor& campos, const bool prefiltered, const bool debug); std::tuple RasterizeGaussiansBackwardCUDA( const torch::Tensor& background, const torch::Tensor& means3D, const torch::Tensor& radii, const torch::Tensor& colors, const torch::Tensor& scales, const torch::Tensor& rotations, const float scale_modifier, const torch::Tensor& cov3D_precomp, const torch::Tensor& viewmatrix, const torch::Tensor& projmatrix, const float tan_fovx, const float tan_fovy, const torch::Tensor& dL_dout_color, const torch::Tensor& sh, const int degree, const torch::Tensor& campos, const torch::Tensor& geomBuffer, const int R, const torch::Tensor& binningBuffer, const torch::Tensor& imageBuffer, const bool debug); torch::Tensor markVisible( torch::Tensor& means3D, torch::Tensor& viewmatrix, torch::Tensor& projmatrix); ================================================ FILE: submodules/diff-gaussian-rasterization-abs/setup.py ================================================ # # Copyright (C) 2023, Inria # GRAPHDECO research group, https://team.inria.fr/graphdeco # All rights reserved. # # This software is free for non-commercial, research and evaluation use # under the terms of the LICENSE.md file. # # For inquiries contact george.drettakis@inria.fr # from setuptools import setup from torch.utils.cpp_extension import CUDAExtension, BuildExtension import os os.path.dirname(os.path.abspath(__file__)) setup( name="diff_gaussian_rasterization_abs", packages=['diff_gaussian_rasterization_abs'], ext_modules=[ CUDAExtension( name="diff_gaussian_rasterization_abs._C", sources=[ "cuda_rasterizer/rasterizer_impl.cu", "cuda_rasterizer/forward.cu", "cuda_rasterizer/backward.cu", "rasterize_points.cu", "ext.cpp"], extra_compile_args={"nvcc": ["-I" + os.path.join(os.path.dirname(os.path.abspath(__file__)), "third_party/glm/")]}) ], cmdclass={ 'build_ext': BuildExtension } ) ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/.appveyor.yml ================================================ shallow_clone: true platform: - x86 - x64 configuration: - Debug - Release image: - Visual Studio 2013 - Visual Studio 2015 - Visual Studio 2017 - Visual Studio 2019 environment: matrix: - GLM_ARGUMENTS: -DGLM_TEST_FORCE_PURE=ON - GLM_ARGUMENTS: -DGLM_TEST_ENABLE_SIMD_SSE2=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON - GLM_ARGUMENTS: -DGLM_TEST_ENABLE_SIMD_AVX=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON - GLM_ARGUMENTS: -DGLM_TEST_ENABLE_SIMD_AVX=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_CXX_14=ON - GLM_ARGUMENTS: -DGLM_TEST_ENABLE_SIMD_AVX=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_CXX_17=ON matrix: exclude: - image: Visual Studio 2013 GLM_ARGUMENTS: -DGLM_TEST_ENABLE_SIMD_AVX=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON - image: Visual Studio 2013 GLM_ARGUMENTS: -DGLM_TEST_ENABLE_SIMD_AVX=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_CXX_14=ON - image: Visual Studio 2013 GLM_ARGUMENTS: -DGLM_TEST_ENABLE_SIMD_AVX=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_CXX_17=ON - image: Visual Studio 2013 configuration: Debug - image: Visual Studio 2015 GLM_ARGUMENTS: -DGLM_TEST_ENABLE_SIMD_SSE2=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON - image: Visual Studio 2015 GLM_ARGUMENTS: -DGLM_TEST_ENABLE_SIMD_AVX=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_CXX_14=ON - image: Visual Studio 2015 GLM_ARGUMENTS: -DGLM_TEST_ENABLE_SIMD_AVX=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_CXX_17=ON - image: Visual Studio 2015 platform: x86 - image: Visual Studio 2015 configuration: Debug - image: Visual Studio 2017 platform: x86 - image: Visual Studio 2017 configuration: Debug - image: Visual Studio 2019 platform: x64 branches: only: - master before_build: - ps: | mkdir build cd build if ("$env:APPVEYOR_JOB_NAME" -match "Image: Visual Studio 2013") { $env:generator="Visual Studio 12 2013" } if ("$env:APPVEYOR_JOB_NAME" -match "Image: Visual Studio 2015") { $env:generator="Visual Studio 14 2015" } if ("$env:APPVEYOR_JOB_NAME" -match "Image: Visual Studio 2017") { $env:generator="Visual Studio 15 2017" } if ("$env:APPVEYOR_JOB_NAME" -match "Image: Visual Studio 2019") { $env:generator="Visual Studio 16 2019" } if ($env:PLATFORM -eq "x64") { $env:generator="$env:generator Win64" } echo generator="$env:generator" cmake .. -G "$env:generator" -DCMAKE_INSTALL_PREFIX="$env:APPVEYOR_BUILD_FOLDER/install" -DGLM_QUIET=ON -DGLM_TEST_ENABLE=ON "$env:GLM_ARGUMENTS" build_script: - cmake --build . --parallel --config %CONFIGURATION% -- /m /v:minimal - cmake --build . --target install --parallel --config %CONFIGURATION% -- /m /v:minimal test_script: - ctest --parallel 4 --verbose -C %CONFIGURATION% - cd .. - ps: | mkdir build_test_cmake cd build_test_cmake cmake ..\test\cmake\ -G "$env:generator" -DCMAKE_PREFIX_PATH="$env:APPVEYOR_BUILD_FOLDER/install" - cmake --build . --parallel --config %CONFIGURATION% -- /m /v:minimal deploy: off ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/.gitignore ================================================ # Compiled Object files *.slo *.lo *.o *.obj # Precompiled Headers *.gch *.pch # Compiled Dynamic libraries *.so *.dylib *.dll # Fortran module files *.mod # Compiled Static libraries *.lai *.la *.a *.lib # Executables *.exe *.out *.app # CMake CMakeCache.txt CMakeFiles cmake_install.cmake install_manifest.txt *.cmake !glmConfig.cmake !glmConfig-version.cmake # ^ May need to add future .cmake files as exceptions # Test logs Testing/* # Test input test/gtc/*.dds # Project Files Makefile *.cbp *.user # Misc. *.log # local build(s) build* /.vs /.vscode /CMakeSettings.json .DS_Store *.swp ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/.travis.yml ================================================ language: cpp branches: only: - master - stable jobs: include: - name: "Xcode 7.3 C++98 pure release" os: osx osx_image: xcode7.3 env: - MATRIX_EVAL="" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_FORCE_PURE=ON" - name: "Xcode 7.3 C++98 sse2 release" os: osx osx_image: xcode7.3 env: - MATRIX_EVAL="" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_SSE2=ON" - name: "Xcode 7.3 C++98 ms release" os: osx osx_image: xcode7.3 env: - MATRIX_EVAL="" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON" - name: "XCode 7.3 C++11 pure release" os: osx osx_image: xcode7.3 env: - MATRIX_EVAL="" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_FORCE_PURE=ON" - name: "XCode 7.3 C++11 sse2 release" os: osx osx_image: xcode7.3 env: - MATRIX_EVAL="" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_SSE3=ON" - name: "XCode 10.3 C++11 sse2 release" os: osx osx_image: xcode10.3 env: - MATRIX_EVAL="" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_SSE3=ON" - name: "XCode 12.2 C++11 sse2 release" os: osx osx_image: xcode12.2 env: - MATRIX_EVAL="" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_SSE3=ON" - CTEST_ENV="--parallel 4 --output-on-failure" - CMAKE_ENV="--parallel" - name: "XCode 12.2 C++11 sse2 debug" os: osx osx_image: xcode12.2 env: - MATRIX_EVAL="" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_SSE3=ON" - CTEST_ENV="--parallel 4 --output-on-failure" - CMAKE_ENV="--parallel" - name: "XCode 12.2 C++11 avx debug" os: osx osx_image: xcode12.2 env: - MATRIX_EVAL="" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_AVX=ON" - CTEST_ENV="--parallel 4 --output-on-failure" - CMAKE_ENV="--parallel" - name: "XCode 12.2 C++14 avx debug" os: osx osx_image: xcode12.2 env: - MATRIX_EVAL="" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_14=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_AVX=ON" - CTEST_ENV="--parallel 4 --output-on-failure" - CMAKE_ENV="--parallel" - name: "XCode 12.2 C++14 pure debug" os: osx osx_image: xcode12.2 env: - MATRIX_EVAL="" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_14=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_FORCE_PURE=ON" - CTEST_ENV="--parallel 4 --output-on-failure" - CMAKE_ENV="--parallel" - name: "XCode 12.2 C++17 pure debug" os: osx osx_image: xcode12.2 env: - MATRIX_EVAL="" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_FORCE_PURE=ON" - CTEST_ENV="--parallel 4 --output-on-failure" - CMAKE_ENV="--parallel" - name: "XCode 12.2 C++17 sse2 debug" os: osx osx_image: xcode12.2 env: - MATRIX_EVAL="" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_SSE2=ON" - CTEST_ENV="--parallel 4 --output-on-failure" - CMAKE_ENV="--parallel" - name: "XCode 12.2 C++17 sse2 release" os: osx osx_image: xcode12.2 env: - MATRIX_EVAL="" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_SSE2=ON" - CTEST_ENV="--parallel 4 --output-on-failure" - CMAKE_ENV="--parallel" - name: "XCode 12.2 C++17 avx release" os: osx osx_image: xcode12.2 env: - MATRIX_EVAL="" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_AVX=ON" - CTEST_ENV="--parallel 4 --output-on-failure" - CMAKE_ENV="--parallel" - name: "GCC 4.9 C++98 pure release" os: linux dist: Xenial addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-4.9 env: - MATRIX_EVAL="CC=gcc-4.9 && CXX=g++-4.9" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_FORCE_PURE=ON" - CTEST_ENV="--parallel 4 --output-on-failure" - CMAKE_ENV="--parallel" - name: "GCC 4.9 C++98 pure debug" os: linux dist: Xenial addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-4.9 env: - MATRIX_EVAL="CC=gcc-4.9 && CXX=g++-4.9" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_FORCE_PURE=ON" - CTEST_ENV="--parallel 4 --output-on-failure" - CMAKE_ENV="--parallel" - name: "GCC 4.9 C++98 ms debug" os: linux dist: Xenial addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-4.9 env: - MATRIX_EVAL="CC=gcc-4.9 && CXX=g++-4.9" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_98=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON" - CTEST_ENV="--parallel 4 --output-on-failure" - CMAKE_ENV="--parallel" - name: "GCC 4.9 C++11 ms debug" os: linux dist: Xenial addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-4.9 env: - MATRIX_EVAL="CC=gcc-4.9 && CXX=g++-4.9" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON" - CTEST_ENV="--parallel 4 --output-on-failure" - CMAKE_ENV="--parallel" - name: "GCC 4.9 C++11 pure debug" os: linux dist: Xenial addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-4.9 env: - MATRIX_EVAL="CC=gcc-4.9 && CXX=g++-4.9" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_11=ON -DGLM_TEST_FORCE_PURE=ON" - CTEST_ENV="--parallel 4 --output-on-failure" - CMAKE_ENV="--parallel" - name: "GCC 6 C++14 pure debug" os: linux dist: bionic addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-6 env: - MATRIX_EVAL="CC=gcc-6 && CXX=g++-6" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_14=ON -DGLM_TEST_FORCE_PURE=ON" - CTEST_ENV="--parallel 4 --output-on-failure" - CMAKE_ENV="--parallel" - name: "GCC 6 C++14 ms debug" os: linux dist: bionic addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-6 env: - MATRIX_EVAL="CC=gcc-6 && CXX=g++-6" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_14=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON" - CTEST_ENV="--parallel 4 --output-on-failure" - CMAKE_ENV="--parallel" - name: "GCC 7 C++17 ms debug" os: linux dist: bionic addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-7 env: - MATRIX_EVAL="CC=gcc-7 && CXX=g++-7" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON" - CTEST_ENV="--parallel 4 --output-on-failure" - CMAKE_ENV="--parallel" - name: "GCC 7 C++17 pure debug" os: linux dist: bionic addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-7 env: - MATRIX_EVAL="CC=gcc-7 && CXX=g++-7" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_FORCE_PURE=ON" - CTEST_ENV="--parallel 4 --output-on-failure" - CMAKE_ENV="--parallel" - name: "GCC 10 C++17 pure debug" os: linux dist: bionic addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-10 env: - MATRIX_EVAL="CC=gcc-10 && CXX=g++-10" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_FORCE_PURE=ON" - CTEST_ENV="--parallel 4 --output-on-failure" - CMAKE_ENV="--parallel" - name: "GCC 10 C++17 pure release" os: linux dist: bionic addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-10 env: - MATRIX_EVAL="CC=gcc-10 && CXX=g++-10" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_FORCE_PURE=ON" - CTEST_ENV="--parallel 4 --output-on-failure" - CMAKE_ENV="--parallel" - name: "Clang C++14 pure release" os: linux dist: Xenial env: - MATRIX_EVAL="CC=clang && CXX=clang++" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_14=ON -DGLM_TEST_FORCE_PURE=ON" - CTEST_ENV="--parallel 4 --output-on-failure" - CMAKE_ENV="--parallel" - name: "Clang C++14 pure debug" os: linux dist: Xenial env: - MATRIX_EVAL="CC=clang && CXX=clang++" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_14=ON -DGLM_TEST_FORCE_PURE=ON" - CTEST_ENV="--parallel 4 --output-on-failure" - CMAKE_ENV="--parallel" - name: "Clang C++14 sse2 debug" os: linux dist: Xenial env: - MATRIX_EVAL="CC=clang && CXX=clang++" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_14=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_SSE2=ON" - CTEST_ENV="--parallel 4 --output-on-failure" - CMAKE_ENV="--parallel" - name: "Clang C++14 sse2 debug" os: linux dist: focal env: - MATRIX_EVAL="CC=clang && CXX=clang++" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_14=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_SSE2=ON" - CTEST_ENV="--parallel 4 --output-on-failure" - CMAKE_ENV="--parallel" - name: "Clang C++17 sse2 debug" os: linux dist: focal env: - MATRIX_EVAL="CC=clang && CXX=clang++" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_SSE2=ON" - CTEST_ENV="--parallel 4 --output-on-failure" - CMAKE_ENV="--parallel" - name: "Clang C++17 avx2 debug" os: linux dist: focal env: - MATRIX_EVAL="CC=clang && CXX=clang++" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON -DGLM_TEST_ENABLE_SIMD_AVX2=ON" - CTEST_ENV="--parallel 4 --output-on-failure" - CMAKE_ENV="--parallel" - name: "Clang C++17 pure debug" os: linux dist: focal env: - MATRIX_EVAL="CC=clang && CXX=clang++" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Debug -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_FORCE_PURE=ON" - CTEST_ENV="--parallel 4 --output-on-failure" - CMAKE_ENV="--parallel" - name: "Clang C++17 pure release" os: linux dist: focal env: - MATRIX_EVAL="CC=clang && CXX=clang++" - CMAKE_BUILD_ENV="-DCMAKE_BUILD_TYPE=Release -DGLM_TEST_ENABLE=ON -DGLM_TEST_ENABLE_CXX_17=ON -DGLM_TEST_FORCE_PURE=ON" - CTEST_ENV="--parallel 4 --output-on-failure" - CMAKE_ENV="--parallel" before_script: - cmake --version - eval "${MATRIX_EVAL}" script: - ${CC} --version - mkdir ./build - cd ./build - cmake -DCMAKE_INSTALL_PREFIX=$TRAVIS_BUILD_DIR/install -DCMAKE_CXX_COMPILER=$COMPILER ${CMAKE_BUILD_ENV} .. - cmake --build . ${CMAKE_ENV} - ctest ${CTEST_ENV} - cmake --build . --target install ${CMAKE_ENV} - cd $TRAVIS_BUILD_DIR - mkdir ./build_test_cmake - cd ./build_test_cmake - cmake -DCMAKE_CXX_COMPILER=$COMPILER $TRAVIS_BUILD_DIR/test/cmake/ -DCMAKE_PREFIX_PATH=$TRAVIS_BUILD_DIR/install - cmake --build . ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/CMakeLists.txt ================================================ cmake_minimum_required(VERSION 3.2 FATAL_ERROR) cmake_policy(VERSION 3.2) file(READ "glm/detail/setup.hpp" GLM_SETUP_FILE) string(REGEX MATCH "#define[ ]+GLM_VERSION_MAJOR[ ]+([0-9]+)" _ ${GLM_SETUP_FILE}) set(GLM_VERSION_MAJOR "${CMAKE_MATCH_1}") string(REGEX MATCH "#define[ ]+GLM_VERSION_MINOR[ ]+([0-9]+)" _ ${GLM_SETUP_FILE}) set(GLM_VERSION_MINOR "${CMAKE_MATCH_1}") string(REGEX MATCH "#define[ ]+GLM_VERSION_PATCH[ ]+([0-9]+)" _ ${GLM_SETUP_FILE}) set(GLM_VERSION_PATCH "${CMAKE_MATCH_1}") string(REGEX MATCH "#define[ ]+GLM_VERSION_REVISION[ ]+([0-9]+)" _ ${GLM_SETUP_FILE}) set(GLM_VERSION_REVISION "${CMAKE_MATCH_1}") set(GLM_VERSION ${GLM_VERSION_MAJOR}.${GLM_VERSION_MINOR}.${GLM_VERSION_PATCH}.${GLM_VERSION_REVISION}) project(glm VERSION ${GLM_VERSION} LANGUAGES CXX) message(STATUS "GLM: Version " ${GLM_VERSION}) add_subdirectory(glm) add_library(glm::glm ALIAS glm) if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}) include(CPack) install(DIRECTORY glm DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} PATTERN "CMakeLists.txt" EXCLUDE) install(EXPORT glm FILE glmConfig.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/glm NAMESPACE glm::) include(CMakePackageConfigHelpers) write_basic_package_version_file("glmConfigVersion.cmake" COMPATIBILITY AnyNewerVersion) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/glmConfigVersion.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/glm) include(CTest) if(BUILD_TESTING) add_subdirectory(test) endif() endif(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}) if (NOT TARGET uninstall) configure_file(cmake/cmake_uninstall.cmake.in cmake_uninstall.cmake IMMEDIATE @ONLY) add_custom_target(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_BINARY_DIR}/cmake_uninstall.cmake") endif() ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/cmake/cmake_uninstall.cmake.in ================================================ if(NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt") message(FATAL_ERROR "Cannot find install manifest: @CMAKE_BINARY_DIR@/install_manifest.txt") endif() file(READ "@CMAKE_BINARY_DIR@/install_manifest.txt" files) string(REGEX REPLACE "\n" ";" files "${files}") foreach(file ${files}) message(STATUS "Uninstalling $ENV{DESTDIR}${file}") if(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}") exec_program( "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\"" OUTPUT_VARIABLE rm_out RETURN_VALUE rm_retval ) if(NOT "${rm_retval}" STREQUAL 0) message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file}") endif() else(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}") message(STATUS "File $ENV{DESTDIR}${file} does not exist.") endif() endforeach() ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/copying.txt ================================================ ================================================================================ OpenGL Mathematics (GLM) -------------------------------------------------------------------------------- GLM is licensed under The Happy Bunny License or MIT License ================================================================================ The Happy Bunny License (Modified MIT License) -------------------------------------------------------------------------------- Copyright (c) 2005 - G-Truc Creation 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. Restrictions: By making use of the Software for military purposes, you choose to make a Bunny unhappy. 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. ================================================================================ The MIT License -------------------------------------------------------------------------------- Copyright (c) 2005 - G-Truc Creation 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. ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00001_source.html ================================================ 0.9.9 API documentation: _features.hpp Source File
0.9.9 API documentation
_features.hpp
1 #pragma once
2 
3 // #define GLM_CXX98_EXCEPTIONS
4 // #define GLM_CXX98_RTTI
5 
6 // #define GLM_CXX11_RVALUE_REFERENCES
7 // Rvalue references - GCC 4.3
8 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2118.html
9 
10 // GLM_CXX11_TRAILING_RETURN
11 // Rvalue references for *this - GCC not supported
12 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2439.htm
13 
14 // GLM_CXX11_NONSTATIC_MEMBER_INIT
15 // Initialization of class objects by rvalues - GCC any
16 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1610.html
17 
18 // GLM_CXX11_NONSTATIC_MEMBER_INIT
19 // Non-static data member initializers - GCC 4.7
20 // http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2008/n2756.htm
21 
22 // #define GLM_CXX11_VARIADIC_TEMPLATE
23 // Variadic templates - GCC 4.3
24 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2242.pdf
25 
26 //
27 // Extending variadic template template parameters - GCC 4.4
28 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2555.pdf
29 
30 // #define GLM_CXX11_GENERALIZED_INITIALIZERS
31 // Initializer lists - GCC 4.4
32 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2672.htm
33 
34 // #define GLM_CXX11_STATIC_ASSERT
35 // Static assertions - GCC 4.3
36 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.html
37 
38 // #define GLM_CXX11_AUTO_TYPE
39 // auto-typed variables - GCC 4.4
40 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1984.pdf
41 
42 // #define GLM_CXX11_AUTO_TYPE
43 // Multi-declarator auto - GCC 4.4
44 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1737.pdf
45 
46 // #define GLM_CXX11_AUTO_TYPE
47 // Removal of auto as a storage-class specifier - GCC 4.4
48 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2546.htm
49 
50 // #define GLM_CXX11_AUTO_TYPE
51 // New function declarator syntax - GCC 4.4
52 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm
53 
54 // #define GLM_CXX11_LAMBDAS
55 // New wording for C++0x lambdas - GCC 4.5
56 // http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2927.pdf
57 
58 // #define GLM_CXX11_DECLTYPE
59 // Declared type of an expression - GCC 4.3
60 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2343.pdf
61 
62 //
63 // Right angle brackets - GCC 4.3
64 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1757.html
65 
66 //
67 // Default template arguments for function templates DR226 GCC 4.3
68 // http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#226
69 
70 //
71 // Solving the SFINAE problem for expressions DR339 GCC 4.4
72 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2634.html
73 
74 // #define GLM_CXX11_ALIAS_TEMPLATE
75 // Template aliases N2258 GCC 4.7
76 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf
77 
78 //
79 // Extern templates N1987 Yes
80 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1987.htm
81 
82 // #define GLM_CXX11_NULLPTR
83 // Null pointer constant N2431 GCC 4.6
84 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf
85 
86 // #define GLM_CXX11_STRONG_ENUMS
87 // Strongly-typed enums N2347 GCC 4.4
88 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf
89 
90 //
91 // Forward declarations for enums N2764 GCC 4.6
92 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2764.pdf
93 
94 //
95 // Generalized attributes N2761 GCC 4.8
96 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf
97 
98 //
99 // Generalized constant expressions N2235 GCC 4.6
100 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf
101 
102 //
103 // Alignment support N2341 GCC 4.8
104 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf
105 
106 // #define GLM_CXX11_DELEGATING_CONSTRUCTORS
107 // Delegating constructors N1986 GCC 4.7
108 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1986.pdf
109 
110 //
111 // Inheriting constructors N2540 GCC 4.8
112 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2540.htm
113 
114 // #define GLM_CXX11_EXPLICIT_CONVERSIONS
115 // Explicit conversion operators N2437 GCC 4.5
116 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf
117 
118 //
119 // New character types N2249 GCC 4.4
120 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2249.html
121 
122 //
123 // Unicode string literals N2442 GCC 4.5
124 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm
125 
126 //
127 // Raw string literals N2442 GCC 4.5
128 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm
129 
130 //
131 // Universal character name literals N2170 GCC 4.5
132 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2170.html
133 
134 // #define GLM_CXX11_USER_LITERALS
135 // User-defined literals N2765 GCC 4.7
136 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2765.pdf
137 
138 //
139 // Standard Layout Types N2342 GCC 4.5
140 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2342.htm
141 
142 // #define GLM_CXX11_DEFAULTED_FUNCTIONS
143 // #define GLM_CXX11_DELETED_FUNCTIONS
144 // Defaulted and deleted functions N2346 GCC 4.4
145 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm
146 
147 //
148 // Extended friend declarations N1791 GCC 4.7
149 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1791.pdf
150 
151 //
152 // Extending sizeof N2253 GCC 4.4
153 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2253.html
154 
155 // #define GLM_CXX11_INLINE_NAMESPACES
156 // Inline namespaces N2535 GCC 4.4
157 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2535.htm
158 
159 // #define GLM_CXX11_UNRESTRICTED_UNIONS
160 // Unrestricted unions N2544 GCC 4.6
161 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2544.pdf
162 
163 // #define GLM_CXX11_LOCAL_TYPE_TEMPLATE_ARGS
164 // Local and unnamed types as template arguments N2657 GCC 4.5
165 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm
166 
167 // #define GLM_CXX11_RANGE_FOR
168 // Range-based for N2930 GCC 4.6
169 // http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2930.html
170 
171 // #define GLM_CXX11_OVERRIDE_CONTROL
172 // Explicit virtual overrides N2928 N3206 N3272 GCC 4.7
173 // http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm
174 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm
175 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm
176 
177 //
178 // Minimal support for garbage collection and reachability-based leak detection N2670 No
179 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2670.htm
180 
181 // #define GLM_CXX11_NOEXCEPT
182 // Allowing move constructors to throw [noexcept] N3050 GCC 4.6 (core language only)
183 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3050.html
184 
185 //
186 // Defining move special member functions N3053 GCC 4.6
187 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3053.html
188 
189 //
190 // Sequence points N2239 Yes
191 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2239.html
192 
193 //
194 // Atomic operations N2427 GCC 4.4
195 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2239.html
196 
197 //
198 // Strong Compare and Exchange N2748 GCC 4.5
199 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2427.html
200 
201 //
202 // Bidirectional Fences N2752 GCC 4.8
203 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2752.htm
204 
205 //
206 // Memory model N2429 GCC 4.8
207 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2429.htm
208 
209 //
210 // Data-dependency ordering: atomics and memory model N2664 GCC 4.4
211 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2664.htm
212 
213 //
214 // Propagating exceptions N2179 GCC 4.4
215 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html
216 
217 //
218 // Abandoning a process and at_quick_exit N2440 GCC 4.8
219 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2440.htm
220 
221 //
222 // Allow atomics use in signal handlers N2547 Yes
223 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2547.htm
224 
225 //
226 // Thread-local storage N2659 GCC 4.8
227 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2659.htm
228 
229 //
230 // Dynamic initialization and destruction with concurrency N2660 GCC 4.3
231 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2660.htm
232 
233 //
234 // __func__ predefined identifier N2340 GCC 4.3
235 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2340.htm
236 
237 //
238 // C99 preprocessor N1653 GCC 4.3
239 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1653.htm
240 
241 //
242 // long long N1811 GCC 4.3
243 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1811.pdf
244 
245 //
246 // Extended integral types N1988 Yes
247 // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1988.pdf
248 
249 #if(GLM_COMPILER & GLM_COMPILER_GCC)
250 
251 # define GLM_CXX11_STATIC_ASSERT
252 
253 #elif(GLM_COMPILER & GLM_COMPILER_CLANG)
254 # if(__has_feature(cxx_exceptions))
255 # define GLM_CXX98_EXCEPTIONS
256 # endif
257 
258 # if(__has_feature(cxx_rtti))
259 # define GLM_CXX98_RTTI
260 # endif
261 
262 # if(__has_feature(cxx_access_control_sfinae))
263 # define GLM_CXX11_ACCESS_CONTROL_SFINAE
264 # endif
265 
266 # if(__has_feature(cxx_alias_templates))
267 # define GLM_CXX11_ALIAS_TEMPLATE
268 # endif
269 
270 # if(__has_feature(cxx_alignas))
271 # define GLM_CXX11_ALIGNAS
272 # endif
273 
274 # if(__has_feature(cxx_attributes))
275 # define GLM_CXX11_ATTRIBUTES
276 # endif
277 
278 # if(__has_feature(cxx_constexpr))
279 # define GLM_CXX11_CONSTEXPR
280 # endif
281 
282 # if(__has_feature(cxx_decltype))
283 # define GLM_CXX11_DECLTYPE
284 # endif
285 
286 # if(__has_feature(cxx_default_function_template_args))
287 # define GLM_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS
288 # endif
289 
290 # if(__has_feature(cxx_defaulted_functions))
291 # define GLM_CXX11_DEFAULTED_FUNCTIONS
292 # endif
293 
294 # if(__has_feature(cxx_delegating_constructors))
295 # define GLM_CXX11_DELEGATING_CONSTRUCTORS
296 # endif
297 
298 # if(__has_feature(cxx_deleted_functions))
299 # define GLM_CXX11_DELETED_FUNCTIONS
300 # endif
301 
302 # if(__has_feature(cxx_explicit_conversions))
303 # define GLM_CXX11_EXPLICIT_CONVERSIONS
304 # endif
305 
306 # if(__has_feature(cxx_generalized_initializers))
307 # define GLM_CXX11_GENERALIZED_INITIALIZERS
308 # endif
309 
310 # if(__has_feature(cxx_implicit_moves))
311 # define GLM_CXX11_IMPLICIT_MOVES
312 # endif
313 
314 # if(__has_feature(cxx_inheriting_constructors))
315 # define GLM_CXX11_INHERITING_CONSTRUCTORS
316 # endif
317 
318 # if(__has_feature(cxx_inline_namespaces))
319 # define GLM_CXX11_INLINE_NAMESPACES
320 # endif
321 
322 # if(__has_feature(cxx_lambdas))
323 # define GLM_CXX11_LAMBDAS
324 # endif
325 
326 # if(__has_feature(cxx_local_type_template_args))
327 # define GLM_CXX11_LOCAL_TYPE_TEMPLATE_ARGS
328 # endif
329 
330 # if(__has_feature(cxx_noexcept))
331 # define GLM_CXX11_NOEXCEPT
332 # endif
333 
334 # if(__has_feature(cxx_nonstatic_member_init))
335 # define GLM_CXX11_NONSTATIC_MEMBER_INIT
336 # endif
337 
338 # if(__has_feature(cxx_nullptr))
339 # define GLM_CXX11_NULLPTR
340 # endif
341 
342 # if(__has_feature(cxx_override_control))
343 # define GLM_CXX11_OVERRIDE_CONTROL
344 # endif
345 
346 # if(__has_feature(cxx_reference_qualified_functions))
347 # define GLM_CXX11_REFERENCE_QUALIFIED_FUNCTIONS
348 # endif
349 
350 # if(__has_feature(cxx_range_for))
351 # define GLM_CXX11_RANGE_FOR
352 # endif
353 
354 # if(__has_feature(cxx_raw_string_literals))
355 # define GLM_CXX11_RAW_STRING_LITERALS
356 # endif
357 
358 # if(__has_feature(cxx_rvalue_references))
359 # define GLM_CXX11_RVALUE_REFERENCES
360 # endif
361 
362 # if(__has_feature(cxx_static_assert))
363 # define GLM_CXX11_STATIC_ASSERT
364 # endif
365 
366 # if(__has_feature(cxx_auto_type))
367 # define GLM_CXX11_AUTO_TYPE
368 # endif
369 
370 # if(__has_feature(cxx_strong_enums))
371 # define GLM_CXX11_STRONG_ENUMS
372 # endif
373 
374 # if(__has_feature(cxx_trailing_return))
375 # define GLM_CXX11_TRAILING_RETURN
376 # endif
377 
378 # if(__has_feature(cxx_unicode_literals))
379 # define GLM_CXX11_UNICODE_LITERALS
380 # endif
381 
382 # if(__has_feature(cxx_unrestricted_unions))
383 # define GLM_CXX11_UNRESTRICTED_UNIONS
384 # endif
385 
386 # if(__has_feature(cxx_user_literals))
387 # define GLM_CXX11_USER_LITERALS
388 # endif
389 
390 # if(__has_feature(cxx_variadic_templates))
391 # define GLM_CXX11_VARIADIC_TEMPLATES
392 # endif
393 
394 #endif//(GLM_COMPILER & GLM_COMPILER_CLANG)
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00002_source.html ================================================ 0.9.9 API documentation: _fixes.hpp Source File
0.9.9 API documentation
_fixes.hpp
1 #include <cmath>
2 
4 #ifdef max
5 #undef max
6 #endif
7 
9 #ifdef min
10 #undef min
11 #endif
12 
14 #ifdef isnan
15 #undef isnan
16 #endif
17 
19 #ifdef isinf
20 #undef isinf
21 #endif
22 
24 #ifdef log2
25 #undef log2
26 #endif
27 
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00003_source.html ================================================ 0.9.9 API documentation: _noise.hpp Source File
0.9.9 API documentation
_noise.hpp
1 #pragma once
2 
3 #include "../common.hpp"
4 
5 namespace glm{
6 namespace detail
7 {
8  template<typename T>
9  GLM_FUNC_QUALIFIER T mod289(T const& x)
10  {
11  return x - floor(x * (static_cast<T>(1.0) / static_cast<T>(289.0))) * static_cast<T>(289.0);
12  }
13 
14  template<typename T>
15  GLM_FUNC_QUALIFIER T permute(T const& x)
16  {
17  return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
18  }
19 
20  template<typename T, qualifier Q>
21  GLM_FUNC_QUALIFIER vec<2, T, Q> permute(vec<2, T, Q> const& x)
22  {
23  return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
24  }
25 
26  template<typename T, qualifier Q>
27  GLM_FUNC_QUALIFIER vec<3, T, Q> permute(vec<3, T, Q> const& x)
28  {
29  return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
30  }
31 
32  template<typename T, qualifier Q>
33  GLM_FUNC_QUALIFIER vec<4, T, Q> permute(vec<4, T, Q> const& x)
34  {
35  return mod289(((x * static_cast<T>(34)) + static_cast<T>(1)) * x);
36  }
37 
38  template<typename T>
39  GLM_FUNC_QUALIFIER T taylorInvSqrt(T const& r)
40  {
41  return static_cast<T>(1.79284291400159) - static_cast<T>(0.85373472095314) * r;
42  }
43 
44  template<typename T, qualifier Q>
45  GLM_FUNC_QUALIFIER vec<2, T, Q> taylorInvSqrt(vec<2, T, Q> const& r)
46  {
47  return static_cast<T>(1.79284291400159) - static_cast<T>(0.85373472095314) * r;
48  }
49 
50  template<typename T, qualifier Q>
51  GLM_FUNC_QUALIFIER vec<3, T, Q> taylorInvSqrt(vec<3, T, Q> const& r)
52  {
53  return static_cast<T>(1.79284291400159) - static_cast<T>(0.85373472095314) * r;
54  }
55 
56  template<typename T, qualifier Q>
57  GLM_FUNC_QUALIFIER vec<4, T, Q> taylorInvSqrt(vec<4, T, Q> const& r)
58  {
59  return static_cast<T>(1.79284291400159) - static_cast<T>(0.85373472095314) * r;
60  }
61 
62  template<typename T, qualifier Q>
63  GLM_FUNC_QUALIFIER vec<2, T, Q> fade(vec<2, T, Q> const& t)
64  {
65  return (t * t * t) * (t * (t * static_cast<T>(6) - static_cast<T>(15)) + static_cast<T>(10));
66  }
67 
68  template<typename T, qualifier Q>
69  GLM_FUNC_QUALIFIER vec<3, T, Q> fade(vec<3, T, Q> const& t)
70  {
71  return (t * t * t) * (t * (t * static_cast<T>(6) - static_cast<T>(15)) + static_cast<T>(10));
72  }
73 
74  template<typename T, qualifier Q>
75  GLM_FUNC_QUALIFIER vec<4, T, Q> fade(vec<4, T, Q> const& t)
76  {
77  return (t * t * t) * (t * (t * static_cast<T>(6) - static_cast<T>(15)) + static_cast<T>(10));
78  }
79 }//namespace detail
80 }//namespace glm
81 
GLM_FUNC_DECL vec< L, T, Q > floor(vec< L, T, Q > const &x)
Returns a value equal to the nearest integer that is less then or equal to x.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00004_source.html ================================================ 0.9.9 API documentation: _swizzle.hpp Source File
0.9.9 API documentation
_swizzle.hpp
1 #pragma once
2 
3 namespace glm{
4 namespace detail
5 {
6  // Internal class for implementing swizzle operators
7  template<typename T, int N>
8  struct _swizzle_base0
9  {
10  protected:
11  GLM_FUNC_QUALIFIER T& elem(size_t i){ return (reinterpret_cast<T*>(_buffer))[i]; }
12  GLM_FUNC_QUALIFIER T const& elem(size_t i) const{ return (reinterpret_cast<const T*>(_buffer))[i]; }
13 
14  // Use an opaque buffer to *ensure* the compiler doesn't call a constructor.
15  // The size 1 buffer is assumed to aligned to the actual members so that the
16  // elem()
17  char _buffer[1];
18  };
19 
20  template<int N, typename T, qualifier Q, int E0, int E1, int E2, int E3, bool Aligned>
21  struct _swizzle_base1 : public _swizzle_base0<T, N>
22  {
23  };
24 
25  template<typename T, qualifier Q, int E0, int E1, bool Aligned>
26  struct _swizzle_base1<2, T, Q, E0,E1,-1,-2, Aligned> : public _swizzle_base0<T, 2>
27  {
28  GLM_FUNC_QUALIFIER vec<2, T, Q> operator ()() const { return vec<2, T, Q>(this->elem(E0), this->elem(E1)); }
29  };
30 
31  template<typename T, qualifier Q, int E0, int E1, int E2, bool Aligned>
32  struct _swizzle_base1<3, T, Q, E0,E1,E2,-1, Aligned> : public _swizzle_base0<T, 3>
33  {
34  GLM_FUNC_QUALIFIER vec<3, T, Q> operator ()() const { return vec<3, T, Q>(this->elem(E0), this->elem(E1), this->elem(E2)); }
35  };
36 
37  template<typename T, qualifier Q, int E0, int E1, int E2, int E3, bool Aligned>
38  struct _swizzle_base1<4, T, Q, E0,E1,E2,E3, Aligned> : public _swizzle_base0<T, 4>
39  {
40  GLM_FUNC_QUALIFIER vec<4, T, Q> operator ()() const { return vec<4, T, Q>(this->elem(E0), this->elem(E1), this->elem(E2), this->elem(E3)); }
41  };
42 
43  // Internal class for implementing swizzle operators
44  /*
45  Template parameters:
46 
47  T = type of scalar values (e.g. float, double)
48  N = number of components in the vector (e.g. 3)
49  E0...3 = what index the n-th element of this swizzle refers to in the unswizzled vec
50 
51  DUPLICATE_ELEMENTS = 1 if there is a repeated element, 0 otherwise (used to specialize swizzles
52  containing duplicate elements so that they cannot be used as r-values).
53  */
54  template<int N, typename T, qualifier Q, int E0, int E1, int E2, int E3, int DUPLICATE_ELEMENTS>
55  struct _swizzle_base2 : public _swizzle_base1<N, T, Q, E0,E1,E2,E3, detail::is_aligned<Q>::value>
56  {
57  struct op_equal
58  {
59  GLM_FUNC_QUALIFIER void operator() (T& e, T& t) const{ e = t; }
60  };
61 
62  struct op_minus
63  {
64  GLM_FUNC_QUALIFIER void operator() (T& e, T& t) const{ e -= t; }
65  };
66 
67  struct op_plus
68  {
69  GLM_FUNC_QUALIFIER void operator() (T& e, T& t) const{ e += t; }
70  };
71 
72  struct op_mul
73  {
74  GLM_FUNC_QUALIFIER void operator() (T& e, T& t) const{ e *= t; }
75  };
76 
77  struct op_div
78  {
79  GLM_FUNC_QUALIFIER void operator() (T& e, T& t) const{ e /= t; }
80  };
81 
82  public:
83  GLM_FUNC_QUALIFIER _swizzle_base2& operator= (const T& t)
84  {
85  for (int i = 0; i < N; ++i)
86  (*this)[i] = t;
87  return *this;
88  }
89 
90  GLM_FUNC_QUALIFIER _swizzle_base2& operator= (vec<N, T, Q> const& that)
91  {
92  _apply_op(that, op_equal());
93  return *this;
94  }
95 
96  GLM_FUNC_QUALIFIER void operator -= (vec<N, T, Q> const& that)
97  {
98  _apply_op(that, op_minus());
99  }
100 
101  GLM_FUNC_QUALIFIER void operator += (vec<N, T, Q> const& that)
102  {
103  _apply_op(that, op_plus());
104  }
105 
106  GLM_FUNC_QUALIFIER void operator *= (vec<N, T, Q> const& that)
107  {
108  _apply_op(that, op_mul());
109  }
110 
111  GLM_FUNC_QUALIFIER void operator /= (vec<N, T, Q> const& that)
112  {
113  _apply_op(that, op_div());
114  }
115 
116  GLM_FUNC_QUALIFIER T& operator[](size_t i)
117  {
118  const int offset_dst[4] = { E0, E1, E2, E3 };
119  return this->elem(offset_dst[i]);
120  }
121  GLM_FUNC_QUALIFIER T operator[](size_t i) const
122  {
123  const int offset_dst[4] = { E0, E1, E2, E3 };
124  return this->elem(offset_dst[i]);
125  }
126 
127  protected:
128  template<typename U>
129  GLM_FUNC_QUALIFIER void _apply_op(vec<N, T, Q> const& that, const U& op)
130  {
131  // Make a copy of the data in this == &that.
132  // The copier should optimize out the copy in cases where the function is
133  // properly inlined and the copy is not necessary.
134  T t[N];
135  for (int i = 0; i < N; ++i)
136  t[i] = that[i];
137  for (int i = 0; i < N; ++i)
138  op( (*this)[i], t[i] );
139  }
140  };
141 
142  // Specialization for swizzles containing duplicate elements. These cannot be modified.
143  template<int N, typename T, qualifier Q, int E0, int E1, int E2, int E3>
144  struct _swizzle_base2<N, T, Q, E0,E1,E2,E3, 1> : public _swizzle_base1<N, T, Q, E0,E1,E2,E3, detail::is_aligned<Q>::value>
145  {
146  struct Stub {};
147 
148  GLM_FUNC_QUALIFIER _swizzle_base2& operator= (Stub const&) { return *this; }
149 
150  GLM_FUNC_QUALIFIER T operator[] (size_t i) const
151  {
152  const int offset_dst[4] = { E0, E1, E2, E3 };
153  return this->elem(offset_dst[i]);
154  }
155  };
156 
157  template<int N, typename T, qualifier Q, int E0, int E1, int E2, int E3>
158  struct _swizzle : public _swizzle_base2<N, T, Q, E0, E1, E2, E3, (E0 == E1 || E0 == E2 || E0 == E3 || E1 == E2 || E1 == E3 || E2 == E3)>
159  {
160  typedef _swizzle_base2<N, T, Q, E0, E1, E2, E3, (E0 == E1 || E0 == E2 || E0 == E3 || E1 == E2 || E1 == E3 || E2 == E3)> base_type;
161 
162  using base_type::operator=;
163 
164  GLM_FUNC_QUALIFIER operator vec<N, T, Q> () const { return (*this)(); }
165  };
166 
167 //
168 // To prevent the C++ syntax from getting entirely overwhelming, define some alias macros
169 //
170 #define GLM_SWIZZLE_TEMPLATE1 template<int N, typename T, qualifier Q, int E0, int E1, int E2, int E3>
171 #define GLM_SWIZZLE_TEMPLATE2 template<int N, typename T, qualifier Q, int E0, int E1, int E2, int E3, int F0, int F1, int F2, int F3>
172 #define GLM_SWIZZLE_TYPE1 _swizzle<N, T, Q, E0, E1, E2, E3>
173 #define GLM_SWIZZLE_TYPE2 _swizzle<N, T, Q, F0, F1, F2, F3>
174 
175 //
176 // Wrapper for a binary operator (e.g. u.yy + v.zy)
177 //
178 #define GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(OPERAND) \
179  GLM_SWIZZLE_TEMPLATE2 \
180  GLM_FUNC_QUALIFIER vec<N, T, Q> operator OPERAND ( const GLM_SWIZZLE_TYPE1& a, const GLM_SWIZZLE_TYPE2& b) \
181  { \
182  return a() OPERAND b(); \
183  } \
184  GLM_SWIZZLE_TEMPLATE1 \
185  GLM_FUNC_QUALIFIER vec<N, T, Q> operator OPERAND ( const GLM_SWIZZLE_TYPE1& a, const vec<N, T, Q>& b) \
186  { \
187  return a() OPERAND b; \
188  } \
189  GLM_SWIZZLE_TEMPLATE1 \
190  GLM_FUNC_QUALIFIER vec<N, T, Q> operator OPERAND ( const vec<N, T, Q>& a, const GLM_SWIZZLE_TYPE1& b) \
191  { \
192  return a OPERAND b(); \
193  }
194 
195 //
196 // Wrapper for a operand between a swizzle and a binary (e.g. 1.0f - u.xyz)
197 //
198 #define GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(OPERAND) \
199  GLM_SWIZZLE_TEMPLATE1 \
200  GLM_FUNC_QUALIFIER vec<N, T, Q> operator OPERAND ( const GLM_SWIZZLE_TYPE1& a, const T& b) \
201  { \
202  return a() OPERAND b; \
203  } \
204  GLM_SWIZZLE_TEMPLATE1 \
205  GLM_FUNC_QUALIFIER vec<N, T, Q> operator OPERAND ( const T& a, const GLM_SWIZZLE_TYPE1& b) \
206  { \
207  return a OPERAND b(); \
208  }
209 
210 //
211 // Macro for wrapping a function taking one argument (e.g. abs())
212 //
213 #define GLM_SWIZZLE_FUNCTION_1_ARGS(RETURN_TYPE,FUNCTION) \
214  GLM_SWIZZLE_TEMPLATE1 \
215  GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const GLM_SWIZZLE_TYPE1& a) \
216  { \
217  return FUNCTION(a()); \
218  }
219 
220 //
221 // Macro for wrapping a function taking two vector arguments (e.g. dot()).
222 //
223 #define GLM_SWIZZLE_FUNCTION_2_ARGS(RETURN_TYPE,FUNCTION) \
224  GLM_SWIZZLE_TEMPLATE2 \
225  GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const GLM_SWIZZLE_TYPE1& a, const GLM_SWIZZLE_TYPE2& b) \
226  { \
227  return FUNCTION(a(), b()); \
228  } \
229  GLM_SWIZZLE_TEMPLATE1 \
230  GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const GLM_SWIZZLE_TYPE1& a, const GLM_SWIZZLE_TYPE1& b) \
231  { \
232  return FUNCTION(a(), b()); \
233  } \
234  GLM_SWIZZLE_TEMPLATE1 \
235  GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const GLM_SWIZZLE_TYPE1& a, const typename V& b) \
236  { \
237  return FUNCTION(a(), b); \
238  } \
239  GLM_SWIZZLE_TEMPLATE1 \
240  GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const V& a, const GLM_SWIZZLE_TYPE1& b) \
241  { \
242  return FUNCTION(a, b()); \
243  }
244 
245 //
246 // Macro for wrapping a function take 2 vec arguments followed by a scalar (e.g. mix()).
247 //
248 #define GLM_SWIZZLE_FUNCTION_2_ARGS_SCALAR(RETURN_TYPE,FUNCTION) \
249  GLM_SWIZZLE_TEMPLATE2 \
250  GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const GLM_SWIZZLE_TYPE1& a, const GLM_SWIZZLE_TYPE2& b, const T& c) \
251  { \
252  return FUNCTION(a(), b(), c); \
253  } \
254  GLM_SWIZZLE_TEMPLATE1 \
255  GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const GLM_SWIZZLE_TYPE1& a, const GLM_SWIZZLE_TYPE1& b, const T& c) \
256  { \
257  return FUNCTION(a(), b(), c); \
258  } \
259  GLM_SWIZZLE_TEMPLATE1 \
260  GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const GLM_SWIZZLE_TYPE1& a, const typename S0::vec_type& b, const T& c)\
261  { \
262  return FUNCTION(a(), b, c); \
263  } \
264  GLM_SWIZZLE_TEMPLATE1 \
265  GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const typename V& a, const GLM_SWIZZLE_TYPE1& b, const T& c) \
266  { \
267  return FUNCTION(a, b(), c); \
268  }
269 
270 }//namespace detail
271 }//namespace glm
272 
273 namespace glm
274 {
275  namespace detail
276  {
277  GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(-)
278  GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(*)
279  GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(+)
280  GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(-)
281  GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(*)
282  GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(/)
283  }
284 
285  //
286  // Swizzles are distinct types from the unswizzled type. The below macros will
287  // provide template specializations for the swizzle types for the given functions
288  // so that the compiler does not have any ambiguity to choosing how to handle
289  // the function.
290  //
291  // The alternative is to use the operator()() when calling the function in order
292  // to explicitly convert the swizzled type to the unswizzled type.
293  //
294 
295  //GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, abs);
296  //GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, acos);
297  //GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, acosh);
298  //GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, all);
299  //GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, any);
300 
301  //GLM_SWIZZLE_FUNCTION_2_ARGS(value_type, dot);
302  //GLM_SWIZZLE_FUNCTION_2_ARGS(vec_type, cross);
303  //GLM_SWIZZLE_FUNCTION_2_ARGS(vec_type, step);
304  //GLM_SWIZZLE_FUNCTION_2_ARGS_SCALAR(vec_type, mix);
305 }
306 
307 #define GLM_SWIZZLE2_2_MEMBERS(T, Q, E0,E1) \
308  struct { detail::_swizzle<2, T, Q, 0,0,-1,-2> E0 ## E0; }; \
309  struct { detail::_swizzle<2, T, Q, 0,1,-1,-2> E0 ## E1; }; \
310  struct { detail::_swizzle<2, T, Q, 1,0,-1,-2> E1 ## E0; }; \
311  struct { detail::_swizzle<2, T, Q, 1,1,-1,-2> E1 ## E1; };
312 
313 #define GLM_SWIZZLE2_3_MEMBERS(T, Q, E0,E1) \
314  struct { detail::_swizzle<3,T, Q, 0,0,0,-1> E0 ## E0 ## E0; }; \
315  struct { detail::_swizzle<3,T, Q, 0,0,1,-1> E0 ## E0 ## E1; }; \
316  struct { detail::_swizzle<3,T, Q, 0,1,0,-1> E0 ## E1 ## E0; }; \
317  struct { detail::_swizzle<3,T, Q, 0,1,1,-1> E0 ## E1 ## E1; }; \
318  struct { detail::_swizzle<3,T, Q, 1,0,0,-1> E1 ## E0 ## E0; }; \
319  struct { detail::_swizzle<3,T, Q, 1,0,1,-1> E1 ## E0 ## E1; }; \
320  struct { detail::_swizzle<3,T, Q, 1,1,0,-1> E1 ## E1 ## E0; }; \
321  struct { detail::_swizzle<3,T, Q, 1,1,1,-1> E1 ## E1 ## E1; };
322 
323 #define GLM_SWIZZLE2_4_MEMBERS(T, Q, E0,E1) \
324  struct { detail::_swizzle<4,T, Q, 0,0,0,0> E0 ## E0 ## E0 ## E0; }; \
325  struct { detail::_swizzle<4,T, Q, 0,0,0,1> E0 ## E0 ## E0 ## E1; }; \
326  struct { detail::_swizzle<4,T, Q, 0,0,1,0> E0 ## E0 ## E1 ## E0; }; \
327  struct { detail::_swizzle<4,T, Q, 0,0,1,1> E0 ## E0 ## E1 ## E1; }; \
328  struct { detail::_swizzle<4,T, Q, 0,1,0,0> E0 ## E1 ## E0 ## E0; }; \
329  struct { detail::_swizzle<4,T, Q, 0,1,0,1> E0 ## E1 ## E0 ## E1; }; \
330  struct { detail::_swizzle<4,T, Q, 0,1,1,0> E0 ## E1 ## E1 ## E0; }; \
331  struct { detail::_swizzle<4,T, Q, 0,1,1,1> E0 ## E1 ## E1 ## E1; }; \
332  struct { detail::_swizzle<4,T, Q, 1,0,0,0> E1 ## E0 ## E0 ## E0; }; \
333  struct { detail::_swizzle<4,T, Q, 1,0,0,1> E1 ## E0 ## E0 ## E1; }; \
334  struct { detail::_swizzle<4,T, Q, 1,0,1,0> E1 ## E0 ## E1 ## E0; }; \
335  struct { detail::_swizzle<4,T, Q, 1,0,1,1> E1 ## E0 ## E1 ## E1; }; \
336  struct { detail::_swizzle<4,T, Q, 1,1,0,0> E1 ## E1 ## E0 ## E0; }; \
337  struct { detail::_swizzle<4,T, Q, 1,1,0,1> E1 ## E1 ## E0 ## E1; }; \
338  struct { detail::_swizzle<4,T, Q, 1,1,1,0> E1 ## E1 ## E1 ## E0; }; \
339  struct { detail::_swizzle<4,T, Q, 1,1,1,1> E1 ## E1 ## E1 ## E1; };
340 
341 #define GLM_SWIZZLE3_2_MEMBERS(T, Q, E0,E1,E2) \
342  struct { detail::_swizzle<2,T, Q, 0,0,-1,-2> E0 ## E0; }; \
343  struct { detail::_swizzle<2,T, Q, 0,1,-1,-2> E0 ## E1; }; \
344  struct { detail::_swizzle<2,T, Q, 0,2,-1,-2> E0 ## E2; }; \
345  struct { detail::_swizzle<2,T, Q, 1,0,-1,-2> E1 ## E0; }; \
346  struct { detail::_swizzle<2,T, Q, 1,1,-1,-2> E1 ## E1; }; \
347  struct { detail::_swizzle<2,T, Q, 1,2,-1,-2> E1 ## E2; }; \
348  struct { detail::_swizzle<2,T, Q, 2,0,-1,-2> E2 ## E0; }; \
349  struct { detail::_swizzle<2,T, Q, 2,1,-1,-2> E2 ## E1; }; \
350  struct { detail::_swizzle<2,T, Q, 2,2,-1,-2> E2 ## E2; };
351 
352 #define GLM_SWIZZLE3_3_MEMBERS(T, Q ,E0,E1,E2) \
353  struct { detail::_swizzle<3, T, Q, 0,0,0,-1> E0 ## E0 ## E0; }; \
354  struct { detail::_swizzle<3, T, Q, 0,0,1,-1> E0 ## E0 ## E1; }; \
355  struct { detail::_swizzle<3, T, Q, 0,0,2,-1> E0 ## E0 ## E2; }; \
356  struct { detail::_swizzle<3, T, Q, 0,1,0,-1> E0 ## E1 ## E0; }; \
357  struct { detail::_swizzle<3, T, Q, 0,1,1,-1> E0 ## E1 ## E1; }; \
358  struct { detail::_swizzle<3, T, Q, 0,1,2,-1> E0 ## E1 ## E2; }; \
359  struct { detail::_swizzle<3, T, Q, 0,2,0,-1> E0 ## E2 ## E0; }; \
360  struct { detail::_swizzle<3, T, Q, 0,2,1,-1> E0 ## E2 ## E1; }; \
361  struct { detail::_swizzle<3, T, Q, 0,2,2,-1> E0 ## E2 ## E2; }; \
362  struct { detail::_swizzle<3, T, Q, 1,0,0,-1> E1 ## E0 ## E0; }; \
363  struct { detail::_swizzle<3, T, Q, 1,0,1,-1> E1 ## E0 ## E1; }; \
364  struct { detail::_swizzle<3, T, Q, 1,0,2,-1> E1 ## E0 ## E2; }; \
365  struct { detail::_swizzle<3, T, Q, 1,1,0,-1> E1 ## E1 ## E0; }; \
366  struct { detail::_swizzle<3, T, Q, 1,1,1,-1> E1 ## E1 ## E1; }; \
367  struct { detail::_swizzle<3, T, Q, 1,1,2,-1> E1 ## E1 ## E2; }; \
368  struct { detail::_swizzle<3, T, Q, 1,2,0,-1> E1 ## E2 ## E0; }; \
369  struct { detail::_swizzle<3, T, Q, 1,2,1,-1> E1 ## E2 ## E1; }; \
370  struct { detail::_swizzle<3, T, Q, 1,2,2,-1> E1 ## E2 ## E2; }; \
371  struct { detail::_swizzle<3, T, Q, 2,0,0,-1> E2 ## E0 ## E0; }; \
372  struct { detail::_swizzle<3, T, Q, 2,0,1,-1> E2 ## E0 ## E1; }; \
373  struct { detail::_swizzle<3, T, Q, 2,0,2,-1> E2 ## E0 ## E2; }; \
374  struct { detail::_swizzle<3, T, Q, 2,1,0,-1> E2 ## E1 ## E0; }; \
375  struct { detail::_swizzle<3, T, Q, 2,1,1,-1> E2 ## E1 ## E1; }; \
376  struct { detail::_swizzle<3, T, Q, 2,1,2,-1> E2 ## E1 ## E2; }; \
377  struct { detail::_swizzle<3, T, Q, 2,2,0,-1> E2 ## E2 ## E0; }; \
378  struct { detail::_swizzle<3, T, Q, 2,2,1,-1> E2 ## E2 ## E1; }; \
379  struct { detail::_swizzle<3, T, Q, 2,2,2,-1> E2 ## E2 ## E2; };
380 
381 #define GLM_SWIZZLE3_4_MEMBERS(T, Q, E0,E1,E2) \
382  struct { detail::_swizzle<4,T, Q, 0,0,0,0> E0 ## E0 ## E0 ## E0; }; \
383  struct { detail::_swizzle<4,T, Q, 0,0,0,1> E0 ## E0 ## E0 ## E1; }; \
384  struct { detail::_swizzle<4,T, Q, 0,0,0,2> E0 ## E0 ## E0 ## E2; }; \
385  struct { detail::_swizzle<4,T, Q, 0,0,1,0> E0 ## E0 ## E1 ## E0; }; \
386  struct { detail::_swizzle<4,T, Q, 0,0,1,1> E0 ## E0 ## E1 ## E1; }; \
387  struct { detail::_swizzle<4,T, Q, 0,0,1,2> E0 ## E0 ## E1 ## E2; }; \
388  struct { detail::_swizzle<4,T, Q, 0,0,2,0> E0 ## E0 ## E2 ## E0; }; \
389  struct { detail::_swizzle<4,T, Q, 0,0,2,1> E0 ## E0 ## E2 ## E1; }; \
390  struct { detail::_swizzle<4,T, Q, 0,0,2,2> E0 ## E0 ## E2 ## E2; }; \
391  struct { detail::_swizzle<4,T, Q, 0,1,0,0> E0 ## E1 ## E0 ## E0; }; \
392  struct { detail::_swizzle<4,T, Q, 0,1,0,1> E0 ## E1 ## E0 ## E1; }; \
393  struct { detail::_swizzle<4,T, Q, 0,1,0,2> E0 ## E1 ## E0 ## E2; }; \
394  struct { detail::_swizzle<4,T, Q, 0,1,1,0> E0 ## E1 ## E1 ## E0; }; \
395  struct { detail::_swizzle<4,T, Q, 0,1,1,1> E0 ## E1 ## E1 ## E1; }; \
396  struct { detail::_swizzle<4,T, Q, 0,1,1,2> E0 ## E1 ## E1 ## E2; }; \
397  struct { detail::_swizzle<4,T, Q, 0,1,2,0> E0 ## E1 ## E2 ## E0; }; \
398  struct { detail::_swizzle<4,T, Q, 0,1,2,1> E0 ## E1 ## E2 ## E1; }; \
399  struct { detail::_swizzle<4,T, Q, 0,1,2,2> E0 ## E1 ## E2 ## E2; }; \
400  struct { detail::_swizzle<4,T, Q, 0,2,0,0> E0 ## E2 ## E0 ## E0; }; \
401  struct { detail::_swizzle<4,T, Q, 0,2,0,1> E0 ## E2 ## E0 ## E1; }; \
402  struct { detail::_swizzle<4,T, Q, 0,2,0,2> E0 ## E2 ## E0 ## E2; }; \
403  struct { detail::_swizzle<4,T, Q, 0,2,1,0> E0 ## E2 ## E1 ## E0; }; \
404  struct { detail::_swizzle<4,T, Q, 0,2,1,1> E0 ## E2 ## E1 ## E1; }; \
405  struct { detail::_swizzle<4,T, Q, 0,2,1,2> E0 ## E2 ## E1 ## E2; }; \
406  struct { detail::_swizzle<4,T, Q, 0,2,2,0> E0 ## E2 ## E2 ## E0; }; \
407  struct { detail::_swizzle<4,T, Q, 0,2,2,1> E0 ## E2 ## E2 ## E1; }; \
408  struct { detail::_swizzle<4,T, Q, 0,2,2,2> E0 ## E2 ## E2 ## E2; }; \
409  struct { detail::_swizzle<4,T, Q, 1,0,0,0> E1 ## E0 ## E0 ## E0; }; \
410  struct { detail::_swizzle<4,T, Q, 1,0,0,1> E1 ## E0 ## E0 ## E1; }; \
411  struct { detail::_swizzle<4,T, Q, 1,0,0,2> E1 ## E0 ## E0 ## E2; }; \
412  struct { detail::_swizzle<4,T, Q, 1,0,1,0> E1 ## E0 ## E1 ## E0; }; \
413  struct { detail::_swizzle<4,T, Q, 1,0,1,1> E1 ## E0 ## E1 ## E1; }; \
414  struct { detail::_swizzle<4,T, Q, 1,0,1,2> E1 ## E0 ## E1 ## E2; }; \
415  struct { detail::_swizzle<4,T, Q, 1,0,2,0> E1 ## E0 ## E2 ## E0; }; \
416  struct { detail::_swizzle<4,T, Q, 1,0,2,1> E1 ## E0 ## E2 ## E1; }; \
417  struct { detail::_swizzle<4,T, Q, 1,0,2,2> E1 ## E0 ## E2 ## E2; }; \
418  struct { detail::_swizzle<4,T, Q, 1,1,0,0> E1 ## E1 ## E0 ## E0; }; \
419  struct { detail::_swizzle<4,T, Q, 1,1,0,1> E1 ## E1 ## E0 ## E1; }; \
420  struct { detail::_swizzle<4,T, Q, 1,1,0,2> E1 ## E1 ## E0 ## E2; }; \
421  struct { detail::_swizzle<4,T, Q, 1,1,1,0> E1 ## E1 ## E1 ## E0; }; \
422  struct { detail::_swizzle<4,T, Q, 1,1,1,1> E1 ## E1 ## E1 ## E1; }; \
423  struct { detail::_swizzle<4,T, Q, 1,1,1,2> E1 ## E1 ## E1 ## E2; }; \
424  struct { detail::_swizzle<4,T, Q, 1,1,2,0> E1 ## E1 ## E2 ## E0; }; \
425  struct { detail::_swizzle<4,T, Q, 1,1,2,1> E1 ## E1 ## E2 ## E1; }; \
426  struct { detail::_swizzle<4,T, Q, 1,1,2,2> E1 ## E1 ## E2 ## E2; }; \
427  struct { detail::_swizzle<4,T, Q, 1,2,0,0> E1 ## E2 ## E0 ## E0; }; \
428  struct { detail::_swizzle<4,T, Q, 1,2,0,1> E1 ## E2 ## E0 ## E1; }; \
429  struct { detail::_swizzle<4,T, Q, 1,2,0,2> E1 ## E2 ## E0 ## E2; }; \
430  struct { detail::_swizzle<4,T, Q, 1,2,1,0> E1 ## E2 ## E1 ## E0; }; \
431  struct { detail::_swizzle<4,T, Q, 1,2,1,1> E1 ## E2 ## E1 ## E1; }; \
432  struct { detail::_swizzle<4,T, Q, 1,2,1,2> E1 ## E2 ## E1 ## E2; }; \
433  struct { detail::_swizzle<4,T, Q, 1,2,2,0> E1 ## E2 ## E2 ## E0; }; \
434  struct { detail::_swizzle<4,T, Q, 1,2,2,1> E1 ## E2 ## E2 ## E1; }; \
435  struct { detail::_swizzle<4,T, Q, 1,2,2,2> E1 ## E2 ## E2 ## E2; }; \
436  struct { detail::_swizzle<4,T, Q, 2,0,0,0> E2 ## E0 ## E0 ## E0; }; \
437  struct { detail::_swizzle<4,T, Q, 2,0,0,1> E2 ## E0 ## E0 ## E1; }; \
438  struct { detail::_swizzle<4,T, Q, 2,0,0,2> E2 ## E0 ## E0 ## E2; }; \
439  struct { detail::_swizzle<4,T, Q, 2,0,1,0> E2 ## E0 ## E1 ## E0; }; \
440  struct { detail::_swizzle<4,T, Q, 2,0,1,1> E2 ## E0 ## E1 ## E1; }; \
441  struct { detail::_swizzle<4,T, Q, 2,0,1,2> E2 ## E0 ## E1 ## E2; }; \
442  struct { detail::_swizzle<4,T, Q, 2,0,2,0> E2 ## E0 ## E2 ## E0; }; \
443  struct { detail::_swizzle<4,T, Q, 2,0,2,1> E2 ## E0 ## E2 ## E1; }; \
444  struct { detail::_swizzle<4,T, Q, 2,0,2,2> E2 ## E0 ## E2 ## E2; }; \
445  struct { detail::_swizzle<4,T, Q, 2,1,0,0> E2 ## E1 ## E0 ## E0; }; \
446  struct { detail::_swizzle<4,T, Q, 2,1,0,1> E2 ## E1 ## E0 ## E1; }; \
447  struct { detail::_swizzle<4,T, Q, 2,1,0,2> E2 ## E1 ## E0 ## E2; }; \
448  struct { detail::_swizzle<4,T, Q, 2,1,1,0> E2 ## E1 ## E1 ## E0; }; \
449  struct { detail::_swizzle<4,T, Q, 2,1,1,1> E2 ## E1 ## E1 ## E1; }; \
450  struct { detail::_swizzle<4,T, Q, 2,1,1,2> E2 ## E1 ## E1 ## E2; }; \
451  struct { detail::_swizzle<4,T, Q, 2,1,2,0> E2 ## E1 ## E2 ## E0; }; \
452  struct { detail::_swizzle<4,T, Q, 2,1,2,1> E2 ## E1 ## E2 ## E1; }; \
453  struct { detail::_swizzle<4,T, Q, 2,1,2,2> E2 ## E1 ## E2 ## E2; }; \
454  struct { detail::_swizzle<4,T, Q, 2,2,0,0> E2 ## E2 ## E0 ## E0; }; \
455  struct { detail::_swizzle<4,T, Q, 2,2,0,1> E2 ## E2 ## E0 ## E1; }; \
456  struct { detail::_swizzle<4,T, Q, 2,2,0,2> E2 ## E2 ## E0 ## E2; }; \
457  struct { detail::_swizzle<4,T, Q, 2,2,1,0> E2 ## E2 ## E1 ## E0; }; \
458  struct { detail::_swizzle<4,T, Q, 2,2,1,1> E2 ## E2 ## E1 ## E1; }; \
459  struct { detail::_swizzle<4,T, Q, 2,2,1,2> E2 ## E2 ## E1 ## E2; }; \
460  struct { detail::_swizzle<4,T, Q, 2,2,2,0> E2 ## E2 ## E2 ## E0; }; \
461  struct { detail::_swizzle<4,T, Q, 2,2,2,1> E2 ## E2 ## E2 ## E1; }; \
462  struct { detail::_swizzle<4,T, Q, 2,2,2,2> E2 ## E2 ## E2 ## E2; };
463 
464 #define GLM_SWIZZLE4_2_MEMBERS(T, Q, E0,E1,E2,E3) \
465  struct { detail::_swizzle<2,T, Q, 0,0,-1,-2> E0 ## E0; }; \
466  struct { detail::_swizzle<2,T, Q, 0,1,-1,-2> E0 ## E1; }; \
467  struct { detail::_swizzle<2,T, Q, 0,2,-1,-2> E0 ## E2; }; \
468  struct { detail::_swizzle<2,T, Q, 0,3,-1,-2> E0 ## E3; }; \
469  struct { detail::_swizzle<2,T, Q, 1,0,-1,-2> E1 ## E0; }; \
470  struct { detail::_swizzle<2,T, Q, 1,1,-1,-2> E1 ## E1; }; \
471  struct { detail::_swizzle<2,T, Q, 1,2,-1,-2> E1 ## E2; }; \
472  struct { detail::_swizzle<2,T, Q, 1,3,-1,-2> E1 ## E3; }; \
473  struct { detail::_swizzle<2,T, Q, 2,0,-1,-2> E2 ## E0; }; \
474  struct { detail::_swizzle<2,T, Q, 2,1,-1,-2> E2 ## E1; }; \
475  struct { detail::_swizzle<2,T, Q, 2,2,-1,-2> E2 ## E2; }; \
476  struct { detail::_swizzle<2,T, Q, 2,3,-1,-2> E2 ## E3; }; \
477  struct { detail::_swizzle<2,T, Q, 3,0,-1,-2> E3 ## E0; }; \
478  struct { detail::_swizzle<2,T, Q, 3,1,-1,-2> E3 ## E1; }; \
479  struct { detail::_swizzle<2,T, Q, 3,2,-1,-2> E3 ## E2; }; \
480  struct { detail::_swizzle<2,T, Q, 3,3,-1,-2> E3 ## E3; };
481 
482 #define GLM_SWIZZLE4_3_MEMBERS(T, Q, E0,E1,E2,E3) \
483  struct { detail::_swizzle<3, T, Q, 0,0,0,-1> E0 ## E0 ## E0; }; \
484  struct { detail::_swizzle<3, T, Q, 0,0,1,-1> E0 ## E0 ## E1; }; \
485  struct { detail::_swizzle<3, T, Q, 0,0,2,-1> E0 ## E0 ## E2; }; \
486  struct { detail::_swizzle<3, T, Q, 0,0,3,-1> E0 ## E0 ## E3; }; \
487  struct { detail::_swizzle<3, T, Q, 0,1,0,-1> E0 ## E1 ## E0; }; \
488  struct { detail::_swizzle<3, T, Q, 0,1,1,-1> E0 ## E1 ## E1; }; \
489  struct { detail::_swizzle<3, T, Q, 0,1,2,-1> E0 ## E1 ## E2; }; \
490  struct { detail::_swizzle<3, T, Q, 0,1,3,-1> E0 ## E1 ## E3; }; \
491  struct { detail::_swizzle<3, T, Q, 0,2,0,-1> E0 ## E2 ## E0; }; \
492  struct { detail::_swizzle<3, T, Q, 0,2,1,-1> E0 ## E2 ## E1; }; \
493  struct { detail::_swizzle<3, T, Q, 0,2,2,-1> E0 ## E2 ## E2; }; \
494  struct { detail::_swizzle<3, T, Q, 0,2,3,-1> E0 ## E2 ## E3; }; \
495  struct { detail::_swizzle<3, T, Q, 0,3,0,-1> E0 ## E3 ## E0; }; \
496  struct { detail::_swizzle<3, T, Q, 0,3,1,-1> E0 ## E3 ## E1; }; \
497  struct { detail::_swizzle<3, T, Q, 0,3,2,-1> E0 ## E3 ## E2; }; \
498  struct { detail::_swizzle<3, T, Q, 0,3,3,-1> E0 ## E3 ## E3; }; \
499  struct { detail::_swizzle<3, T, Q, 1,0,0,-1> E1 ## E0 ## E0; }; \
500  struct { detail::_swizzle<3, T, Q, 1,0,1,-1> E1 ## E0 ## E1; }; \
501  struct { detail::_swizzle<3, T, Q, 1,0,2,-1> E1 ## E0 ## E2; }; \
502  struct { detail::_swizzle<3, T, Q, 1,0,3,-1> E1 ## E0 ## E3; }; \
503  struct { detail::_swizzle<3, T, Q, 1,1,0,-1> E1 ## E1 ## E0; }; \
504  struct { detail::_swizzle<3, T, Q, 1,1,1,-1> E1 ## E1 ## E1; }; \
505  struct { detail::_swizzle<3, T, Q, 1,1,2,-1> E1 ## E1 ## E2; }; \
506  struct { detail::_swizzle<3, T, Q, 1,1,3,-1> E1 ## E1 ## E3; }; \
507  struct { detail::_swizzle<3, T, Q, 1,2,0,-1> E1 ## E2 ## E0; }; \
508  struct { detail::_swizzle<3, T, Q, 1,2,1,-1> E1 ## E2 ## E1; }; \
509  struct { detail::_swizzle<3, T, Q, 1,2,2,-1> E1 ## E2 ## E2; }; \
510  struct { detail::_swizzle<3, T, Q, 1,2,3,-1> E1 ## E2 ## E3; }; \
511  struct { detail::_swizzle<3, T, Q, 1,3,0,-1> E1 ## E3 ## E0; }; \
512  struct { detail::_swizzle<3, T, Q, 1,3,1,-1> E1 ## E3 ## E1; }; \
513  struct { detail::_swizzle<3, T, Q, 1,3,2,-1> E1 ## E3 ## E2; }; \
514  struct { detail::_swizzle<3, T, Q, 1,3,3,-1> E1 ## E3 ## E3; }; \
515  struct { detail::_swizzle<3, T, Q, 2,0,0,-1> E2 ## E0 ## E0; }; \
516  struct { detail::_swizzle<3, T, Q, 2,0,1,-1> E2 ## E0 ## E1; }; \
517  struct { detail::_swizzle<3, T, Q, 2,0,2,-1> E2 ## E0 ## E2; }; \
518  struct { detail::_swizzle<3, T, Q, 2,0,3,-1> E2 ## E0 ## E3; }; \
519  struct { detail::_swizzle<3, T, Q, 2,1,0,-1> E2 ## E1 ## E0; }; \
520  struct { detail::_swizzle<3, T, Q, 2,1,1,-1> E2 ## E1 ## E1; }; \
521  struct { detail::_swizzle<3, T, Q, 2,1,2,-1> E2 ## E1 ## E2; }; \
522  struct { detail::_swizzle<3, T, Q, 2,1,3,-1> E2 ## E1 ## E3; }; \
523  struct { detail::_swizzle<3, T, Q, 2,2,0,-1> E2 ## E2 ## E0; }; \
524  struct { detail::_swizzle<3, T, Q, 2,2,1,-1> E2 ## E2 ## E1; }; \
525  struct { detail::_swizzle<3, T, Q, 2,2,2,-1> E2 ## E2 ## E2; }; \
526  struct { detail::_swizzle<3, T, Q, 2,2,3,-1> E2 ## E2 ## E3; }; \
527  struct { detail::_swizzle<3, T, Q, 2,3,0,-1> E2 ## E3 ## E0; }; \
528  struct { detail::_swizzle<3, T, Q, 2,3,1,-1> E2 ## E3 ## E1; }; \
529  struct { detail::_swizzle<3, T, Q, 2,3,2,-1> E2 ## E3 ## E2; }; \
530  struct { detail::_swizzle<3, T, Q, 2,3,3,-1> E2 ## E3 ## E3; }; \
531  struct { detail::_swizzle<3, T, Q, 3,0,0,-1> E3 ## E0 ## E0; }; \
532  struct { detail::_swizzle<3, T, Q, 3,0,1,-1> E3 ## E0 ## E1; }; \
533  struct { detail::_swizzle<3, T, Q, 3,0,2,-1> E3 ## E0 ## E2; }; \
534  struct { detail::_swizzle<3, T, Q, 3,0,3,-1> E3 ## E0 ## E3; }; \
535  struct { detail::_swizzle<3, T, Q, 3,1,0,-1> E3 ## E1 ## E0; }; \
536  struct { detail::_swizzle<3, T, Q, 3,1,1,-1> E3 ## E1 ## E1; }; \
537  struct { detail::_swizzle<3, T, Q, 3,1,2,-1> E3 ## E1 ## E2; }; \
538  struct { detail::_swizzle<3, T, Q, 3,1,3,-1> E3 ## E1 ## E3; }; \
539  struct { detail::_swizzle<3, T, Q, 3,2,0,-1> E3 ## E2 ## E0; }; \
540  struct { detail::_swizzle<3, T, Q, 3,2,1,-1> E3 ## E2 ## E1; }; \
541  struct { detail::_swizzle<3, T, Q, 3,2,2,-1> E3 ## E2 ## E2; }; \
542  struct { detail::_swizzle<3, T, Q, 3,2,3,-1> E3 ## E2 ## E3; }; \
543  struct { detail::_swizzle<3, T, Q, 3,3,0,-1> E3 ## E3 ## E0; }; \
544  struct { detail::_swizzle<3, T, Q, 3,3,1,-1> E3 ## E3 ## E1; }; \
545  struct { detail::_swizzle<3, T, Q, 3,3,2,-1> E3 ## E3 ## E2; }; \
546  struct { detail::_swizzle<3, T, Q, 3,3,3,-1> E3 ## E3 ## E3; };
547 
548 #define GLM_SWIZZLE4_4_MEMBERS(T, Q, E0,E1,E2,E3) \
549  struct { detail::_swizzle<4, T, Q, 0,0,0,0> E0 ## E0 ## E0 ## E0; }; \
550  struct { detail::_swizzle<4, T, Q, 0,0,0,1> E0 ## E0 ## E0 ## E1; }; \
551  struct { detail::_swizzle<4, T, Q, 0,0,0,2> E0 ## E0 ## E0 ## E2; }; \
552  struct { detail::_swizzle<4, T, Q, 0,0,0,3> E0 ## E0 ## E0 ## E3; }; \
553  struct { detail::_swizzle<4, T, Q, 0,0,1,0> E0 ## E0 ## E1 ## E0; }; \
554  struct { detail::_swizzle<4, T, Q, 0,0,1,1> E0 ## E0 ## E1 ## E1; }; \
555  struct { detail::_swizzle<4, T, Q, 0,0,1,2> E0 ## E0 ## E1 ## E2; }; \
556  struct { detail::_swizzle<4, T, Q, 0,0,1,3> E0 ## E0 ## E1 ## E3; }; \
557  struct { detail::_swizzle<4, T, Q, 0,0,2,0> E0 ## E0 ## E2 ## E0; }; \
558  struct { detail::_swizzle<4, T, Q, 0,0,2,1> E0 ## E0 ## E2 ## E1; }; \
559  struct { detail::_swizzle<4, T, Q, 0,0,2,2> E0 ## E0 ## E2 ## E2; }; \
560  struct { detail::_swizzle<4, T, Q, 0,0,2,3> E0 ## E0 ## E2 ## E3; }; \
561  struct { detail::_swizzle<4, T, Q, 0,0,3,0> E0 ## E0 ## E3 ## E0; }; \
562  struct { detail::_swizzle<4, T, Q, 0,0,3,1> E0 ## E0 ## E3 ## E1; }; \
563  struct { detail::_swizzle<4, T, Q, 0,0,3,2> E0 ## E0 ## E3 ## E2; }; \
564  struct { detail::_swizzle<4, T, Q, 0,0,3,3> E0 ## E0 ## E3 ## E3; }; \
565  struct { detail::_swizzle<4, T, Q, 0,1,0,0> E0 ## E1 ## E0 ## E0; }; \
566  struct { detail::_swizzle<4, T, Q, 0,1,0,1> E0 ## E1 ## E0 ## E1; }; \
567  struct { detail::_swizzle<4, T, Q, 0,1,0,2> E0 ## E1 ## E0 ## E2; }; \
568  struct { detail::_swizzle<4, T, Q, 0,1,0,3> E0 ## E1 ## E0 ## E3; }; \
569  struct { detail::_swizzle<4, T, Q, 0,1,1,0> E0 ## E1 ## E1 ## E0; }; \
570  struct { detail::_swizzle<4, T, Q, 0,1,1,1> E0 ## E1 ## E1 ## E1; }; \
571  struct { detail::_swizzle<4, T, Q, 0,1,1,2> E0 ## E1 ## E1 ## E2; }; \
572  struct { detail::_swizzle<4, T, Q, 0,1,1,3> E0 ## E1 ## E1 ## E3; }; \
573  struct { detail::_swizzle<4, T, Q, 0,1,2,0> E0 ## E1 ## E2 ## E0; }; \
574  struct { detail::_swizzle<4, T, Q, 0,1,2,1> E0 ## E1 ## E2 ## E1; }; \
575  struct { detail::_swizzle<4, T, Q, 0,1,2,2> E0 ## E1 ## E2 ## E2; }; \
576  struct { detail::_swizzle<4, T, Q, 0,1,2,3> E0 ## E1 ## E2 ## E3; }; \
577  struct { detail::_swizzle<4, T, Q, 0,1,3,0> E0 ## E1 ## E3 ## E0; }; \
578  struct { detail::_swizzle<4, T, Q, 0,1,3,1> E0 ## E1 ## E3 ## E1; }; \
579  struct { detail::_swizzle<4, T, Q, 0,1,3,2> E0 ## E1 ## E3 ## E2; }; \
580  struct { detail::_swizzle<4, T, Q, 0,1,3,3> E0 ## E1 ## E3 ## E3; }; \
581  struct { detail::_swizzle<4, T, Q, 0,2,0,0> E0 ## E2 ## E0 ## E0; }; \
582  struct { detail::_swizzle<4, T, Q, 0,2,0,1> E0 ## E2 ## E0 ## E1; }; \
583  struct { detail::_swizzle<4, T, Q, 0,2,0,2> E0 ## E2 ## E0 ## E2; }; \
584  struct { detail::_swizzle<4, T, Q, 0,2,0,3> E0 ## E2 ## E0 ## E3; }; \
585  struct { detail::_swizzle<4, T, Q, 0,2,1,0> E0 ## E2 ## E1 ## E0; }; \
586  struct { detail::_swizzle<4, T, Q, 0,2,1,1> E0 ## E2 ## E1 ## E1; }; \
587  struct { detail::_swizzle<4, T, Q, 0,2,1,2> E0 ## E2 ## E1 ## E2; }; \
588  struct { detail::_swizzle<4, T, Q, 0,2,1,3> E0 ## E2 ## E1 ## E3; }; \
589  struct { detail::_swizzle<4, T, Q, 0,2,2,0> E0 ## E2 ## E2 ## E0; }; \
590  struct { detail::_swizzle<4, T, Q, 0,2,2,1> E0 ## E2 ## E2 ## E1; }; \
591  struct { detail::_swizzle<4, T, Q, 0,2,2,2> E0 ## E2 ## E2 ## E2; }; \
592  struct { detail::_swizzle<4, T, Q, 0,2,2,3> E0 ## E2 ## E2 ## E3; }; \
593  struct { detail::_swizzle<4, T, Q, 0,2,3,0> E0 ## E2 ## E3 ## E0; }; \
594  struct { detail::_swizzle<4, T, Q, 0,2,3,1> E0 ## E2 ## E3 ## E1; }; \
595  struct { detail::_swizzle<4, T, Q, 0,2,3,2> E0 ## E2 ## E3 ## E2; }; \
596  struct { detail::_swizzle<4, T, Q, 0,2,3,3> E0 ## E2 ## E3 ## E3; }; \
597  struct { detail::_swizzle<4, T, Q, 0,3,0,0> E0 ## E3 ## E0 ## E0; }; \
598  struct { detail::_swizzle<4, T, Q, 0,3,0,1> E0 ## E3 ## E0 ## E1; }; \
599  struct { detail::_swizzle<4, T, Q, 0,3,0,2> E0 ## E3 ## E0 ## E2; }; \
600  struct { detail::_swizzle<4, T, Q, 0,3,0,3> E0 ## E3 ## E0 ## E3; }; \
601  struct { detail::_swizzle<4, T, Q, 0,3,1,0> E0 ## E3 ## E1 ## E0; }; \
602  struct { detail::_swizzle<4, T, Q, 0,3,1,1> E0 ## E3 ## E1 ## E1; }; \
603  struct { detail::_swizzle<4, T, Q, 0,3,1,2> E0 ## E3 ## E1 ## E2; }; \
604  struct { detail::_swizzle<4, T, Q, 0,3,1,3> E0 ## E3 ## E1 ## E3; }; \
605  struct { detail::_swizzle<4, T, Q, 0,3,2,0> E0 ## E3 ## E2 ## E0; }; \
606  struct { detail::_swizzle<4, T, Q, 0,3,2,1> E0 ## E3 ## E2 ## E1; }; \
607  struct { detail::_swizzle<4, T, Q, 0,3,2,2> E0 ## E3 ## E2 ## E2; }; \
608  struct { detail::_swizzle<4, T, Q, 0,3,2,3> E0 ## E3 ## E2 ## E3; }; \
609  struct { detail::_swizzle<4, T, Q, 0,3,3,0> E0 ## E3 ## E3 ## E0; }; \
610  struct { detail::_swizzle<4, T, Q, 0,3,3,1> E0 ## E3 ## E3 ## E1; }; \
611  struct { detail::_swizzle<4, T, Q, 0,3,3,2> E0 ## E3 ## E3 ## E2; }; \
612  struct { detail::_swizzle<4, T, Q, 0,3,3,3> E0 ## E3 ## E3 ## E3; }; \
613  struct { detail::_swizzle<4, T, Q, 1,0,0,0> E1 ## E0 ## E0 ## E0; }; \
614  struct { detail::_swizzle<4, T, Q, 1,0,0,1> E1 ## E0 ## E0 ## E1; }; \
615  struct { detail::_swizzle<4, T, Q, 1,0,0,2> E1 ## E0 ## E0 ## E2; }; \
616  struct { detail::_swizzle<4, T, Q, 1,0,0,3> E1 ## E0 ## E0 ## E3; }; \
617  struct { detail::_swizzle<4, T, Q, 1,0,1,0> E1 ## E0 ## E1 ## E0; }; \
618  struct { detail::_swizzle<4, T, Q, 1,0,1,1> E1 ## E0 ## E1 ## E1; }; \
619  struct { detail::_swizzle<4, T, Q, 1,0,1,2> E1 ## E0 ## E1 ## E2; }; \
620  struct { detail::_swizzle<4, T, Q, 1,0,1,3> E1 ## E0 ## E1 ## E3; }; \
621  struct { detail::_swizzle<4, T, Q, 1,0,2,0> E1 ## E0 ## E2 ## E0; }; \
622  struct { detail::_swizzle<4, T, Q, 1,0,2,1> E1 ## E0 ## E2 ## E1; }; \
623  struct { detail::_swizzle<4, T, Q, 1,0,2,2> E1 ## E0 ## E2 ## E2; }; \
624  struct { detail::_swizzle<4, T, Q, 1,0,2,3> E1 ## E0 ## E2 ## E3; }; \
625  struct { detail::_swizzle<4, T, Q, 1,0,3,0> E1 ## E0 ## E3 ## E0; }; \
626  struct { detail::_swizzle<4, T, Q, 1,0,3,1> E1 ## E0 ## E3 ## E1; }; \
627  struct { detail::_swizzle<4, T, Q, 1,0,3,2> E1 ## E0 ## E3 ## E2; }; \
628  struct { detail::_swizzle<4, T, Q, 1,0,3,3> E1 ## E0 ## E3 ## E3; }; \
629  struct { detail::_swizzle<4, T, Q, 1,1,0,0> E1 ## E1 ## E0 ## E0; }; \
630  struct { detail::_swizzle<4, T, Q, 1,1,0,1> E1 ## E1 ## E0 ## E1; }; \
631  struct { detail::_swizzle<4, T, Q, 1,1,0,2> E1 ## E1 ## E0 ## E2; }; \
632  struct { detail::_swizzle<4, T, Q, 1,1,0,3> E1 ## E1 ## E0 ## E3; }; \
633  struct { detail::_swizzle<4, T, Q, 1,1,1,0> E1 ## E1 ## E1 ## E0; }; \
634  struct { detail::_swizzle<4, T, Q, 1,1,1,1> E1 ## E1 ## E1 ## E1; }; \
635  struct { detail::_swizzle<4, T, Q, 1,1,1,2> E1 ## E1 ## E1 ## E2; }; \
636  struct { detail::_swizzle<4, T, Q, 1,1,1,3> E1 ## E1 ## E1 ## E3; }; \
637  struct { detail::_swizzle<4, T, Q, 1,1,2,0> E1 ## E1 ## E2 ## E0; }; \
638  struct { detail::_swizzle<4, T, Q, 1,1,2,1> E1 ## E1 ## E2 ## E1; }; \
639  struct { detail::_swizzle<4, T, Q, 1,1,2,2> E1 ## E1 ## E2 ## E2; }; \
640  struct { detail::_swizzle<4, T, Q, 1,1,2,3> E1 ## E1 ## E2 ## E3; }; \
641  struct { detail::_swizzle<4, T, Q, 1,1,3,0> E1 ## E1 ## E3 ## E0; }; \
642  struct { detail::_swizzle<4, T, Q, 1,1,3,1> E1 ## E1 ## E3 ## E1; }; \
643  struct { detail::_swizzle<4, T, Q, 1,1,3,2> E1 ## E1 ## E3 ## E2; }; \
644  struct { detail::_swizzle<4, T, Q, 1,1,3,3> E1 ## E1 ## E3 ## E3; }; \
645  struct { detail::_swizzle<4, T, Q, 1,2,0,0> E1 ## E2 ## E0 ## E0; }; \
646  struct { detail::_swizzle<4, T, Q, 1,2,0,1> E1 ## E2 ## E0 ## E1; }; \
647  struct { detail::_swizzle<4, T, Q, 1,2,0,2> E1 ## E2 ## E0 ## E2; }; \
648  struct { detail::_swizzle<4, T, Q, 1,2,0,3> E1 ## E2 ## E0 ## E3; }; \
649  struct { detail::_swizzle<4, T, Q, 1,2,1,0> E1 ## E2 ## E1 ## E0; }; \
650  struct { detail::_swizzle<4, T, Q, 1,2,1,1> E1 ## E2 ## E1 ## E1; }; \
651  struct { detail::_swizzle<4, T, Q, 1,2,1,2> E1 ## E2 ## E1 ## E2; }; \
652  struct { detail::_swizzle<4, T, Q, 1,2,1,3> E1 ## E2 ## E1 ## E3; }; \
653  struct { detail::_swizzle<4, T, Q, 1,2,2,0> E1 ## E2 ## E2 ## E0; }; \
654  struct { detail::_swizzle<4, T, Q, 1,2,2,1> E1 ## E2 ## E2 ## E1; }; \
655  struct { detail::_swizzle<4, T, Q, 1,2,2,2> E1 ## E2 ## E2 ## E2; }; \
656  struct { detail::_swizzle<4, T, Q, 1,2,2,3> E1 ## E2 ## E2 ## E3; }; \
657  struct { detail::_swizzle<4, T, Q, 1,2,3,0> E1 ## E2 ## E3 ## E0; }; \
658  struct { detail::_swizzle<4, T, Q, 1,2,3,1> E1 ## E2 ## E3 ## E1; }; \
659  struct { detail::_swizzle<4, T, Q, 1,2,3,2> E1 ## E2 ## E3 ## E2; }; \
660  struct { detail::_swizzle<4, T, Q, 1,2,3,3> E1 ## E2 ## E3 ## E3; }; \
661  struct { detail::_swizzle<4, T, Q, 1,3,0,0> E1 ## E3 ## E0 ## E0; }; \
662  struct { detail::_swizzle<4, T, Q, 1,3,0,1> E1 ## E3 ## E0 ## E1; }; \
663  struct { detail::_swizzle<4, T, Q, 1,3,0,2> E1 ## E3 ## E0 ## E2; }; \
664  struct { detail::_swizzle<4, T, Q, 1,3,0,3> E1 ## E3 ## E0 ## E3; }; \
665  struct { detail::_swizzle<4, T, Q, 1,3,1,0> E1 ## E3 ## E1 ## E0; }; \
666  struct { detail::_swizzle<4, T, Q, 1,3,1,1> E1 ## E3 ## E1 ## E1; }; \
667  struct { detail::_swizzle<4, T, Q, 1,3,1,2> E1 ## E3 ## E1 ## E2; }; \
668  struct { detail::_swizzle<4, T, Q, 1,3,1,3> E1 ## E3 ## E1 ## E3; }; \
669  struct { detail::_swizzle<4, T, Q, 1,3,2,0> E1 ## E3 ## E2 ## E0; }; \
670  struct { detail::_swizzle<4, T, Q, 1,3,2,1> E1 ## E3 ## E2 ## E1; }; \
671  struct { detail::_swizzle<4, T, Q, 1,3,2,2> E1 ## E3 ## E2 ## E2; }; \
672  struct { detail::_swizzle<4, T, Q, 1,3,2,3> E1 ## E3 ## E2 ## E3; }; \
673  struct { detail::_swizzle<4, T, Q, 1,3,3,0> E1 ## E3 ## E3 ## E0; }; \
674  struct { detail::_swizzle<4, T, Q, 1,3,3,1> E1 ## E3 ## E3 ## E1; }; \
675  struct { detail::_swizzle<4, T, Q, 1,3,3,2> E1 ## E3 ## E3 ## E2; }; \
676  struct { detail::_swizzle<4, T, Q, 1,3,3,3> E1 ## E3 ## E3 ## E3; }; \
677  struct { detail::_swizzle<4, T, Q, 2,0,0,0> E2 ## E0 ## E0 ## E0; }; \
678  struct { detail::_swizzle<4, T, Q, 2,0,0,1> E2 ## E0 ## E0 ## E1; }; \
679  struct { detail::_swizzle<4, T, Q, 2,0,0,2> E2 ## E0 ## E0 ## E2; }; \
680  struct { detail::_swizzle<4, T, Q, 2,0,0,3> E2 ## E0 ## E0 ## E3; }; \
681  struct { detail::_swizzle<4, T, Q, 2,0,1,0> E2 ## E0 ## E1 ## E0; }; \
682  struct { detail::_swizzle<4, T, Q, 2,0,1,1> E2 ## E0 ## E1 ## E1; }; \
683  struct { detail::_swizzle<4, T, Q, 2,0,1,2> E2 ## E0 ## E1 ## E2; }; \
684  struct { detail::_swizzle<4, T, Q, 2,0,1,3> E2 ## E0 ## E1 ## E3; }; \
685  struct { detail::_swizzle<4, T, Q, 2,0,2,0> E2 ## E0 ## E2 ## E0; }; \
686  struct { detail::_swizzle<4, T, Q, 2,0,2,1> E2 ## E0 ## E2 ## E1; }; \
687  struct { detail::_swizzle<4, T, Q, 2,0,2,2> E2 ## E0 ## E2 ## E2; }; \
688  struct { detail::_swizzle<4, T, Q, 2,0,2,3> E2 ## E0 ## E2 ## E3; }; \
689  struct { detail::_swizzle<4, T, Q, 2,0,3,0> E2 ## E0 ## E3 ## E0; }; \
690  struct { detail::_swizzle<4, T, Q, 2,0,3,1> E2 ## E0 ## E3 ## E1; }; \
691  struct { detail::_swizzle<4, T, Q, 2,0,3,2> E2 ## E0 ## E3 ## E2; }; \
692  struct { detail::_swizzle<4, T, Q, 2,0,3,3> E2 ## E0 ## E3 ## E3; }; \
693  struct { detail::_swizzle<4, T, Q, 2,1,0,0> E2 ## E1 ## E0 ## E0; }; \
694  struct { detail::_swizzle<4, T, Q, 2,1,0,1> E2 ## E1 ## E0 ## E1; }; \
695  struct { detail::_swizzle<4, T, Q, 2,1,0,2> E2 ## E1 ## E0 ## E2; }; \
696  struct { detail::_swizzle<4, T, Q, 2,1,0,3> E2 ## E1 ## E0 ## E3; }; \
697  struct { detail::_swizzle<4, T, Q, 2,1,1,0> E2 ## E1 ## E1 ## E0; }; \
698  struct { detail::_swizzle<4, T, Q, 2,1,1,1> E2 ## E1 ## E1 ## E1; }; \
699  struct { detail::_swizzle<4, T, Q, 2,1,1,2> E2 ## E1 ## E1 ## E2; }; \
700  struct { detail::_swizzle<4, T, Q, 2,1,1,3> E2 ## E1 ## E1 ## E3; }; \
701  struct { detail::_swizzle<4, T, Q, 2,1,2,0> E2 ## E1 ## E2 ## E0; }; \
702  struct { detail::_swizzle<4, T, Q, 2,1,2,1> E2 ## E1 ## E2 ## E1; }; \
703  struct { detail::_swizzle<4, T, Q, 2,1,2,2> E2 ## E1 ## E2 ## E2; }; \
704  struct { detail::_swizzle<4, T, Q, 2,1,2,3> E2 ## E1 ## E2 ## E3; }; \
705  struct { detail::_swizzle<4, T, Q, 2,1,3,0> E2 ## E1 ## E3 ## E0; }; \
706  struct { detail::_swizzle<4, T, Q, 2,1,3,1> E2 ## E1 ## E3 ## E1; }; \
707  struct { detail::_swizzle<4, T, Q, 2,1,3,2> E2 ## E1 ## E3 ## E2; }; \
708  struct { detail::_swizzle<4, T, Q, 2,1,3,3> E2 ## E1 ## E3 ## E3; }; \
709  struct { detail::_swizzle<4, T, Q, 2,2,0,0> E2 ## E2 ## E0 ## E0; }; \
710  struct { detail::_swizzle<4, T, Q, 2,2,0,1> E2 ## E2 ## E0 ## E1; }; \
711  struct { detail::_swizzle<4, T, Q, 2,2,0,2> E2 ## E2 ## E0 ## E2; }; \
712  struct { detail::_swizzle<4, T, Q, 2,2,0,3> E2 ## E2 ## E0 ## E3; }; \
713  struct { detail::_swizzle<4, T, Q, 2,2,1,0> E2 ## E2 ## E1 ## E0; }; \
714  struct { detail::_swizzle<4, T, Q, 2,2,1,1> E2 ## E2 ## E1 ## E1; }; \
715  struct { detail::_swizzle<4, T, Q, 2,2,1,2> E2 ## E2 ## E1 ## E2; }; \
716  struct { detail::_swizzle<4, T, Q, 2,2,1,3> E2 ## E2 ## E1 ## E3; }; \
717  struct { detail::_swizzle<4, T, Q, 2,2,2,0> E2 ## E2 ## E2 ## E0; }; \
718  struct { detail::_swizzle<4, T, Q, 2,2,2,1> E2 ## E2 ## E2 ## E1; }; \
719  struct { detail::_swizzle<4, T, Q, 2,2,2,2> E2 ## E2 ## E2 ## E2; }; \
720  struct { detail::_swizzle<4, T, Q, 2,2,2,3> E2 ## E2 ## E2 ## E3; }; \
721  struct { detail::_swizzle<4, T, Q, 2,2,3,0> E2 ## E2 ## E3 ## E0; }; \
722  struct { detail::_swizzle<4, T, Q, 2,2,3,1> E2 ## E2 ## E3 ## E1; }; \
723  struct { detail::_swizzle<4, T, Q, 2,2,3,2> E2 ## E2 ## E3 ## E2; }; \
724  struct { detail::_swizzle<4, T, Q, 2,2,3,3> E2 ## E2 ## E3 ## E3; }; \
725  struct { detail::_swizzle<4, T, Q, 2,3,0,0> E2 ## E3 ## E0 ## E0; }; \
726  struct { detail::_swizzle<4, T, Q, 2,3,0,1> E2 ## E3 ## E0 ## E1; }; \
727  struct { detail::_swizzle<4, T, Q, 2,3,0,2> E2 ## E3 ## E0 ## E2; }; \
728  struct { detail::_swizzle<4, T, Q, 2,3,0,3> E2 ## E3 ## E0 ## E3; }; \
729  struct { detail::_swizzle<4, T, Q, 2,3,1,0> E2 ## E3 ## E1 ## E0; }; \
730  struct { detail::_swizzle<4, T, Q, 2,3,1,1> E2 ## E3 ## E1 ## E1; }; \
731  struct { detail::_swizzle<4, T, Q, 2,3,1,2> E2 ## E3 ## E1 ## E2; }; \
732  struct { detail::_swizzle<4, T, Q, 2,3,1,3> E2 ## E3 ## E1 ## E3; }; \
733  struct { detail::_swizzle<4, T, Q, 2,3,2,0> E2 ## E3 ## E2 ## E0; }; \
734  struct { detail::_swizzle<4, T, Q, 2,3,2,1> E2 ## E3 ## E2 ## E1; }; \
735  struct { detail::_swizzle<4, T, Q, 2,3,2,2> E2 ## E3 ## E2 ## E2; }; \
736  struct { detail::_swizzle<4, T, Q, 2,3,2,3> E2 ## E3 ## E2 ## E3; }; \
737  struct { detail::_swizzle<4, T, Q, 2,3,3,0> E2 ## E3 ## E3 ## E0; }; \
738  struct { detail::_swizzle<4, T, Q, 2,3,3,1> E2 ## E3 ## E3 ## E1; }; \
739  struct { detail::_swizzle<4, T, Q, 2,3,3,2> E2 ## E3 ## E3 ## E2; }; \
740  struct { detail::_swizzle<4, T, Q, 2,3,3,3> E2 ## E3 ## E3 ## E3; }; \
741  struct { detail::_swizzle<4, T, Q, 3,0,0,0> E3 ## E0 ## E0 ## E0; }; \
742  struct { detail::_swizzle<4, T, Q, 3,0,0,1> E3 ## E0 ## E0 ## E1; }; \
743  struct { detail::_swizzle<4, T, Q, 3,0,0,2> E3 ## E0 ## E0 ## E2; }; \
744  struct { detail::_swizzle<4, T, Q, 3,0,0,3> E3 ## E0 ## E0 ## E3; }; \
745  struct { detail::_swizzle<4, T, Q, 3,0,1,0> E3 ## E0 ## E1 ## E0; }; \
746  struct { detail::_swizzle<4, T, Q, 3,0,1,1> E3 ## E0 ## E1 ## E1; }; \
747  struct { detail::_swizzle<4, T, Q, 3,0,1,2> E3 ## E0 ## E1 ## E2; }; \
748  struct { detail::_swizzle<4, T, Q, 3,0,1,3> E3 ## E0 ## E1 ## E3; }; \
749  struct { detail::_swizzle<4, T, Q, 3,0,2,0> E3 ## E0 ## E2 ## E0; }; \
750  struct { detail::_swizzle<4, T, Q, 3,0,2,1> E3 ## E0 ## E2 ## E1; }; \
751  struct { detail::_swizzle<4, T, Q, 3,0,2,2> E3 ## E0 ## E2 ## E2; }; \
752  struct { detail::_swizzle<4, T, Q, 3,0,2,3> E3 ## E0 ## E2 ## E3; }; \
753  struct { detail::_swizzle<4, T, Q, 3,0,3,0> E3 ## E0 ## E3 ## E0; }; \
754  struct { detail::_swizzle<4, T, Q, 3,0,3,1> E3 ## E0 ## E3 ## E1; }; \
755  struct { detail::_swizzle<4, T, Q, 3,0,3,2> E3 ## E0 ## E3 ## E2; }; \
756  struct { detail::_swizzle<4, T, Q, 3,0,3,3> E3 ## E0 ## E3 ## E3; }; \
757  struct { detail::_swizzle<4, T, Q, 3,1,0,0> E3 ## E1 ## E0 ## E0; }; \
758  struct { detail::_swizzle<4, T, Q, 3,1,0,1> E3 ## E1 ## E0 ## E1; }; \
759  struct { detail::_swizzle<4, T, Q, 3,1,0,2> E3 ## E1 ## E0 ## E2; }; \
760  struct { detail::_swizzle<4, T, Q, 3,1,0,3> E3 ## E1 ## E0 ## E3; }; \
761  struct { detail::_swizzle<4, T, Q, 3,1,1,0> E3 ## E1 ## E1 ## E0; }; \
762  struct { detail::_swizzle<4, T, Q, 3,1,1,1> E3 ## E1 ## E1 ## E1; }; \
763  struct { detail::_swizzle<4, T, Q, 3,1,1,2> E3 ## E1 ## E1 ## E2; }; \
764  struct { detail::_swizzle<4, T, Q, 3,1,1,3> E3 ## E1 ## E1 ## E3; }; \
765  struct { detail::_swizzle<4, T, Q, 3,1,2,0> E3 ## E1 ## E2 ## E0; }; \
766  struct { detail::_swizzle<4, T, Q, 3,1,2,1> E3 ## E1 ## E2 ## E1; }; \
767  struct { detail::_swizzle<4, T, Q, 3,1,2,2> E3 ## E1 ## E2 ## E2; }; \
768  struct { detail::_swizzle<4, T, Q, 3,1,2,3> E3 ## E1 ## E2 ## E3; }; \
769  struct { detail::_swizzle<4, T, Q, 3,1,3,0> E3 ## E1 ## E3 ## E0; }; \
770  struct { detail::_swizzle<4, T, Q, 3,1,3,1> E3 ## E1 ## E3 ## E1; }; \
771  struct { detail::_swizzle<4, T, Q, 3,1,3,2> E3 ## E1 ## E3 ## E2; }; \
772  struct { detail::_swizzle<4, T, Q, 3,1,3,3> E3 ## E1 ## E3 ## E3; }; \
773  struct { detail::_swizzle<4, T, Q, 3,2,0,0> E3 ## E2 ## E0 ## E0; }; \
774  struct { detail::_swizzle<4, T, Q, 3,2,0,1> E3 ## E2 ## E0 ## E1; }; \
775  struct { detail::_swizzle<4, T, Q, 3,2,0,2> E3 ## E2 ## E0 ## E2; }; \
776  struct { detail::_swizzle<4, T, Q, 3,2,0,3> E3 ## E2 ## E0 ## E3; }; \
777  struct { detail::_swizzle<4, T, Q, 3,2,1,0> E3 ## E2 ## E1 ## E0; }; \
778  struct { detail::_swizzle<4, T, Q, 3,2,1,1> E3 ## E2 ## E1 ## E1; }; \
779  struct { detail::_swizzle<4, T, Q, 3,2,1,2> E3 ## E2 ## E1 ## E2; }; \
780  struct { detail::_swizzle<4, T, Q, 3,2,1,3> E3 ## E2 ## E1 ## E3; }; \
781  struct { detail::_swizzle<4, T, Q, 3,2,2,0> E3 ## E2 ## E2 ## E0; }; \
782  struct { detail::_swizzle<4, T, Q, 3,2,2,1> E3 ## E2 ## E2 ## E1; }; \
783  struct { detail::_swizzle<4, T, Q, 3,2,2,2> E3 ## E2 ## E2 ## E2; }; \
784  struct { detail::_swizzle<4, T, Q, 3,2,2,3> E3 ## E2 ## E2 ## E3; }; \
785  struct { detail::_swizzle<4, T, Q, 3,2,3,0> E3 ## E2 ## E3 ## E0; }; \
786  struct { detail::_swizzle<4, T, Q, 3,2,3,1> E3 ## E2 ## E3 ## E1; }; \
787  struct { detail::_swizzle<4, T, Q, 3,2,3,2> E3 ## E2 ## E3 ## E2; }; \
788  struct { detail::_swizzle<4, T, Q, 3,2,3,3> E3 ## E2 ## E3 ## E3; }; \
789  struct { detail::_swizzle<4, T, Q, 3,3,0,0> E3 ## E3 ## E0 ## E0; }; \
790  struct { detail::_swizzle<4, T, Q, 3,3,0,1> E3 ## E3 ## E0 ## E1; }; \
791  struct { detail::_swizzle<4, T, Q, 3,3,0,2> E3 ## E3 ## E0 ## E2; }; \
792  struct { detail::_swizzle<4, T, Q, 3,3,0,3> E3 ## E3 ## E0 ## E3; }; \
793  struct { detail::_swizzle<4, T, Q, 3,3,1,0> E3 ## E3 ## E1 ## E0; }; \
794  struct { detail::_swizzle<4, T, Q, 3,3,1,1> E3 ## E3 ## E1 ## E1; }; \
795  struct { detail::_swizzle<4, T, Q, 3,3,1,2> E3 ## E3 ## E1 ## E2; }; \
796  struct { detail::_swizzle<4, T, Q, 3,3,1,3> E3 ## E3 ## E1 ## E3; }; \
797  struct { detail::_swizzle<4, T, Q, 3,3,2,0> E3 ## E3 ## E2 ## E0; }; \
798  struct { detail::_swizzle<4, T, Q, 3,3,2,1> E3 ## E3 ## E2 ## E1; }; \
799  struct { detail::_swizzle<4, T, Q, 3,3,2,2> E3 ## E3 ## E2 ## E2; }; \
800  struct { detail::_swizzle<4, T, Q, 3,3,2,3> E3 ## E3 ## E2 ## E3; }; \
801  struct { detail::_swizzle<4, T, Q, 3,3,3,0> E3 ## E3 ## E3 ## E0; }; \
802  struct { detail::_swizzle<4, T, Q, 3,3,3,1> E3 ## E3 ## E3 ## E1; }; \
803  struct { detail::_swizzle<4, T, Q, 3,3,3,2> E3 ## E3 ## E3 ## E2; }; \
804  struct { detail::_swizzle<4, T, Q, 3,3,3,3> E3 ## E3 ## E3 ## E3; };
GLM_FUNC_DECL GLM_CONSTEXPR genType e()
Return e constant.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00005_source.html ================================================ 0.9.9 API documentation: _swizzle_func.hpp Source File
0.9.9 API documentation
_swizzle_func.hpp
1 #pragma once
2 
3 #define GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, CONST, A, B) \
4  vec<2, T, Q> A ## B() CONST \
5  { \
6  return vec<2, T, Q>(this->A, this->B); \
7  }
8 
9 #define GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, CONST, A, B, C) \
10  vec<3, T, Q> A ## B ## C() CONST \
11  { \
12  return vec<3, T, Q>(this->A, this->B, this->C); \
13  }
14 
15 #define GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, CONST, A, B, C, D) \
16  vec<4, T, Q> A ## B ## C ## D() CONST \
17  { \
18  return vec<4, T, Q>(this->A, this->B, this->C, this->D); \
19  }
20 
21 #define GLM_SWIZZLE_GEN_VEC2_ENTRY_DEF(T, P, L, CONST, A, B) \
22  template<typename T> \
23  vec<L, T, Q> vec<L, T, Q>::A ## B() CONST \
24  { \
25  return vec<2, T, Q>(this->A, this->B); \
26  }
27 
28 #define GLM_SWIZZLE_GEN_VEC3_ENTRY_DEF(T, P, L, CONST, A, B, C) \
29  template<typename T> \
30  vec<3, T, Q> vec<L, T, Q>::A ## B ## C() CONST \
31  { \
32  return vec<3, T, Q>(this->A, this->B, this->C); \
33  }
34 
35 #define GLM_SWIZZLE_GEN_VEC4_ENTRY_DEF(T, P, L, CONST, A, B, C, D) \
36  template<typename T> \
37  vec<4, T, Q> vec<L, T, Q>::A ## B ## C ## D() CONST \
38  { \
39  return vec<4, T, Q>(this->A, this->B, this->C, this->D); \
40  }
41 
42 #define GLM_MUTABLE
43 
44 #define GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(T, P, A, B) \
45  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, 2, GLM_MUTABLE, A, B) \
46  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, 2, GLM_MUTABLE, B, A)
47 
48 #define GLM_SWIZZLE_GEN_REF_FROM_VEC2(T, P) \
49  GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(T, P, x, y) \
50  GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(T, P, r, g) \
51  GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(T, P, s, t)
52 
53 #define GLM_SWIZZLE_GEN_REF2_FROM_VEC3_SWIZZLE(T, P, A, B, C) \
54  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, A, B) \
55  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, A, C) \
56  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, B, A) \
57  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, B, C) \
58  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, C, A) \
59  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, C, B)
60 
61 #define GLM_SWIZZLE_GEN_REF3_FROM_VEC3_SWIZZLE(T, P, A, B, C) \
62  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, A, B, C) \
63  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, A, C, B) \
64  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, B, A, C) \
65  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, B, C, A) \
66  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, C, A, B) \
67  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, C, B, A)
68 
69 #define GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(T, P, A, B, C) \
70  GLM_SWIZZLE_GEN_REF3_FROM_VEC3_SWIZZLE(T, P, A, B, C) \
71  GLM_SWIZZLE_GEN_REF2_FROM_VEC3_SWIZZLE(T, P, A, B, C)
72 
73 #define GLM_SWIZZLE_GEN_REF_FROM_VEC3(T, P) \
74  GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(T, P, x, y, z) \
75  GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(T, P, r, g, b) \
76  GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(T, P, s, t, p)
77 
78 #define GLM_SWIZZLE_GEN_REF2_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \
79  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, A, B) \
80  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, A, C) \
81  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, A, D) \
82  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, B, A) \
83  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, B, C) \
84  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, B, D) \
85  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, C, A) \
86  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, C, B) \
87  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, C, D) \
88  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, D, A) \
89  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, D, B) \
90  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, D, C)
91 
92 #define GLM_SWIZZLE_GEN_REF3_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \
93  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, B, C) \
94  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, B, D) \
95  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, C, B) \
96  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, C, D) \
97  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, D, B) \
98  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, D, C) \
99  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, A, C) \
100  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, A, D) \
101  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, C, A) \
102  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, C, D) \
103  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, D, A) \
104  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, D, C) \
105  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, A, B) \
106  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, A, D) \
107  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, B, A) \
108  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, B, D) \
109  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, D, A) \
110  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, D, B) \
111  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, A, B) \
112  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, A, C) \
113  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, B, A) \
114  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, B, C) \
115  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, C, A) \
116  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, C, B)
117 
118 #define GLM_SWIZZLE_GEN_REF4_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \
119  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, C, B, D) \
120  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, C, D, B) \
121  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, D, B, C) \
122  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, D, C, B) \
123  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, B, D, C) \
124  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, B, C, D) \
125  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, C, A, D) \
126  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, C, D, A) \
127  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, D, A, C) \
128  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, D, C, A) \
129  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, A, D, C) \
130  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, A, C, D) \
131  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, B, A, D) \
132  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, B, D, A) \
133  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, D, A, B) \
134  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, D, B, A) \
135  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, A, D, B) \
136  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, A, B, D) \
137  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, C, B, A) \
138  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, C, A, B) \
139  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, A, B, C) \
140  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, A, C, B) \
141  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, B, A, C) \
142  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, B, C, A)
143 
144 #define GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(T, P, A, B, C, D) \
145  GLM_SWIZZLE_GEN_REF2_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \
146  GLM_SWIZZLE_GEN_REF3_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \
147  GLM_SWIZZLE_GEN_REF4_FROM_VEC4_SWIZZLE(T, P, A, B, C, D)
148 
149 #define GLM_SWIZZLE_GEN_REF_FROM_VEC4(T, P) \
150  GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(T, P, x, y, z, w) \
151  GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(T, P, r, g, b, a) \
152  GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(T, P, s, t, p, q)
153 
154 #define GLM_SWIZZLE_GEN_VEC2_FROM_VEC2_SWIZZLE(T, P, A, B) \
155  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, A) \
156  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, B) \
157  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, A) \
158  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, B)
159 
160 #define GLM_SWIZZLE_GEN_VEC3_FROM_VEC2_SWIZZLE(T, P, A, B) \
161  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, A) \
162  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, B) \
163  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, A) \
164  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, B) \
165  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, A) \
166  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, B) \
167  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, A) \
168  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, B)
169 
170 #define GLM_SWIZZLE_GEN_VEC4_FROM_VEC2_SWIZZLE(T, P, A, B) \
171  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, A) \
172  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, B) \
173  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, A) \
174  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, B) \
175  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, A) \
176  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, B) \
177  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, A) \
178  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, B) \
179  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, A) \
180  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, B) \
181  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, A) \
182  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, B) \
183  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, A) \
184  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, B) \
185  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, A) \
186  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, B)
187 
188 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(T, P, A, B) \
189  GLM_SWIZZLE_GEN_VEC2_FROM_VEC2_SWIZZLE(T, P, A, B) \
190  GLM_SWIZZLE_GEN_VEC3_FROM_VEC2_SWIZZLE(T, P, A, B) \
191  GLM_SWIZZLE_GEN_VEC4_FROM_VEC2_SWIZZLE(T, P, A, B)
192 
193 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC2(T, P) \
194  GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(T, P, x, y) \
195  GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(T, P, r, g) \
196  GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(T, P, s, t)
197 
198 #define GLM_SWIZZLE_GEN_VEC2_FROM_VEC3_SWIZZLE(T, P, A, B, C) \
199  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, A) \
200  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, B) \
201  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, C) \
202  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, A) \
203  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, B) \
204  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, C) \
205  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, A) \
206  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, B) \
207  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, C)
208 
209 #define GLM_SWIZZLE_GEN_VEC3_FROM_VEC3_SWIZZLE(T, P, A, B, C) \
210  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, A) \
211  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, B) \
212  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, C) \
213  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, A) \
214  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, B) \
215  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, C) \
216  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, A) \
217  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, B) \
218  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, C) \
219  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, A) \
220  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, B) \
221  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, C) \
222  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, A) \
223  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, B) \
224  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, C) \
225  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, A) \
226  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, B) \
227  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, C) \
228  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, A) \
229  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, B) \
230  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, C) \
231  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, A) \
232  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, B) \
233  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, C) \
234  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, A) \
235  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, B) \
236  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, C)
237 
238 #define GLM_SWIZZLE_GEN_VEC4_FROM_VEC3_SWIZZLE(T, P, A, B, C) \
239  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, A) \
240  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, B) \
241  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, C) \
242  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, A) \
243  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, B) \
244  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, C) \
245  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, A) \
246  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, B) \
247  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, C) \
248  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, A) \
249  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, B) \
250  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, C) \
251  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, A) \
252  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, B) \
253  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, C) \
254  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, A) \
255  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, B) \
256  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, C) \
257  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, A) \
258  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, B) \
259  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, C) \
260  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, A) \
261  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, B) \
262  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, C) \
263  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, A) \
264  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, B) \
265  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, C) \
266  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, A) \
267  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, B) \
268  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, C) \
269  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, A) \
270  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, B) \
271  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, C) \
272  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, A) \
273  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, B) \
274  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, C) \
275  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, A) \
276  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, B) \
277  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, C) \
278  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, A) \
279  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, B) \
280  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, C) \
281  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, A) \
282  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, B) \
283  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, C) \
284  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, A) \
285  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, B) \
286  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, C) \
287  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, A) \
288  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, B) \
289  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, C) \
290  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, A) \
291  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, B) \
292  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, C) \
293  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, A) \
294  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, B) \
295  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, C) \
296  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, A) \
297  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, B) \
298  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, C) \
299  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, A) \
300  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, B) \
301  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, C) \
302  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, A) \
303  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, B) \
304  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, C) \
305  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, A) \
306  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, B) \
307  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, C) \
308  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, A) \
309  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, B) \
310  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, C) \
311  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, A) \
312  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, B) \
313  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, C) \
314  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, A) \
315  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, B) \
316  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, C) \
317  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, A) \
318  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, B) \
319  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, C)
320 
321 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(T, P, A, B, C) \
322  GLM_SWIZZLE_GEN_VEC2_FROM_VEC3_SWIZZLE(T, P, A, B, C) \
323  GLM_SWIZZLE_GEN_VEC3_FROM_VEC3_SWIZZLE(T, P, A, B, C) \
324  GLM_SWIZZLE_GEN_VEC4_FROM_VEC3_SWIZZLE(T, P, A, B, C)
325 
326 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC3(T, P) \
327  GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(T, P, x, y, z) \
328  GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(T, P, r, g, b) \
329  GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(T, P, s, t, p)
330 
331 #define GLM_SWIZZLE_GEN_VEC2_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \
332  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, A) \
333  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, B) \
334  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, C) \
335  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, D) \
336  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, A) \
337  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, B) \
338  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, C) \
339  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, D) \
340  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, A) \
341  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, B) \
342  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, C) \
343  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, D) \
344  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, D, A) \
345  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, D, B) \
346  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, D, C) \
347  GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, D, D)
348 
349 #define GLM_SWIZZLE_GEN_VEC3_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \
350  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, A) \
351  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, B) \
352  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, C) \
353  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, D) \
354  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, A) \
355  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, B) \
356  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, C) \
357  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, D) \
358  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, A) \
359  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, B) \
360  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, C) \
361  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, D) \
362  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, D, A) \
363  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, D, B) \
364  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, D, C) \
365  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, D, D) \
366  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, A) \
367  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, B) \
368  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, C) \
369  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, D) \
370  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, A) \
371  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, B) \
372  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, C) \
373  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, D) \
374  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, A) \
375  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, B) \
376  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, C) \
377  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, D) \
378  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, D, A) \
379  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, D, B) \
380  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, D, C) \
381  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, D, D) \
382  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, A) \
383  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, B) \
384  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, C) \
385  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, D) \
386  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, A) \
387  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, B) \
388  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, C) \
389  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, D) \
390  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, A) \
391  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, B) \
392  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, C) \
393  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, D) \
394  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, D, A) \
395  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, D, B) \
396  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, D, C) \
397  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, D, D) \
398  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, A, A) \
399  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, A, B) \
400  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, A, C) \
401  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, A, D) \
402  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, B, A) \
403  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, B, B) \
404  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, B, C) \
405  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, B, D) \
406  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, C, A) \
407  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, C, B) \
408  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, C, C) \
409  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, C, D) \
410  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, D, A) \
411  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, D, B) \
412  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, D, C) \
413  GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, D, D)
414 
415 #define GLM_SWIZZLE_GEN_VEC4_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \
416  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, A) \
417  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, B) \
418  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, C) \
419  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, D) \
420  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, A) \
421  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, B) \
422  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, C) \
423  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, D) \
424  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, A) \
425  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, B) \
426  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, C) \
427  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, D) \
428  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, D, A) \
429  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, D, B) \
430  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, D, C) \
431  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, D, D) \
432  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, A) \
433  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, B) \
434  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, C) \
435  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, D) \
436  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, A) \
437  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, B) \
438  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, C) \
439  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, D) \
440  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, A) \
441  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, B) \
442  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, C) \
443  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, D) \
444  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, D, A) \
445  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, D, B) \
446  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, D, C) \
447  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, D, D) \
448  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, A) \
449  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, B) \
450  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, C) \
451  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, D) \
452  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, A) \
453  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, B) \
454  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, C) \
455  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, D) \
456  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, A) \
457  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, B) \
458  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, C) \
459  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, D) \
460  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, D, A) \
461  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, D, B) \
462  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, D, C) \
463  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, D, D) \
464  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, A, A) \
465  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, A, B) \
466  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, A, C) \
467  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, A, D) \
468  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, B, A) \
469  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, B, B) \
470  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, B, C) \
471  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, B, D) \
472  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, C, A) \
473  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, C, B) \
474  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, C, C) \
475  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, C, D) \
476  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, D, A) \
477  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, D, B) \
478  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, D, C) \
479  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, D, D) \
480  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, A) \
481  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, B) \
482  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, C) \
483  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, D) \
484  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, A) \
485  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, B) \
486  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, C) \
487  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, D) \
488  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, A) \
489  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, B) \
490  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, C) \
491  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, D) \
492  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, D, A) \
493  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, D, B) \
494  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, D, C) \
495  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, D, D) \
496  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, A) \
497  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, B) \
498  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, C) \
499  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, D) \
500  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, A) \
501  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, B) \
502  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, C) \
503  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, D) \
504  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, A) \
505  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, B) \
506  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, C) \
507  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, D) \
508  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, D, A) \
509  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, D, B) \
510  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, D, C) \
511  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, D, D) \
512  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, A) \
513  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, B) \
514  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, C) \
515  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, D) \
516  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, A) \
517  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, B) \
518  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, C) \
519  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, D) \
520  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, A) \
521  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, B) \
522  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, C) \
523  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, D) \
524  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, D, A) \
525  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, D, B) \
526  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, D, C) \
527  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, D, D) \
528  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, A, A) \
529  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, A, B) \
530  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, A, C) \
531  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, A, D) \
532  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, B, A) \
533  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, B, B) \
534  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, B, C) \
535  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, B, D) \
536  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, C, A) \
537  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, C, B) \
538  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, C, C) \
539  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, C, D) \
540  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, D, A) \
541  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, D, B) \
542  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, D, C) \
543  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, D, D) \
544  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, A) \
545  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, B) \
546  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, C) \
547  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, D) \
548  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, A) \
549  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, B) \
550  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, C) \
551  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, D) \
552  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, A) \
553  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, B) \
554  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, C) \
555  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, D) \
556  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, D, A) \
557  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, D, B) \
558  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, D, C) \
559  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, D, D) \
560  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, A) \
561  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, B) \
562  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, C) \
563  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, D) \
564  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, A) \
565  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, B) \
566  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, C) \
567  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, D) \
568  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, A) \
569  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, B) \
570  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, C) \
571  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, D) \
572  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, D, A) \
573  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, D, B) \
574  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, D, C) \
575  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, D, D) \
576  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, A) \
577  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, B) \
578  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, C) \
579  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, D) \
580  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, A) \
581  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, B) \
582  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, C) \
583  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, D) \
584  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, A) \
585  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, B) \
586  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, C) \
587  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, D) \
588  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, D, A) \
589  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, D, B) \
590  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, D, C) \
591  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, D, D) \
592  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, A, A) \
593  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, A, B) \
594  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, A, C) \
595  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, A, D) \
596  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, B, A) \
597  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, B, B) \
598  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, B, C) \
599  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, B, D) \
600  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, C, A) \
601  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, C, B) \
602  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, C, C) \
603  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, C, D) \
604  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, D, A) \
605  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, D, B) \
606  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, D, C) \
607  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, D, D) \
608  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, A, A) \
609  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, A, B) \
610  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, A, C) \
611  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, A, D) \
612  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, B, A) \
613  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, B, B) \
614  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, B, C) \
615  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, B, D) \
616  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, C, A) \
617  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, C, B) \
618  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, C, C) \
619  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, C, D) \
620  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, D, A) \
621  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, D, B) \
622  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, D, C) \
623  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, D, D) \
624  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, A, A) \
625  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, A, B) \
626  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, A, C) \
627  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, A, D) \
628  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, B, A) \
629  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, B, B) \
630  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, B, C) \
631  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, B, D) \
632  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, C, A) \
633  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, C, B) \
634  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, C, C) \
635  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, C, D) \
636  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, D, A) \
637  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, D, B) \
638  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, D, C) \
639  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, D, D) \
640  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, A, A) \
641  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, A, B) \
642  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, A, C) \
643  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, A, D) \
644  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, B, A) \
645  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, B, B) \
646  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, B, C) \
647  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, B, D) \
648  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, C, A) \
649  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, C, B) \
650  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, C, C) \
651  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, C, D) \
652  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, D, A) \
653  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, D, B) \
654  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, D, C) \
655  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, D, D) \
656  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, A, A) \
657  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, A, B) \
658  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, A, C) \
659  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, A, D) \
660  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, B, A) \
661  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, B, B) \
662  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, B, C) \
663  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, B, D) \
664  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, C, A) \
665  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, C, B) \
666  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, C, C) \
667  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, C, D) \
668  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, D, A) \
669  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, D, B) \
670  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, D, C) \
671  GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, D, D)
672 
673 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(T, P, A, B, C, D) \
674  GLM_SWIZZLE_GEN_VEC2_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \
675  GLM_SWIZZLE_GEN_VEC3_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \
676  GLM_SWIZZLE_GEN_VEC4_FROM_VEC4_SWIZZLE(T, P, A, B, C, D)
677 
678 #define GLM_SWIZZLE_GEN_VEC_FROM_VEC4(T, P) \
679  GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(T, P, x, y, z, w) \
680  GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(T, P, r, g, b, a) \
681  GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(T, P, s, t, p, q)
682 
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00006_source.html ================================================ 0.9.9 API documentation: _vectorize.hpp Source File
0.9.9 API documentation
_vectorize.hpp
1 #pragma once
2 
3 namespace glm{
4 namespace detail
5 {
6  template<template<length_t L, typename T, qualifier Q> class vec, length_t L, typename R, typename T, qualifier Q>
7  struct functor1{};
8 
9  template<template<length_t L, typename T, qualifier Q> class vec, typename R, typename T, qualifier Q>
10  struct functor1<vec, 1, R, T, Q>
11  {
12  GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<1, R, Q> call(R (*Func) (T x), vec<1, T, Q> const& v)
13  {
14  return vec<1, R, Q>(Func(v.x));
15  }
16  };
17 
18  template<template<length_t L, typename T, qualifier Q> class vec, typename R, typename T, qualifier Q>
19  struct functor1<vec, 2, R, T, Q>
20  {
21  GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<2, R, Q> call(R (*Func) (T x), vec<2, T, Q> const& v)
22  {
23  return vec<2, R, Q>(Func(v.x), Func(v.y));
24  }
25  };
26 
27  template<template<length_t L, typename T, qualifier Q> class vec, typename R, typename T, qualifier Q>
28  struct functor1<vec, 3, R, T, Q>
29  {
30  GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<3, R, Q> call(R (*Func) (T x), vec<3, T, Q> const& v)
31  {
32  return vec<3, R, Q>(Func(v.x), Func(v.y), Func(v.z));
33  }
34  };
35 
36  template<template<length_t L, typename T, qualifier Q> class vec, typename R, typename T, qualifier Q>
37  struct functor1<vec, 4, R, T, Q>
38  {
39  GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<4, R, Q> call(R (*Func) (T x), vec<4, T, Q> const& v)
40  {
41  return vec<4, R, Q>(Func(v.x), Func(v.y), Func(v.z), Func(v.w));
42  }
43  };
44 
45  template<template<length_t L, typename T, qualifier Q> class vec, length_t L, typename T, qualifier Q>
46  struct functor2{};
47 
48  template<template<length_t L, typename T, qualifier Q> class vec, typename T, qualifier Q>
49  struct functor2<vec, 1, T, Q>
50  {
51  GLM_FUNC_QUALIFIER static vec<1, T, Q> call(T (*Func) (T x, T y), vec<1, T, Q> const& a, vec<1, T, Q> const& b)
52  {
53  return vec<1, T, Q>(Func(a.x, b.x));
54  }
55  };
56 
57  template<template<length_t L, typename T, qualifier Q> class vec, typename T, qualifier Q>
58  struct functor2<vec, 2, T, Q>
59  {
60  GLM_FUNC_QUALIFIER static vec<2, T, Q> call(T (*Func) (T x, T y), vec<2, T, Q> const& a, vec<2, T, Q> const& b)
61  {
62  return vec<2, T, Q>(Func(a.x, b.x), Func(a.y, b.y));
63  }
64  };
65 
66  template<template<length_t L, typename T, qualifier Q> class vec, typename T, qualifier Q>
67  struct functor2<vec, 3, T, Q>
68  {
69  GLM_FUNC_QUALIFIER static vec<3, T, Q> call(T (*Func) (T x, T y), vec<3, T, Q> const& a, vec<3, T, Q> const& b)
70  {
71  return vec<3, T, Q>(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z));
72  }
73  };
74 
75  template<template<length_t L, typename T, qualifier Q> class vec, typename T, qualifier Q>
76  struct functor2<vec, 4, T, Q>
77  {
78  GLM_FUNC_QUALIFIER static vec<4, T, Q> call(T (*Func) (T x, T y), vec<4, T, Q> const& a, vec<4, T, Q> const& b)
79  {
80  return vec<4, T, Q>(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z), Func(a.w, b.w));
81  }
82  };
83 
84  template<template<length_t L, typename T, qualifier Q> class vec, length_t L, typename T, qualifier Q>
85  struct functor2_vec_sca{};
86 
87  template<template<length_t L, typename T, qualifier Q> class vec, typename T, qualifier Q>
88  struct functor2_vec_sca<vec, 1, T, Q>
89  {
90  GLM_FUNC_QUALIFIER static vec<1, T, Q> call(T (*Func) (T x, T y), vec<1, T, Q> const& a, T b)
91  {
92  return vec<1, T, Q>(Func(a.x, b));
93  }
94  };
95 
96  template<template<length_t L, typename T, qualifier Q> class vec, typename T, qualifier Q>
97  struct functor2_vec_sca<vec, 2, T, Q>
98  {
99  GLM_FUNC_QUALIFIER static vec<2, T, Q> call(T (*Func) (T x, T y), vec<2, T, Q> const& a, T b)
100  {
101  return vec<2, T, Q>(Func(a.x, b), Func(a.y, b));
102  }
103  };
104 
105  template<template<length_t L, typename T, qualifier Q> class vec, typename T, qualifier Q>
106  struct functor2_vec_sca<vec, 3, T, Q>
107  {
108  GLM_FUNC_QUALIFIER static vec<3, T, Q> call(T (*Func) (T x, T y), vec<3, T, Q> const& a, T b)
109  {
110  return vec<3, T, Q>(Func(a.x, b), Func(a.y, b), Func(a.z, b));
111  }
112  };
113 
114  template<template<length_t L, typename T, qualifier Q> class vec, typename T, qualifier Q>
115  struct functor2_vec_sca<vec, 4, T, Q>
116  {
117  GLM_FUNC_QUALIFIER static vec<4, T, Q> call(T (*Func) (T x, T y), vec<4, T, Q> const& a, T b)
118  {
119  return vec<4, T, Q>(Func(a.x, b), Func(a.y, b), Func(a.z, b), Func(a.w, b));
120  }
121  };
122 
123  template<length_t L, typename T, qualifier Q>
124  struct functor2_vec_int {};
125 
126  template<typename T, qualifier Q>
127  struct functor2_vec_int<1, T, Q>
128  {
129  GLM_FUNC_QUALIFIER static vec<1, int, Q> call(int (*Func) (T x, int y), vec<1, T, Q> const& a, vec<1, int, Q> const& b)
130  {
131  return vec<1, int, Q>(Func(a.x, b.x));
132  }
133  };
134 
135  template<typename T, qualifier Q>
136  struct functor2_vec_int<2, T, Q>
137  {
138  GLM_FUNC_QUALIFIER static vec<2, int, Q> call(int (*Func) (T x, int y), vec<2, T, Q> const& a, vec<2, int, Q> const& b)
139  {
140  return vec<2, int, Q>(Func(a.x, b.x), Func(a.y, b.y));
141  }
142  };
143 
144  template<typename T, qualifier Q>
145  struct functor2_vec_int<3, T, Q>
146  {
147  GLM_FUNC_QUALIFIER static vec<3, int, Q> call(int (*Func) (T x, int y), vec<3, T, Q> const& a, vec<3, int, Q> const& b)
148  {
149  return vec<3, int, Q>(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z));
150  }
151  };
152 
153  template<typename T, qualifier Q>
154  struct functor2_vec_int<4, T, Q>
155  {
156  GLM_FUNC_QUALIFIER static vec<4, int, Q> call(int (*Func) (T x, int y), vec<4, T, Q> const& a, vec<4, int, Q> const& b)
157  {
158  return vec<4, int, Q>(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z), Func(a.w, b.w));
159  }
160  };
161 }//namespace detail
162 }//namespace glm
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00007.html ================================================ 0.9.9 API documentation: associated_min_max.hpp File Reference
0.9.9 API documentation
associated_min_max.hpp File Reference

GLM_GTX_associated_min_max More...

Go to the source code of this file.

Functions

template<typename T , typename U >
GLM_FUNC_DECL U associatedMax (T x, U a, T y, U b)
 Maximum comparison between 2 variables and returns 2 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 2, U, Q > associatedMax (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b)
 Maximum comparison between 2 variables and returns 2 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > associatedMax (T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b)
 Maximum comparison between 2 variables and returns 2 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b)
 Maximum comparison between 2 variables and returns 2 associated variable values. More...
 
template<typename T , typename U >
GLM_FUNC_DECL U associatedMax (T x, U a, T y, U b, T z, U c)
 Maximum comparison between 3 variables and returns 3 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c)
 Maximum comparison between 3 variables and returns 3 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > associatedMax (T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b, T z, vec< L, U, Q > const &c)
 Maximum comparison between 3 variables and returns 3 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c)
 Maximum comparison between 3 variables and returns 3 associated variable values. More...
 
template<typename T , typename U >
GLM_FUNC_DECL U associatedMax (T x, U a, T y, U b, T z, U c, T w, U d)
 Maximum comparison between 4 variables and returns 4 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c, vec< L, T, Q > const &w, vec< L, U, Q > const &d)
 Maximum comparison between 4 variables and returns 4 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMax (T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b, T z, vec< L, U, Q > const &c, T w, vec< L, U, Q > const &d)
 Maximum comparison between 4 variables and returns 4 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c, vec< L, T, Q > const &w, U d)
 Maximum comparison between 4 variables and returns 4 associated variable values. More...
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_DECL U associatedMin (T x, U a, T y, U b)
 Minimum comparison between 2 variables and returns 2 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 2, U, Q > associatedMin (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b)
 Minimum comparison between 2 variables and returns 2 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMin (T x, const vec< L, U, Q > &a, T y, const vec< L, U, Q > &b)
 Minimum comparison between 2 variables and returns 2 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMin (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b)
 Minimum comparison between 2 variables and returns 2 associated variable values. More...
 
template<typename T , typename U >
GLM_FUNC_DECL U associatedMin (T x, U a, T y, U b, T z, U c)
 Minimum comparison between 3 variables and returns 3 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMin (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c)
 Minimum comparison between 3 variables and returns 3 associated variable values. More...
 
template<typename T , typename U >
GLM_FUNC_DECL U associatedMin (T x, U a, T y, U b, T z, U c, T w, U d)
 Minimum comparison between 4 variables and returns 4 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMin (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c, vec< L, T, Q > const &w, vec< L, U, Q > const &d)
 Minimum comparison between 4 variables and returns 4 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMin (T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b, T z, vec< L, U, Q > const &c, T w, vec< L, U, Q > const &d)
 Minimum comparison between 4 variables and returns 4 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMin (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c, vec< L, T, Q > const &w, U d)
 Minimum comparison between 4 variables and returns 4 associated variable values. More...
 

Detailed Description

GLM_GTX_associated_min_max

See also
Core features (dependence)
gtx_extented_min_max (dependence)

Definition in file associated_min_max.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00007_source.html ================================================ 0.9.9 API documentation: associated_min_max.hpp Source File
0.9.9 API documentation
associated_min_max.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependency:
17 #include "../glm.hpp"
18 
19 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
20 # ifndef GLM_ENABLE_EXPERIMENTAL
21 # pragma message("GLM: GLM_GTX_associated_min_max is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
22 # else
23 # pragma message("GLM: GLM_GTX_associated_min_max extension included")
24 # endif
25 #endif
26 
27 namespace glm
28 {
31 
34  template<typename T, typename U, qualifier Q>
35  GLM_FUNC_DECL U associatedMin(T x, U a, T y, U b);
36 
39  template<length_t L, typename T, typename U, qualifier Q>
40  GLM_FUNC_DECL vec<2, U, Q> associatedMin(
41  vec<L, T, Q> const& x, vec<L, U, Q> const& a,
42  vec<L, T, Q> const& y, vec<L, U, Q> const& b);
43 
46  template<length_t L, typename T, typename U, qualifier Q>
47  GLM_FUNC_DECL vec<L, U, Q> associatedMin(
48  T x, const vec<L, U, Q>& a,
49  T y, const vec<L, U, Q>& b);
50 
53  template<length_t L, typename T, typename U, qualifier Q>
54  GLM_FUNC_DECL vec<L, U, Q> associatedMin(
55  vec<L, T, Q> const& x, U a,
56  vec<L, T, Q> const& y, U b);
57 
60  template<typename T, typename U>
61  GLM_FUNC_DECL U associatedMin(
62  T x, U a,
63  T y, U b,
64  T z, U c);
65 
68  template<length_t L, typename T, typename U, qualifier Q>
69  GLM_FUNC_DECL vec<L, U, Q> associatedMin(
70  vec<L, T, Q> const& x, vec<L, U, Q> const& a,
71  vec<L, T, Q> const& y, vec<L, U, Q> const& b,
72  vec<L, T, Q> const& z, vec<L, U, Q> const& c);
73 
76  template<typename T, typename U>
77  GLM_FUNC_DECL U associatedMin(
78  T x, U a,
79  T y, U b,
80  T z, U c,
81  T w, U d);
82 
85  template<length_t L, typename T, typename U, qualifier Q>
86  GLM_FUNC_DECL vec<L, U, Q> associatedMin(
87  vec<L, T, Q> const& x, vec<L, U, Q> const& a,
88  vec<L, T, Q> const& y, vec<L, U, Q> const& b,
89  vec<L, T, Q> const& z, vec<L, U, Q> const& c,
90  vec<L, T, Q> const& w, vec<L, U, Q> const& d);
91 
94  template<length_t L, typename T, typename U, qualifier Q>
95  GLM_FUNC_DECL vec<L, U, Q> associatedMin(
96  T x, vec<L, U, Q> const& a,
97  T y, vec<L, U, Q> const& b,
98  T z, vec<L, U, Q> const& c,
99  T w, vec<L, U, Q> const& d);
100 
103  template<length_t L, typename T, typename U, qualifier Q>
104  GLM_FUNC_DECL vec<L, U, Q> associatedMin(
105  vec<L, T, Q> const& x, U a,
106  vec<L, T, Q> const& y, U b,
107  vec<L, T, Q> const& z, U c,
108  vec<L, T, Q> const& w, U d);
109 
112  template<typename T, typename U>
113  GLM_FUNC_DECL U associatedMax(T x, U a, T y, U b);
114 
117  template<length_t L, typename T, typename U, qualifier Q>
118  GLM_FUNC_DECL vec<2, U, Q> associatedMax(
119  vec<L, T, Q> const& x, vec<L, U, Q> const& a,
120  vec<L, T, Q> const& y, vec<L, U, Q> const& b);
121 
124  template<length_t L, typename T, typename U, qualifier Q>
125  GLM_FUNC_DECL vec<L, T, Q> associatedMax(
126  T x, vec<L, U, Q> const& a,
127  T y, vec<L, U, Q> const& b);
128 
131  template<length_t L, typename T, typename U, qualifier Q>
132  GLM_FUNC_DECL vec<L, U, Q> associatedMax(
133  vec<L, T, Q> const& x, U a,
134  vec<L, T, Q> const& y, U b);
135 
138  template<typename T, typename U>
139  GLM_FUNC_DECL U associatedMax(
140  T x, U a,
141  T y, U b,
142  T z, U c);
143 
146  template<length_t L, typename T, typename U, qualifier Q>
147  GLM_FUNC_DECL vec<L, U, Q> associatedMax(
148  vec<L, T, Q> const& x, vec<L, U, Q> const& a,
149  vec<L, T, Q> const& y, vec<L, U, Q> const& b,
150  vec<L, T, Q> const& z, vec<L, U, Q> const& c);
151 
154  template<length_t L, typename T, typename U, qualifier Q>
155  GLM_FUNC_DECL vec<L, T, Q> associatedMax(
156  T x, vec<L, U, Q> const& a,
157  T y, vec<L, U, Q> const& b,
158  T z, vec<L, U, Q> const& c);
159 
162  template<length_t L, typename T, typename U, qualifier Q>
163  GLM_FUNC_DECL vec<L, U, Q> associatedMax(
164  vec<L, T, Q> const& x, U a,
165  vec<L, T, Q> const& y, U b,
166  vec<L, T, Q> const& z, U c);
167 
170  template<typename T, typename U>
171  GLM_FUNC_DECL U associatedMax(
172  T x, U a,
173  T y, U b,
174  T z, U c,
175  T w, U d);
176 
179  template<length_t L, typename T, typename U, qualifier Q>
180  GLM_FUNC_DECL vec<L, U, Q> associatedMax(
181  vec<L, T, Q> const& x, vec<L, U, Q> const& a,
182  vec<L, T, Q> const& y, vec<L, U, Q> const& b,
183  vec<L, T, Q> const& z, vec<L, U, Q> const& c,
184  vec<L, T, Q> const& w, vec<L, U, Q> const& d);
185 
188  template<length_t L, typename T, typename U, qualifier Q>
189  GLM_FUNC_DECL vec<L, U, Q> associatedMax(
190  T x, vec<L, U, Q> const& a,
191  T y, vec<L, U, Q> const& b,
192  T z, vec<L, U, Q> const& c,
193  T w, vec<L, U, Q> const& d);
194 
197  template<length_t L, typename T, typename U, qualifier Q>
198  GLM_FUNC_DECL vec<L, U, Q> associatedMax(
199  vec<L, T, Q> const& x, U a,
200  vec<L, T, Q> const& y, U b,
201  vec<L, T, Q> const& z, U c,
202  vec<L, T, Q> const& w, U d);
203 
205 } //namespace glm
206 
207 #include "associated_min_max.inl"
GLM_FUNC_DECL vec< L, U, Q > associatedMax(vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c, vec< L, T, Q > const &w, U d)
Maximum comparison between 4 variables and returns 4 associated variable values.
GLM_FUNC_DECL vec< L, U, Q > associatedMin(vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c, vec< L, T, Q > const &w, U d)
Minimum comparison between 4 variables and returns 4 associated variable values.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00008.html ================================================ 0.9.9 API documentation: bit.hpp File Reference
0.9.9 API documentation
bit.hpp File Reference

GLM_GTX_bit More...

Go to the source code of this file.

Functions

template<typename genIUType >
GLM_FUNC_DECL genIUType highestBitValue (genIUType Value)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > highestBitValue (vec< L, T, Q > const &value)
 Find the highest bit set to 1 in a integer variable and return its value. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType lowestBitValue (genIUType Value)
 
template<typename genIUType >
GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoAbove (genIUType Value)
 Return the power of two number which value is just higher the input value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_DEPRECATED GLM_FUNC_DECL vec< L, T, Q > powerOfTwoAbove (vec< L, T, Q > const &value)
 Return the power of two number which value is just higher the input value. More...
 
template<typename genIUType >
GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoBelow (genIUType Value)
 Return the power of two number which value is just lower the input value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_DEPRECATED GLM_FUNC_DECL vec< L, T, Q > powerOfTwoBelow (vec< L, T, Q > const &value)
 Return the power of two number which value is just lower the input value. More...
 
template<typename genIUType >
GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoNearest (genIUType Value)
 Return the power of two number which value is the closet to the input value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_DEPRECATED GLM_FUNC_DECL vec< L, T, Q > powerOfTwoNearest (vec< L, T, Q > const &value)
 Return the power of two number which value is the closet to the input value. More...
 

Detailed Description

GLM_GTX_bit

See also
Core features (dependence)

Definition in file bit.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00008_source.html ================================================ 0.9.9 API documentation: bit.hpp Source File
0.9.9 API documentation
bit.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependencies
16 #include "../gtc/bitfield.hpp"
17 
18 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
19 # ifndef GLM_ENABLE_EXPERIMENTAL
20 # pragma message("GLM: GLM_GTX_bit is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
21 # else
22 # pragma message("GLM: GLM_GTX_bit extension included")
23 # endif
24 #endif
25 
26 namespace glm
27 {
30 
32  template<typename genIUType>
33  GLM_FUNC_DECL genIUType highestBitValue(genIUType Value);
34 
36  template<typename genIUType>
37  GLM_FUNC_DECL genIUType lowestBitValue(genIUType Value);
38 
42  template<length_t L, typename T, qualifier Q>
43  GLM_FUNC_DECL vec<L, T, Q> highestBitValue(vec<L, T, Q> const& value);
44 
50  template<typename genIUType>
51  GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoAbove(genIUType Value);
52 
58  template<length_t L, typename T, qualifier Q>
59  GLM_DEPRECATED GLM_FUNC_DECL vec<L, T, Q> powerOfTwoAbove(vec<L, T, Q> const& value);
60 
66  template<typename genIUType>
67  GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoBelow(genIUType Value);
68 
74  template<length_t L, typename T, qualifier Q>
75  GLM_DEPRECATED GLM_FUNC_DECL vec<L, T, Q> powerOfTwoBelow(vec<L, T, Q> const& value);
76 
82  template<typename genIUType>
83  GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoNearest(genIUType Value);
84 
90  template<length_t L, typename T, qualifier Q>
91  GLM_DEPRECATED GLM_FUNC_DECL vec<L, T, Q> powerOfTwoNearest(vec<L, T, Q> const& value);
92 
94 } //namespace glm
95 
96 
97 #include "bit.inl"
98 
GLM_FUNC_DECL vec< L, T, Q > highestBitValue(vec< L, T, Q > const &value)
Find the highest bit set to 1 in a integer variable and return its value.
GLM_DEPRECATED GLM_FUNC_DECL vec< L, T, Q > powerOfTwoBelow(vec< L, T, Q > const &value)
Return the power of two number which value is just lower the input value.
GLM_DEPRECATED GLM_FUNC_DECL vec< L, T, Q > powerOfTwoAbove(vec< L, T, Q > const &value)
Return the power of two number which value is just higher the input value.
GLM_DEPRECATED GLM_FUNC_DECL vec< L, T, Q > powerOfTwoNearest(vec< L, T, Q > const &value)
Return the power of two number which value is the closet to the input value.
GLM_FUNC_DECL genIUType lowestBitValue(genIUType Value)
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00009.html ================================================ 0.9.9 API documentation: bitfield.hpp File Reference
0.9.9 API documentation
bitfield.hpp File Reference

GLM_GTC_bitfield More...

Go to the source code of this file.

Functions

GLM_FUNC_DECL glm::u8vec2 bitfieldDeinterleave (glm::uint16 x)
 Deinterleaves the bits of x. More...
 
GLM_FUNC_DECL glm::u16vec2 bitfieldDeinterleave (glm::uint32 x)
 Deinterleaves the bits of x. More...
 
GLM_FUNC_DECL glm::u32vec2 bitfieldDeinterleave (glm::uint64 x)
 Deinterleaves the bits of x. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldFillOne (genIUType Value, int FirstBit, int BitCount)
 Set to 1 a range of bits. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > bitfieldFillOne (vec< L, T, Q > const &Value, int FirstBit, int BitCount)
 Set to 1 a range of bits. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldFillZero (genIUType Value, int FirstBit, int BitCount)
 Set to 0 a range of bits. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > bitfieldFillZero (vec< L, T, Q > const &Value, int FirstBit, int BitCount)
 Set to 0 a range of bits. More...
 
GLM_FUNC_DECL int16 bitfieldInterleave (int8 x, int8 y)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL uint16 bitfieldInterleave (uint8 x, uint8 y)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL uint16 bitfieldInterleave (u8vec2 const &v)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL int32 bitfieldInterleave (int16 x, int16 y)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint16 x, uint16 y)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL uint32 bitfieldInterleave (u16vec2 const &v)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL int64 bitfieldInterleave (int32 x, int32 y)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint32 x, uint32 y)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL uint64 bitfieldInterleave (u32vec2 const &v)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL int32 bitfieldInterleave (int8 x, int8 y, int8 z)
 Interleaves the bits of x, y and z. More...
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint8 x, uint8 y, uint8 z)
 Interleaves the bits of x, y and z. More...
 
GLM_FUNC_DECL int64 bitfieldInterleave (int16 x, int16 y, int16 z)
 Interleaves the bits of x, y and z. More...
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint16 x, uint16 y, uint16 z)
 Interleaves the bits of x, y and z. More...
 
GLM_FUNC_DECL int64 bitfieldInterleave (int32 x, int32 y, int32 z)
 Interleaves the bits of x, y and z. More...
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint32 x, uint32 y, uint32 z)
 Interleaves the bits of x, y and z. More...
 
GLM_FUNC_DECL int32 bitfieldInterleave (int8 x, int8 y, int8 z, int8 w)
 Interleaves the bits of x, y, z and w. More...
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint8 x, uint8 y, uint8 z, uint8 w)
 Interleaves the bits of x, y, z and w. More...
 
GLM_FUNC_DECL int64 bitfieldInterleave (int16 x, int16 y, int16 z, int16 w)
 Interleaves the bits of x, y, z and w. More...
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint16 x, uint16 y, uint16 z, uint16 w)
 Interleaves the bits of x, y, z and w. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldRotateLeft (genIUType In, int Shift)
 Rotate all bits to the left. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > bitfieldRotateLeft (vec< L, T, Q > const &In, int Shift)
 Rotate all bits to the left. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldRotateRight (genIUType In, int Shift)
 Rotate all bits to the right. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > bitfieldRotateRight (vec< L, T, Q > const &In, int Shift)
 Rotate all bits to the right. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType mask (genIUType Bits)
 Build a mask of 'count' bits. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > mask (vec< L, T, Q > const &v)
 Build a mask of 'count' bits. More...
 

Detailed Description

GLM_GTC_bitfield

See also
Core features (dependence)
GLM_GTC_bitfield (dependence)

Definition in file bitfield.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00009_source.html ================================================ 0.9.9 API documentation: bitfield.hpp Source File
0.9.9 API documentation
bitfield.hpp
Go to the documentation of this file.
1 
14 #include "../detail/setup.hpp"
15 
16 #pragma once
17 
18 // Dependencies
19 #include "../ext/scalar_int_sized.hpp"
20 #include "../ext/scalar_uint_sized.hpp"
21 #include "../detail/qualifier.hpp"
22 #include "../detail/_vectorize.hpp"
23 #include "type_precision.hpp"
24 #include <limits>
25 
26 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
27 # pragma message("GLM: GLM_GTC_bitfield extension included")
28 #endif
29 
30 namespace glm
31 {
34 
38  template<typename genIUType>
39  GLM_FUNC_DECL genIUType mask(genIUType Bits);
40 
48  template<length_t L, typename T, qualifier Q>
49  GLM_FUNC_DECL vec<L, T, Q> mask(vec<L, T, Q> const& v);
50 
54  template<typename genIUType>
55  GLM_FUNC_DECL genIUType bitfieldRotateRight(genIUType In, int Shift);
56 
64  template<length_t L, typename T, qualifier Q>
65  GLM_FUNC_DECL vec<L, T, Q> bitfieldRotateRight(vec<L, T, Q> const& In, int Shift);
66 
70  template<typename genIUType>
71  GLM_FUNC_DECL genIUType bitfieldRotateLeft(genIUType In, int Shift);
72 
80  template<length_t L, typename T, qualifier Q>
81  GLM_FUNC_DECL vec<L, T, Q> bitfieldRotateLeft(vec<L, T, Q> const& In, int Shift);
82 
86  template<typename genIUType>
87  GLM_FUNC_DECL genIUType bitfieldFillOne(genIUType Value, int FirstBit, int BitCount);
88 
96  template<length_t L, typename T, qualifier Q>
97  GLM_FUNC_DECL vec<L, T, Q> bitfieldFillOne(vec<L, T, Q> const& Value, int FirstBit, int BitCount);
98 
102  template<typename genIUType>
103  GLM_FUNC_DECL genIUType bitfieldFillZero(genIUType Value, int FirstBit, int BitCount);
104 
112  template<length_t L, typename T, qualifier Q>
113  GLM_FUNC_DECL vec<L, T, Q> bitfieldFillZero(vec<L, T, Q> const& Value, int FirstBit, int BitCount);
114 
120  GLM_FUNC_DECL int16 bitfieldInterleave(int8 x, int8 y);
121 
127  GLM_FUNC_DECL uint16 bitfieldInterleave(uint8 x, uint8 y);
128 
134  GLM_FUNC_DECL uint16 bitfieldInterleave(u8vec2 const& v);
135 
140 
146  GLM_FUNC_DECL int32 bitfieldInterleave(int16 x, int16 y);
147 
153  GLM_FUNC_DECL uint32 bitfieldInterleave(uint16 x, uint16 y);
154 
160  GLM_FUNC_DECL uint32 bitfieldInterleave(u16vec2 const& v);
161 
166 
172  GLM_FUNC_DECL int64 bitfieldInterleave(int32 x, int32 y);
173 
179  GLM_FUNC_DECL uint64 bitfieldInterleave(uint32 x, uint32 y);
180 
186  GLM_FUNC_DECL uint64 bitfieldInterleave(u32vec2 const& v);
187 
192 
198  GLM_FUNC_DECL int32 bitfieldInterleave(int8 x, int8 y, int8 z);
199 
205  GLM_FUNC_DECL uint32 bitfieldInterleave(uint8 x, uint8 y, uint8 z);
206 
212  GLM_FUNC_DECL int64 bitfieldInterleave(int16 x, int16 y, int16 z);
213 
219  GLM_FUNC_DECL uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z);
220 
226  GLM_FUNC_DECL int64 bitfieldInterleave(int32 x, int32 y, int32 z);
227 
233  GLM_FUNC_DECL uint64 bitfieldInterleave(uint32 x, uint32 y, uint32 z);
234 
240  GLM_FUNC_DECL int32 bitfieldInterleave(int8 x, int8 y, int8 z, int8 w);
241 
247  GLM_FUNC_DECL uint32 bitfieldInterleave(uint8 x, uint8 y, uint8 z, uint8 w);
248 
254  GLM_FUNC_DECL int64 bitfieldInterleave(int16 x, int16 y, int16 z, int16 w);
255 
261  GLM_FUNC_DECL uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z, uint16 w);
262 
264 } //namespace glm
265 
266 #include "bitfield.inl"
detail::uint32 uint32
32 bit unsigned integer type.
GLM_FUNC_DECL uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z, uint16 w)
Interleaves the bits of x, y, z and w.
GLM_FUNC_DECL glm::u32vec2 bitfieldDeinterleave(glm::uint64 x)
Deinterleaves the bits of x.
GLM_FUNC_DECL vec< L, T, Q > bitfieldFillZero(vec< L, T, Q > const &Value, int FirstBit, int BitCount)
Set to 0 a range of bits.
detail::uint16 uint16
16 bit unsigned integer type.
vec< 2, u8, defaultp > u8vec2
Default qualifier 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:340
GLM_FUNC_DECL vec< L, T, Q > bitfieldRotateLeft(vec< L, T, Q > const &In, int Shift)
Rotate all bits to the left.
GLM_FUNC_DECL vec< L, T, Q > mask(vec< L, T, Q > const &v)
Build a mask of 'count' bits.
detail::uint64 uint64
64 bit unsigned integer type.
GLM_FUNC_DECL vec< L, T, Q > bitfieldFillOne(vec< L, T, Q > const &Value, int FirstBit, int BitCount)
Set to 1 a range of bits.
GLM_GTC_type_precision
detail::int64 int64
64 bit signed integer type.
vec< 2, u32, defaultp > u32vec2
Default qualifier 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:380
GLM_FUNC_DECL vec< L, T, Q > bitfieldRotateRight(vec< L, T, Q > const &In, int Shift)
Rotate all bits to the right.
vec< 2, u16, defaultp > u16vec2
Default qualifier 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:360
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00010.html ================================================ 0.9.9 API documentation: closest_point.hpp File Reference
0.9.9 API documentation
closest_point.hpp File Reference

GLM_GTX_closest_point More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > closestPointOnLine (vec< 3, T, Q > const &point, vec< 3, T, Q > const &a, vec< 3, T, Q > const &b)
 Find the point on a straight line which is the closet of a point. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, T, Q > closestPointOnLine (vec< 2, T, Q > const &point, vec< 2, T, Q > const &a, vec< 2, T, Q > const &b)
 2d lines work as well
 

Detailed Description

GLM_GTX_closest_point

See also
Core features (dependence)

Definition in file closest_point.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00010_source.html ================================================ 0.9.9 API documentation: closest_point.hpp Source File
0.9.9 API documentation
closest_point.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependency:
16 #include "../glm.hpp"
17 
18 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
19 # ifndef GLM_ENABLE_EXPERIMENTAL
20 # pragma message("GLM: GLM_GTX_closest_point is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
21 # else
22 # pragma message("GLM: GLM_GTX_closest_point extension included")
23 # endif
24 #endif
25 
26 namespace glm
27 {
30 
33  template<typename T, qualifier Q>
34  GLM_FUNC_DECL vec<3, T, Q> closestPointOnLine(
35  vec<3, T, Q> const& point,
36  vec<3, T, Q> const& a,
37  vec<3, T, Q> const& b);
38 
40  template<typename T, qualifier Q>
41  GLM_FUNC_DECL vec<2, T, Q> closestPointOnLine(
42  vec<2, T, Q> const& point,
43  vec<2, T, Q> const& a,
44  vec<2, T, Q> const& b);
45 
47 }// namespace glm
48 
49 #include "closest_point.inl"
GLM_FUNC_DECL vec< 2, T, Q > closestPointOnLine(vec< 2, T, Q > const &point, vec< 2, T, Q > const &a, vec< 2, T, Q > const &b)
2d lines work as well
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00011.html ================================================ 0.9.9 API documentation: color_encoding.hpp File Reference
0.9.9 API documentation
color_encoding.hpp File Reference

GLM_GTX_color_encoding More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > convertD65XYZToD50XYZ (vec< 3, T, Q > const &ColorD65XYZ)
 Convert a D65 YUV color to D50 YUV.
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > convertD65XYZToLinearSRGB (vec< 3, T, Q > const &ColorD65XYZ)
 Convert a D65 YUV color to linear sRGB.
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > convertLinearSRGBToD50XYZ (vec< 3, T, Q > const &ColorLinearSRGB)
 Convert a linear sRGB color to D50 YUV.
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > convertLinearSRGBToD65XYZ (vec< 3, T, Q > const &ColorLinearSRGB)
 Convert a linear sRGB color to D65 YUV.
 

Detailed Description

GLM_GTX_color_encoding

See also
Core features (dependence)
GLM_GTX_color_encoding (dependence)

Definition in file color_encoding.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00011_source.html ================================================ 0.9.9 API documentation: color_encoding.hpp Source File
0.9.9 API documentation
color_encoding.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependencies
17 #include "../detail/setup.hpp"
18 #include "../detail/qualifier.hpp"
19 #include "../vec3.hpp"
20 #include <limits>
21 
22 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
23 # ifndef GLM_ENABLE_EXPERIMENTAL
24 # pragma message("GLM: GLM_GTC_color_encoding is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
25 # else
26 # pragma message("GLM: GLM_GTC_color_encoding extension included")
27 # endif
28 #endif
29 
30 namespace glm
31 {
34 
36  template<typename T, qualifier Q>
37  GLM_FUNC_DECL vec<3, T, Q> convertLinearSRGBToD65XYZ(vec<3, T, Q> const& ColorLinearSRGB);
38 
40  template<typename T, qualifier Q>
41  GLM_FUNC_DECL vec<3, T, Q> convertLinearSRGBToD50XYZ(vec<3, T, Q> const& ColorLinearSRGB);
42 
44  template<typename T, qualifier Q>
45  GLM_FUNC_DECL vec<3, T, Q> convertD65XYZToLinearSRGB(vec<3, T, Q> const& ColorD65XYZ);
46 
48  template<typename T, qualifier Q>
49  GLM_FUNC_DECL vec<3, T, Q> convertD65XYZToD50XYZ(vec<3, T, Q> const& ColorD65XYZ);
50 
52 } //namespace glm
53 
54 #include "color_encoding.inl"
GLM_FUNC_DECL vec< 3, T, Q > convertD65XYZToLinearSRGB(vec< 3, T, Q > const &ColorD65XYZ)
Convert a D65 YUV color to linear sRGB.
GLM_FUNC_DECL vec< 3, T, Q > convertLinearSRGBToD50XYZ(vec< 3, T, Q > const &ColorLinearSRGB)
Convert a linear sRGB color to D50 YUV.
GLM_FUNC_DECL vec< 3, T, Q > convertLinearSRGBToD65XYZ(vec< 3, T, Q > const &ColorLinearSRGB)
Convert a linear sRGB color to D65 YUV.
GLM_FUNC_DECL vec< 3, T, Q > convertD65XYZToD50XYZ(vec< 3, T, Q > const &ColorD65XYZ)
Convert a D65 YUV color to D50 YUV.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00012.html ================================================ 0.9.9 API documentation: color_space.hpp File Reference
0.9.9 API documentation
gtc/color_space.hpp File Reference

GLM_GTC_color_space More...

Go to the source code of this file.

Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > convertLinearToSRGB (vec< L, T, Q > const &ColorLinear)
 Convert a linear color to sRGB color using a standard gamma correction. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > convertLinearToSRGB (vec< L, T, Q > const &ColorLinear, T Gamma)
 Convert a linear color to sRGB color using a custom gamma correction. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > convertSRGBToLinear (vec< L, T, Q > const &ColorSRGB)
 Convert a sRGB color to linear color using a standard gamma correction. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > convertSRGBToLinear (vec< L, T, Q > const &ColorSRGB, T Gamma)
 Convert a sRGB color to linear color using a custom gamma correction.
 

Detailed Description

GLM_GTC_color_space

See also
Core features (dependence)
GLM_GTC_color_space (dependence)

Definition in file gtc/color_space.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00012_source.html ================================================ 0.9.9 API documentation: color_space.hpp Source File
0.9.9 API documentation
gtc/color_space.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependencies
17 #include "../detail/setup.hpp"
18 #include "../detail/qualifier.hpp"
19 #include "../exponential.hpp"
20 #include "../vec3.hpp"
21 #include "../vec4.hpp"
22 #include <limits>
23 
24 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
25 # pragma message("GLM: GLM_GTC_color_space extension included")
26 #endif
27 
28 namespace glm
29 {
32 
35  template<length_t L, typename T, qualifier Q>
36  GLM_FUNC_DECL vec<L, T, Q> convertLinearToSRGB(vec<L, T, Q> const& ColorLinear);
37 
40  template<length_t L, typename T, qualifier Q>
41  GLM_FUNC_DECL vec<L, T, Q> convertLinearToSRGB(vec<L, T, Q> const& ColorLinear, T Gamma);
42 
45  template<length_t L, typename T, qualifier Q>
46  GLM_FUNC_DECL vec<L, T, Q> convertSRGBToLinear(vec<L, T, Q> const& ColorSRGB);
47 
49  // IEC 61966-2-1:1999 / Rec. 709 specification https://www.w3.org/Graphics/Color/srgb
50  template<length_t L, typename T, qualifier Q>
51  GLM_FUNC_DECL vec<L, T, Q> convertSRGBToLinear(vec<L, T, Q> const& ColorSRGB, T Gamma);
52 
54 } //namespace glm
55 
56 #include "color_space.inl"
GLM_FUNC_DECL vec< L, T, Q > convertLinearToSRGB(vec< L, T, Q > const &ColorLinear, T Gamma)
Convert a linear color to sRGB color using a custom gamma correction.
GLM_FUNC_DECL vec< L, T, Q > convertSRGBToLinear(vec< L, T, Q > const &ColorSRGB, T Gamma)
Convert a sRGB color to linear color using a custom gamma correction.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00013.html ================================================ 0.9.9 API documentation: color_space.hpp File Reference
0.9.9 API documentation
gtx/color_space.hpp File Reference

GLM_GTX_color_space More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > hsvColor (vec< 3, T, Q > const &rgbValue)
 Converts a color from RGB color space to its color in HSV color space. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T luminosity (vec< 3, T, Q > const &color)
 Compute color luminosity associating ratios (0.33, 0.59, 0.11) to RGB canals. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rgbColor (vec< 3, T, Q > const &hsvValue)
 Converts a color from HSV color space to its color in RGB color space. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > saturation (T const s)
 Build a saturation matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > saturation (T const s, vec< 3, T, Q > const &color)
 Modify the saturation of a color. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > saturation (T const s, vec< 4, T, Q > const &color)
 Modify the saturation of a color. More...
 

Detailed Description

GLM_GTX_color_space

See also
Core features (dependence)

Definition in file gtx/color_space.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00013_source.html ================================================ 0.9.9 API documentation: color_space.hpp Source File
0.9.9 API documentation
gtx/color_space.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependency:
16 #include "../glm.hpp"
17 
18 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
19 # ifndef GLM_ENABLE_EXPERIMENTAL
20 # pragma message("GLM: GLM_GTX_color_space is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
21 # else
22 # pragma message("GLM: GLM_GTX_color_space extension included")
23 # endif
24 #endif
25 
26 namespace glm
27 {
30 
33  template<typename T, qualifier Q>
34  GLM_FUNC_DECL vec<3, T, Q> rgbColor(
35  vec<3, T, Q> const& hsvValue);
36 
39  template<typename T, qualifier Q>
40  GLM_FUNC_DECL vec<3, T, Q> hsvColor(
41  vec<3, T, Q> const& rgbValue);
42 
45  template<typename T>
46  GLM_FUNC_DECL mat<4, 4, T, defaultp> saturation(
47  T const s);
48 
51  template<typename T, qualifier Q>
52  GLM_FUNC_DECL vec<3, T, Q> saturation(
53  T const s,
54  vec<3, T, Q> const& color);
55 
58  template<typename T, qualifier Q>
59  GLM_FUNC_DECL vec<4, T, Q> saturation(
60  T const s,
61  vec<4, T, Q> const& color);
62 
65  template<typename T, qualifier Q>
66  GLM_FUNC_DECL T luminosity(
67  vec<3, T, Q> const& color);
68 
70 }//namespace glm
71 
72 #include "color_space.inl"
GLM_FUNC_DECL T luminosity(vec< 3, T, Q > const &color)
Compute color luminosity associating ratios (0.33, 0.59, 0.11) to RGB canals.
GLM_FUNC_DECL vec< 4, T, Q > saturation(T const s, vec< 4, T, Q > const &color)
Modify the saturation of a color.
GLM_FUNC_DECL vec< 3, T, Q > rgbColor(vec< 3, T, Q > const &hsvValue)
Converts a color from HSV color space to its color in RGB color space.
GLM_FUNC_DECL vec< 3, T, Q > hsvColor(vec< 3, T, Q > const &rgbValue)
Converts a color from RGB color space to its color in HSV color space.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00014.html ================================================ 0.9.9 API documentation: color_space_YCoCg.hpp File Reference
0.9.9 API documentation
color_space_YCoCg.hpp File Reference

GLM_GTX_color_space_YCoCg More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rgb2YCoCg (vec< 3, T, Q > const &rgbColor)
 Convert a color from RGB color space to YCoCg color space. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rgb2YCoCgR (vec< 3, T, Q > const &rgbColor)
 Convert a color from RGB color space to YCoCgR color space. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > YCoCg2rgb (vec< 3, T, Q > const &YCoCgColor)
 Convert a color from YCoCg color space to RGB color space. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > YCoCgR2rgb (vec< 3, T, Q > const &YCoCgColor)
 Convert a color from YCoCgR color space to RGB color space. More...
 

Detailed Description

GLM_GTX_color_space_YCoCg

See also
Core features (dependence)

Definition in file color_space_YCoCg.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00014_source.html ================================================ 0.9.9 API documentation: color_space_YCoCg.hpp Source File
0.9.9 API documentation
color_space_YCoCg.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependency:
16 #include "../glm.hpp"
17 
18 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
19 # ifndef GLM_ENABLE_EXPERIMENTAL
20 # pragma message("GLM: GLM_GTX_color_space_YCoCg is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
21 # else
22 # pragma message("GLM: GLM_GTX_color_space_YCoCg extension included")
23 # endif
24 #endif
25 
26 namespace glm
27 {
30 
33  template<typename T, qualifier Q>
34  GLM_FUNC_DECL vec<3, T, Q> rgb2YCoCg(
35  vec<3, T, Q> const& rgbColor);
36 
39  template<typename T, qualifier Q>
40  GLM_FUNC_DECL vec<3, T, Q> YCoCg2rgb(
41  vec<3, T, Q> const& YCoCgColor);
42 
46  template<typename T, qualifier Q>
47  GLM_FUNC_DECL vec<3, T, Q> rgb2YCoCgR(
48  vec<3, T, Q> const& rgbColor);
49 
53  template<typename T, qualifier Q>
54  GLM_FUNC_DECL vec<3, T, Q> YCoCgR2rgb(
55  vec<3, T, Q> const& YCoCgColor);
56 
58 }//namespace glm
59 
60 #include "color_space_YCoCg.inl"
GLM_FUNC_DECL vec< 3, T, Q > YCoCgR2rgb(vec< 3, T, Q > const &YCoCgColor)
Convert a color from YCoCgR color space to RGB color space.
GLM_FUNC_DECL vec< 3, T, Q > YCoCg2rgb(vec< 3, T, Q > const &YCoCgColor)
Convert a color from YCoCg color space to RGB color space.
GLM_FUNC_DECL vec< 3, T, Q > rgbColor(vec< 3, T, Q > const &hsvValue)
Converts a color from HSV color space to its color in RGB color space.
GLM_FUNC_DECL vec< 3, T, Q > rgb2YCoCg(vec< 3, T, Q > const &rgbColor)
Convert a color from RGB color space to YCoCg color space.
GLM_FUNC_DECL vec< 3, T, Q > rgb2YCoCgR(vec< 3, T, Q > const &rgbColor)
Convert a color from RGB color space to YCoCgR color space.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00015.html ================================================ 0.9.9 API documentation: common.hpp File Reference
0.9.9 API documentation
common.hpp File Reference

Core features More...

Go to the source code of this file.

Functions

template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType abs (genType x)
 Returns x if x >= 0; otherwise, it returns -x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > abs (vec< L, T, Q > const &x)
 Returns x if x >= 0; otherwise, it returns -x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > ceil (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer that is greater than or equal to x. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType clamp (genType x, genType minVal, genType maxVal)
 Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > clamp (vec< L, T, Q > const &x, T minVal, T maxVal)
 Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > clamp (vec< L, T, Q > const &x, vec< L, T, Q > const &minVal, vec< L, T, Q > const &maxVal)
 Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal. More...
 
GLM_FUNC_DECL int floatBitsToInt (float const &v)
 Returns a signed integer value representing the encoding of a floating-point value. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > floatBitsToInt (vec< L, float, Q > const &v)
 Returns a signed integer value representing the encoding of a floating-point value. More...
 
GLM_FUNC_DECL uint floatBitsToUint (float const &v)
 Returns a unsigned integer value representing the encoding of a floating-point value. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, uint, Q > floatBitsToUint (vec< L, float, Q > const &v)
 Returns a unsigned integer value representing the encoding of a floating-point value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > floor (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer that is less then or equal to x. More...
 
template<typename genType >
GLM_FUNC_DECL genType fma (genType const &a, genType const &b, genType const &c)
 Computes and returns a * b + c. More...
 
template<typename genType >
GLM_FUNC_DECL genType fract (genType x)
 Return x - floor(x). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fract (vec< L, T, Q > const &x)
 Return x - floor(x). More...
 
template<typename genType >
GLM_FUNC_DECL genType frexp (genType x, int &exp)
 Splits x into a floating-point significand in the range [0.5, 1.0) and an integral exponent of two, such that: x = significand * exp(2, exponent) More...
 
GLM_FUNC_DECL float intBitsToFloat (int const &v)
 Returns a floating-point value corresponding to a signed integer encoding of a floating-point value. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, float, Q > intBitsToFloat (vec< L, int, Q > const &v)
 Returns a floating-point value corresponding to a signed integer encoding of a floating-point value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > isinf (vec< L, T, Q > const &x)
 Returns true if x holds a positive infinity or negative infinity representation in the underlying implementation's set of floating point representations. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > isnan (vec< L, T, Q > const &x)
 Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of floating point representations. More...
 
template<typename genType >
GLM_FUNC_DECL genType ldexp (genType const &x, int const &exp)
 Builds a floating-point number from x and the corresponding integral exponent of two in exp, returning: significand * exp(2, exponent) More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType max (genType x, genType y)
 Returns y if x < y; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > max (vec< L, T, Q > const &x, T y)
 Returns y if x < y; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > max (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns y if x < y; otherwise, it returns x. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType min (genType x, genType y)
 Returns y if y < x; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > min (vec< L, T, Q > const &x, T y)
 Returns y if y < x; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > min (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns y if y < x; otherwise, it returns x. More...
 
template<typename genTypeT , typename genTypeU >
GLM_FUNC_DECL genTypeT mix (genTypeT x, genTypeT y, genTypeU a)
 If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > mod (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Modulus. More...
 
template<typename genType >
GLM_FUNC_DECL genType modf (genType x, genType &i)
 Returns the fractional part of x and sets i to the integer part (as a whole number floating point value). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > round (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer to x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > roundEven (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer to x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > sign (vec< L, T, Q > const &x)
 Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0. More...
 
template<typename genType >
GLM_FUNC_DECL genType smoothstep (genType edge0, genType edge1, genType x)
 Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 and 1 when edge0 < x < edge1. More...
 
template<typename genType >
GLM_FUNC_DECL genType step (genType edge, genType x)
 Returns 0.0 if x < edge, otherwise it returns 1.0 for each component of a genType. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > step (T edge, vec< L, T, Q > const &x)
 Returns 0.0 if x < edge, otherwise it returns 1.0. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > step (vec< L, T, Q > const &edge, vec< L, T, Q > const &x)
 Returns 0.0 if x < edge, otherwise it returns 1.0. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > trunc (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolute value of x. More...
 
GLM_FUNC_DECL float uintBitsToFloat (uint const &v)
 Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, float, Q > uintBitsToFloat (vec< L, uint, Q > const &v)
 Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00015_source.html ================================================ 0.9.9 API documentation: common.hpp Source File
0.9.9 API documentation
common.hpp
Go to the documentation of this file.
1 
15 #pragma once
16 
17 #include "detail/qualifier.hpp"
18 #include "detail/_fixes.hpp"
19 
20 namespace glm
21 {
24 
31  template<typename genType>
32  GLM_FUNC_DECL GLM_CONSTEXPR genType abs(genType x);
33 
42  template<length_t L, typename T, qualifier Q>
43  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> abs(vec<L, T, Q> const& x);
44 
53  template<length_t L, typename T, qualifier Q>
54  GLM_FUNC_DECL vec<L, T, Q> sign(vec<L, T, Q> const& x);
55 
64  template<length_t L, typename T, qualifier Q>
65  GLM_FUNC_DECL vec<L, T, Q> floor(vec<L, T, Q> const& x);
66 
76  template<length_t L, typename T, qualifier Q>
77  GLM_FUNC_DECL vec<L, T, Q> trunc(vec<L, T, Q> const& x);
78 
91  template<length_t L, typename T, qualifier Q>
92  GLM_FUNC_DECL vec<L, T, Q> round(vec<L, T, Q> const& x);
93 
105  template<length_t L, typename T, qualifier Q>
106  GLM_FUNC_DECL vec<L, T, Q> roundEven(vec<L, T, Q> const& x);
107 
117  template<length_t L, typename T, qualifier Q>
118  GLM_FUNC_DECL vec<L, T, Q> ceil(vec<L, T, Q> const& x);
119 
126  template<typename genType>
127  GLM_FUNC_DECL genType fract(genType x);
128 
137  template<length_t L, typename T, qualifier Q>
138  GLM_FUNC_DECL vec<L, T, Q> fract(vec<L, T, Q> const& x);
139 
140  template<typename genType>
141  GLM_FUNC_DECL genType mod(genType x, genType y);
142 
143  template<length_t L, typename T, qualifier Q>
144  GLM_FUNC_DECL vec<L, T, Q> mod(vec<L, T, Q> const& x, T y);
145 
155  template<length_t L, typename T, qualifier Q>
156  GLM_FUNC_DECL vec<L, T, Q> mod(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
157 
167  template<typename genType>
168  GLM_FUNC_DECL genType modf(genType x, genType& i);
169 
176  template<typename genType>
177  GLM_FUNC_DECL GLM_CONSTEXPR genType min(genType x, genType y);
178 
187  template<length_t L, typename T, qualifier Q>
188  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> min(vec<L, T, Q> const& x, T y);
189 
198  template<length_t L, typename T, qualifier Q>
199  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> min(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
200 
207  template<typename genType>
208  GLM_FUNC_DECL GLM_CONSTEXPR genType max(genType x, genType y);
209 
218  template<length_t L, typename T, qualifier Q>
219  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> max(vec<L, T, Q> const& x, T y);
220 
229  template<length_t L, typename T, qualifier Q>
230  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> max(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
231 
239  template<typename genType>
240  GLM_FUNC_DECL GLM_CONSTEXPR genType clamp(genType x, genType minVal, genType maxVal);
241 
251  template<length_t L, typename T, qualifier Q>
252  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> clamp(vec<L, T, Q> const& x, T minVal, T maxVal);
253 
263  template<length_t L, typename T, qualifier Q>
264  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> clamp(vec<L, T, Q> const& x, vec<L, T, Q> const& minVal, vec<L, T, Q> const& maxVal);
265 
308  template<typename genTypeT, typename genTypeU>
309  GLM_FUNC_DECL genTypeT mix(genTypeT x, genTypeT y, genTypeU a);
310 
311  template<length_t L, typename T, typename U, qualifier Q>
312  GLM_FUNC_DECL vec<L, T, Q> mix(vec<L, T, Q> const& x, vec<L, T, Q> const& y, vec<L, U, Q> const& a);
313 
314  template<length_t L, typename T, typename U, qualifier Q>
315  GLM_FUNC_DECL vec<L, T, Q> mix(vec<L, T, Q> const& x, vec<L, T, Q> const& y, U a);
316 
321  template<typename genType>
322  GLM_FUNC_DECL genType step(genType edge, genType x);
323 
332  template<length_t L, typename T, qualifier Q>
333  GLM_FUNC_DECL vec<L, T, Q> step(T edge, vec<L, T, Q> const& x);
334 
343  template<length_t L, typename T, qualifier Q>
344  GLM_FUNC_DECL vec<L, T, Q> step(vec<L, T, Q> const& edge, vec<L, T, Q> const& x);
345 
360  template<typename genType>
361  GLM_FUNC_DECL genType smoothstep(genType edge0, genType edge1, genType x);
362 
363  template<length_t L, typename T, qualifier Q>
364  GLM_FUNC_DECL vec<L, T, Q> smoothstep(T edge0, T edge1, vec<L, T, Q> const& x);
365 
366  template<length_t L, typename T, qualifier Q>
367  GLM_FUNC_DECL vec<L, T, Q> smoothstep(vec<L, T, Q> const& edge0, vec<L, T, Q> const& edge1, vec<L, T, Q> const& x);
368 
383  template<length_t L, typename T, qualifier Q>
384  GLM_FUNC_DECL vec<L, bool, Q> isnan(vec<L, T, Q> const& x);
385 
398  template<length_t L, typename T, qualifier Q>
399  GLM_FUNC_DECL vec<L, bool, Q> isinf(vec<L, T, Q> const& x);
400 
407  GLM_FUNC_DECL int floatBitsToInt(float const& v);
408 
418  template<length_t L, qualifier Q>
419  GLM_FUNC_DECL vec<L, int, Q> floatBitsToInt(vec<L, float, Q> const& v);
420 
427  GLM_FUNC_DECL uint floatBitsToUint(float const& v);
428 
438  template<length_t L, qualifier Q>
439  GLM_FUNC_DECL vec<L, uint, Q> floatBitsToUint(vec<L, float, Q> const& v);
440 
449  GLM_FUNC_DECL float intBitsToFloat(int const& v);
450 
462  template<length_t L, qualifier Q>
463  GLM_FUNC_DECL vec<L, float, Q> intBitsToFloat(vec<L, int, Q> const& v);
464 
473  GLM_FUNC_DECL float uintBitsToFloat(uint const& v);
474 
486  template<length_t L, qualifier Q>
487  GLM_FUNC_DECL vec<L, float, Q> uintBitsToFloat(vec<L, uint, Q> const& v);
488 
495  template<typename genType>
496  GLM_FUNC_DECL genType fma(genType const& a, genType const& b, genType const& c);
497 
512  template<typename genType>
513  GLM_FUNC_DECL genType frexp(genType x, int& exp);
514 
515  template<length_t L, typename T, qualifier Q>
516  GLM_FUNC_DECL vec<L, T, Q> frexp(vec<L, T, Q> const& v, vec<L, int, Q>& exp);
517 
529  template<typename genType>
530  GLM_FUNC_DECL genType ldexp(genType const& x, int const& exp);
531 
532  template<length_t L, typename T, qualifier Q>
533  GLM_FUNC_DECL vec<L, T, Q> ldexp(vec<L, T, Q> const& v, vec<L, int, Q> const& exp);
534 
536 }//namespace glm
537 
538 #include "detail/func_common.inl"
539 
GLM_FUNC_DECL vec< L, T, Q > floor(vec< L, T, Q > const &x)
Returns a value equal to the nearest integer that is less then or equal to x.
GLM_FUNC_DECL genType fma(genType const &a, genType const &b, genType const &c)
Computes and returns a * b + c.
GLM_FUNC_DECL vec< L, T, Q > trunc(vec< L, T, Q > const &x)
Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolut...
GLM_FUNC_DECL vec< L, T, Q > mod(vec< L, T, Q > const &x, vec< L, T, Q > const &y)
Modulus.
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > clamp(vec< L, T, Q > const &x, vec< L, T, Q > const &minVal, vec< L, T, Q > const &maxVal)
Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...
GLM_FUNC_DECL vec< L, T, Q > round(vec< L, T, Q > const &x)
Returns a value equal to the nearest integer to x.
GLM_FUNC_DECL vec< L, float, Q > uintBitsToFloat(vec< L, uint, Q > const &v)
Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value...
GLM_FUNC_DECL vec< L, T, Q > sign(vec< L, T, Q > const &x)
Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0.
GLM_FUNC_DECL vec< L, bool, Q > isinf(vec< L, T, Q > const &x)
Returns true if x holds a positive infinity or negative infinity representation in the underlying imp...
GLM_FUNC_DECL vec< L, T, Q > roundEven(vec< L, T, Q > const &x)
Returns a value equal to the nearest integer to x.
GLM_FUNC_DECL genType modf(genType x, genType &i)
Returns the fractional part of x and sets i to the integer part (as a whole number floating point val...
GLM_FUNC_DECL vec< L, T, Q > ceil(vec< L, T, Q > const &x)
Returns a value equal to the nearest integer that is greater than or equal to x.
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > min(vec< L, T, Q > const &x, vec< L, T, Q > const &y)
Returns y if y < x; otherwise, it returns x.
GLM_FUNC_DECL vec< L, float, Q > intBitsToFloat(vec< L, int, Q > const &v)
Returns a floating-point value corresponding to a signed integer encoding of a floating-point value...
GLM_FUNC_DECL vec< L, bool, Q > isnan(vec< L, T, Q > const &x)
Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of...
GLM_FUNC_DECL vec< L, T, Q > exp(vec< L, T, Q > const &v)
Returns the natural exponentiation of x, i.e., e^x.
GLM_FUNC_DECL vec< L, uint, Q > floatBitsToUint(vec< L, float, Q > const &v)
Returns a unsigned integer value representing the encoding of a floating-point value.
GLM_FUNC_DECL genType smoothstep(genType edge0, genType edge1, genType x)
Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 a...
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > abs(vec< L, T, Q > const &x)
Returns x if x >= 0; otherwise, it returns -x.
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > max(vec< L, T, Q > const &x, vec< L, T, Q > const &y)
Returns y if x < y; otherwise, it returns x.
GLM_FUNC_DECL vec< L, T, Q > step(vec< L, T, Q > const &edge, vec< L, T, Q > const &x)
Returns 0.0 if x < edge, otherwise it returns 1.0.
GLM_FUNC_DECL vec< L, T, Q > fract(vec< L, T, Q > const &x)
Return x - floor(x).
GLM_FUNC_DECL genType ldexp(genType const &x, int const &exp)
Builds a floating-point number from x and the corresponding integral exponent of two in exp...
GLM_FUNC_DECL vec< L, int, Q > floatBitsToInt(vec< L, float, Q > const &v)
Returns a signed integer value representing the encoding of a floating-point value.
GLM_FUNC_DECL genTypeT mix(genTypeT x, genTypeT y, genTypeU a)
If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...
GLM_FUNC_DECL genType frexp(genType x, int &exp)
Splits x into a floating-point significand in the range [0.5, 1.0) and an integral exponent of two...
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00016.html ================================================ 0.9.9 API documentation: common.hpp File Reference
0.9.9 API documentation
gtx/common.hpp File Reference

GLM_GTX_common More...

Go to the source code of this file.

Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > closeBounded (vec< L, T, Q > const &Value, vec< L, T, Q > const &Min, vec< L, T, Q > const &Max)
 Returns whether vector components values are within an interval. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmod (vec< L, T, Q > const &v)
 Similar to 'mod' but with a different rounding and integer support. More...
 
template<typename genType >
GLM_FUNC_DECL genType::bool_type isdenormal (genType const &x)
 Returns true if x is a denormalized number Numbers whose absolute value is too small to be represented in the normal format are represented in an alternate, denormalized format. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > openBounded (vec< L, T, Q > const &Value, vec< L, T, Q > const &Min, vec< L, T, Q > const &Max)
 Returns whether vector components values are within an interval. More...
 

Detailed Description

GLM_GTX_common

See also
Core features (dependence)

Definition in file gtx/common.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00016_source.html ================================================ 0.9.9 API documentation: common.hpp Source File
0.9.9 API documentation
gtx/common.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependencies:
16 #include "../vec2.hpp"
17 #include "../vec3.hpp"
18 #include "../vec4.hpp"
19 #include "../gtc/vec1.hpp"
20 
21 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
22 # ifndef GLM_ENABLE_EXPERIMENTAL
23 # pragma message("GLM: GLM_GTX_common is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
24 # else
25 # pragma message("GLM: GLM_GTX_common extension included")
26 # endif
27 #endif
28 
29 namespace glm
30 {
33 
42  template<typename genType>
43  GLM_FUNC_DECL typename genType::bool_type isdenormal(genType const& x);
44 
50  template<length_t L, typename T, qualifier Q>
51  GLM_FUNC_DECL vec<L, T, Q> fmod(vec<L, T, Q> const& v);
52 
60  template <length_t L, typename T, qualifier Q>
61  GLM_FUNC_DECL vec<L, bool, Q> openBounded(vec<L, T, Q> const& Value, vec<L, T, Q> const& Min, vec<L, T, Q> const& Max);
62 
70  template <length_t L, typename T, qualifier Q>
71  GLM_FUNC_DECL vec<L, bool, Q> closeBounded(vec<L, T, Q> const& Value, vec<L, T, Q> const& Min, vec<L, T, Q> const& Max);
72 
74 }//namespace glm
75 
76 #include "common.inl"
GLM_FUNC_DECL vec< L, T, Q > fmod(vec< L, T, Q > const &v)
Similar to 'mod' but with a different rounding and integer support.
GLM_FUNC_DECL vec< L, bool, Q > openBounded(vec< L, T, Q > const &Value, vec< L, T, Q > const &Min, vec< L, T, Q > const &Max)
Returns whether vector components values are within an interval.
GLM_FUNC_DECL genType::bool_type isdenormal(genType const &x)
Returns true if x is a denormalized number Numbers whose absolute value is too small to be represente...
Definition: common.hpp:20
GLM_FUNC_DECL vec< L, bool, Q > closeBounded(vec< L, T, Q > const &Value, vec< L, T, Q > const &Min, vec< L, T, Q > const &Max)
Returns whether vector components values are within an interval.
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00017.html ================================================ 0.9.9 API documentation: compatibility.hpp File Reference
0.9.9 API documentation
compatibility.hpp File Reference

GLM_GTX_compatibility More...

Go to the source code of this file.

Typedefs

typedef bool bool1
 boolean type with 1 component. (From GLM_GTX_compatibility extension)
 
typedef bool bool1x1
 boolean matrix with 1 x 1 component. (From GLM_GTX_compatibility extension)
 
typedef vec< 2, bool, highp > bool2
 boolean type with 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 2, bool, highp > bool2x2
 boolean matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 3, bool, highp > bool2x3
 boolean matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 4, bool, highp > bool2x4
 boolean matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 3, bool, highp > bool3
 boolean type with 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 2, bool, highp > bool3x2
 boolean matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 3, bool, highp > bool3x3
 boolean matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 4, bool, highp > bool3x4
 boolean matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 4, bool, highp > bool4
 boolean type with 4 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 2, bool, highp > bool4x2
 boolean matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 3, bool, highp > bool4x3
 boolean matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 4, bool, highp > bool4x4
 boolean matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef double double1
 double-qualifier floating-point vector with 1 component. (From GLM_GTX_compatibility extension)
 
typedef double double1x1
 double-qualifier floating-point matrix with 1 component. (From GLM_GTX_compatibility extension)
 
typedef vec< 2, double, highp > double2
 double-qualifier floating-point vector with 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 2, double, highp > double2x2
 double-qualifier floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 3, double, highp > double2x3
 double-qualifier floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 4, double, highp > double2x4
 double-qualifier floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 3, double, highp > double3
 double-qualifier floating-point vector with 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 2, double, highp > double3x2
 double-qualifier floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 3, double, highp > double3x3
 double-qualifier floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 4, double, highp > double3x4
 double-qualifier floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 4, double, highp > double4
 double-qualifier floating-point vector with 4 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 2, double, highp > double4x2
 double-qualifier floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 3, double, highp > double4x3
 double-qualifier floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 4, double, highp > double4x4
 double-qualifier floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef float float1
 single-qualifier floating-point vector with 1 component. (From GLM_GTX_compatibility extension)
 
typedef float float1x1
 single-qualifier floating-point matrix with 1 component. (From GLM_GTX_compatibility extension)
 
typedef vec< 2, float, highp > float2
 single-qualifier floating-point vector with 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 2, float, highp > float2x2
 single-qualifier floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 3, float, highp > float2x3
 single-qualifier floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 4, float, highp > float2x4
 single-qualifier floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 3, float, highp > float3
 single-qualifier floating-point vector with 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 2, float, highp > float3x2
 single-qualifier floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 3, float, highp > float3x3
 single-qualifier floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 4, float, highp > float3x4
 single-qualifier floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 4, float, highp > float4
 single-qualifier floating-point vector with 4 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 2, float, highp > float4x2
 single-qualifier floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 3, float, highp > float4x3
 single-qualifier floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 4, float, highp > float4x4
 single-qualifier floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef int int1
 integer vector with 1 component. (From GLM_GTX_compatibility extension)
 
typedef int int1x1
 integer matrix with 1 component. (From GLM_GTX_compatibility extension)
 
typedef vec< 2, int, highp > int2
 integer vector with 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 2, int, highp > int2x2
 integer matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 3, int, highp > int2x3
 integer matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 4, int, highp > int2x4
 integer matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 3, int, highp > int3
 integer vector with 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 2, int, highp > int3x2
 integer matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 3, int, highp > int3x3
 integer matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 4, int, highp > int3x4
 integer matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 4, int, highp > int4
 integer vector with 4 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 2, int, highp > int4x2
 integer matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 3, int, highp > int4x3
 integer matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 4, int, highp > int4x4
 integer matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
 

Functions

template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T atan2 (T x, T y)
 Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > atan2 (const vec< 2, T, Q > &x, const vec< 2, T, Q > &y)
 Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > atan2 (const vec< 3, T, Q > &x, const vec< 3, T, Q > &y)
 Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > atan2 (const vec< 4, T, Q > &x, const vec< 4, T, Q > &y)
 Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
 
template<typename genType >
GLM_FUNC_DECL bool isfinite (genType const &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 1, bool, Q > isfinite (const vec< 1, T, Q > &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, bool, Q > isfinite (const vec< 2, T, Q > &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, bool, Q > isfinite (const vec< 3, T, Q > &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > isfinite (const vec< 4, T, Q > &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
 
template<typename T >
GLM_FUNC_QUALIFIER T lerp (T x, T y, T a)
 Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > lerp (const vec< 2, T, Q > &x, const vec< 2, T, Q > &y, T a)
 Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > lerp (const vec< 3, T, Q > &x, const vec< 3, T, Q > &y, T a)
 Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > lerp (const vec< 4, T, Q > &x, const vec< 4, T, Q > &y, T a)
 Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > lerp (const vec< 2, T, Q > &x, const vec< 2, T, Q > &y, const vec< 2, T, Q > &a)
 Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > lerp (const vec< 3, T, Q > &x, const vec< 3, T, Q > &y, const vec< 3, T, Q > &a)
 Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > lerp (const vec< 4, T, Q > &x, const vec< 4, T, Q > &y, const vec< 4, T, Q > &a)
 Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T saturate (T x)
 Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > saturate (const vec< 2, T, Q > &x)
 Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > saturate (const vec< 3, T, Q > &x)
 Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > saturate (const vec< 4, T, Q > &x)
 Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
 

Detailed Description

GLM_GTX_compatibility

See also
Core features (dependence)

Definition in file compatibility.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00017_source.html ================================================ 0.9.9 API documentation: compatibility.hpp Source File
0.9.9 API documentation
compatibility.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependency:
16 #include "../glm.hpp"
17 #include "../gtc/quaternion.hpp"
18 
19 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
20 # ifndef GLM_ENABLE_EXPERIMENTAL
21 # pragma message("GLM: GLM_GTX_compatibility is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
22 # else
23 # pragma message("GLM: GLM_GTX_compatibility extension included")
24 # endif
25 #endif
26 
27 #if GLM_COMPILER & GLM_COMPILER_VC
28 # include <cfloat>
29 #elif GLM_COMPILER & GLM_COMPILER_GCC
30 # include <cmath>
31 # if(GLM_PLATFORM & GLM_PLATFORM_ANDROID)
32 # undef isfinite
33 # endif
34 #endif//GLM_COMPILER
35 
36 namespace glm
37 {
40 
41  template<typename T> GLM_FUNC_QUALIFIER T lerp(T x, T y, T a){return mix(x, y, a);}
42  template<typename T, qualifier Q> GLM_FUNC_QUALIFIER vec<2, T, Q> lerp(const vec<2, T, Q>& x, const vec<2, T, Q>& y, T a){return mix(x, y, a);}
43 
44  template<typename T, qualifier Q> GLM_FUNC_QUALIFIER vec<3, T, Q> lerp(const vec<3, T, Q>& x, const vec<3, T, Q>& y, T a){return mix(x, y, a);}
45  template<typename T, qualifier Q> GLM_FUNC_QUALIFIER vec<4, T, Q> lerp(const vec<4, T, Q>& x, const vec<4, T, Q>& y, T a){return mix(x, y, a);}
46  template<typename T, qualifier Q> GLM_FUNC_QUALIFIER vec<2, T, Q> lerp(const vec<2, T, Q>& x, const vec<2, T, Q>& y, const vec<2, T, Q>& a){return mix(x, y, a);}
47  template<typename T, qualifier Q> GLM_FUNC_QUALIFIER vec<3, T, Q> lerp(const vec<3, T, Q>& x, const vec<3, T, Q>& y, const vec<3, T, Q>& a){return mix(x, y, a);}
48  template<typename T, qualifier Q> GLM_FUNC_QUALIFIER vec<4, T, Q> lerp(const vec<4, T, Q>& x, const vec<4, T, Q>& y, const vec<4, T, Q>& a){return mix(x, y, a);}
49 
50  template<typename T, qualifier Q> GLM_FUNC_QUALIFIER T saturate(T x){return clamp(x, T(0), T(1));}
51  template<typename T, qualifier Q> GLM_FUNC_QUALIFIER vec<2, T, Q> saturate(const vec<2, T, Q>& x){return clamp(x, T(0), T(1));}
52  template<typename T, qualifier Q> GLM_FUNC_QUALIFIER vec<3, T, Q> saturate(const vec<3, T, Q>& x){return clamp(x, T(0), T(1));}
53  template<typename T, qualifier Q> GLM_FUNC_QUALIFIER vec<4, T, Q> saturate(const vec<4, T, Q>& x){return clamp(x, T(0), T(1));}
54 
55  template<typename T, qualifier Q> GLM_FUNC_QUALIFIER T atan2(T x, T y){return atan(x, y);}
56  template<typename T, qualifier Q> GLM_FUNC_QUALIFIER vec<2, T, Q> atan2(const vec<2, T, Q>& x, const vec<2, T, Q>& y){return atan(x, y);}
57  template<typename T, qualifier Q> GLM_FUNC_QUALIFIER vec<3, T, Q> atan2(const vec<3, T, Q>& x, const vec<3, T, Q>& y){return atan(x, y);}
58  template<typename T, qualifier Q> GLM_FUNC_QUALIFIER vec<4, T, Q> atan2(const vec<4, T, Q>& x, const vec<4, T, Q>& y){return atan(x, y);}
59 
60  template<typename genType> GLM_FUNC_DECL bool isfinite(genType const& x);
61  template<typename T, qualifier Q> GLM_FUNC_DECL vec<1, bool, Q> isfinite(const vec<1, T, Q>& x);
62  template<typename T, qualifier Q> GLM_FUNC_DECL vec<2, bool, Q> isfinite(const vec<2, T, Q>& x);
63  template<typename T, qualifier Q> GLM_FUNC_DECL vec<3, bool, Q> isfinite(const vec<3, T, Q>& x);
64  template<typename T, qualifier Q> GLM_FUNC_DECL vec<4, bool, Q> isfinite(const vec<4, T, Q>& x);
65 
66  typedef bool bool1;
67  typedef vec<2, bool, highp> bool2;
68  typedef vec<3, bool, highp> bool3;
69  typedef vec<4, bool, highp> bool4;
70 
71  typedef bool bool1x1;
72  typedef mat<2, 2, bool, highp> bool2x2;
73  typedef mat<2, 3, bool, highp> bool2x3;
74  typedef mat<2, 4, bool, highp> bool2x4;
75  typedef mat<3, 2, bool, highp> bool3x2;
76  typedef mat<3, 3, bool, highp> bool3x3;
77  typedef mat<3, 4, bool, highp> bool3x4;
78  typedef mat<4, 2, bool, highp> bool4x2;
79  typedef mat<4, 3, bool, highp> bool4x3;
80  typedef mat<4, 4, bool, highp> bool4x4;
81 
82  typedef int int1;
83  typedef vec<2, int, highp> int2;
84  typedef vec<3, int, highp> int3;
85  typedef vec<4, int, highp> int4;
86 
87  typedef int int1x1;
88  typedef mat<2, 2, int, highp> int2x2;
89  typedef mat<2, 3, int, highp> int2x3;
90  typedef mat<2, 4, int, highp> int2x4;
91  typedef mat<3, 2, int, highp> int3x2;
92  typedef mat<3, 3, int, highp> int3x3;
93  typedef mat<3, 4, int, highp> int3x4;
94  typedef mat<4, 2, int, highp> int4x2;
95  typedef mat<4, 3, int, highp> int4x3;
96  typedef mat<4, 4, int, highp> int4x4;
97 
98  typedef float float1;
99  typedef vec<2, float, highp> float2;
100  typedef vec<3, float, highp> float3;
101  typedef vec<4, float, highp> float4;
102 
103  typedef float float1x1;
104  typedef mat<2, 2, float, highp> float2x2;
105  typedef mat<2, 3, float, highp> float2x3;
106  typedef mat<2, 4, float, highp> float2x4;
107  typedef mat<3, 2, float, highp> float3x2;
108  typedef mat<3, 3, float, highp> float3x3;
109  typedef mat<3, 4, float, highp> float3x4;
110  typedef mat<4, 2, float, highp> float4x2;
111  typedef mat<4, 3, float, highp> float4x3;
112  typedef mat<4, 4, float, highp> float4x4;
113 
114  typedef double double1;
115  typedef vec<2, double, highp> double2;
116  typedef vec<3, double, highp> double3;
117  typedef vec<4, double, highp> double4;
118 
119  typedef double double1x1;
120  typedef mat<2, 2, double, highp> double2x2;
121  typedef mat<2, 3, double, highp> double2x3;
122  typedef mat<2, 4, double, highp> double2x4;
123  typedef mat<3, 2, double, highp> double3x2;
124  typedef mat<3, 3, double, highp> double3x3;
125  typedef mat<3, 4, double, highp> double3x4;
126  typedef mat<4, 2, double, highp> double4x2;
127  typedef mat<4, 3, double, highp> double4x3;
128  typedef mat<4, 4, double, highp> double4x4;
129 
131 }//namespace glm
132 
133 #include "compatibility.inl"
mat< 4, 4, double, highp > double4x4
double-qualifier floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) ...
mat< 3, 4, int, highp > int3x4
integer matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
GLM_FUNC_DECL vec< L, T, Q > atan(vec< L, T, Q > const &y, vec< L, T, Q > const &x)
Arc tangent.
bool bool1
boolean type with 1 component. (From GLM_GTX_compatibility extension)
mat< 4, 3, float, highp > float4x3
single-qualifier floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) ...
mat< 4, 4, float, highp > float4x4
single-qualifier floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) ...
mat< 2, 4, double, highp > double2x4
double-qualifier floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) ...
mat< 2, 2, double, highp > double2x2
double-qualifier floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) ...
mat< 3, 2, double, highp > double3x2
double-qualifier floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) ...
GLM_FUNC_QUALIFIER vec< 4, T, Q > atan2(const vec< 4, T, Q > &x, const vec< 4, T, Q > &y)
Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what q...
double double1x1
double-qualifier floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) ...
GLM_FUNC_QUALIFIER vec< 4, T, Q > lerp(const vec< 4, T, Q > &x, const vec< 4, T, Q > &y, const vec< 4, T, Q > &a)
Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using v...
mat< 3, 3, double, highp > double3x3
double-qualifier floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) ...
vec< 4, float, highp > float4
single-qualifier floating-point vector with 4 components. (From GLM_GTX_compatibility extension) ...
int int1x1
integer matrix with 1 component. (From GLM_GTX_compatibility extension)
vec< 2, float, highp > float2
single-qualifier floating-point vector with 2 components. (From GLM_GTX_compatibility extension) ...
GLM_FUNC_DECL vec< 4, bool, Q > isfinite(const vec< 4, T, Q > &x)
Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)...
mat< 2, 3, bool, highp > bool2x3
boolean matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
mat< 2, 3, int, highp > int2x3
integer matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
int int1
integer vector with 1 component. (From GLM_GTX_compatibility extension)
vec< 3, float, highp > float3
single-qualifier floating-point vector with 3 components. (From GLM_GTX_compatibility extension) ...
mat< 2, 4, float, highp > float2x4
single-qualifier floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) ...
mat< 2, 2, bool, highp > bool2x2
boolean matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
mat< 4, 4, bool, highp > bool4x4
boolean matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
float float1
single-qualifier floating-point vector with 1 component. (From GLM_GTX_compatibility extension) ...
float float1x1
single-qualifier floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) ...
mat< 4, 2, double, highp > double4x2
double-qualifier floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) ...
mat< 4, 3, int, highp > int4x3
integer matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
mat< 4, 2, bool, highp > bool4x2
boolean matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
mat< 2, 2, float, highp > float2x2
single-qualifier floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) ...
vec< 3, int, highp > int3
integer vector with 3 components. (From GLM_GTX_compatibility extension)
mat< 4, 2, float, highp > float4x2
single-qualifier floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) ...
mat< 2, 3, double, highp > double2x3
double-qualifier floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) ...
mat< 2, 3, float, highp > float2x3
single-qualifier floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) ...
mat< 3, 2, int, highp > int3x2
integer matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
vec< 4, bool, highp > bool4
boolean type with 4 components. (From GLM_GTX_compatibility extension)
mat< 4, 2, int, highp > int4x2
integer matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
bool bool1x1
boolean matrix with 1 x 1 component. (From GLM_GTX_compatibility extension)
GLM_FUNC_QUALIFIER vec< 4, T, Q > saturate(const vec< 4, T, Q > &x)
Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
vec< 3, bool, highp > bool3
boolean type with 3 components. (From GLM_GTX_compatibility extension)
GLM_FUNC_DECL GLM_CONSTEXPR genType clamp(genType x, genType minVal, genType maxVal)
Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal an...
mat< 2, 2, int, highp > int2x2
integer matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
vec< 2, int, highp > int2
integer vector with 2 components. (From GLM_GTX_compatibility extension)
mat< 4, 4, int, highp > int4x4
integer matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
mat< 3, 2, bool, highp > bool3x2
boolean matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
mat< 4, 3, double, highp > double4x3
double-qualifier floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) ...
mat< 4, 3, bool, highp > bool4x3
boolean matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
double double1
double-qualifier floating-point vector with 1 component. (From GLM_GTX_compatibility extension) ...
vec< 3, double, highp > double3
double-qualifier floating-point vector with 3 components. (From GLM_GTX_compatibility extension) ...
vec< 4, double, highp > double4
double-qualifier floating-point vector with 4 components. (From GLM_GTX_compatibility extension) ...
mat< 3, 3, int, highp > int3x3
integer matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
mat< 3, 3, bool, highp > bool3x3
boolean matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
mat< 3, 2, float, highp > float3x2
single-qualifier floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) ...
vec< 4, int, highp > int4
integer vector with 4 components. (From GLM_GTX_compatibility extension)
vec< 2, double, highp > double2
double-qualifier floating-point vector with 2 components. (From GLM_GTX_compatibility extension) ...
mat< 3, 3, float, highp > float3x3
single-qualifier floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) ...
GLM_FUNC_DECL genTypeT mix(genTypeT x, genTypeT y, genTypeU a)
If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...
vec< 2, bool, highp > bool2
boolean type with 2 components. (From GLM_GTX_compatibility extension)
mat< 3, 4, bool, highp > bool3x4
boolean matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
mat< 2, 4, int, highp > int2x4
integer matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
mat< 2, 4, bool, highp > bool2x4
boolean matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
mat< 3, 4, double, highp > double3x4
double-qualifier floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) ...
Definition: common.hpp:20
mat< 3, 4, float, highp > float3x4
single-qualifier floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) ...
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00018.html ================================================ 0.9.9 API documentation: component_wise.hpp File Reference
0.9.9 API documentation
component_wise.hpp File Reference

GLM_GTX_component_wise More...

Go to the source code of this file.

Functions

template<typename genType >
GLM_FUNC_DECL genType::value_type compAdd (genType const &v)
 Add all vector components together. More...
 
template<typename genType >
GLM_FUNC_DECL genType::value_type compMax (genType const &v)
 Find the maximum value between single vector components. More...
 
template<typename genType >
GLM_FUNC_DECL genType::value_type compMin (genType const &v)
 Find the minimum value between single vector components. More...
 
template<typename genType >
GLM_FUNC_DECL genType::value_type compMul (genType const &v)
 Multiply all vector components together. More...
 
template<typename floatType , length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, floatType, Q > compNormalize (vec< L, T, Q > const &v)
 Convert an integer vector to a normalized float vector. More...
 
template<length_t L, typename T , typename floatType , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > compScale (vec< L, floatType, Q > const &v)
 Convert a normalized float vector to an integer vector. More...
 

Detailed Description

GLM_GTX_component_wise

Date
2007-05-21 / 2011-06-07
Author
Christophe Riccio
See also
Core features (dependence)

Definition in file component_wise.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00018_source.html ================================================ 0.9.9 API documentation: component_wise.hpp Source File
0.9.9 API documentation
component_wise.hpp
Go to the documentation of this file.
1 
15 #pragma once
16 
17 // Dependencies
18 #include "../detail/setup.hpp"
19 #include "../detail/qualifier.hpp"
20 
21 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
22 # ifndef GLM_ENABLE_EXPERIMENTAL
23 # pragma message("GLM: GLM_GTX_component_wise is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
24 # else
25 # pragma message("GLM: GLM_GTX_component_wise extension included")
26 # endif
27 #endif
28 
29 namespace glm
30 {
33 
37  template<typename floatType, length_t L, typename T, qualifier Q>
38  GLM_FUNC_DECL vec<L, floatType, Q> compNormalize(vec<L, T, Q> const& v);
39 
43  template<length_t L, typename T, typename floatType, qualifier Q>
44  GLM_FUNC_DECL vec<L, T, Q> compScale(vec<L, floatType, Q> const& v);
45 
48  template<typename genType>
49  GLM_FUNC_DECL typename genType::value_type compAdd(genType const& v);
50 
53  template<typename genType>
54  GLM_FUNC_DECL typename genType::value_type compMul(genType const& v);
55 
58  template<typename genType>
59  GLM_FUNC_DECL typename genType::value_type compMin(genType const& v);
60 
63  template<typename genType>
64  GLM_FUNC_DECL typename genType::value_type compMax(genType const& v);
65 
67 }//namespace glm
68 
69 #include "component_wise.inl"
GLM_FUNC_DECL genType::value_type compMax(genType const &v)
Find the maximum value between single vector components.
GLM_FUNC_DECL genType::value_type compMul(genType const &v)
Multiply all vector components together.
GLM_FUNC_DECL vec< L, T, Q > compScale(vec< L, floatType, Q > const &v)
Convert a normalized float vector to an integer vector.
GLM_FUNC_DECL vec< L, floatType, Q > compNormalize(vec< L, T, Q > const &v)
Convert an integer vector to a normalized float vector.
GLM_FUNC_DECL genType::value_type compMin(genType const &v)
Find the minimum value between single vector components.
GLM_FUNC_DECL genType::value_type compAdd(genType const &v)
Add all vector components together.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00019_source.html ================================================ 0.9.9 API documentation: compute_common.hpp Source File
0.9.9 API documentation
compute_common.hpp
1 #pragma once
2 
3 #include "setup.hpp"
4 #include <limits>
5 
6 namespace glm{
7 namespace detail
8 {
9  template<typename genFIType, bool /*signed*/>
10  struct compute_abs
11  {};
12 
13  template<typename genFIType>
14  struct compute_abs<genFIType, true>
15  {
16  GLM_FUNC_QUALIFIER GLM_CONSTEXPR static genFIType call(genFIType x)
17  {
18  GLM_STATIC_ASSERT(
19  std::numeric_limits<genFIType>::is_iec559 || std::numeric_limits<genFIType>::is_signed,
20  "'abs' only accept floating-point and integer scalar or vector inputs");
21 
22  return x >= genFIType(0) ? x : -x;
23  // TODO, perf comp with: *(((int *) &x) + 1) &= 0x7fffffff;
24  }
25  };
26 
27 #if GLM_COMPILER & GLM_COMPILER_CUDA
28  template<>
29  struct compute_abs<float, true>
30  {
31  GLM_FUNC_QUALIFIER GLM_CONSTEXPR static float call(float x)
32  {
33  return fabsf(x);
34  }
35  };
36 #endif
37 
38  template<typename genFIType>
39  struct compute_abs<genFIType, false>
40  {
41  GLM_FUNC_QUALIFIER GLM_CONSTEXPR static genFIType call(genFIType x)
42  {
43  GLM_STATIC_ASSERT(
44  (!std::numeric_limits<genFIType>::is_signed && std::numeric_limits<genFIType>::is_integer),
45  "'abs' only accept floating-point and integer scalar or vector inputs");
46  return x;
47  }
48  };
49 }//namespace detail
50 }//namespace glm
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00020_source.html ================================================ 0.9.9 API documentation: compute_vector_relational.hpp Source File
0.9.9 API documentation
compute_vector_relational.hpp
1 #pragma once
2 
3 //#include "compute_common.hpp"
4 #include "setup.hpp"
5 #include <limits>
6 
7 namespace glm{
8 namespace detail
9 {
10  template <typename T, bool isFloat>
11  struct compute_equal
12  {
13  GLM_FUNC_QUALIFIER GLM_CONSTEXPR static bool call(T a, T b)
14  {
15  return a == b;
16  }
17  };
18 /*
19  template <typename T>
20  struct compute_equal<T, true>
21  {
22  GLM_FUNC_QUALIFIER GLM_CONSTEXPR static bool call(T a, T b)
23  {
24  return detail::compute_abs<T, std::numeric_limits<T>::is_signed>::call(b - a) <= static_cast<T>(0);
25  //return std::memcmp(&a, &b, sizeof(T)) == 0;
26  }
27  };
28 */
29 }//namespace detail
30 }//namespace glm
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00021.html ================================================ 0.9.9 API documentation: constants.hpp File Reference
0.9.9 API documentation
constants.hpp File Reference

GLM_GTC_constants More...

Go to the source code of this file.

Functions

template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType e ()
 Return e constant. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType euler ()
 Return Euler's constant. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType four_over_pi ()
 Return 4 / pi. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType golden_ratio ()
 Return the golden ratio constant. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType half_pi ()
 Return pi / 2. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType ln_ln_two ()
 Return ln(ln(2)). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType ln_ten ()
 Return ln(10). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType ln_two ()
 Return ln(2). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType one ()
 Return 1. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_pi ()
 Return 1 / pi. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_root_two ()
 Return 1 / sqrt(2). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_two_pi ()
 Return 1 / (pi * 2). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType quarter_pi ()
 Return pi / 4. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType root_five ()
 Return sqrt(5). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType root_half_pi ()
 Return sqrt(pi / 2). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType root_ln_four ()
 Return sqrt(ln(4)). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType root_pi ()
 Return square root of pi. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType root_three ()
 Return sqrt(3). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType root_two ()
 Return sqrt(2). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType root_two_pi ()
 Return sqrt(2 * pi). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType third ()
 Return 1 / 3. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType three_over_two_pi ()
 Return pi / 2 * 3. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType two_over_pi ()
 Return 2 / pi. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType two_over_root_pi ()
 Return 2 / sqrt(pi). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType two_pi ()
 Return pi * 2. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType two_thirds ()
 Return 2 / 3. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType zero ()
 Return 0. More...
 

Detailed Description

GLM_GTC_constants

See also
Core features (dependence)

Definition in file constants.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00021_source.html ================================================ 0.9.9 API documentation: constants.hpp Source File
0.9.9 API documentation
constants.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependencies
16 #include "../ext/scalar_constants.hpp"
17 
18 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
19 # pragma message("GLM: GLM_GTC_constants extension included")
20 #endif
21 
22 namespace glm
23 {
26 
29  template<typename genType>
30  GLM_FUNC_DECL GLM_CONSTEXPR genType zero();
31 
34  template<typename genType>
35  GLM_FUNC_DECL GLM_CONSTEXPR genType one();
36 
39  template<typename genType>
40  GLM_FUNC_DECL GLM_CONSTEXPR genType two_pi();
41 
44  template<typename genType>
45  GLM_FUNC_DECL GLM_CONSTEXPR genType root_pi();
46 
49  template<typename genType>
50  GLM_FUNC_DECL GLM_CONSTEXPR genType half_pi();
51 
54  template<typename genType>
55  GLM_FUNC_DECL GLM_CONSTEXPR genType three_over_two_pi();
56 
59  template<typename genType>
60  GLM_FUNC_DECL GLM_CONSTEXPR genType quarter_pi();
61 
64  template<typename genType>
65  GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_pi();
66 
69  template<typename genType>
70  GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_two_pi();
71 
74  template<typename genType>
75  GLM_FUNC_DECL GLM_CONSTEXPR genType two_over_pi();
76 
79  template<typename genType>
80  GLM_FUNC_DECL GLM_CONSTEXPR genType four_over_pi();
81 
84  template<typename genType>
85  GLM_FUNC_DECL GLM_CONSTEXPR genType two_over_root_pi();
86 
89  template<typename genType>
90  GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_root_two();
91 
94  template<typename genType>
95  GLM_FUNC_DECL GLM_CONSTEXPR genType root_half_pi();
96 
99  template<typename genType>
100  GLM_FUNC_DECL GLM_CONSTEXPR genType root_two_pi();
101 
104  template<typename genType>
105  GLM_FUNC_DECL GLM_CONSTEXPR genType root_ln_four();
106 
109  template<typename genType>
110  GLM_FUNC_DECL GLM_CONSTEXPR genType e();
111 
114  template<typename genType>
115  GLM_FUNC_DECL GLM_CONSTEXPR genType euler();
116 
119  template<typename genType>
120  GLM_FUNC_DECL GLM_CONSTEXPR genType root_two();
121 
124  template<typename genType>
125  GLM_FUNC_DECL GLM_CONSTEXPR genType root_three();
126 
129  template<typename genType>
130  GLM_FUNC_DECL GLM_CONSTEXPR genType root_five();
131 
134  template<typename genType>
135  GLM_FUNC_DECL GLM_CONSTEXPR genType ln_two();
136 
139  template<typename genType>
140  GLM_FUNC_DECL GLM_CONSTEXPR genType ln_ten();
141 
144  template<typename genType>
145  GLM_FUNC_DECL GLM_CONSTEXPR genType ln_ln_two();
146 
149  template<typename genType>
150  GLM_FUNC_DECL GLM_CONSTEXPR genType third();
151 
154  template<typename genType>
155  GLM_FUNC_DECL GLM_CONSTEXPR genType two_thirds();
156 
159  template<typename genType>
160  GLM_FUNC_DECL GLM_CONSTEXPR genType golden_ratio();
161 
163 } //namespace glm
164 
165 #include "constants.inl"
GLM_FUNC_DECL GLM_CONSTEXPR genType third()
Return 1 / 3.
GLM_FUNC_DECL GLM_CONSTEXPR genType root_two()
Return sqrt(2).
GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_root_two()
Return 1 / sqrt(2).
GLM_FUNC_DECL GLM_CONSTEXPR genType euler()
Return Euler's constant.
GLM_FUNC_DECL GLM_CONSTEXPR genType two_thirds()
Return 2 / 3.
GLM_FUNC_DECL GLM_CONSTEXPR genType two_pi()
Return pi * 2.
GLM_FUNC_DECL GLM_CONSTEXPR genType golden_ratio()
Return the golden ratio constant.
GLM_FUNC_DECL GLM_CONSTEXPR genType quarter_pi()
Return pi / 4.
GLM_FUNC_DECL GLM_CONSTEXPR genType one()
Return 1.
GLM_FUNC_DECL GLM_CONSTEXPR genType root_five()
Return sqrt(5).
GLM_FUNC_DECL GLM_CONSTEXPR genType three_over_two_pi()
Return pi / 2 * 3.
GLM_FUNC_DECL GLM_CONSTEXPR genType zero()
Return 0.
GLM_FUNC_DECL GLM_CONSTEXPR genType ln_ten()
Return ln(10).
GLM_FUNC_DECL GLM_CONSTEXPR genType root_three()
Return sqrt(3).
GLM_FUNC_DECL GLM_CONSTEXPR genType root_pi()
Return square root of pi.
GLM_FUNC_DECL GLM_CONSTEXPR genType e()
Return e constant.
GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_pi()
Return 1 / pi.
GLM_FUNC_DECL GLM_CONSTEXPR genType two_over_pi()
Return 2 / pi.
GLM_FUNC_DECL GLM_CONSTEXPR genType four_over_pi()
Return 4 / pi.
GLM_FUNC_DECL GLM_CONSTEXPR genType root_two_pi()
Return sqrt(2 * pi).
GLM_FUNC_DECL GLM_CONSTEXPR genType ln_two()
Return ln(2).
GLM_FUNC_DECL GLM_CONSTEXPR genType root_ln_four()
Return sqrt(ln(4)).
GLM_FUNC_DECL GLM_CONSTEXPR genType two_over_root_pi()
Return 2 / sqrt(pi).
GLM_FUNC_DECL GLM_CONSTEXPR genType ln_ln_two()
Return ln(ln(2)).
GLM_FUNC_DECL GLM_CONSTEXPR genType root_half_pi()
Return sqrt(pi / 2).
GLM_FUNC_DECL GLM_CONSTEXPR genType half_pi()
Return pi / 2.
GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_two_pi()
Return 1 / (pi * 2).
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00022.html ================================================ 0.9.9 API documentation: dual_quaternion.hpp File Reference
0.9.9 API documentation
dual_quaternion.hpp File Reference

GLM_GTX_dual_quaternion More...

Go to the source code of this file.

Typedefs

typedef highp_ddualquat ddualquat
 Dual-quaternion of default double-qualifier floating-point numbers. More...
 
typedef highp_fdualquat dualquat
 Dual-quaternion of floating-point numbers. More...
 
typedef highp_fdualquat fdualquat
 Dual-quaternion of single-qualifier floating-point numbers. More...
 
typedef tdualquat< double, highp > highp_ddualquat
 Dual-quaternion of high double-qualifier floating-point numbers. More...
 
typedef tdualquat< float, highp > highp_dualquat
 Dual-quaternion of high single-qualifier floating-point numbers. More...
 
typedef tdualquat< float, highp > highp_fdualquat
 Dual-quaternion of high single-qualifier floating-point numbers. More...
 
typedef tdualquat< double, lowp > lowp_ddualquat
 Dual-quaternion of low double-qualifier floating-point numbers. More...
 
typedef tdualquat< float, lowp > lowp_dualquat
 Dual-quaternion of low single-qualifier floating-point numbers. More...
 
typedef tdualquat< float, lowp > lowp_fdualquat
 Dual-quaternion of low single-qualifier floating-point numbers. More...
 
typedef tdualquat< double, mediump > mediump_ddualquat
 Dual-quaternion of medium double-qualifier floating-point numbers. More...
 
typedef tdualquat< float, mediump > mediump_dualquat
 Dual-quaternion of medium single-qualifier floating-point numbers. More...
 
typedef tdualquat< float, mediump > mediump_fdualquat
 Dual-quaternion of medium single-qualifier floating-point numbers. More...
 

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > dual_quat_identity ()
 Creates an identity dual quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > dualquat_cast (mat< 2, 4, T, Q > const &x)
 Converts a 2 * 4 matrix (matrix which holds real and dual parts) to a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > dualquat_cast (mat< 3, 4, T, Q > const &x)
 Converts a 3 * 4 matrix (augmented matrix rotation + translation) to a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > inverse (tdualquat< T, Q > const &q)
 Returns the q inverse. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > lerp (tdualquat< T, Q > const &x, tdualquat< T, Q > const &y, T const &a)
 Returns the linear interpolation of two dual quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > mat2x4_cast (tdualquat< T, Q > const &x)
 Converts a quaternion to a 2 * 4 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > mat3x4_cast (tdualquat< T, Q > const &x)
 Converts a quaternion to a 3 * 4 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > normalize (tdualquat< T, Q > const &q)
 Returns the normalized quaternion. More...
 

Detailed Description

GLM_GTX_dual_quaternion

Author
Maksim Vorobiev (msome.nosp@m.one@.nosp@m.gmail.nosp@m..com)
See also
Core features (dependence)
GLM_GTC_constants (dependence)
GLM_GTC_quaternion (dependence)

Definition in file dual_quaternion.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00022_source.html ================================================ 0.9.9 API documentation: dual_quaternion.hpp Source File
0.9.9 API documentation
dual_quaternion.hpp
Go to the documentation of this file.
1 
16 #pragma once
17 
18 // Dependency:
19 #include "../glm.hpp"
20 #include "../gtc/constants.hpp"
21 #include "../gtc/quaternion.hpp"
22 
23 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
24 # ifndef GLM_ENABLE_EXPERIMENTAL
25 # pragma message("GLM: GLM_GTX_dual_quaternion is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
26 # else
27 # pragma message("GLM: GLM_GTX_dual_quaternion extension included")
28 # endif
29 #endif
30 
31 namespace glm
32 {
35 
36  template<typename T, qualifier Q = defaultp>
37  struct tdualquat
38  {
39  // -- Implementation detail --
40 
41  typedef T value_type;
42  typedef qua<T, Q> part_type;
43 
44  // -- Data --
45 
46  qua<T, Q> real, dual;
47 
48  // -- Component accesses --
49 
50  typedef length_t length_type;
52  GLM_FUNC_DECL static GLM_CONSTEXPR length_type length(){return 2;}
53 
54  GLM_FUNC_DECL part_type & operator[](length_type i);
55  GLM_FUNC_DECL part_type const& operator[](length_type i) const;
56 
57  // -- Implicit basic constructors --
58 
59  GLM_FUNC_DECL GLM_CONSTEXPR tdualquat() GLM_DEFAULT;
60  GLM_FUNC_DECL GLM_CONSTEXPR tdualquat(tdualquat<T, Q> const& d) GLM_DEFAULT;
61  template<qualifier P>
62  GLM_FUNC_DECL GLM_CONSTEXPR tdualquat(tdualquat<T, P> const& d);
63 
64  // -- Explicit basic constructors --
65 
66  GLM_FUNC_DECL GLM_CONSTEXPR tdualquat(qua<T, Q> const& real);
67  GLM_FUNC_DECL GLM_CONSTEXPR tdualquat(qua<T, Q> const& orientation, vec<3, T, Q> const& translation);
68  GLM_FUNC_DECL GLM_CONSTEXPR tdualquat(qua<T, Q> const& real, qua<T, Q> const& dual);
69 
70  // -- Conversion constructors --
71 
72  template<typename U, qualifier P>
73  GLM_FUNC_DECL GLM_CONSTEXPR GLM_EXPLICIT tdualquat(tdualquat<U, P> const& q);
74 
75  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR tdualquat(mat<2, 4, T, Q> const& holder_mat);
76  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR tdualquat(mat<3, 4, T, Q> const& aug_mat);
77 
78  // -- Unary arithmetic operators --
79 
80  GLM_FUNC_DECL tdualquat<T, Q> & operator=(tdualquat<T, Q> const& m) GLM_DEFAULT;
81 
82  template<typename U>
83  GLM_FUNC_DECL tdualquat<T, Q> & operator=(tdualquat<U, Q> const& m);
84  template<typename U>
85  GLM_FUNC_DECL tdualquat<T, Q> & operator*=(U s);
86  template<typename U>
87  GLM_FUNC_DECL tdualquat<T, Q> & operator/=(U s);
88  };
89 
90  // -- Unary bit operators --
91 
92  template<typename T, qualifier Q>
93  GLM_FUNC_DECL tdualquat<T, Q> operator+(tdualquat<T, Q> const& q);
94 
95  template<typename T, qualifier Q>
96  GLM_FUNC_DECL tdualquat<T, Q> operator-(tdualquat<T, Q> const& q);
97 
98  // -- Binary operators --
99 
100  template<typename T, qualifier Q>
101  GLM_FUNC_DECL tdualquat<T, Q> operator+(tdualquat<T, Q> const& q, tdualquat<T, Q> const& p);
102 
103  template<typename T, qualifier Q>
104  GLM_FUNC_DECL tdualquat<T, Q> operator*(tdualquat<T, Q> const& q, tdualquat<T, Q> const& p);
105 
106  template<typename T, qualifier Q>
107  GLM_FUNC_DECL vec<3, T, Q> operator*(tdualquat<T, Q> const& q, vec<3, T, Q> const& v);
108 
109  template<typename T, qualifier Q>
110  GLM_FUNC_DECL vec<3, T, Q> operator*(vec<3, T, Q> const& v, tdualquat<T, Q> const& q);
111 
112  template<typename T, qualifier Q>
113  GLM_FUNC_DECL vec<4, T, Q> operator*(tdualquat<T, Q> const& q, vec<4, T, Q> const& v);
114 
115  template<typename T, qualifier Q>
116  GLM_FUNC_DECL vec<4, T, Q> operator*(vec<4, T, Q> const& v, tdualquat<T, Q> const& q);
117 
118  template<typename T, qualifier Q>
119  GLM_FUNC_DECL tdualquat<T, Q> operator*(tdualquat<T, Q> const& q, T const& s);
120 
121  template<typename T, qualifier Q>
122  GLM_FUNC_DECL tdualquat<T, Q> operator*(T const& s, tdualquat<T, Q> const& q);
123 
124  template<typename T, qualifier Q>
125  GLM_FUNC_DECL tdualquat<T, Q> operator/(tdualquat<T, Q> const& q, T const& s);
126 
127  // -- Boolean operators --
128 
129  template<typename T, qualifier Q>
130  GLM_FUNC_DECL bool operator==(tdualquat<T, Q> const& q1, tdualquat<T, Q> const& q2);
131 
132  template<typename T, qualifier Q>
133  GLM_FUNC_DECL bool operator!=(tdualquat<T, Q> const& q1, tdualquat<T, Q> const& q2);
134 
138  template <typename T, qualifier Q>
139  GLM_FUNC_DECL tdualquat<T, Q> dual_quat_identity();
140 
144  template<typename T, qualifier Q>
145  GLM_FUNC_DECL tdualquat<T, Q> normalize(tdualquat<T, Q> const& q);
146 
150  template<typename T, qualifier Q>
151  GLM_FUNC_DECL tdualquat<T, Q> lerp(tdualquat<T, Q> const& x, tdualquat<T, Q> const& y, T const& a);
152 
156  template<typename T, qualifier Q>
157  GLM_FUNC_DECL tdualquat<T, Q> inverse(tdualquat<T, Q> const& q);
158 
162  template<typename T, qualifier Q>
163  GLM_FUNC_DECL mat<2, 4, T, Q> mat2x4_cast(tdualquat<T, Q> const& x);
164 
168  template<typename T, qualifier Q>
169  GLM_FUNC_DECL mat<3, 4, T, Q> mat3x4_cast(tdualquat<T, Q> const& x);
170 
174  template<typename T, qualifier Q>
175  GLM_FUNC_DECL tdualquat<T, Q> dualquat_cast(mat<2, 4, T, Q> const& x);
176 
180  template<typename T, qualifier Q>
181  GLM_FUNC_DECL tdualquat<T, Q> dualquat_cast(mat<3, 4, T, Q> const& x);
182 
183 
187  typedef tdualquat<float, lowp> lowp_dualquat;
188 
192  typedef tdualquat<float, mediump> mediump_dualquat;
193 
197  typedef tdualquat<float, highp> highp_dualquat;
198 
199 
203  typedef tdualquat<float, lowp> lowp_fdualquat;
204 
208  typedef tdualquat<float, mediump> mediump_fdualquat;
209 
213  typedef tdualquat<float, highp> highp_fdualquat;
214 
215 
219  typedef tdualquat<double, lowp> lowp_ddualquat;
220 
224  typedef tdualquat<double, mediump> mediump_ddualquat;
225 
229  typedef tdualquat<double, highp> highp_ddualquat;
230 
231 
232 #if(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
233  typedef highp_fdualquat dualquat;
237 
241  typedef highp_fdualquat fdualquat;
242 #elif(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
243  typedef highp_fdualquat dualquat;
244  typedef highp_fdualquat fdualquat;
245 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT))
246  typedef mediump_fdualquat dualquat;
247  typedef mediump_fdualquat fdualquat;
248 #elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && defined(GLM_PRECISION_LOWP_FLOAT))
249  typedef lowp_fdualquat dualquat;
250  typedef lowp_fdualquat fdualquat;
251 #else
252 # error "GLM error: multiple default precision requested for single-precision floating-point types"
253 #endif
254 
255 
256 #if(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
257  typedef highp_ddualquat ddualquat;
261 #elif(defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
262  typedef highp_ddualquat ddualquat;
263 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE))
264  typedef mediump_ddualquat ddualquat;
265 #elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && defined(GLM_PRECISION_LOWP_DOUBLE))
266  typedef lowp_ddualquat ddualquat;
267 #else
268 # error "GLM error: Multiple default precision requested for double-precision floating-point types"
269 #endif
270 
272 } //namespace glm
273 
274 #include "dual_quaternion.inl"
highp_ddualquat ddualquat
Dual-quaternion of default double-qualifier floating-point numbers.
highp_fdualquat fdualquat
Dual-quaternion of single-qualifier floating-point numbers.
GLM_FUNC_DECL mat< 2, 4, T, Q > mat2x4_cast(tdualquat< T, Q > const &x)
Converts a quaternion to a 2 * 4 matrix.
tdualquat< double, highp > highp_ddualquat
Dual-quaternion of high double-qualifier floating-point numbers.
GLM_FUNC_DECL tdualquat< T, Q > normalize(tdualquat< T, Q > const &q)
Returns the normalized quaternion.
GLM_FUNC_DECL tdualquat< T, Q > dual_quat_identity()
Creates an identity dual quaternion.
GLM_FUNC_DECL tdualquat< T, Q > inverse(tdualquat< T, Q > const &q)
Returns the q inverse.
GLM_FUNC_DECL tdualquat< T, Q > lerp(tdualquat< T, Q > const &x, tdualquat< T, Q > const &y, T const &a)
Returns the linear interpolation of two dual quaternion.
tdualquat< float, lowp > lowp_dualquat
Dual-quaternion of low single-qualifier floating-point numbers.
tdualquat< float, lowp > lowp_fdualquat
Dual-quaternion of low single-qualifier floating-point numbers.
GLM_FUNC_DECL T length(qua< T, Q > const &q)
Returns the norm of a quaternions.
tdualquat< double, lowp > lowp_ddualquat
Dual-quaternion of low double-qualifier floating-point numbers.
GLM_FUNC_DECL mat< 3, 4, T, Q > mat3x4_cast(tdualquat< T, Q > const &x)
Converts a quaternion to a 3 * 4 matrix.
highp_fdualquat dualquat
Dual-quaternion of floating-point numbers.
tdualquat< float, highp > highp_fdualquat
Dual-quaternion of high single-qualifier floating-point numbers.
GLM_FUNC_DECL mat< 4, 4, T, Q > orientation(vec< 3, T, Q > const &Normal, vec< 3, T, Q > const &Up)
Build a rotation matrix from a normal and a up vector.
tdualquat< float, mediump > mediump_dualquat
Dual-quaternion of medium single-qualifier floating-point numbers.
tdualquat< float, mediump > mediump_fdualquat
Dual-quaternion of medium single-qualifier floating-point numbers.
tdualquat< double, mediump > mediump_ddualquat
Dual-quaternion of medium double-qualifier floating-point numbers.
GLM_FUNC_DECL tdualquat< T, Q > dualquat_cast(mat< 3, 4, T, Q > const &x)
Converts a 3 * 4 matrix (augmented matrix rotation + translation) to a quaternion.
tdualquat< float, highp > highp_dualquat
Dual-quaternion of high single-qualifier floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00023.html ================================================ 0.9.9 API documentation: easing.hpp File Reference
0.9.9 API documentation
easing.hpp File Reference

GLM_GTX_easing More...

Go to the source code of this file.

Functions

template<typename genType >
GLM_FUNC_DECL genType backEaseIn (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType backEaseIn (genType const &a, genType const &o)
 
template<typename genType >
GLM_FUNC_DECL genType backEaseInOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType backEaseInOut (genType const &a, genType const &o)
 
template<typename genType >
GLM_FUNC_DECL genType backEaseOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType backEaseOut (genType const &a, genType const &o)
 
template<typename genType >
GLM_FUNC_DECL genType bounceEaseIn (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType bounceEaseInOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType bounceEaseOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType circularEaseIn (genType const &a)
 Modelled after shifted quadrant IV of unit circle. More...
 
template<typename genType >
GLM_FUNC_DECL genType circularEaseInOut (genType const &a)
 Modelled after the piecewise circular function y = (1/2)(1 - sqrt(1 - 4x^2)) ; [0, 0.5) y = (1/2)(sqrt(-(2x - 3)*(2x - 1)) + 1) ; [0.5, 1]. More...
 
template<typename genType >
GLM_FUNC_DECL genType circularEaseOut (genType const &a)
 Modelled after shifted quadrant II of unit circle. More...
 
template<typename genType >
GLM_FUNC_DECL genType cubicEaseIn (genType const &a)
 Modelled after the cubic y = x^3.
 
template<typename genType >
GLM_FUNC_DECL genType cubicEaseInOut (genType const &a)
 Modelled after the piecewise cubic y = (1/2)((2x)^3) ; [0, 0.5) y = (1/2)((2x-2)^3 + 2) ; [0.5, 1]. More...
 
template<typename genType >
GLM_FUNC_DECL genType cubicEaseOut (genType const &a)
 Modelled after the cubic y = (x - 1)^3 + 1. More...
 
template<typename genType >
GLM_FUNC_DECL genType elasticEaseIn (genType const &a)
 Modelled after the damped sine wave y = sin(13pi/2*x)*pow(2, 10 * (x - 1)) More...
 
template<typename genType >
GLM_FUNC_DECL genType elasticEaseInOut (genType const &a)
 Modelled after the piecewise exponentially-damped sine wave: y = (1/2)*sin(13pi/2*(2*x))*pow(2, 10 * ((2*x) - 1)) ; [0,0.5) y = (1/2)*(sin(-13pi/2*((2x-1)+1))*pow(2,-10(2*x-1)) + 2) ; [0.5, 1]. More...
 
template<typename genType >
GLM_FUNC_DECL genType elasticEaseOut (genType const &a)
 Modelled after the damped sine wave y = sin(-13pi/2*(x + 1))*pow(2, -10x) + 1. More...
 
template<typename genType >
GLM_FUNC_DECL genType exponentialEaseIn (genType const &a)
 Modelled after the exponential function y = 2^(10(x - 1)) More...
 
template<typename genType >
GLM_FUNC_DECL genType exponentialEaseInOut (genType const &a)
 Modelled after the piecewise exponential y = (1/2)2^(10(2x - 1)) ; [0,0.5) y = -(1/2)*2^(-10(2x - 1))) + 1 ; [0.5,1]. More...
 
template<typename genType >
GLM_FUNC_DECL genType exponentialEaseOut (genType const &a)
 Modelled after the exponential function y = -2^(-10x) + 1. More...
 
template<typename genType >
GLM_FUNC_DECL genType linearInterpolation (genType const &a)
 Modelled after the line y = x. More...
 
template<typename genType >
GLM_FUNC_DECL genType quadraticEaseIn (genType const &a)
 Modelled after the parabola y = x^2. More...
 
template<typename genType >
GLM_FUNC_DECL genType quadraticEaseInOut (genType const &a)
 Modelled after the piecewise quadratic y = (1/2)((2x)^2) ; [0, 0.5) y = -(1/2)((2x-1)*(2x-3) - 1) ; [0.5, 1]. More...
 
template<typename genType >
GLM_FUNC_DECL genType quadraticEaseOut (genType const &a)
 Modelled after the parabola y = -x^2 + 2x. More...
 
template<typename genType >
GLM_FUNC_DECL genType quarticEaseIn (genType const &a)
 Modelled after the quartic x^4. More...
 
template<typename genType >
GLM_FUNC_DECL genType quarticEaseInOut (genType const &a)
 Modelled after the piecewise quartic y = (1/2)((2x)^4) ; [0, 0.5) y = -(1/2)((2x-2)^4 - 2) ; [0.5, 1]. More...
 
template<typename genType >
GLM_FUNC_DECL genType quarticEaseOut (genType const &a)
 Modelled after the quartic y = 1 - (x - 1)^4. More...
 
template<typename genType >
GLM_FUNC_DECL genType quinticEaseIn (genType const &a)
 Modelled after the quintic y = x^5. More...
 
template<typename genType >
GLM_FUNC_DECL genType quinticEaseInOut (genType const &a)
 Modelled after the piecewise quintic y = (1/2)((2x)^5) ; [0, 0.5) y = (1/2)((2x-2)^5 + 2) ; [0.5, 1]. More...
 
template<typename genType >
GLM_FUNC_DECL genType quinticEaseOut (genType const &a)
 Modelled after the quintic y = (x - 1)^5 + 1. More...
 
template<typename genType >
GLM_FUNC_DECL genType sineEaseIn (genType const &a)
 Modelled after quarter-cycle of sine wave. More...
 
template<typename genType >
GLM_FUNC_DECL genType sineEaseInOut (genType const &a)
 Modelled after half sine wave. More...
 
template<typename genType >
GLM_FUNC_DECL genType sineEaseOut (genType const &a)
 Modelled after quarter-cycle of sine wave (different phase) More...
 

Detailed Description

GLM_GTX_easing

Author
Robert Chisholm
See also
Core features (dependence)

Definition in file easing.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00023_source.html ================================================ 0.9.9 API documentation: easing.hpp Source File
0.9.9 API documentation
easing.hpp
Go to the documentation of this file.
1 
17 #pragma once
18 
19 // Dependency:
20 #include "../glm.hpp"
21 #include "../gtc/constants.hpp"
22 #include "../detail/qualifier.hpp"
23 
24 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
25 # ifndef GLM_ENABLE_EXPERIMENTAL
26 # pragma message("GLM: GLM_GTX_easing is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
27 # else
28 # pragma message("GLM: GLM_GTX_easing extension included")
29 # endif
30 #endif
31 
32 namespace glm{
35 
38  template <typename genType>
39  GLM_FUNC_DECL genType linearInterpolation(genType const & a);
40 
43  template <typename genType>
44  GLM_FUNC_DECL genType quadraticEaseIn(genType const & a);
45 
48  template <typename genType>
49  GLM_FUNC_DECL genType quadraticEaseOut(genType const & a);
50 
55  template <typename genType>
56  GLM_FUNC_DECL genType quadraticEaseInOut(genType const & a);
57 
59  template <typename genType>
60  GLM_FUNC_DECL genType cubicEaseIn(genType const & a);
61 
64  template <typename genType>
65  GLM_FUNC_DECL genType cubicEaseOut(genType const & a);
66 
71  template <typename genType>
72  GLM_FUNC_DECL genType cubicEaseInOut(genType const & a);
73 
76  template <typename genType>
77  GLM_FUNC_DECL genType quarticEaseIn(genType const & a);
78 
81  template <typename genType>
82  GLM_FUNC_DECL genType quarticEaseOut(genType const & a);
83 
88  template <typename genType>
89  GLM_FUNC_DECL genType quarticEaseInOut(genType const & a);
90 
93  template <typename genType>
94  GLM_FUNC_DECL genType quinticEaseIn(genType const & a);
95 
98  template <typename genType>
99  GLM_FUNC_DECL genType quinticEaseOut(genType const & a);
100 
105  template <typename genType>
106  GLM_FUNC_DECL genType quinticEaseInOut(genType const & a);
107 
110  template <typename genType>
111  GLM_FUNC_DECL genType sineEaseIn(genType const & a);
112 
115  template <typename genType>
116  GLM_FUNC_DECL genType sineEaseOut(genType const & a);
117 
120  template <typename genType>
121  GLM_FUNC_DECL genType sineEaseInOut(genType const & a);
122 
125  template <typename genType>
126  GLM_FUNC_DECL genType circularEaseIn(genType const & a);
127 
130  template <typename genType>
131  GLM_FUNC_DECL genType circularEaseOut(genType const & a);
132 
137  template <typename genType>
138  GLM_FUNC_DECL genType circularEaseInOut(genType const & a);
139 
142  template <typename genType>
143  GLM_FUNC_DECL genType exponentialEaseIn(genType const & a);
144 
147  template <typename genType>
148  GLM_FUNC_DECL genType exponentialEaseOut(genType const & a);
149 
154  template <typename genType>
155  GLM_FUNC_DECL genType exponentialEaseInOut(genType const & a);
156 
159  template <typename genType>
160  GLM_FUNC_DECL genType elasticEaseIn(genType const & a);
161 
164  template <typename genType>
165  GLM_FUNC_DECL genType elasticEaseOut(genType const & a);
166 
171  template <typename genType>
172  GLM_FUNC_DECL genType elasticEaseInOut(genType const & a);
173 
175  template <typename genType>
176  GLM_FUNC_DECL genType backEaseIn(genType const& a);
177 
179  template <typename genType>
180  GLM_FUNC_DECL genType backEaseOut(genType const& a);
181 
183  template <typename genType>
184  GLM_FUNC_DECL genType backEaseInOut(genType const& a);
185 
189  template <typename genType>
190  GLM_FUNC_DECL genType backEaseIn(genType const& a, genType const& o);
191 
195  template <typename genType>
196  GLM_FUNC_DECL genType backEaseOut(genType const& a, genType const& o);
197 
201  template <typename genType>
202  GLM_FUNC_DECL genType backEaseInOut(genType const& a, genType const& o);
203 
205  template <typename genType>
206  GLM_FUNC_DECL genType bounceEaseIn(genType const& a);
207 
209  template <typename genType>
210  GLM_FUNC_DECL genType bounceEaseOut(genType const& a);
211 
213  template <typename genType>
214  GLM_FUNC_DECL genType bounceEaseInOut(genType const& a);
215 
217 }//namespace glm
218 
219 #include "easing.inl"
GLM_FUNC_DECL genType bounceEaseIn(genType const &a)
GLM_FUNC_DECL genType circularEaseInOut(genType const &a)
Modelled after the piecewise circular function y = (1/2)(1 - sqrt(1 - 4x^2)) ; [0, 0.5) y = (1/2)(sqrt(-(2x - 3)*(2x - 1)) + 1) ; [0.5, 1].
GLM_FUNC_DECL genType cubicEaseIn(genType const &a)
Modelled after the cubic y = x^3.
GLM_FUNC_DECL genType elasticEaseIn(genType const &a)
Modelled after the damped sine wave y = sin(13pi/2*x)*pow(2, 10 * (x - 1))
GLM_FUNC_DECL genType quinticEaseIn(genType const &a)
Modelled after the quintic y = x^5.
GLM_FUNC_DECL genType sineEaseInOut(genType const &a)
Modelled after half sine wave.
GLM_FUNC_DECL genType circularEaseOut(genType const &a)
Modelled after shifted quadrant II of unit circle.
GLM_FUNC_DECL genType elasticEaseOut(genType const &a)
Modelled after the damped sine wave y = sin(-13pi/2*(x + 1))*pow(2, -10x) + 1.
GLM_FUNC_DECL genType elasticEaseInOut(genType const &a)
Modelled after the piecewise exponentially-damped sine wave: y = (1/2)*sin(13pi/2*(2*x))*pow(2, 10 * ((2*x) - 1)) ; [0,0.5) y = (1/2)*(sin(-13pi/2*((2x-1)+1))*pow(2,-10(2*x-1)) + 2) ; [0.5, 1].
GLM_FUNC_DECL genType sineEaseIn(genType const &a)
Modelled after quarter-cycle of sine wave.
GLM_FUNC_DECL genType linearInterpolation(genType const &a)
Modelled after the line y = x.
GLM_FUNC_DECL genType quarticEaseIn(genType const &a)
Modelled after the quartic x^4.
GLM_FUNC_DECL genType quarticEaseOut(genType const &a)
Modelled after the quartic y = 1 - (x - 1)^4.
GLM_FUNC_DECL genType sineEaseOut(genType const &a)
Modelled after quarter-cycle of sine wave (different phase)
GLM_FUNC_DECL genType quadraticEaseInOut(genType const &a)
Modelled after the piecewise quadratic y = (1/2)((2x)^2) ; [0, 0.5) y = -(1/2)((2x-1)*(2x-3) - 1) ; [...
GLM_FUNC_DECL genType circularEaseIn(genType const &a)
Modelled after shifted quadrant IV of unit circle.
GLM_FUNC_DECL genType quadraticEaseOut(genType const &a)
Modelled after the parabola y = -x^2 + 2x.
GLM_FUNC_DECL genType exponentialEaseOut(genType const &a)
Modelled after the exponential function y = -2^(-10x) + 1.
GLM_FUNC_DECL genType quinticEaseOut(genType const &a)
Modelled after the quintic y = (x - 1)^5 + 1.
GLM_FUNC_DECL genType cubicEaseOut(genType const &a)
Modelled after the cubic y = (x - 1)^3 + 1.
GLM_FUNC_DECL genType exponentialEaseInOut(genType const &a)
Modelled after the piecewise exponential y = (1/2)2^(10(2x - 1)) ; [0,0.5) y = -(1/2)*2^(-10(2x - 1))...
GLM_FUNC_DECL genType bounceEaseOut(genType const &a)
GLM_FUNC_DECL genType quinticEaseInOut(genType const &a)
Modelled after the piecewise quintic y = (1/2)((2x)^5) ; [0, 0.5) y = (1/2)((2x-2)^5 + 2) ; [0...
GLM_FUNC_DECL genType backEaseIn(genType const &a, genType const &o)
GLM_FUNC_DECL genType exponentialEaseIn(genType const &a)
Modelled after the exponential function y = 2^(10(x - 1))
GLM_FUNC_DECL genType quadraticEaseIn(genType const &a)
Modelled after the parabola y = x^2.
GLM_FUNC_DECL genType quarticEaseInOut(genType const &a)
Modelled after the piecewise quartic y = (1/2)((2x)^4) ; [0, 0.5) y = -(1/2)((2x-2)^4 - 2) ; [0...
GLM_FUNC_DECL genType cubicEaseInOut(genType const &a)
Modelled after the piecewise cubic y = (1/2)((2x)^3) ; [0, 0.5) y = (1/2)((2x-2)^3 + 2) ; [0...
GLM_FUNC_DECL genType bounceEaseInOut(genType const &a)
GLM_FUNC_DECL genType backEaseInOut(genType const &a, genType const &o)
GLM_FUNC_DECL genType backEaseOut(genType const &a, genType const &o)
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00024.html ================================================ 0.9.9 API documentation: epsilon.hpp File Reference
0.9.9 API documentation
epsilon.hpp File Reference

GLM_GTC_epsilon More...

Go to the source code of this file.

Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > epsilonEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, T const &epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<typename genType >
GLM_FUNC_DECL bool epsilonEqual (genType const &x, genType const &y, genType const &epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > epsilonNotEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, T const &epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<typename genType >
GLM_FUNC_DECL bool epsilonNotEqual (genType const &x, genType const &y, genType const &epsilon)
 Returns the component-wise comparison of |x - y| >= epsilon. More...
 

Detailed Description

GLM_GTC_epsilon

See also
Core features (dependence)
GLM_GTC_quaternion (dependence)

Definition in file epsilon.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00024_source.html ================================================ 0.9.9 API documentation: epsilon.hpp Source File
0.9.9 API documentation
epsilon.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependencies
17 #include "../detail/setup.hpp"
18 #include "../detail/qualifier.hpp"
19 
20 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
21 # pragma message("GLM: GLM_GTC_epsilon extension included")
22 #endif
23 
24 namespace glm
25 {
28 
33  template<length_t L, typename T, qualifier Q>
34  GLM_FUNC_DECL vec<L, bool, Q> epsilonEqual(vec<L, T, Q> const& x, vec<L, T, Q> const& y, T const& epsilon);
35 
40  template<typename genType>
41  GLM_FUNC_DECL bool epsilonEqual(genType const& x, genType const& y, genType const& epsilon);
42 
47  template<length_t L, typename T, qualifier Q>
48  GLM_FUNC_DECL vec<L, bool, Q> epsilonNotEqual(vec<L, T, Q> const& x, vec<L, T, Q> const& y, T const& epsilon);
49 
54  template<typename genType>
55  GLM_FUNC_DECL bool epsilonNotEqual(genType const& x, genType const& y, genType const& epsilon);
56 
58 }//namespace glm
59 
60 #include "epsilon.inl"
GLM_FUNC_DECL bool epsilonEqual(genType const &x, genType const &y, genType const &epsilon)
Returns the component-wise comparison of |x - y| < epsilon.
GLM_FUNC_DECL bool epsilonNotEqual(genType const &x, genType const &y, genType const &epsilon)
Returns the component-wise comparison of |x - y| >= epsilon.
GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon()
Return the epsilon constant for floating point types.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00025.html ================================================ 0.9.9 API documentation: euler_angles.hpp File Reference
0.9.9 API documentation
euler_angles.hpp File Reference

GLM_GTX_euler_angles More...

Go to the source code of this file.

Functions

template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > derivedEulerAngleX (T const &angleX, T const &angularVelocityX)
 Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about X-axis. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > derivedEulerAngleY (T const &angleY, T const &angularVelocityY)
 Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about Y-axis. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > derivedEulerAngleZ (T const &angleZ, T const &angularVelocityZ)
 Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about Z-axis. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleX (T const &angleX)
 Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXY (T const &angleX, T const &angleY)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXYX (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * X). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXYZ (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * Z). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXZ (T const &angleX, T const &angleZ)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXZX (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z * X). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXZY (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z * Y). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleY (T const &angleY)
 Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYX (T const &angleY, T const &angleX)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYXY (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Y). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYXZ (T const &yaw, T const &pitch, T const &roll)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYZ (T const &angleY, T const &angleZ)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYZX (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z * X). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYZY (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z * Y). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZ (T const &angleZ)
 Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZX (T const &angle, T const &angleX)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZXY (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X * Y). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZXZ (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X * Z). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZY (T const &angleZ, T const &angleY)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZYX (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y * X). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZYZ (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y * Z). More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleXYX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (X * Y * X) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleXYZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (X * Y * Z) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleXZX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (X * Z * X) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleXZY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (X * Z * Y) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleYXY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Y * X * Y) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleYXZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Y * X * Z) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleYZX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Y * Z * X) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleYZY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Y * Z * Y) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleZXY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Z * X * Y) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleZXZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Z * X * Z) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleZYX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Z * Y * X) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleZYZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Z * Y * Z) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL mat< 2, 2, T, defaultp > orientate2 (T const &angle)
 Creates a 2D 2 * 2 rotation matrix from an euler angle. More...
 
template<typename T >
GLM_FUNC_DECL mat< 3, 3, T, defaultp > orientate3 (T const &angle)
 Creates a 2D 4 * 4 homogeneous rotation matrix from an euler angle. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > orientate3 (vec< 3, T, Q > const &angles)
 Creates a 3D 3 * 3 rotation matrix from euler angles (Y * X * Z). More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > orientate4 (vec< 3, T, Q > const &angles)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > yawPitchRoll (T const &yaw, T const &pitch, T const &roll)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). More...
 

Detailed Description

GLM_GTX_euler_angles

See also
Core features (dependence)

Definition in file euler_angles.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00025_source.html ================================================ 0.9.9 API documentation: euler_angles.hpp Source File
0.9.9 API documentation
euler_angles.hpp
Go to the documentation of this file.
1 
16 #pragma once
17 
18 // Dependency:
19 #include "../glm.hpp"
20 
21 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
22 # ifndef GLM_ENABLE_EXPERIMENTAL
23 # pragma message("GLM: GLM_GTX_euler_angles is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
24 # else
25 # pragma message("GLM: GLM_GTX_euler_angles extension included")
26 # endif
27 #endif
28 
29 namespace glm
30 {
33 
36  template<typename T>
37  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleX(
38  T const& angleX);
39 
42  template<typename T>
43  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleY(
44  T const& angleY);
45 
48  template<typename T>
49  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZ(
50  T const& angleZ);
51 
54  template <typename T>
55  GLM_FUNC_DECL mat<4, 4, T, defaultp> derivedEulerAngleX(
56  T const & angleX, T const & angularVelocityX);
57 
60  template <typename T>
61  GLM_FUNC_DECL mat<4, 4, T, defaultp> derivedEulerAngleY(
62  T const & angleY, T const & angularVelocityY);
63 
66  template <typename T>
67  GLM_FUNC_DECL mat<4, 4, T, defaultp> derivedEulerAngleZ(
68  T const & angleZ, T const & angularVelocityZ);
69 
72  template<typename T>
73  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXY(
74  T const& angleX,
75  T const& angleY);
76 
79  template<typename T>
80  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYX(
81  T const& angleY,
82  T const& angleX);
83 
86  template<typename T>
87  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXZ(
88  T const& angleX,
89  T const& angleZ);
90 
93  template<typename T>
94  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZX(
95  T const& angle,
96  T const& angleX);
97 
100  template<typename T>
101  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYZ(
102  T const& angleY,
103  T const& angleZ);
104 
107  template<typename T>
108  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZY(
109  T const& angleZ,
110  T const& angleY);
111 
114  template<typename T>
115  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXYZ(
116  T const& t1,
117  T const& t2,
118  T const& t3);
119 
122  template<typename T>
123  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYXZ(
124  T const& yaw,
125  T const& pitch,
126  T const& roll);
127 
130  template <typename T>
131  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXZX(
132  T const & t1,
133  T const & t2,
134  T const & t3);
135 
138  template <typename T>
139  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXYX(
140  T const & t1,
141  T const & t2,
142  T const & t3);
143 
146  template <typename T>
147  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYXY(
148  T const & t1,
149  T const & t2,
150  T const & t3);
151 
154  template <typename T>
155  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYZY(
156  T const & t1,
157  T const & t2,
158  T const & t3);
159 
162  template <typename T>
163  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZYZ(
164  T const & t1,
165  T const & t2,
166  T const & t3);
167 
170  template <typename T>
171  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZXZ(
172  T const & t1,
173  T const & t2,
174  T const & t3);
175 
178  template <typename T>
179  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXZY(
180  T const & t1,
181  T const & t2,
182  T const & t3);
183 
186  template <typename T>
187  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYZX(
188  T const & t1,
189  T const & t2,
190  T const & t3);
191 
194  template <typename T>
195  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZYX(
196  T const & t1,
197  T const & t2,
198  T const & t3);
199 
202  template <typename T>
203  GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZXY(
204  T const & t1,
205  T const & t2,
206  T const & t3);
207 
210  template<typename T>
211  GLM_FUNC_DECL mat<4, 4, T, defaultp> yawPitchRoll(
212  T const& yaw,
213  T const& pitch,
214  T const& roll);
215 
218  template<typename T>
219  GLM_FUNC_DECL mat<2, 2, T, defaultp> orientate2(T const& angle);
220 
223  template<typename T>
224  GLM_FUNC_DECL mat<3, 3, T, defaultp> orientate3(T const& angle);
225 
228  template<typename T, qualifier Q>
229  GLM_FUNC_DECL mat<3, 3, T, Q> orientate3(vec<3, T, Q> const& angles);
230 
233  template<typename T, qualifier Q>
234  GLM_FUNC_DECL mat<4, 4, T, Q> orientate4(vec<3, T, Q> const& angles);
235 
238  template<typename T>
239  GLM_FUNC_DECL void extractEulerAngleXYZ(mat<4, 4, T, defaultp> const& M,
240  T & t1,
241  T & t2,
242  T & t3);
243 
246  template <typename T>
247  GLM_FUNC_DECL void extractEulerAngleYXZ(mat<4, 4, T, defaultp> const & M,
248  T & t1,
249  T & t2,
250  T & t3);
251 
254  template <typename T>
255  GLM_FUNC_DECL void extractEulerAngleXZX(mat<4, 4, T, defaultp> const & M,
256  T & t1,
257  T & t2,
258  T & t3);
259 
262  template <typename T>
263  GLM_FUNC_DECL void extractEulerAngleXYX(mat<4, 4, T, defaultp> const & M,
264  T & t1,
265  T & t2,
266  T & t3);
267 
270  template <typename T>
271  GLM_FUNC_DECL void extractEulerAngleYXY(mat<4, 4, T, defaultp> const & M,
272  T & t1,
273  T & t2,
274  T & t3);
275 
278  template <typename T>
279  GLM_FUNC_DECL void extractEulerAngleYZY(mat<4, 4, T, defaultp> const & M,
280  T & t1,
281  T & t2,
282  T & t3);
283 
286  template <typename T>
287  GLM_FUNC_DECL void extractEulerAngleZYZ(mat<4, 4, T, defaultp> const & M,
288  T & t1,
289  T & t2,
290  T & t3);
291 
294  template <typename T>
295  GLM_FUNC_DECL void extractEulerAngleZXZ(mat<4, 4, T, defaultp> const & M,
296  T & t1,
297  T & t2,
298  T & t3);
299 
302  template <typename T>
303  GLM_FUNC_DECL void extractEulerAngleXZY(mat<4, 4, T, defaultp> const & M,
304  T & t1,
305  T & t2,
306  T & t3);
307 
310  template <typename T>
311  GLM_FUNC_DECL void extractEulerAngleYZX(mat<4, 4, T, defaultp> const & M,
312  T & t1,
313  T & t2,
314  T & t3);
315 
318  template <typename T>
319  GLM_FUNC_DECL void extractEulerAngleZYX(mat<4, 4, T, defaultp> const & M,
320  T & t1,
321  T & t2,
322  T & t3);
323 
326  template <typename T>
327  GLM_FUNC_DECL void extractEulerAngleZXY(mat<4, 4, T, defaultp> const & M,
328  T & t1,
329  T & t2,
330  T & t3);
331 
333 }//namespace glm
334 
335 #include "euler_angles.inl"
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXY(T const &angleX, T const &angleY)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y).
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYZY(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z * Y).
GLM_FUNC_DECL void extractEulerAngleYXZ(mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
Extracts the (Y * X * Z) Euler angles from the rotation matrix M.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXYZ(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * Z).
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXZY(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z * Y).
GLM_FUNC_DECL mat< 4, 4, T, defaultp > derivedEulerAngleZ(T const &angleZ, T const &angularVelocityZ)
Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about Z-axis.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYX(T const &angleY, T const &angleX)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X).
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleY(T const &angleY)
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y.
GLM_FUNC_DECL T angle(qua< T, Q > const &x)
Returns the quaternion rotation angle.
GLM_FUNC_DECL void extractEulerAngleZYZ(mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
Extracts the (Z * Y * Z) Euler angles from the rotation matrix M.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > derivedEulerAngleX(T const &angleX, T const &angularVelocityX)
Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about X-axis.
GLM_FUNC_DECL void extractEulerAngleXYX(mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
Extracts the (X * Y * X) Euler angles from the rotation matrix M.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZXY(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X * Y).
GLM_FUNC_DECL T roll(qua< T, Q > const &x)
Returns roll value of euler angles expressed in radians.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleX(T const &angleX)
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X.
GLM_FUNC_DECL mat< 2, 2, T, defaultp > orientate2(T const &angle)
Creates a 2D 2 * 2 rotation matrix from an euler angle.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXYX(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * X).
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYXZ(T const &yaw, T const &pitch, T const &roll)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).
GLM_FUNC_DECL void extractEulerAngleXZX(mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
Extracts the (X * Z * X) Euler angles from the rotation matrix M.
GLM_FUNC_DECL T yaw(qua< T, Q > const &x)
Returns yaw value of euler angles expressed in radians.
GLM_FUNC_DECL void extractEulerAngleYXY(mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
Extracts the (Y * X * Y) Euler angles from the rotation matrix M.
GLM_FUNC_DECL void extractEulerAngleZXY(mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
Extracts the (Z * X * Y) Euler angles from the rotation matrix M.
GLM_FUNC_DECL void extractEulerAngleXZY(mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
Extracts the (X * Z * Y) Euler angles from the rotation matrix M.
GLM_FUNC_DECL void extractEulerAngleYZX(mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
Extracts the (Y * Z * X) Euler angles from the rotation matrix M.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXZX(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z * X).
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZYX(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y * X).
GLM_FUNC_DECL mat< 4, 4, T, Q > orientate4(vec< 3, T, Q > const &angles)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).
GLM_FUNC_DECL void extractEulerAngleZYX(mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
Extracts the (Z * Y * X) Euler angles from the rotation matrix M.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZ(T const &angleZ)
Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYXY(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Y).
GLM_FUNC_DECL void extractEulerAngleYZY(mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
Extracts the (Y * Z * Y) Euler angles from the rotation matrix M.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > yawPitchRoll(T const &yaw, T const &pitch, T const &roll)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXZ(T const &angleX, T const &angleZ)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z).
GLM_FUNC_DECL void extractEulerAngleXYZ(mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
Extracts the (X * Y * Z) Euler angles from the rotation matrix M.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZXZ(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X * Z).
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYZX(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z * X).
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZY(T const &angleZ, T const &angleY)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y).
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZYZ(T const &t1, T const &t2, T const &t3)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y * Z).
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYZ(T const &angleY, T const &angleZ)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z).
GLM_FUNC_DECL mat< 3, 3, T, Q > orientate3(vec< 3, T, Q > const &angles)
Creates a 3D 3 * 3 rotation matrix from euler angles (Y * X * Z).
GLM_FUNC_DECL void extractEulerAngleZXZ(mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
Extracts the (Z * X * Z) Euler angles from the rotation matrix M.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > derivedEulerAngleY(T const &angleY, T const &angularVelocityY)
Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about Y-axis.
GLM_FUNC_DECL T pitch(qua< T, Q > const &x)
Returns pitch value of euler angles expressed in radians.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZX(T const &angle, T const &angleX)
Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X).
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00026.html ================================================ 0.9.9 API documentation: exponential.hpp File Reference
0.9.9 API documentation
exponential.hpp File Reference

Core features More...

Go to the source code of this file.

Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > exp (vec< L, T, Q > const &v)
 Returns the natural exponentiation of x, i.e., e^x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > exp2 (vec< L, T, Q > const &v)
 Returns 2 raised to the v power. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > inversesqrt (vec< L, T, Q > const &v)
 Returns the reciprocal of the positive square root of v. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > log (vec< L, T, Q > const &v)
 Returns the natural logarithm of v, i.e., returns the value y which satisfies the equation x = e^y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > log2 (vec< L, T, Q > const &v)
 Returns the base 2 log of x, i.e., returns the value y, which satisfies the equation x = 2 ^ y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > pow (vec< L, T, Q > const &base, vec< L, T, Q > const &exponent)
 Returns 'base' raised to the power 'exponent'. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > sqrt (vec< L, T, Q > const &v)
 Returns the positive square root of v. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00026_source.html ================================================ 0.9.9 API documentation: exponential.hpp Source File
0.9.9 API documentation
exponential.hpp
Go to the documentation of this file.
1 
15 #pragma once
16 
17 #include "detail/type_vec1.hpp"
18 #include "detail/type_vec2.hpp"
19 #include "detail/type_vec3.hpp"
20 #include "detail/type_vec4.hpp"
21 #include <cmath>
22 
23 namespace glm
24 {
27 
35  template<length_t L, typename T, qualifier Q>
36  GLM_FUNC_DECL vec<L, T, Q> pow(vec<L, T, Q> const& base, vec<L, T, Q> const& exponent);
37 
46  template<length_t L, typename T, qualifier Q>
47  GLM_FUNC_DECL vec<L, T, Q> exp(vec<L, T, Q> const& v);
48 
59  template<length_t L, typename T, qualifier Q>
60  GLM_FUNC_DECL vec<L, T, Q> log(vec<L, T, Q> const& v);
61 
70  template<length_t L, typename T, qualifier Q>
71  GLM_FUNC_DECL vec<L, T, Q> exp2(vec<L, T, Q> const& v);
72 
82  template<length_t L, typename T, qualifier Q>
83  GLM_FUNC_DECL vec<L, T, Q> log2(vec<L, T, Q> const& v);
84 
93  template<length_t L, typename T, qualifier Q>
94  GLM_FUNC_DECL vec<L, T, Q> sqrt(vec<L, T, Q> const& v);
95 
104  template<length_t L, typename T, qualifier Q>
105  GLM_FUNC_DECL vec<L, T, Q> inversesqrt(vec<L, T, Q> const& v);
106 
108 }//namespace glm
109 
110 #include "detail/func_exponential.inl"
Core features
GLM_FUNC_DECL vec< L, T, Q > sqrt(vec< L, T, Q > const &v)
Returns the positive square root of v.
GLM_FUNC_DECL vec< L, T, Q > exp2(vec< L, T, Q > const &v)
Returns 2 raised to the v power.
GLM_FUNC_DECL vec< L, T, Q > inversesqrt(vec< L, T, Q > const &v)
Returns the reciprocal of the positive square root of v.
Core features
Core features
GLM_FUNC_DECL vec< L, T, Q > pow(vec< L, T, Q > const &base, vec< L, T, Q > const &exponent)
Returns 'base' raised to the power 'exponent'.
GLM_FUNC_DECL vec< L, T, Q > exp(vec< L, T, Q > const &v)
Returns the natural exponentiation of x, i.e., e^x.
GLM_FUNC_DECL vec< L, T, Q > log(vec< L, T, Q > const &v)
Returns the natural logarithm of v, i.e., returns the value y which satisfies the equation x = e^y...
Core features
GLM_FUNC_DECL vec< L, T, Q > log2(vec< L, T, Q > const &v)
Returns the base 2 log of x, i.e., returns the value y, which satisfies the equation x = 2 ^ y...
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00027.html ================================================ 0.9.9 API documentation: ext.hpp File Reference
0.9.9 API documentation
ext.hpp File Reference

Core features (Dependence) More...

Go to the source code of this file.

Detailed Description

Core features (Dependence)

Definition in file ext.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00027_source.html ================================================ 0.9.9 API documentation: ext.hpp Source File
0.9.9 API documentation
ext.hpp
Go to the documentation of this file.
1 
5 #include "detail/setup.hpp"
6 
7 #pragma once
8 
9 #include "glm.hpp"
10 
11 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_MESSAGE_EXT_INCLUDED_DISPLAYED)
12 # define GLM_MESSAGE_EXT_INCLUDED_DISPLAYED
13 # pragma message("GLM: All extensions included (not recommended)")
14 #endif//GLM_MESSAGES
15 
34 
48 #include "./ext/matrix_float4x2_precision.hpp"
53 
55 
62 
66 
67 #include "./ext/vector_bool1.hpp"
69 #include "./ext/vector_bool2.hpp"
71 #include "./ext/vector_bool3.hpp"
73 #include "./ext/vector_bool4.hpp"
75 
76 #include "./ext/vector_double1.hpp"
78 #include "./ext/vector_double2.hpp"
80 #include "./ext/vector_double3.hpp"
82 #include "./ext/vector_double4.hpp"
84 
85 #include "./ext/vector_float1.hpp"
87 #include "./ext/vector_float2.hpp"
89 #include "./ext/vector_float3.hpp"
91 #include "./ext/vector_float4.hpp"
93 
94 #include "./ext/vector_int1.hpp"
96 #include "./ext/vector_int2.hpp"
98 #include "./ext/vector_int3.hpp"
100 #include "./ext/vector_int4.hpp"
102 
104 
105 #include "./ext/vector_uint1.hpp"
107 #include "./ext/vector_uint2.hpp"
109 #include "./ext/vector_uint3.hpp"
111 #include "./ext/vector_uint4.hpp"
113 
114 #include "./gtc/bitfield.hpp"
115 #include "./gtc/color_space.hpp"
116 #include "./gtc/constants.hpp"
117 #include "./gtc/epsilon.hpp"
118 #include "./gtc/integer.hpp"
119 #include "./gtc/matrix_access.hpp"
120 #include "./gtc/matrix_integer.hpp"
121 #include "./gtc/matrix_inverse.hpp"
123 #include "./gtc/noise.hpp"
124 #include "./gtc/packing.hpp"
125 #include "./gtc/quaternion.hpp"
126 #include "./gtc/random.hpp"
127 #include "./gtc/reciprocal.hpp"
128 #include "./gtc/round.hpp"
129 #include "./gtc/type_precision.hpp"
130 #include "./gtc/type_ptr.hpp"
131 #include "./gtc/ulp.hpp"
132 #include "./gtc/vec1.hpp"
133 #if GLM_CONFIG_ALIGNED_GENTYPES == GLM_ENABLE
134 # include "./gtc/type_aligned.hpp"
135 #endif
136 
137 #ifdef GLM_ENABLE_EXPERIMENTAL
139 #include "./gtx/bit.hpp"
140 #include "./gtx/closest_point.hpp"
141 #include "./gtx/color_encoding.hpp"
142 #include "./gtx/color_space.hpp"
144 #include "./gtx/compatibility.hpp"
145 #include "./gtx/component_wise.hpp"
146 #include "./gtx/dual_quaternion.hpp"
147 #include "./gtx/euler_angles.hpp"
148 #include "./gtx/extend.hpp"
153 #include "./gtx/functions.hpp"
154 #include "./gtx/gradient_paint.hpp"
156 #include "./gtx/integer.hpp"
157 #include "./gtx/intersect.hpp"
158 #include "./gtx/log_base.hpp"
163 #include "./gtx/matrix_query.hpp"
164 #include "./gtx/mixed_product.hpp"
165 #include "./gtx/norm.hpp"
166 #include "./gtx/normal.hpp"
167 #include "./gtx/normalize_dot.hpp"
169 #include "./gtx/optimum_pow.hpp"
170 #include "./gtx/orthonormalize.hpp"
171 #include "./gtx/perpendicular.hpp"
173 #include "./gtx/projection.hpp"
174 #include "./gtx/quaternion.hpp"
175 #include "./gtx/raw_data.hpp"
176 #include "./gtx/rotate_vector.hpp"
177 #include "./gtx/spline.hpp"
178 #include "./gtx/std_based_type.hpp"
179 #if !(GLM_COMPILER & GLM_COMPILER_CUDA)
180 # include "./gtx/string_cast.hpp"
181 #endif
182 #include "./gtx/transform.hpp"
183 #include "./gtx/transform2.hpp"
184 #include "./gtx/vec_swizzle.hpp"
185 #include "./gtx/vector_angle.hpp"
186 #include "./gtx/vector_query.hpp"
187 #include "./gtx/wrap.hpp"
188 
189 #if GLM_HAS_TEMPLATE_ALIASES
191 #endif
192 
193 #if GLM_HAS_RANGE_FOR
194 # include "./gtx/range.hpp"
195 #endif
196 #endif//GLM_ENABLE_EXPERIMENTAL
GLM_GTC_epsilon
GLM_EXT_vector_relational
GLM_GTX_dual_quaternion
GLM_GTX_polar_coordinates
GLM_GTX_closest_point
Core features
GLM_GTX_handed_coordinate_space
Core features
GLM_GTX_raw_data
Core features
GLM_GTX_string_cast
GLM_EXT_vector_uint1_precision
GLM_GTX_intersect
GLM_EXT_vector_int1_precision
GLM_GTX_normalize_dot
GLM_GTX_integer
GLM_GTX_rotate_vector
GLM_GTX_matrix_major_storage
Core features
Core features
GLM_GTX_matrix_interpolation
GLM_GTX_vector_angle
GLM_GTX_transform2
GLM_GTX_wrap
GLM_GTX_vector_query
GLM_GTX_projection
GLM_GTC_constants
GLM_GTX_perpendicular
Core features
Core features
Core features
Core features
GLM_GTX_std_based_type
Core features
GLM_GTX_component_wise
GLM_GTC_ulp
GLM_GTC_round
Core features
GLM_GTX_orthonormalize
GLM_GTC_integer
GLM_EXT_vector_float1
GLM_GTX_matrix_query
GLM_EXT_vector_double1_precision
GLM_GTX_vec_swizzle
Core features
GLM_GTC_type_ptr
Core features
GLM_GTX_gradient_paint
GLM_GTC_bitfield
GLM_GTX_range
Core features
GLM_GTC_matrix_transform
GLM_GTX_matrix_cross_product
GLM_EXT_vector_bool1_precision
GLM_GTC_type_aligned
GLM_EXT_vector_uint1
GLM_GTX_quaternion
GLM_GTX_color_space_YCoCg
GLM_EXT_vector_int1
GLM_GTX_normal
GLM_GTC_color_space
Core features
GLM_GTC_noise
Core features
Core features
GLM_GTC_matrix_integer
GLM_GTC_matrix_access
GLM_GTX_extented_min_max
GLM_GTC_vec1
GLM_GTX_transform
GLM_EXT_quaternion_double_precision
GLM_GTX_log_base
GLM_GTX_compatibility
GLM_EXT_scalar_int_sized
GLM_GTX_optimum_pow
GLM_GTX_functions
GLM_EXT_quaternion_relational
GLM_GTX_fast_square_root
Core features
GLM_EXT_quaternion_float_precision
Core features
GLM_EXT_scalar_relational
Core features
GLM_GTC_random
GLM_GTX_euler_angles
GLM_GTX_spline
GLM_GTC_quaternion
GLM_GTX_color_space
GLM_GTX_norm
GLM_GTX_color_encoding
GLM_GTC_reciprocal
Core features
GLM_GTX_mixed_producte
Core features
GLM_EXT_vector_double1
Core features
GLM_GTC_type_precision
GLM_EXT_scalar_constants
GLM_GTX_fast_trigonometry
GLM_GTX_bit
GLM_EXT_quaternion_geometric
Core features
GLM_GTX_fast_exponential
GLM_EXT_quaternion_float
GLM_EXT_vector_bool1
Core features
Core features
Core features
Core features
GLM_GTX_extend
Core features
GLM_EXT_quaternion_double
Core features
GLM_GTX_number_precision
Core features
GLM_GTX_matrix_operation
Core features
GLM_GTC_matrix_inverse
Core features
Experimental extensions
GLM_GTC_packing
Core features
GLM_GTX_associated_min_max
GLM_EXT_vector_float1_precision
GLM_EXT_matrix_relational
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00028.html ================================================ 0.9.9 API documentation: extend.hpp File Reference
0.9.9 API documentation
extend.hpp File Reference

GLM_GTX_extend More...

Go to the source code of this file.

Functions

template<typename genType >
GLM_FUNC_DECL genType extend (genType const &Origin, genType const &Source, typename genType::value_type const Length)
 Extends of Length the Origin position using the (Source - Origin) direction. More...
 

Detailed Description

GLM_GTX_extend

See also
Core features (dependence)

Definition in file extend.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00028_source.html ================================================ 0.9.9 API documentation: extend.hpp Source File
0.9.9 API documentation
extend.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependency:
16 #include "../glm.hpp"
17 
18 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
19 # ifndef GLM_ENABLE_EXPERIMENTAL
20 # pragma message("GLM: GLM_GTX_extend is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
21 # else
22 # pragma message("GLM: GLM_GTX_extend extension included")
23 # endif
24 #endif
25 
26 namespace glm
27 {
30 
33  template<typename genType>
34  GLM_FUNC_DECL genType extend(
35  genType const& Origin,
36  genType const& Source,
37  typename genType::value_type const Length);
38 
40 }//namespace glm
41 
42 #include "extend.inl"
GLM_FUNC_DECL genType extend(genType const &Origin, genType const &Source, typename genType::value_type const Length)
Extends of Length the Origin position using the (Source - Origin) direction.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00029.html ================================================ 0.9.9 API documentation: extended_min_max.hpp File Reference
0.9.9 API documentation
extended_min_max.hpp File Reference

GLM_GTX_extented_min_max More...

Go to the source code of this file.

Functions

template<typename genType >
GLM_FUNC_DECL genType fclamp (genType x, genType minVal, genType maxVal)
 Returns min(max(x, minVal), maxVal) for each component in x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fclamp (vec< L, T, Q > const &x, T minVal, T maxVal)
 Returns min(max(x, minVal), maxVal) for each component in x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fclamp (vec< L, T, Q > const &x, vec< L, T, Q > const &minVal, vec< L, T, Q > const &maxVal)
 Returns min(max(x, minVal), maxVal) for each component in x. More...
 
template<typename genType >
GLM_FUNC_DECL genType fmax (genType x, genType y)
 Returns y if x < y; otherwise, it returns x. More...
 
template<typename genType >
GLM_FUNC_DECL genType fmin (genType x, genType y)
 Returns y if y < x; otherwise, it returns x. More...
 
template<typename T >
GLM_FUNC_DECL T max (T const &x, T const &y, T const &z)
 Return the maximum component-wise values of 3 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)
 Return the maximum component-wise values of 3 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, C< T > const &y, C< T > const &z)
 Return the maximum component-wise values of 3 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T max (T const &x, T const &y, T const &z, T const &w)
 Return the maximum component-wise values of 4 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)
 Return the maximum component-wise values of 4 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 Return the maximum component-wise values of 4 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T min (T const &x, T const &y, T const &z)
 Return the minimum component-wise values of 3 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)
 Return the minimum component-wise values of 3 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, C< T > const &y, C< T > const &z)
 Return the minimum component-wise values of 3 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T min (T const &x, T const &y, T const &z, T const &w)
 Return the minimum component-wise values of 4 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)
 Return the minimum component-wise values of 4 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 Return the minimum component-wise values of 4 inputs. More...
 

Detailed Description

GLM_GTX_extented_min_max

See also
Core features (dependence)

Definition in file extended_min_max.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00029_source.html ================================================ 0.9.9 API documentation: extended_min_max.hpp Source File
0.9.9 API documentation
extended_min_max.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependency:
16 #include "../glm.hpp"
17 
18 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
19 # ifndef GLM_ENABLE_EXPERIMENTAL
20 # pragma message("GLM: GLM_GTX_extented_min_max is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
21 # else
22 # pragma message("GLM: GLM_GTX_extented_min_max extension included")
23 # endif
24 #endif
25 
26 namespace glm
27 {
30 
33  template<typename T>
34  GLM_FUNC_DECL T min(
35  T const& x,
36  T const& y,
37  T const& z);
38 
41  template<typename T, template<typename> class C>
42  GLM_FUNC_DECL C<T> min(
43  C<T> const& x,
44  typename C<T>::T const& y,
45  typename C<T>::T const& z);
46 
49  template<typename T, template<typename> class C>
50  GLM_FUNC_DECL C<T> min(
51  C<T> const& x,
52  C<T> const& y,
53  C<T> const& z);
54 
57  template<typename T>
58  GLM_FUNC_DECL T min(
59  T const& x,
60  T const& y,
61  T const& z,
62  T const& w);
63 
66  template<typename T, template<typename> class C>
67  GLM_FUNC_DECL C<T> min(
68  C<T> const& x,
69  typename C<T>::T const& y,
70  typename C<T>::T const& z,
71  typename C<T>::T const& w);
72 
75  template<typename T, template<typename> class C>
76  GLM_FUNC_DECL C<T> min(
77  C<T> const& x,
78  C<T> const& y,
79  C<T> const& z,
80  C<T> const& w);
81 
84  template<typename T>
85  GLM_FUNC_DECL T max(
86  T const& x,
87  T const& y,
88  T const& z);
89 
92  template<typename T, template<typename> class C>
93  GLM_FUNC_DECL C<T> max(
94  C<T> const& x,
95  typename C<T>::T const& y,
96  typename C<T>::T const& z);
97 
100  template<typename T, template<typename> class C>
101  GLM_FUNC_DECL C<T> max(
102  C<T> const& x,
103  C<T> const& y,
104  C<T> const& z);
105 
108  template<typename T>
109  GLM_FUNC_DECL T max(
110  T const& x,
111  T const& y,
112  T const& z,
113  T const& w);
114 
117  template<typename T, template<typename> class C>
118  GLM_FUNC_DECL C<T> max(
119  C<T> const& x,
120  typename C<T>::T const& y,
121  typename C<T>::T const& z,
122  typename C<T>::T const& w);
123 
126  template<typename T, template<typename> class C>
127  GLM_FUNC_DECL C<T> max(
128  C<T> const& x,
129  C<T> const& y,
130  C<T> const& z,
131  C<T> const& w);
132 
138  template<typename genType>
139  GLM_FUNC_DECL genType fmin(genType x, genType y);
140 
147  template<typename genType>
148  GLM_FUNC_DECL genType fmax(genType x, genType y);
149 
155  template<typename genType>
156  GLM_FUNC_DECL genType fclamp(genType x, genType minVal, genType maxVal);
157 
165  template<length_t L, typename T, qualifier Q>
166  GLM_FUNC_DECL vec<L, T, Q> fclamp(vec<L, T, Q> const& x, T minVal, T maxVal);
167 
175  template<length_t L, typename T, qualifier Q>
176  GLM_FUNC_DECL vec<L, T, Q> fclamp(vec<L, T, Q> const& x, vec<L, T, Q> const& minVal, vec<L, T, Q> const& maxVal);
177 
178 
180 }//namespace glm
181 
182 #include "extended_min_max.inl"
GLM_FUNC_DECL vec< L, T, Q > fclamp(vec< L, T, Q > const &x, vec< L, T, Q > const &minVal, vec< L, T, Q > const &maxVal)
Returns min(max(x, minVal), maxVal) for each component in x.
GLM_FUNC_DECL genType fmin(genType x, genType y)
Returns y if y < x; otherwise, it returns x.
GLM_FUNC_DECL genType fmax(genType x, genType y)
Returns y if x < y; otherwise, it returns x.
GLM_FUNC_DECL C< T > max(C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
Return the maximum component-wise values of 4 inputs.
GLM_FUNC_DECL C< T > min(C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
Return the minimum component-wise values of 4 inputs.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00030.html ================================================ 0.9.9 API documentation: exterior_product.hpp File Reference
0.9.9 API documentation
exterior_product.hpp File Reference

GLM_GTX_exterior_product More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL T cross (vec< 2, T, Q > const &v, vec< 2, T, Q > const &u)
 Returns the cross product of x and y. More...
 

Detailed Description

GLM_GTX_exterior_product

See also
Core features (dependence)
GLM_GTX_exterior_product (dependence)

Definition in file exterior_product.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00030_source.html ================================================ 0.9.9 API documentation: exterior_product.hpp Source File
0.9.9 API documentation
exterior_product.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependencies
17 #include "../detail/setup.hpp"
18 #include "../detail/qualifier.hpp"
19 
20 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
21 # ifndef GLM_ENABLE_EXPERIMENTAL
22 # pragma message("GLM: GLM_GTX_exterior_product is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
23 # else
24 # pragma message("GLM: GLM_GTX_exterior_product extension included")
25 # endif
26 #endif
27 
28 namespace glm
29 {
32 
39  template<typename T, qualifier Q>
40  GLM_FUNC_DECL T cross(vec<2, T, Q> const& v, vec<2, T, Q> const& u);
41 
43 } //namespace glm
44 
45 #include "exterior_product.inl"
GLM_FUNC_DECL T cross(vec< 2, T, Q > const &v, vec< 2, T, Q > const &u)
Returns the cross product of x and y.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00031.html ================================================ 0.9.9 API documentation: fast_exponential.hpp File Reference
0.9.9 API documentation
fast_exponential.hpp File Reference

GLM_GTX_fast_exponential More...

Go to the source code of this file.

Functions

template<typename T >
GLM_FUNC_DECL T fastExp (T x)
 Faster than the common exp function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastExp (vec< L, T, Q > const &x)
 Faster than the common exp function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T fastExp2 (T x)
 Faster than the common exp2 function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastExp2 (vec< L, T, Q > const &x)
 Faster than the common exp2 function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T fastLog (T x)
 Faster than the common log function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastLog (vec< L, T, Q > const &x)
 Faster than the common exp2 function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T fastLog2 (T x)
 Faster than the common log2 function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastLog2 (vec< L, T, Q > const &x)
 Faster than the common log2 function but less accurate. More...
 
template<typename genType >
GLM_FUNC_DECL genType fastPow (genType x, genType y)
 Faster than the common pow function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastPow (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Faster than the common pow function but less accurate. More...
 
template<typename genTypeT , typename genTypeU >
GLM_FUNC_DECL genTypeT fastPow (genTypeT x, genTypeU y)
 Faster than the common pow function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastPow (vec< L, T, Q > const &x)
 Faster than the common pow function but less accurate. More...
 

Detailed Description

GLM_GTX_fast_exponential

See also
Core features (dependence)
gtx_half_float (dependence)

Definition in file fast_exponential.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00031_source.html ================================================ 0.9.9 API documentation: fast_exponential.hpp Source File
0.9.9 API documentation
fast_exponential.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependency:
17 #include "../glm.hpp"
18 
19 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
20 # ifndef GLM_ENABLE_EXPERIMENTAL
21 # pragma message("GLM: GLM_GTX_fast_exponential is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
22 # else
23 # pragma message("GLM: GLM_GTX_fast_exponential extension included")
24 # endif
25 #endif
26 
27 namespace glm
28 {
31 
34  template<typename genType>
35  GLM_FUNC_DECL genType fastPow(genType x, genType y);
36 
39  template<length_t L, typename T, qualifier Q>
40  GLM_FUNC_DECL vec<L, T, Q> fastPow(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
41 
44  template<typename genTypeT, typename genTypeU>
45  GLM_FUNC_DECL genTypeT fastPow(genTypeT x, genTypeU y);
46 
49  template<length_t L, typename T, qualifier Q>
50  GLM_FUNC_DECL vec<L, T, Q> fastPow(vec<L, T, Q> const& x);
51 
54  template<typename T>
55  GLM_FUNC_DECL T fastExp(T x);
56 
59  template<length_t L, typename T, qualifier Q>
60  GLM_FUNC_DECL vec<L, T, Q> fastExp(vec<L, T, Q> const& x);
61 
64  template<typename T>
65  GLM_FUNC_DECL T fastLog(T x);
66 
69  template<length_t L, typename T, qualifier Q>
70  GLM_FUNC_DECL vec<L, T, Q> fastLog(vec<L, T, Q> const& x);
71 
74  template<typename T>
75  GLM_FUNC_DECL T fastExp2(T x);
76 
79  template<length_t L, typename T, qualifier Q>
80  GLM_FUNC_DECL vec<L, T, Q> fastExp2(vec<L, T, Q> const& x);
81 
84  template<typename T>
85  GLM_FUNC_DECL T fastLog2(T x);
86 
89  template<length_t L, typename T, qualifier Q>
90  GLM_FUNC_DECL vec<L, T, Q> fastLog2(vec<L, T, Q> const& x);
91 
93 }//namespace glm
94 
95 #include "fast_exponential.inl"
GLM_FUNC_DECL vec< L, T, Q > fastLog(vec< L, T, Q > const &x)
Faster than the common exp2 function but less accurate.
GLM_FUNC_DECL vec< L, T, Q > fastPow(vec< L, T, Q > const &x)
Faster than the common pow function but less accurate.
GLM_FUNC_DECL vec< L, T, Q > fastLog2(vec< L, T, Q > const &x)
Faster than the common log2 function but less accurate.
GLM_FUNC_DECL vec< L, T, Q > fastExp2(vec< L, T, Q > const &x)
Faster than the common exp2 function but less accurate.
GLM_FUNC_DECL vec< L, T, Q > fastExp(vec< L, T, Q > const &x)
Faster than the common exp function but less accurate.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00032.html ================================================ 0.9.9 API documentation: fast_square_root.hpp File Reference
0.9.9 API documentation
fast_square_root.hpp File Reference

GLM_GTX_fast_square_root More...

Go to the source code of this file.

Functions

template<typename genType >
GLM_FUNC_DECL genType fastDistance (genType x, genType y)
 Faster than the common distance function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T fastDistance (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Faster than the common distance function but less accurate. More...
 
template<typename genType >
GLM_FUNC_DECL genType fastInverseSqrt (genType x)
 Faster than the common inversesqrt function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastInverseSqrt (vec< L, T, Q > const &x)
 Faster than the common inversesqrt function but less accurate. More...
 
template<typename genType >
GLM_FUNC_DECL genType fastLength (genType x)
 Faster than the common length function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T fastLength (vec< L, T, Q > const &x)
 Faster than the common length function but less accurate. More...
 
template<typename genType >
GLM_FUNC_DECL genType fastNormalize (genType const &x)
 Faster than the common normalize function but less accurate. More...
 
template<typename genType >
GLM_FUNC_DECL genType fastSqrt (genType x)
 Faster than the common sqrt function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastSqrt (vec< L, T, Q > const &x)
 Faster than the common sqrt function but less accurate. More...
 

Detailed Description

GLM_GTX_fast_square_root

See also
Core features (dependence)

Definition in file fast_square_root.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00032_source.html ================================================ 0.9.9 API documentation: fast_square_root.hpp Source File
0.9.9 API documentation
fast_square_root.hpp
Go to the documentation of this file.
1 
15 #pragma once
16 
17 // Dependency:
18 #include "../common.hpp"
19 #include "../exponential.hpp"
20 #include "../geometric.hpp"
21 
22 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
23 # ifndef GLM_ENABLE_EXPERIMENTAL
24 # pragma message("GLM: GLM_GTX_fast_square_root is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
25 # else
26 # pragma message("GLM: GLM_GTX_fast_square_root extension included")
27 # endif
28 #endif
29 
30 namespace glm
31 {
34 
38  template<typename genType>
39  GLM_FUNC_DECL genType fastSqrt(genType x);
40 
44  template<length_t L, typename T, qualifier Q>
45  GLM_FUNC_DECL vec<L, T, Q> fastSqrt(vec<L, T, Q> const& x);
46 
50  template<typename genType>
51  GLM_FUNC_DECL genType fastInverseSqrt(genType x);
52 
56  template<length_t L, typename T, qualifier Q>
57  GLM_FUNC_DECL vec<L, T, Q> fastInverseSqrt(vec<L, T, Q> const& x);
58 
62  template<typename genType>
63  GLM_FUNC_DECL genType fastLength(genType x);
64 
68  template<length_t L, typename T, qualifier Q>
69  GLM_FUNC_DECL T fastLength(vec<L, T, Q> const& x);
70 
74  template<typename genType>
75  GLM_FUNC_DECL genType fastDistance(genType x, genType y);
76 
80  template<length_t L, typename T, qualifier Q>
81  GLM_FUNC_DECL T fastDistance(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
82 
86  template<typename genType>
87  GLM_FUNC_DECL genType fastNormalize(genType const& x);
88 
90 }// namespace glm
91 
92 #include "fast_square_root.inl"
GLM_FUNC_DECL T fastLength(vec< L, T, Q > const &x)
Faster than the common length function but less accurate.
GLM_FUNC_DECL T fastDistance(vec< L, T, Q > const &x, vec< L, T, Q > const &y)
Faster than the common distance function but less accurate.
GLM_FUNC_DECL vec< L, T, Q > fastSqrt(vec< L, T, Q > const &x)
Faster than the common sqrt function but less accurate.
GLM_FUNC_DECL genType fastNormalize(genType const &x)
Faster than the common normalize function but less accurate.
GLM_FUNC_DECL vec< L, T, Q > fastInverseSqrt(vec< L, T, Q > const &x)
Faster than the common inversesqrt function but less accurate.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00033.html ================================================ 0.9.9 API documentation: fast_trigonometry.hpp File Reference
0.9.9 API documentation
fast_trigonometry.hpp File Reference

GLM_GTX_fast_trigonometry More...

Go to the source code of this file.

Functions

template<typename T >
GLM_FUNC_DECL T fastAcos (T angle)
 Faster than the common acos function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T fastAsin (T angle)
 Faster than the common asin function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T fastAtan (T y, T x)
 Faster than the common atan function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T fastAtan (T angle)
 Faster than the common atan function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T fastCos (T angle)
 Faster than the common cos function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T fastSin (T angle)
 Faster than the common sin function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T fastTan (T angle)
 Faster than the common tan function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T wrapAngle (T angle)
 Wrap an angle to [0 2pi[ From GLM_GTX_fast_trigonometry extension. More...
 

Detailed Description

GLM_GTX_fast_trigonometry

See also
Core features (dependence)

Definition in file fast_trigonometry.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00033_source.html ================================================ 0.9.9 API documentation: fast_trigonometry.hpp Source File
0.9.9 API documentation
fast_trigonometry.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependency:
16 #include "../gtc/constants.hpp"
17 
18 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
19 # ifndef GLM_ENABLE_EXPERIMENTAL
20 # pragma message("GLM: GLM_GTX_fast_trigonometry is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
21 # else
22 # pragma message("GLM: GLM_GTX_fast_trigonometry extension included")
23 # endif
24 #endif
25 
26 namespace glm
27 {
30 
33  template<typename T>
34  GLM_FUNC_DECL T wrapAngle(T angle);
35 
38  template<typename T>
39  GLM_FUNC_DECL T fastSin(T angle);
40 
43  template<typename T>
44  GLM_FUNC_DECL T fastCos(T angle);
45 
49  template<typename T>
50  GLM_FUNC_DECL T fastTan(T angle);
51 
55  template<typename T>
56  GLM_FUNC_DECL T fastAsin(T angle);
57 
61  template<typename T>
62  GLM_FUNC_DECL T fastAcos(T angle);
63 
67  template<typename T>
68  GLM_FUNC_DECL T fastAtan(T y, T x);
69 
73  template<typename T>
74  GLM_FUNC_DECL T fastAtan(T angle);
75 
77 }//namespace glm
78 
79 #include "fast_trigonometry.inl"
GLM_FUNC_DECL T fastAsin(T angle)
Faster than the common asin function but less accurate.
GLM_FUNC_DECL T angle(qua< T, Q > const &x)
Returns the quaternion rotation angle.
GLM_FUNC_DECL T fastAcos(T angle)
Faster than the common acos function but less accurate.
GLM_FUNC_DECL T fastTan(T angle)
Faster than the common tan function but less accurate.
GLM_FUNC_DECL T fastCos(T angle)
Faster than the common cos function but less accurate.
GLM_FUNC_DECL T fastAtan(T angle)
Faster than the common atan function but less accurate.
GLM_FUNC_DECL T fastSin(T angle)
Faster than the common sin function but less accurate.
GLM_FUNC_DECL T wrapAngle(T angle)
Wrap an angle to [0 2pi[ From GLM_GTX_fast_trigonometry extension.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00034.html ================================================ 0.9.9 API documentation: functions.hpp File Reference
0.9.9 API documentation
functions.hpp File Reference

GLM_GTX_functions More...

Go to the source code of this file.

Functions

template<typename T >
GLM_FUNC_DECL T gauss (T x, T ExpectedValue, T StandardDeviation)
 1D gauss function More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T gauss (vec< 2, T, Q > const &Coord, vec< 2, T, Q > const &ExpectedValue, vec< 2, T, Q > const &StandardDeviation)
 2D gauss function More...
 

Detailed Description

GLM_GTX_functions

See also
Core features (dependence)
GLM_GTC_quaternion (dependence)

Definition in file functions.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00034_source.html ================================================ 0.9.9 API documentation: functions.hpp Source File
0.9.9 API documentation
functions.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependencies
17 #include "../detail/setup.hpp"
18 #include "../detail/qualifier.hpp"
19 #include "../detail/type_vec2.hpp"
20 
21 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
22 # ifndef GLM_ENABLE_EXPERIMENTAL
23 # pragma message("GLM: GLM_GTX_functions is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
24 # else
25 # pragma message("GLM: GLM_GTX_functions extension included")
26 # endif
27 #endif
28 
29 namespace glm
30 {
33 
37  template<typename T>
38  GLM_FUNC_DECL T gauss(
39  T x,
40  T ExpectedValue,
41  T StandardDeviation);
42 
46  template<typename T, qualifier Q>
47  GLM_FUNC_DECL T gauss(
48  vec<2, T, Q> const& Coord,
49  vec<2, T, Q> const& ExpectedValue,
50  vec<2, T, Q> const& StandardDeviation);
51 
53 }//namespace glm
54 
55 #include "functions.inl"
56 
GLM_FUNC_DECL T gauss(vec< 2, T, Q > const &Coord, vec< 2, T, Q > const &ExpectedValue, vec< 2, T, Q > const &StandardDeviation)
2D gauss function
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00035_source.html ================================================ 0.9.9 API documentation: fwd.hpp Source File
0.9.9 API documentation
fwd.hpp
1 #pragma once
2 
3 #include "detail/qualifier.hpp"
4 
5 namespace glm
6 {
7 #if GLM_HAS_EXTENDED_INTEGER_TYPE
8  typedef std::int8_t int8;
9  typedef std::int16_t int16;
10  typedef std::int32_t int32;
11  typedef std::int64_t int64;
12 
13  typedef std::uint8_t uint8;
14  typedef std::uint16_t uint16;
15  typedef std::uint32_t uint32;
16  typedef std::uint64_t uint64;
17 #else
18  typedef signed char int8;
19  typedef signed short int16;
20  typedef signed int int32;
21  typedef detail::int64 int64;
22 
23  typedef unsigned char uint8;
24  typedef unsigned short uint16;
25  typedef unsigned int uint32;
26  typedef detail::uint64 uint64;
27 #endif
28 
29  // Scalar int
30 
31  typedef int8 lowp_i8;
32  typedef int8 mediump_i8;
33  typedef int8 highp_i8;
34  typedef int8 i8;
35 
36  typedef int8 lowp_int8;
37  typedef int8 mediump_int8;
38  typedef int8 highp_int8;
39 
40  typedef int8 lowp_int8_t;
41  typedef int8 mediump_int8_t;
42  typedef int8 highp_int8_t;
43  typedef int8 int8_t;
44 
45  typedef int16 lowp_i16;
46  typedef int16 mediump_i16;
47  typedef int16 highp_i16;
48  typedef int16 i16;
49 
50  typedef int16 lowp_int16;
51  typedef int16 mediump_int16;
52  typedef int16 highp_int16;
53 
54  typedef int16 lowp_int16_t;
55  typedef int16 mediump_int16_t;
56  typedef int16 highp_int16_t;
57  typedef int16 int16_t;
58 
59  typedef int32 lowp_i32;
60  typedef int32 mediump_i32;
61  typedef int32 highp_i32;
62  typedef int32 i32;
63 
64  typedef int32 lowp_int32;
65  typedef int32 mediump_int32;
66  typedef int32 highp_int32;
67 
68  typedef int32 lowp_int32_t;
69  typedef int32 mediump_int32_t;
70  typedef int32 highp_int32_t;
71  typedef int32 int32_t;
72 
73  typedef int64 lowp_i64;
74  typedef int64 mediump_i64;
75  typedef int64 highp_i64;
76  typedef int64 i64;
77 
78  typedef int64 lowp_int64;
79  typedef int64 mediump_int64;
80  typedef int64 highp_int64;
81 
82  typedef int64 lowp_int64_t;
83  typedef int64 mediump_int64_t;
84  typedef int64 highp_int64_t;
85  typedef int64 int64_t;
86 
87  // Scalar uint
88 
89  typedef uint8 lowp_u8;
90  typedef uint8 mediump_u8;
91  typedef uint8 highp_u8;
92  typedef uint8 u8;
93 
94  typedef uint8 lowp_uint8;
95  typedef uint8 mediump_uint8;
96  typedef uint8 highp_uint8;
97 
98  typedef uint8 lowp_uint8_t;
99  typedef uint8 mediump_uint8_t;
100  typedef uint8 highp_uint8_t;
101  typedef uint8 uint8_t;
102 
103  typedef uint16 lowp_u16;
104  typedef uint16 mediump_u16;
105  typedef uint16 highp_u16;
106  typedef uint16 u16;
107 
108  typedef uint16 lowp_uint16;
109  typedef uint16 mediump_uint16;
110  typedef uint16 highp_uint16;
111 
112  typedef uint16 lowp_uint16_t;
113  typedef uint16 mediump_uint16_t;
114  typedef uint16 highp_uint16_t;
115  typedef uint16 uint16_t;
116 
117  typedef uint32 lowp_u32;
118  typedef uint32 mediump_u32;
119  typedef uint32 highp_u32;
120  typedef uint32 u32;
121 
122  typedef uint32 lowp_uint32;
123  typedef uint32 mediump_uint32;
124  typedef uint32 highp_uint32;
125 
126  typedef uint32 lowp_uint32_t;
127  typedef uint32 mediump_uint32_t;
128  typedef uint32 highp_uint32_t;
129  typedef uint32 uint32_t;
130 
131  typedef uint64 lowp_u64;
132  typedef uint64 mediump_u64;
133  typedef uint64 highp_u64;
134  typedef uint64 u64;
135 
136  typedef uint64 lowp_uint64;
137  typedef uint64 mediump_uint64;
138  typedef uint64 highp_uint64;
139 
140  typedef uint64 lowp_uint64_t;
141  typedef uint64 mediump_uint64_t;
142  typedef uint64 highp_uint64_t;
143  typedef uint64 uint64_t;
144 
145  // Scalar float
146 
147  typedef float lowp_f32;
148  typedef float mediump_f32;
149  typedef float highp_f32;
150  typedef float f32;
151 
152  typedef float lowp_float32;
153  typedef float mediump_float32;
154  typedef float highp_float32;
155  typedef float float32;
156 
157  typedef float lowp_float32_t;
158  typedef float mediump_float32_t;
159  typedef float highp_float32_t;
160  typedef float float32_t;
161 
162 
163  typedef double lowp_f64;
164  typedef double mediump_f64;
165  typedef double highp_f64;
166  typedef double f64;
167 
168  typedef double lowp_float64;
169  typedef double mediump_float64;
170  typedef double highp_float64;
171  typedef double float64;
172 
173  typedef double lowp_float64_t;
174  typedef double mediump_float64_t;
175  typedef double highp_float64_t;
176  typedef double float64_t;
177 
178  // Vector bool
179 
180  typedef vec<1, bool, lowp> lowp_bvec1;
181  typedef vec<2, bool, lowp> lowp_bvec2;
182  typedef vec<3, bool, lowp> lowp_bvec3;
183  typedef vec<4, bool, lowp> lowp_bvec4;
184 
185  typedef vec<1, bool, mediump> mediump_bvec1;
186  typedef vec<2, bool, mediump> mediump_bvec2;
187  typedef vec<3, bool, mediump> mediump_bvec3;
188  typedef vec<4, bool, mediump> mediump_bvec4;
189 
190  typedef vec<1, bool, highp> highp_bvec1;
191  typedef vec<2, bool, highp> highp_bvec2;
192  typedef vec<3, bool, highp> highp_bvec3;
193  typedef vec<4, bool, highp> highp_bvec4;
194 
195  typedef vec<1, bool, defaultp> bvec1;
196  typedef vec<2, bool, defaultp> bvec2;
197  typedef vec<3, bool, defaultp> bvec3;
198  typedef vec<4, bool, defaultp> bvec4;
199 
200  // Vector int
201 
202  typedef vec<1, i32, lowp> lowp_ivec1;
203  typedef vec<2, i32, lowp> lowp_ivec2;
204  typedef vec<3, i32, lowp> lowp_ivec3;
205  typedef vec<4, i32, lowp> lowp_ivec4;
206 
207  typedef vec<1, i32, mediump> mediump_ivec1;
208  typedef vec<2, i32, mediump> mediump_ivec2;
209  typedef vec<3, i32, mediump> mediump_ivec3;
210  typedef vec<4, i32, mediump> mediump_ivec4;
211 
212  typedef vec<1, i32, highp> highp_ivec1;
213  typedef vec<2, i32, highp> highp_ivec2;
214  typedef vec<3, i32, highp> highp_ivec3;
215  typedef vec<4, i32, highp> highp_ivec4;
216 
217  typedef vec<1, i32, defaultp> ivec1;
218  typedef vec<2, i32, defaultp> ivec2;
219  typedef vec<3, i32, defaultp> ivec3;
220  typedef vec<4, i32, defaultp> ivec4;
221 
222  typedef vec<1, i8, lowp> lowp_i8vec1;
223  typedef vec<2, i8, lowp> lowp_i8vec2;
224  typedef vec<3, i8, lowp> lowp_i8vec3;
225  typedef vec<4, i8, lowp> lowp_i8vec4;
226 
227  typedef vec<1, i8, mediump> mediump_i8vec1;
228  typedef vec<2, i8, mediump> mediump_i8vec2;
229  typedef vec<3, i8, mediump> mediump_i8vec3;
230  typedef vec<4, i8, mediump> mediump_i8vec4;
231 
232  typedef vec<1, i8, highp> highp_i8vec1;
233  typedef vec<2, i8, highp> highp_i8vec2;
234  typedef vec<3, i8, highp> highp_i8vec3;
235  typedef vec<4, i8, highp> highp_i8vec4;
236 
237  typedef vec<1, i8, defaultp> i8vec1;
238  typedef vec<2, i8, defaultp> i8vec2;
239  typedef vec<3, i8, defaultp> i8vec3;
240  typedef vec<4, i8, defaultp> i8vec4;
241 
242  typedef vec<1, i16, lowp> lowp_i16vec1;
243  typedef vec<2, i16, lowp> lowp_i16vec2;
244  typedef vec<3, i16, lowp> lowp_i16vec3;
245  typedef vec<4, i16, lowp> lowp_i16vec4;
246 
247  typedef vec<1, i16, mediump> mediump_i16vec1;
248  typedef vec<2, i16, mediump> mediump_i16vec2;
249  typedef vec<3, i16, mediump> mediump_i16vec3;
250  typedef vec<4, i16, mediump> mediump_i16vec4;
251 
252  typedef vec<1, i16, highp> highp_i16vec1;
253  typedef vec<2, i16, highp> highp_i16vec2;
254  typedef vec<3, i16, highp> highp_i16vec3;
255  typedef vec<4, i16, highp> highp_i16vec4;
256 
257  typedef vec<1, i16, defaultp> i16vec1;
258  typedef vec<2, i16, defaultp> i16vec2;
259  typedef vec<3, i16, defaultp> i16vec3;
260  typedef vec<4, i16, defaultp> i16vec4;
261 
262  typedef vec<1, i32, lowp> lowp_i32vec1;
263  typedef vec<2, i32, lowp> lowp_i32vec2;
264  typedef vec<3, i32, lowp> lowp_i32vec3;
265  typedef vec<4, i32, lowp> lowp_i32vec4;
266 
267  typedef vec<1, i32, mediump> mediump_i32vec1;
268  typedef vec<2, i32, mediump> mediump_i32vec2;
269  typedef vec<3, i32, mediump> mediump_i32vec3;
270  typedef vec<4, i32, mediump> mediump_i32vec4;
271 
272  typedef vec<1, i32, highp> highp_i32vec1;
273  typedef vec<2, i32, highp> highp_i32vec2;
274  typedef vec<3, i32, highp> highp_i32vec3;
275  typedef vec<4, i32, highp> highp_i32vec4;
276 
277  typedef vec<1, i32, defaultp> i32vec1;
278  typedef vec<2, i32, defaultp> i32vec2;
279  typedef vec<3, i32, defaultp> i32vec3;
280  typedef vec<4, i32, defaultp> i32vec4;
281 
282  typedef vec<1, i64, lowp> lowp_i64vec1;
283  typedef vec<2, i64, lowp> lowp_i64vec2;
284  typedef vec<3, i64, lowp> lowp_i64vec3;
285  typedef vec<4, i64, lowp> lowp_i64vec4;
286 
287  typedef vec<1, i64, mediump> mediump_i64vec1;
288  typedef vec<2, i64, mediump> mediump_i64vec2;
289  typedef vec<3, i64, mediump> mediump_i64vec3;
290  typedef vec<4, i64, mediump> mediump_i64vec4;
291 
292  typedef vec<1, i64, highp> highp_i64vec1;
293  typedef vec<2, i64, highp> highp_i64vec2;
294  typedef vec<3, i64, highp> highp_i64vec3;
295  typedef vec<4, i64, highp> highp_i64vec4;
296 
297  typedef vec<1, i64, defaultp> i64vec1;
298  typedef vec<2, i64, defaultp> i64vec2;
299  typedef vec<3, i64, defaultp> i64vec3;
300  typedef vec<4, i64, defaultp> i64vec4;
301 
302  // Vector uint
303 
304  typedef vec<1, u32, lowp> lowp_uvec1;
305  typedef vec<2, u32, lowp> lowp_uvec2;
306  typedef vec<3, u32, lowp> lowp_uvec3;
307  typedef vec<4, u32, lowp> lowp_uvec4;
308 
309  typedef vec<1, u32, mediump> mediump_uvec1;
310  typedef vec<2, u32, mediump> mediump_uvec2;
311  typedef vec<3, u32, mediump> mediump_uvec3;
312  typedef vec<4, u32, mediump> mediump_uvec4;
313 
314  typedef vec<1, u32, highp> highp_uvec1;
315  typedef vec<2, u32, highp> highp_uvec2;
316  typedef vec<3, u32, highp> highp_uvec3;
317  typedef vec<4, u32, highp> highp_uvec4;
318 
319  typedef vec<1, u32, defaultp> uvec1;
320  typedef vec<2, u32, defaultp> uvec2;
321  typedef vec<3, u32, defaultp> uvec3;
322  typedef vec<4, u32, defaultp> uvec4;
323 
324  typedef vec<1, u8, lowp> lowp_u8vec1;
325  typedef vec<2, u8, lowp> lowp_u8vec2;
326  typedef vec<3, u8, lowp> lowp_u8vec3;
327  typedef vec<4, u8, lowp> lowp_u8vec4;
328 
329  typedef vec<1, u8, mediump> mediump_u8vec1;
330  typedef vec<2, u8, mediump> mediump_u8vec2;
331  typedef vec<3, u8, mediump> mediump_u8vec3;
332  typedef vec<4, u8, mediump> mediump_u8vec4;
333 
334  typedef vec<1, u8, highp> highp_u8vec1;
335  typedef vec<2, u8, highp> highp_u8vec2;
336  typedef vec<3, u8, highp> highp_u8vec3;
337  typedef vec<4, u8, highp> highp_u8vec4;
338 
339  typedef vec<1, u8, defaultp> u8vec1;
340  typedef vec<2, u8, defaultp> u8vec2;
341  typedef vec<3, u8, defaultp> u8vec3;
342  typedef vec<4, u8, defaultp> u8vec4;
343 
344  typedef vec<1, u16, lowp> lowp_u16vec1;
345  typedef vec<2, u16, lowp> lowp_u16vec2;
346  typedef vec<3, u16, lowp> lowp_u16vec3;
347  typedef vec<4, u16, lowp> lowp_u16vec4;
348 
349  typedef vec<1, u16, mediump> mediump_u16vec1;
350  typedef vec<2, u16, mediump> mediump_u16vec2;
351  typedef vec<3, u16, mediump> mediump_u16vec3;
352  typedef vec<4, u16, mediump> mediump_u16vec4;
353 
354  typedef vec<1, u16, highp> highp_u16vec1;
355  typedef vec<2, u16, highp> highp_u16vec2;
356  typedef vec<3, u16, highp> highp_u16vec3;
357  typedef vec<4, u16, highp> highp_u16vec4;
358 
359  typedef vec<1, u16, defaultp> u16vec1;
360  typedef vec<2, u16, defaultp> u16vec2;
361  typedef vec<3, u16, defaultp> u16vec3;
362  typedef vec<4, u16, defaultp> u16vec4;
363 
364  typedef vec<1, u32, lowp> lowp_u32vec1;
365  typedef vec<2, u32, lowp> lowp_u32vec2;
366  typedef vec<3, u32, lowp> lowp_u32vec3;
367  typedef vec<4, u32, lowp> lowp_u32vec4;
368 
369  typedef vec<1, u32, mediump> mediump_u32vec1;
370  typedef vec<2, u32, mediump> mediump_u32vec2;
371  typedef vec<3, u32, mediump> mediump_u32vec3;
372  typedef vec<4, u32, mediump> mediump_u32vec4;
373 
374  typedef vec<1, u32, highp> highp_u32vec1;
375  typedef vec<2, u32, highp> highp_u32vec2;
376  typedef vec<3, u32, highp> highp_u32vec3;
377  typedef vec<4, u32, highp> highp_u32vec4;
378 
379  typedef vec<1, u32, defaultp> u32vec1;
380  typedef vec<2, u32, defaultp> u32vec2;
381  typedef vec<3, u32, defaultp> u32vec3;
382  typedef vec<4, u32, defaultp> u32vec4;
383 
384  typedef vec<1, u64, lowp> lowp_u64vec1;
385  typedef vec<2, u64, lowp> lowp_u64vec2;
386  typedef vec<3, u64, lowp> lowp_u64vec3;
387  typedef vec<4, u64, lowp> lowp_u64vec4;
388 
389  typedef vec<1, u64, mediump> mediump_u64vec1;
390  typedef vec<2, u64, mediump> mediump_u64vec2;
391  typedef vec<3, u64, mediump> mediump_u64vec3;
392  typedef vec<4, u64, mediump> mediump_u64vec4;
393 
394  typedef vec<1, u64, highp> highp_u64vec1;
395  typedef vec<2, u64, highp> highp_u64vec2;
396  typedef vec<3, u64, highp> highp_u64vec3;
397  typedef vec<4, u64, highp> highp_u64vec4;
398 
399  typedef vec<1, u64, defaultp> u64vec1;
400  typedef vec<2, u64, defaultp> u64vec2;
401  typedef vec<3, u64, defaultp> u64vec3;
402  typedef vec<4, u64, defaultp> u64vec4;
403 
404  // Vector float
405 
406  typedef vec<1, float, lowp> lowp_vec1;
407  typedef vec<2, float, lowp> lowp_vec2;
408  typedef vec<3, float, lowp> lowp_vec3;
409  typedef vec<4, float, lowp> lowp_vec4;
410 
411  typedef vec<1, float, mediump> mediump_vec1;
412  typedef vec<2, float, mediump> mediump_vec2;
413  typedef vec<3, float, mediump> mediump_vec3;
414  typedef vec<4, float, mediump> mediump_vec4;
415 
416  typedef vec<1, float, highp> highp_vec1;
417  typedef vec<2, float, highp> highp_vec2;
418  typedef vec<3, float, highp> highp_vec3;
419  typedef vec<4, float, highp> highp_vec4;
420 
421  typedef vec<1, float, defaultp> vec1;
422  typedef vec<2, float, defaultp> vec2;
423  typedef vec<3, float, defaultp> vec3;
424  typedef vec<4, float, defaultp> vec4;
425 
426  typedef vec<1, float, lowp> lowp_fvec1;
427  typedef vec<2, float, lowp> lowp_fvec2;
428  typedef vec<3, float, lowp> lowp_fvec3;
429  typedef vec<4, float, lowp> lowp_fvec4;
430 
431  typedef vec<1, float, mediump> mediump_fvec1;
432  typedef vec<2, float, mediump> mediump_fvec2;
433  typedef vec<3, float, mediump> mediump_fvec3;
434  typedef vec<4, float, mediump> mediump_fvec4;
435 
436  typedef vec<1, float, highp> highp_fvec1;
437  typedef vec<2, float, highp> highp_fvec2;
438  typedef vec<3, float, highp> highp_fvec3;
439  typedef vec<4, float, highp> highp_fvec4;
440 
441  typedef vec<1, f32, defaultp> fvec1;
442  typedef vec<2, f32, defaultp> fvec2;
443  typedef vec<3, f32, defaultp> fvec3;
444  typedef vec<4, f32, defaultp> fvec4;
445 
446  typedef vec<1, f32, lowp> lowp_f32vec1;
447  typedef vec<2, f32, lowp> lowp_f32vec2;
448  typedef vec<3, f32, lowp> lowp_f32vec3;
449  typedef vec<4, f32, lowp> lowp_f32vec4;
450 
451  typedef vec<1, f32, mediump> mediump_f32vec1;
452  typedef vec<2, f32, mediump> mediump_f32vec2;
453  typedef vec<3, f32, mediump> mediump_f32vec3;
454  typedef vec<4, f32, mediump> mediump_f32vec4;
455 
456  typedef vec<1, f32, highp> highp_f32vec1;
457  typedef vec<2, f32, highp> highp_f32vec2;
458  typedef vec<3, f32, highp> highp_f32vec3;
459  typedef vec<4, f32, highp> highp_f32vec4;
460 
461  typedef vec<1, f32, defaultp> f32vec1;
462  typedef vec<2, f32, defaultp> f32vec2;
463  typedef vec<3, f32, defaultp> f32vec3;
464  typedef vec<4, f32, defaultp> f32vec4;
465 
466  typedef vec<1, f64, lowp> lowp_dvec1;
467  typedef vec<2, f64, lowp> lowp_dvec2;
468  typedef vec<3, f64, lowp> lowp_dvec3;
469  typedef vec<4, f64, lowp> lowp_dvec4;
470 
471  typedef vec<1, f64, mediump> mediump_dvec1;
472  typedef vec<2, f64, mediump> mediump_dvec2;
473  typedef vec<3, f64, mediump> mediump_dvec3;
474  typedef vec<4, f64, mediump> mediump_dvec4;
475 
476  typedef vec<1, f64, highp> highp_dvec1;
477  typedef vec<2, f64, highp> highp_dvec2;
478  typedef vec<3, f64, highp> highp_dvec3;
479  typedef vec<4, f64, highp> highp_dvec4;
480 
481  typedef vec<1, f64, defaultp> dvec1;
482  typedef vec<2, f64, defaultp> dvec2;
483  typedef vec<3, f64, defaultp> dvec3;
484  typedef vec<4, f64, defaultp> dvec4;
485 
486  typedef vec<1, f64, lowp> lowp_f64vec1;
487  typedef vec<2, f64, lowp> lowp_f64vec2;
488  typedef vec<3, f64, lowp> lowp_f64vec3;
489  typedef vec<4, f64, lowp> lowp_f64vec4;
490 
491  typedef vec<1, f64, mediump> mediump_f64vec1;
492  typedef vec<2, f64, mediump> mediump_f64vec2;
493  typedef vec<3, f64, mediump> mediump_f64vec3;
494  typedef vec<4, f64, mediump> mediump_f64vec4;
495 
496  typedef vec<1, f64, highp> highp_f64vec1;
497  typedef vec<2, f64, highp> highp_f64vec2;
498  typedef vec<3, f64, highp> highp_f64vec3;
499  typedef vec<4, f64, highp> highp_f64vec4;
500 
501  typedef vec<1, f64, defaultp> f64vec1;
502  typedef vec<2, f64, defaultp> f64vec2;
503  typedef vec<3, f64, defaultp> f64vec3;
504  typedef vec<4, f64, defaultp> f64vec4;
505 
506  // Matrix NxN
507 
508  typedef mat<2, 2, f32, lowp> lowp_mat2;
509  typedef mat<3, 3, f32, lowp> lowp_mat3;
510  typedef mat<4, 4, f32, lowp> lowp_mat4;
511 
512  typedef mat<2, 2, f32, mediump> mediump_mat2;
513  typedef mat<3, 3, f32, mediump> mediump_mat3;
514  typedef mat<4, 4, f32, mediump> mediump_mat4;
515 
516  typedef mat<2, 2, f32, highp> highp_mat2;
517  typedef mat<3, 3, f32, highp> highp_mat3;
518  typedef mat<4, 4, f32, highp> highp_mat4;
519 
520  typedef mat<2, 2, f32, defaultp> mat2;
521  typedef mat<3, 3, f32, defaultp> mat3;
522  typedef mat<4, 4, f32, defaultp> mat4;
523 
524  typedef mat<2, 2, f32, lowp> lowp_fmat2;
525  typedef mat<3, 3, f32, lowp> lowp_fmat3;
526  typedef mat<4, 4, f32, lowp> lowp_fmat4;
527 
528  typedef mat<2, 2, f32, mediump> mediump_fmat2;
529  typedef mat<3, 3, f32, mediump> mediump_fmat3;
530  typedef mat<4, 4, f32, mediump> mediump_fmat4;
531 
532  typedef mat<2, 2, f32, highp> highp_fmat2;
533  typedef mat<3, 3, f32, highp> highp_fmat3;
534  typedef mat<4, 4, f32, highp> highp_fmat4;
535 
536  typedef mat<2, 2, f32, defaultp> fmat2;
537  typedef mat<3, 3, f32, defaultp> fmat3;
538  typedef mat<4, 4, f32, defaultp> fmat4;
539 
540  typedef mat<2, 2, f32, lowp> lowp_f32mat2;
541  typedef mat<3, 3, f32, lowp> lowp_f32mat3;
542  typedef mat<4, 4, f32, lowp> lowp_f32mat4;
543 
544  typedef mat<2, 2, f32, mediump> mediump_f32mat2;
545  typedef mat<3, 3, f32, mediump> mediump_f32mat3;
546  typedef mat<4, 4, f32, mediump> mediump_f32mat4;
547 
548  typedef mat<2, 2, f32, highp> highp_f32mat2;
549  typedef mat<3, 3, f32, highp> highp_f32mat3;
550  typedef mat<4, 4, f32, highp> highp_f32mat4;
551 
552  typedef mat<2, 2, f32, defaultp> f32mat2;
553  typedef mat<3, 3, f32, defaultp> f32mat3;
554  typedef mat<4, 4, f32, defaultp> f32mat4;
555 
556  typedef mat<2, 2, f64, lowp> lowp_dmat2;
557  typedef mat<3, 3, f64, lowp> lowp_dmat3;
558  typedef mat<4, 4, f64, lowp> lowp_dmat4;
559 
560  typedef mat<2, 2, f64, mediump> mediump_dmat2;
561  typedef mat<3, 3, f64, mediump> mediump_dmat3;
562  typedef mat<4, 4, f64, mediump> mediump_dmat4;
563 
564  typedef mat<2, 2, f64, highp> highp_dmat2;
565  typedef mat<3, 3, f64, highp> highp_dmat3;
566  typedef mat<4, 4, f64, highp> highp_dmat4;
567 
568  typedef mat<2, 2, f64, defaultp> dmat2;
569  typedef mat<3, 3, f64, defaultp> dmat3;
570  typedef mat<4, 4, f64, defaultp> dmat4;
571 
572  typedef mat<2, 2, f64, lowp> lowp_f64mat2;
573  typedef mat<3, 3, f64, lowp> lowp_f64mat3;
574  typedef mat<4, 4, f64, lowp> lowp_f64mat4;
575 
576  typedef mat<2, 2, f64, mediump> mediump_f64mat2;
577  typedef mat<3, 3, f64, mediump> mediump_f64mat3;
578  typedef mat<4, 4, f64, mediump> mediump_f64mat4;
579 
580  typedef mat<2, 2, f64, highp> highp_f64mat2;
581  typedef mat<3, 3, f64, highp> highp_f64mat3;
582  typedef mat<4, 4, f64, highp> highp_f64mat4;
583 
584  typedef mat<2, 2, f64, defaultp> f64mat2;
585  typedef mat<3, 3, f64, defaultp> f64mat3;
586  typedef mat<4, 4, f64, defaultp> f64mat4;
587 
588  // Matrix MxN
589 
590  typedef mat<2, 2, f32, lowp> lowp_mat2x2;
591  typedef mat<2, 3, f32, lowp> lowp_mat2x3;
592  typedef mat<2, 4, f32, lowp> lowp_mat2x4;
593  typedef mat<3, 2, f32, lowp> lowp_mat3x2;
594  typedef mat<3, 3, f32, lowp> lowp_mat3x3;
595  typedef mat<3, 4, f32, lowp> lowp_mat3x4;
596  typedef mat<4, 2, f32, lowp> lowp_mat4x2;
597  typedef mat<4, 3, f32, lowp> lowp_mat4x3;
598  typedef mat<4, 4, f32, lowp> lowp_mat4x4;
599 
600  typedef mat<2, 2, f32, mediump> mediump_mat2x2;
601  typedef mat<2, 3, f32, mediump> mediump_mat2x3;
602  typedef mat<2, 4, f32, mediump> mediump_mat2x4;
603  typedef mat<3, 2, f32, mediump> mediump_mat3x2;
604  typedef mat<3, 3, f32, mediump> mediump_mat3x3;
605  typedef mat<3, 4, f32, mediump> mediump_mat3x4;
606  typedef mat<4, 2, f32, mediump> mediump_mat4x2;
607  typedef mat<4, 3, f32, mediump> mediump_mat4x3;
608  typedef mat<4, 4, f32, mediump> mediump_mat4x4;
609 
610  typedef mat<2, 2, f32, highp> highp_mat2x2;
611  typedef mat<2, 3, f32, highp> highp_mat2x3;
612  typedef mat<2, 4, f32, highp> highp_mat2x4;
613  typedef mat<3, 2, f32, highp> highp_mat3x2;
614  typedef mat<3, 3, f32, highp> highp_mat3x3;
615  typedef mat<3, 4, f32, highp> highp_mat3x4;
616  typedef mat<4, 2, f32, highp> highp_mat4x2;
617  typedef mat<4, 3, f32, highp> highp_mat4x3;
618  typedef mat<4, 4, f32, highp> highp_mat4x4;
619 
620  typedef mat<2, 2, f32, defaultp> mat2x2;
621  typedef mat<3, 2, f32, defaultp> mat3x2;
622  typedef mat<4, 2, f32, defaultp> mat4x2;
623  typedef mat<2, 3, f32, defaultp> mat2x3;
624  typedef mat<3, 3, f32, defaultp> mat3x3;
625  typedef mat<4, 3, f32, defaultp> mat4x3;
626  typedef mat<2, 4, f32, defaultp> mat2x4;
627  typedef mat<3, 4, f32, defaultp> mat3x4;
628  typedef mat<4, 4, f32, defaultp> mat4x4;
629 
630  typedef mat<2, 2, f32, lowp> lowp_fmat2x2;
631  typedef mat<2, 3, f32, lowp> lowp_fmat2x3;
632  typedef mat<2, 4, f32, lowp> lowp_fmat2x4;
633  typedef mat<3, 2, f32, lowp> lowp_fmat3x2;
634  typedef mat<3, 3, f32, lowp> lowp_fmat3x3;
635  typedef mat<3, 4, f32, lowp> lowp_fmat3x4;
636  typedef mat<4, 2, f32, lowp> lowp_fmat4x2;
637  typedef mat<4, 3, f32, lowp> lowp_fmat4x3;
638  typedef mat<4, 4, f32, lowp> lowp_fmat4x4;
639 
640  typedef mat<2, 2, f32, mediump> mediump_fmat2x2;
641  typedef mat<2, 3, f32, mediump> mediump_fmat2x3;
642  typedef mat<2, 4, f32, mediump> mediump_fmat2x4;
643  typedef mat<3, 2, f32, mediump> mediump_fmat3x2;
644  typedef mat<3, 3, f32, mediump> mediump_fmat3x3;
645  typedef mat<3, 4, f32, mediump> mediump_fmat3x4;
646  typedef mat<4, 2, f32, mediump> mediump_fmat4x2;
647  typedef mat<4, 3, f32, mediump> mediump_fmat4x3;
648  typedef mat<4, 4, f32, mediump> mediump_fmat4x4;
649 
650  typedef mat<2, 2, f32, highp> highp_fmat2x2;
651  typedef mat<2, 3, f32, highp> highp_fmat2x3;
652  typedef mat<2, 4, f32, highp> highp_fmat2x4;
653  typedef mat<3, 2, f32, highp> highp_fmat3x2;
654  typedef mat<3, 3, f32, highp> highp_fmat3x3;
655  typedef mat<3, 4, f32, highp> highp_fmat3x4;
656  typedef mat<4, 2, f32, highp> highp_fmat4x2;
657  typedef mat<4, 3, f32, highp> highp_fmat4x3;
658  typedef mat<4, 4, f32, highp> highp_fmat4x4;
659 
660  typedef mat<2, 2, f32, defaultp> fmat2x2;
661  typedef mat<3, 2, f32, defaultp> fmat3x2;
662  typedef mat<4, 2, f32, defaultp> fmat4x2;
663  typedef mat<2, 3, f32, defaultp> fmat2x3;
664  typedef mat<3, 3, f32, defaultp> fmat3x3;
665  typedef mat<4, 3, f32, defaultp> fmat4x3;
666  typedef mat<2, 4, f32, defaultp> fmat2x4;
667  typedef mat<3, 4, f32, defaultp> fmat3x4;
668  typedef mat<4, 4, f32, defaultp> fmat4x4;
669 
670  typedef mat<2, 2, f32, lowp> lowp_f32mat2x2;
671  typedef mat<2, 3, f32, lowp> lowp_f32mat2x3;
672  typedef mat<2, 4, f32, lowp> lowp_f32mat2x4;
673  typedef mat<3, 2, f32, lowp> lowp_f32mat3x2;
674  typedef mat<3, 3, f32, lowp> lowp_f32mat3x3;
675  typedef mat<3, 4, f32, lowp> lowp_f32mat3x4;
676  typedef mat<4, 2, f32, lowp> lowp_f32mat4x2;
677  typedef mat<4, 3, f32, lowp> lowp_f32mat4x3;
678  typedef mat<4, 4, f32, lowp> lowp_f32mat4x4;
679 
680  typedef mat<2, 2, f32, mediump> mediump_f32mat2x2;
681  typedef mat<2, 3, f32, mediump> mediump_f32mat2x3;
682  typedef mat<2, 4, f32, mediump> mediump_f32mat2x4;
683  typedef mat<3, 2, f32, mediump> mediump_f32mat3x2;
684  typedef mat<3, 3, f32, mediump> mediump_f32mat3x3;
685  typedef mat<3, 4, f32, mediump> mediump_f32mat3x4;
686  typedef mat<4, 2, f32, mediump> mediump_f32mat4x2;
687  typedef mat<4, 3, f32, mediump> mediump_f32mat4x3;
688  typedef mat<4, 4, f32, mediump> mediump_f32mat4x4;
689 
690  typedef mat<2, 2, f32, highp> highp_f32mat2x2;
691  typedef mat<2, 3, f32, highp> highp_f32mat2x3;
692  typedef mat<2, 4, f32, highp> highp_f32mat2x4;
693  typedef mat<3, 2, f32, highp> highp_f32mat3x2;
694  typedef mat<3, 3, f32, highp> highp_f32mat3x3;
695  typedef mat<3, 4, f32, highp> highp_f32mat3x4;
696  typedef mat<4, 2, f32, highp> highp_f32mat4x2;
697  typedef mat<4, 3, f32, highp> highp_f32mat4x3;
698  typedef mat<4, 4, f32, highp> highp_f32mat4x4;
699 
700  typedef mat<2, 2, f32, defaultp> f32mat2x2;
701  typedef mat<3, 2, f32, defaultp> f32mat3x2;
702  typedef mat<4, 2, f32, defaultp> f32mat4x2;
703  typedef mat<2, 3, f32, defaultp> f32mat2x3;
704  typedef mat<3, 3, f32, defaultp> f32mat3x3;
705  typedef mat<4, 3, f32, defaultp> f32mat4x3;
706  typedef mat<2, 4, f32, defaultp> f32mat2x4;
707  typedef mat<3, 4, f32, defaultp> f32mat3x4;
708  typedef mat<4, 4, f32, defaultp> f32mat4x4;
709 
710  typedef mat<2, 2, double, lowp> lowp_dmat2x2;
711  typedef mat<2, 3, double, lowp> lowp_dmat2x3;
712  typedef mat<2, 4, double, lowp> lowp_dmat2x4;
713  typedef mat<3, 2, double, lowp> lowp_dmat3x2;
714  typedef mat<3, 3, double, lowp> lowp_dmat3x3;
715  typedef mat<3, 4, double, lowp> lowp_dmat3x4;
716  typedef mat<4, 2, double, lowp> lowp_dmat4x2;
717  typedef mat<4, 3, double, lowp> lowp_dmat4x3;
718  typedef mat<4, 4, double, lowp> lowp_dmat4x4;
719 
720  typedef mat<2, 2, double, mediump> mediump_dmat2x2;
721  typedef mat<2, 3, double, mediump> mediump_dmat2x3;
722  typedef mat<2, 4, double, mediump> mediump_dmat2x4;
723  typedef mat<3, 2, double, mediump> mediump_dmat3x2;
724  typedef mat<3, 3, double, mediump> mediump_dmat3x3;
725  typedef mat<3, 4, double, mediump> mediump_dmat3x4;
726  typedef mat<4, 2, double, mediump> mediump_dmat4x2;
727  typedef mat<4, 3, double, mediump> mediump_dmat4x3;
728  typedef mat<4, 4, double, mediump> mediump_dmat4x4;
729 
730  typedef mat<2, 2, double, highp> highp_dmat2x2;
731  typedef mat<2, 3, double, highp> highp_dmat2x3;
732  typedef mat<2, 4, double, highp> highp_dmat2x4;
733  typedef mat<3, 2, double, highp> highp_dmat3x2;
734  typedef mat<3, 3, double, highp> highp_dmat3x3;
735  typedef mat<3, 4, double, highp> highp_dmat3x4;
736  typedef mat<4, 2, double, highp> highp_dmat4x2;
737  typedef mat<4, 3, double, highp> highp_dmat4x3;
738  typedef mat<4, 4, double, highp> highp_dmat4x4;
739 
740  typedef mat<2, 2, double, defaultp> dmat2x2;
741  typedef mat<3, 2, double, defaultp> dmat3x2;
742  typedef mat<4, 2, double, defaultp> dmat4x2;
743  typedef mat<2, 3, double, defaultp> dmat2x3;
744  typedef mat<3, 3, double, defaultp> dmat3x3;
745  typedef mat<4, 3, double, defaultp> dmat4x3;
746  typedef mat<2, 4, double, defaultp> dmat2x4;
747  typedef mat<3, 4, double, defaultp> dmat3x4;
748  typedef mat<4, 4, double, defaultp> dmat4x4;
749 
750  typedef mat<2, 2, f64, lowp> lowp_f64mat2x2;
751  typedef mat<2, 3, f64, lowp> lowp_f64mat2x3;
752  typedef mat<2, 4, f64, lowp> lowp_f64mat2x4;
753  typedef mat<3, 2, f64, lowp> lowp_f64mat3x2;
754  typedef mat<3, 3, f64, lowp> lowp_f64mat3x3;
755  typedef mat<3, 4, f64, lowp> lowp_f64mat3x4;
756  typedef mat<4, 2, f64, lowp> lowp_f64mat4x2;
757  typedef mat<4, 3, f64, lowp> lowp_f64mat4x3;
758  typedef mat<4, 4, f64, lowp> lowp_f64mat4x4;
759 
760  typedef mat<2, 2, f64, mediump> mediump_f64mat2x2;
761  typedef mat<2, 3, f64, mediump> mediump_f64mat2x3;
762  typedef mat<2, 4, f64, mediump> mediump_f64mat2x4;
763  typedef mat<3, 2, f64, mediump> mediump_f64mat3x2;
764  typedef mat<3, 3, f64, mediump> mediump_f64mat3x3;
765  typedef mat<3, 4, f64, mediump> mediump_f64mat3x4;
766  typedef mat<4, 2, f64, mediump> mediump_f64mat4x2;
767  typedef mat<4, 3, f64, mediump> mediump_f64mat4x3;
768  typedef mat<4, 4, f64, mediump> mediump_f64mat4x4;
769 
770  typedef mat<2, 2, f64, highp> highp_f64mat2x2;
771  typedef mat<2, 3, f64, highp> highp_f64mat2x3;
772  typedef mat<2, 4, f64, highp> highp_f64mat2x4;
773  typedef mat<3, 2, f64, highp> highp_f64mat3x2;
774  typedef mat<3, 3, f64, highp> highp_f64mat3x3;
775  typedef mat<3, 4, f64, highp> highp_f64mat3x4;
776  typedef mat<4, 2, f64, highp> highp_f64mat4x2;
777  typedef mat<4, 3, f64, highp> highp_f64mat4x3;
778  typedef mat<4, 4, f64, highp> highp_f64mat4x4;
779 
780  typedef mat<2, 2, f64, defaultp> f64mat2x2;
781  typedef mat<3, 2, f64, defaultp> f64mat3x2;
782  typedef mat<4, 2, f64, defaultp> f64mat4x2;
783  typedef mat<2, 3, f64, defaultp> f64mat2x3;
784  typedef mat<3, 3, f64, defaultp> f64mat3x3;
785  typedef mat<4, 3, f64, defaultp> f64mat4x3;
786  typedef mat<2, 4, f64, defaultp> f64mat2x4;
787  typedef mat<3, 4, f64, defaultp> f64mat3x4;
788  typedef mat<4, 4, f64, defaultp> f64mat4x4;
789 
790  // Quaternion
791 
792  typedef qua<float, lowp> lowp_quat;
793  typedef qua<float, mediump> mediump_quat;
794  typedef qua<float, highp> highp_quat;
795  typedef qua<float, defaultp> quat;
796 
797  typedef qua<float, lowp> lowp_fquat;
798  typedef qua<float, mediump> mediump_fquat;
799  typedef qua<float, highp> highp_fquat;
800  typedef qua<float, defaultp> fquat;
801 
802  typedef qua<f32, lowp> lowp_f32quat;
803  typedef qua<f32, mediump> mediump_f32quat;
804  typedef qua<f32, highp> highp_f32quat;
805  typedef qua<f32, defaultp> f32quat;
806 
807  typedef qua<double, lowp> lowp_dquat;
808  typedef qua<double, mediump> mediump_dquat;
809  typedef qua<double, highp> highp_dquat;
810  typedef qua<double, defaultp> dquat;
811 
812  typedef qua<f64, lowp> lowp_f64quat;
813  typedef qua<f64, mediump> mediump_f64quat;
814  typedef qua<f64, highp> highp_f64quat;
815  typedef qua<f64, defaultp> f64quat;
816 }//namespace glm
817 
818 
vec< 1, u16, highp > highp_u16vec1
High qualifier 16 bit unsigned integer scalar type.
Definition: fwd.hpp:354
mat< 4, 2, float, mediump > mediump_mat4x2
4 columns of 2 components matrix of single-precision floating-point numbers using medium precision ar...
mat< 4, 2, f32, highp > highp_f32mat4x2
High single-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:696
mat< 4, 3, float, highp > highp_mat4x3
4 columns of 3 components matrix of single-precision floating-point numbers using high precision arit...
mat< 4, 4, float, defaultp > mat4x4
4 columns of 4 components matrix of single-precision floating-point numbers.
vec< 4, unsigned int, mediump > mediump_uvec4
4 components vector of medium qualifier unsigned integer numbers.
uint64 highp_u64
High qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:133
vec< 1, f64, mediump > mediump_f64vec1
Medium double-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:491
vec< 3, f32, defaultp > f32vec3
Single-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:463
mat< 2, 2, f32, mediump > mediump_fmat2
Medium single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:528
double highp_float64_t
High 64 bit double-qualifier floating-point scalar.
Definition: fwd.hpp:175
mat< 4, 4, f64, defaultp > f64mat4
Double-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:586
vec< 1, int, mediump > mediump_ivec1
1 component vector of signed integer values.
vec< 4, double, mediump > mediump_dvec4
4 components vector of medium double-qualifier floating-point numbers.
vec< 3, float, highp > highp_vec3
3 components vector of high single-qualifier floating-point numbers.
mat< 4, 2, double, lowp > lowp_dmat4x2
4 columns of 2 components matrix of double-precision floating-point numbers using low precision arith...
mat< 2, 2, float, defaultp > mat2x2
2 columns of 2 components matrix of single-precision floating-point numbers.
mat< 2, 2, f64, defaultp > f64mat2
Double-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:584
mat< 4, 3, f32, mediump > mediump_fmat4x3
Medium single-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:647
mat< 3, 3, f32, mediump > mediump_f32mat3
Medium single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:545
uint32 mediump_uint32_t
Medium qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:127
uint64 lowp_uint64
Low qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:136
mat< 3, 3, float, mediump > mediump_mat3x3
3 columns of 3 components matrix of single-precision floating-point numbers using medium precision ar...
mat< 2, 2, f32, mediump > mediump_fmat2x2
Medium single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:640
vec< 1, f32, defaultp > f32vec1
Single-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:461
mat< 4, 4, f32, highp > highp_f32mat4
High single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:550
qua< float, highp > highp_quat
Quaternion of single-precision floating-point numbers using high precision arithmetic in term of ULPs...
double highp_float64
High 64 bit double-qualifier floating-point scalar.
Definition: fwd.hpp:170
mat< 3, 2, double, mediump > mediump_dmat3x2
3 columns of 2 components matrix of double-precision floating-point numbers using medium precision ar...
uint8 lowp_u8
Low qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:89
mat< 3, 2, double, lowp > lowp_dmat3x2
3 columns of 2 components matrix of double-precision floating-point numbers using low precision arith...
uint32 u32
Default qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:120
mat< 3, 3, f64, defaultp > f64mat3
Double-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:585
vec< 2, int, highp > highp_ivec2
2 components vector of high qualifier signed integer numbers.
mat< 4, 3, double, highp > highp_dmat4x3
4 columns of 3 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 2, 3, float, mediump > mediump_mat2x3
2 columns of 3 components matrix of single-precision floating-point numbers using medium precision ar...
double lowp_float64
Low 64 bit double-qualifier floating-point scalar.
Definition: fwd.hpp:168
vec< 1, i32, defaultp > i32vec1
32 bit signed integer scalar type.
Definition: fwd.hpp:277
uint16 highp_uint16
High qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:110
mat< 2, 4, f64, mediump > mediump_f64mat2x4
Medium double-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:762
vec< 4, i64, highp > highp_i64vec4
High qualifier 64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:295
mat< 4, 4, double, mediump > mediump_dmat4x4
4 columns of 4 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 3, 4, f64, defaultp > f64mat3x4
Double-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:787
vec< 4, double, highp > highp_dvec4
4 components vector of high double-qualifier floating-point numbers.
mat< 2, 2, f32, defaultp > fmat2
Single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:536
mat< 3, 4, double, lowp > lowp_dmat3x4
3 columns of 4 components matrix of double-precision floating-point numbers using low precision arith...
vec< 3, i16, defaultp > i16vec3
16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:259
uint32 lowp_uint32_t
Low qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:126
vec< 2, float, lowp > lowp_fvec2
Low single-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:427
uint32 mediump_uint32
Medium qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:123
mat< 4, 4, f32, mediump > mediump_fmat4
Medium single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:530
uint64 highp_uint64
High qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:138
mat< 2, 2, f32, lowp > lowp_fmat2
Low single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:524
uint32 lowp_uint32
Low qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:122
vec< 3, float, lowp > lowp_fvec3
Low single-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:428
vec< 2, float, mediump > mediump_fvec2
Medium Single-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:432
mat< 2, 3, float, highp > highp_mat2x3
2 columns of 3 components matrix of single-precision floating-point numbers using high precision arit...
mat< 3, 4, f32, lowp > lowp_fmat3x4
Low single-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:635
vec< 2, float, defaultp > vec2
2 components vector of single-precision floating-point numbers.
mat< 2, 2, f64, lowp > lowp_f64mat2x2
Low double-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:750
vec< 4, i64, defaultp > i64vec4
64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:300
vec< 3, u16, defaultp > u16vec3
Default qualifier 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:361
vec< 1, u64, lowp > lowp_u64vec1
Low qualifier 64 bit unsigned integer scalar type.
Definition: fwd.hpp:384
mat< 2, 2, double, mediump > mediump_dmat2
2 columns of 2 components matrix of double-precision floating-point numbers using medium precision ar...
vec< 1, u16, mediump > mediump_u16vec1
Medium qualifier 16 bit unsigned integer scalar type.
Definition: fwd.hpp:349
vec< 2, float, highp > highp_vec2
2 components vector of high single-qualifier floating-point numbers.
vec< 2, i8, defaultp > i8vec2
8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:238
mat< 2, 3, f64, mediump > mediump_f64mat2x3
Medium double-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:761
vec< 4, u32, lowp > lowp_u32vec4
Low qualifier 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:367
vec< 4, f32, highp > highp_f32vec4
High single-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:459
vec< 3, unsigned int, defaultp > uvec3
3 components vector of unsigned integer numbers.
vec< 1, f32, lowp > lowp_f32vec1
Low single-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:446
mat< 2, 3, f32, highp > highp_f32mat2x3
High single-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:691
int64 highp_int64
High qualifier 64 bit signed integer type.
Definition: fwd.hpp:80
vec< 2, i32, mediump > mediump_i32vec2
Medium qualifier 32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:268
vec< 1, double, lowp > lowp_dvec1
1 component vector of double-precision floating-point numbers using low precision arithmetic in term ...
mat< 4, 4, f64, lowp > lowp_f64mat4
Low double-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:574
mat< 4, 4, f32, defaultp > fmat4
Single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:538
mat< 3, 4, f32, mediump > mediump_fmat3x4
Medium single-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:645
mat< 3, 3, double, lowp > lowp_dmat3
3 columns of 3 components matrix of double-precision floating-point numbers using low precision arith...
int16 lowp_int16_t
Low qualifier 16 bit signed integer type.
Definition: fwd.hpp:54
vec< 4, i32, highp > highp_i32vec4
High qualifier 32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:275
mat< 4, 2, f32, defaultp > f32mat4x2
Single-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:702
mat< 3, 2, f32, highp > highp_fmat3x2
High single-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:653
mat< 2, 4, float, defaultp > mat2x4
2 columns of 4 components matrix of single-precision floating-point numbers.
mat< 2, 3, f32, mediump > mediump_fmat2x3
Medium single-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:641
uint32 mediump_u32
Medium qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:118
mat< 3, 2, f32, lowp > lowp_fmat3x2
Low single-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:633
mat< 2, 3, float, lowp > lowp_mat2x3
2 columns of 3 components matrix of single-precision floating-point numbers using low precision arith...
mat< 2, 2, float, lowp > lowp_mat2
2 columns of 2 components matrix of single-precision floating-point numbers using low precision arith...
mat< 4, 2, f64, mediump > mediump_f64mat4x2
Medium double-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:766
vec< 4, bool, lowp > lowp_bvec4
4 components vector of low qualifier bool numbers.
vec< 2, u16, highp > highp_u16vec2
High qualifier 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:355
vec< 1, f64, highp > highp_f64vec1
High double-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:496
vec< 3, int, defaultp > ivec3
3 components vector of signed integer numbers.
Definition: vector_int3.hpp:15
vec< 2, i16, mediump > mediump_i16vec2
Medium qualifier 16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:248
mat< 2, 4, f32, highp > highp_fmat2x4
High single-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:652
vec< 3, u64, defaultp > u64vec3
Default qualifier 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:401
uint8 lowp_uint8
Low qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:94
mat< 3, 2, f32, lowp > lowp_f32mat3x2
Low single-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:673
vec< 4, bool, mediump > mediump_bvec4
4 components vector of medium qualifier bool numbers.
mat< 3, 2, float, defaultp > mat3x2
3 columns of 2 components matrix of single-precision floating-point numbers.
uint64 lowp_u64
Low qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:131
vec< 1, unsigned int, mediump > mediump_uvec1
1 component vector of unsigned integer values.
vec< 3, i64, highp > highp_i64vec3
High qualifier 64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:294
int8 mediump_int8
Medium qualifier 8 bit signed integer type.
Definition: fwd.hpp:37
int64 lowp_int64
Low qualifier 64 bit signed integer type.
Definition: fwd.hpp:78
vec< 1, float, lowp > lowp_vec1
1 component vector of single-precision floating-point numbers using low precision arithmetic in term ...
mat< 4, 2, f32, mediump > mediump_f32mat4x2
Medium single-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:686
mat< 3, 3, float, highp > highp_mat3x3
3 columns of 3 components matrix of single-precision floating-point numbers using high precision arit...
vec< 3, f64, lowp > lowp_f64vec3
Low double-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:488
mat< 3, 4, float, defaultp > mat3x4
3 columns of 4 components matrix of single-precision floating-point numbers.
mat< 3, 3, float, lowp > lowp_mat3x3
3 columns of 3 components matrix of single-precision floating-point numbers using low precision arith...
vec< 2, u64, defaultp > u64vec2
Default qualifier 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:400
vec< 3, i64, lowp > lowp_i64vec3
Low qualifier 64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:284
vec< 2, i8, mediump > mediump_i8vec2
Medium qualifier 8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:228
vec< 4, float, lowp > lowp_vec4
4 components vector of low single-qualifier floating-point numbers.
mat< 4, 3, float, defaultp > mat4x3
4 columns of 3 components matrix of single-precision floating-point numbers.
mat< 3, 4, f32, defaultp > f32mat3x4
Single-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:707
mat< 4, 2, double, mediump > mediump_dmat4x2
4 columns of 2 components matrix of double-precision floating-point numbers using medium precision ar...
vec< 2, float, lowp > lowp_vec2
2 components vector of low single-qualifier floating-point numbers.
vec< 3, i16, highp > highp_i16vec3
High qualifier 16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:254
mat< 2, 3, double, mediump > mediump_dmat2x3
2 columns of 3 components matrix of double-precision floating-point numbers using medium precision ar...
vec< 3, i16, mediump > mediump_i16vec3
Medium qualifier 16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:249
uint64 u64
Default qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:134
vec< 2, int, mediump > mediump_ivec2
2 components vector of medium qualifier signed integer numbers.
mat< 3, 2, f32, mediump > mediump_fmat3x2
Medium single-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:643
vec< 1, f64, defaultp > f64vec1
Double-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:501
vec< 1, i64, mediump > mediump_i64vec1
Medium qualifier 64 bit signed integer scalar type.
Definition: fwd.hpp:287
vec< 1, i16, defaultp > i16vec1
16 bit signed integer scalar type.
Definition: fwd.hpp:257
mat< 2, 2, double, lowp > lowp_dmat2
2 columns of 2 components matrix of double-precision floating-point numbers using low precision arith...
mat< 2, 4, double, highp > highp_dmat2x4
2 columns of 4 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 3, 3, f64, lowp > lowp_f64mat3x3
Low double-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:754
vec< 2, f64, lowp > lowp_f64vec2
Low double-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:487
mat< 2, 3, f32, highp > highp_fmat2x3
High single-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:651
mat< 4, 3, f32, lowp > lowp_f32mat4x3
Low single-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:677
mat< 3, 3, f64, lowp > lowp_f64mat3
Low double-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:573
vec< 3, u64, mediump > mediump_u64vec3
Medium qualifier 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:391
double mediump_float64
Medium 64 bit double-qualifier floating-point scalar.
Definition: fwd.hpp:169
double float64
Double-qualifier floating-point scalar.
Definition: fwd.hpp:171
vec< 2, bool, highp > highp_bvec2
2 components vector of high qualifier bool numbers.
vec< 2, i16, highp > highp_i16vec2
High qualifier 16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:253
mat< 4, 2, f32, defaultp > fmat4x2
Single-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:662
mat< 2, 3, f64, lowp > lowp_f64mat2x3
Low double-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:751
mat< 3, 4, f32, defaultp > fmat3x4
Single-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:667
mat< 3, 3, double, lowp > lowp_dmat3x3
3 columns of 3 components matrix of double-precision floating-point numbers using low precision arith...
vec< 3, u32, lowp > lowp_u32vec3
Low qualifier 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:366
mat< 2, 4, f32, defaultp > f32mat2x4
Single-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:706
vec< 4, float, lowp > lowp_fvec4
Low single-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:429
vec< 4, f32, mediump > mediump_f32vec4
Medium single-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:454
vec< 4, i16, defaultp > i16vec4
16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:260
uint8 lowp_uint8_t
Low qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:98
uint32 highp_uint32_t
High qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:128
mat< 3, 3, f32, defaultp > fmat3x3
Single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:664
mat< 3, 4, f64, mediump > mediump_f64mat3x4
Medium double-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:765
mat< 2, 3, f32, lowp > lowp_fmat2x3
Low single-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:631
vec< 1, u32, lowp > lowp_u32vec1
Low qualifier 32 bit unsigned integer scalar type.
Definition: fwd.hpp:364
mat< 3, 2, float, lowp > lowp_mat3x2
3 columns of 2 components matrix of single-precision floating-point numbers using low precision arith...
mat< 2, 3, f32, defaultp > f32mat2x3
Single-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:703
vec< 1, i32, mediump > mediump_i32vec1
Medium qualifier 32 bit signed integer scalar type.
Definition: fwd.hpp:267
vec< 4, u16, highp > highp_u16vec4
High qualifier 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:357
vec< 1, i32, lowp > lowp_i32vec1
Low qualifier 32 bit signed integer scalar type.
Definition: fwd.hpp:262
vec< 1, i64, lowp > lowp_i64vec1
Low qualifier 64 bit signed integer scalar type.
Definition: fwd.hpp:282
vec< 1, u32, highp > highp_u32vec1
High qualifier 32 bit unsigned integer scalar type.
Definition: fwd.hpp:374
vec< 1, bool, highp > highp_bvec1
1 component vector of bool values.
int16 mediump_int16
Medium qualifier 16 bit signed integer type.
Definition: fwd.hpp:51
uint16 mediump_u16
Medium qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:104
qua< f64, defaultp > f64quat
Double-qualifier floating-point quaternion.
Definition: fwd.hpp:815
vec< 4, float, mediump > mediump_vec4
4 components vector of medium single-qualifier floating-point numbers.
vec< 3, f64, mediump > mediump_f64vec3
Medium double-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:493
qua< double, defaultp > dquat
Quaternion of double-precision floating-point numbers.
vec< 1, u64, defaultp > u64vec1
Default qualifier 64 bit unsigned integer scalar type.
Definition: fwd.hpp:399
int64 int64_t
64 bit signed integer type.
Definition: fwd.hpp:85
vec< 1, u8, defaultp > u8vec1
Default qualifier 8 bit unsigned integer scalar type.
Definition: fwd.hpp:339
vec< 1, i8, highp > highp_i8vec1
High qualifier 8 bit signed integer scalar type.
Definition: fwd.hpp:232
vec< 4, u8, defaultp > u8vec4
Default qualifier 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:342
int8 int8_t
8 bit signed integer type.
Definition: fwd.hpp:43
int32 i32
32 bit signed integer type.
Definition: fwd.hpp:62
vec< 1, u32, mediump > mediump_u32vec1
Medium qualifier 32 bit unsigned integer scalar type.
Definition: fwd.hpp:369
mat< 2, 2, f64, defaultp > f64mat2x2
Double-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:780
mat< 2, 2, f32, lowp > lowp_f32mat2x2
Low single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:670
vec< 4, f32, lowp > lowp_f32vec4
Low single-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:449
vec< 3, float, highp > highp_fvec3
High Single-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:438
mat< 4, 2, f64, lowp > lowp_f64mat4x2
Low double-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:756
mat< 3, 3, f32, mediump > mediump_fmat3x3
Medium single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:644
vec< 1, i64, highp > highp_i64vec1
High qualifier 64 bit signed integer scalar type.
Definition: fwd.hpp:292
vec< 4, i8, defaultp > i8vec4
8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:240
vec< 1, int, highp > highp_ivec1
1 component vector of signed integer values.
vec< 3, bool, mediump > mediump_bvec3
3 components vector of medium qualifier bool numbers.
int32 highp_int32
High qualifier 32 bit signed integer type.
Definition: fwd.hpp:66
mat< 2, 3, f32, mediump > mediump_f32mat2x3
Medium single-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:681
mat< 3, 4, double, mediump > mediump_dmat3x4
3 columns of 4 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 3, 2, f64, lowp > lowp_f64mat3x2
Low double-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:753
mat< 4, 2, float, defaultp > mat4x2
4 columns of 2 components matrix of single-precision floating-point numbers.
vec< 1, float, mediump > mediump_vec1
1 component vector of single-precision floating-point numbers using medium precision arithmetic in te...
uint32 highp_u32
High qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:119
int32 highp_i32
High qualifier 32 bit signed integer type.
Definition: fwd.hpp:61
vec< 4, int, defaultp > ivec4
4 components vector of signed integer numbers.
Definition: vector_int4.hpp:15
mat< 4, 4, float, mediump > mediump_mat4x4
4 columns of 4 components matrix of single-precision floating-point numbers using medium precision ar...
vec< 4, u64, defaultp > u64vec4
Default qualifier 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:402
vec< 2, int, lowp > lowp_ivec2
2 components vector of low qualifier signed integer numbers.
vec< 4, f32, defaultp > f32vec4
Single-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:464
mat< 2, 3, f64, defaultp > f64mat2x3
Double-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:783
mat< 4, 4, f64, mediump > mediump_f64mat4x4
Medium double-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:768
mat< 2, 2, double, mediump > mediump_dmat2x2
2 columns of 2 components matrix of double-precision floating-point numbers using medium precision ar...
vec< 4, u16, lowp > lowp_u16vec4
Low qualifier 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:347
vec< 4, unsigned int, highp > highp_uvec4
4 components vector of high qualifier unsigned integer numbers.
uint32 highp_uint32
High qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:124
mat< 4, 4, f32, lowp > lowp_f32mat4
Low single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:542
mat< 3, 2, f64, defaultp > f64mat3x2
Double-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:781
float mediump_float32
Medium 32 bit single-qualifier floating-point scalar.
Definition: fwd.hpp:153
vec< 1, u32, defaultp > u32vec1
Default qualifier 32 bit unsigned integer scalar type.
Definition: fwd.hpp:379
mat< 4, 2, float, lowp > lowp_mat4x2
4 columns of 2 components matrix of single-precision floating-point numbers using low precision arith...
vec< 4, f64, mediump > mediump_f64vec4
Medium double-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:494
mat< 3, 3, f64, defaultp > f64mat3x3
Double-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:784
float highp_float32
High 32 bit single-qualifier floating-point scalar.
Definition: fwd.hpp:154
uint8 highp_uint8
High qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:96
int8 highp_i8
High qualifier 8 bit signed integer type.
Definition: fwd.hpp:33
mat< 2, 4, f64, lowp > lowp_f64mat2x4
Low double-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:752
mat< 3, 4, f64, lowp > lowp_f64mat3x4
Low double-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:755
vec< 3, float, lowp > lowp_vec3
3 components vector of low single-qualifier floating-point numbers.
mat< 3, 4, float, highp > highp_mat3x4
3 columns of 4 components matrix of single-precision floating-point numbers using high precision arit...
mat< 4, 4, float, lowp > lowp_mat4
4 columns of 4 components matrix of single-precision floating-point numbers using low precision arith...
int8 mediump_i8
Medium qualifier 8 bit signed integer type.
Definition: fwd.hpp:32
int64 highp_int64_t
High qualifier 64 bit signed integer type.
Definition: fwd.hpp:84
mat< 4, 4, f32, defaultp > f32mat4x4
Single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:708
float float32_t
Default 32 bit single-qualifier floating-point scalar.
Definition: fwd.hpp:160
mat< 2, 2, f32, defaultp > f32mat2x2
Single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:700
vec< 2, i64, lowp > lowp_i64vec2
Low qualifier 64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:283
mat< 2, 4, f32, lowp > lowp_f32mat2x4
Low single-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:672
vec< 4, bool, highp > highp_bvec4
4 components vector of high qualifier bool numbers.
uint32 uint32_t
Default qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:129
mat< 3, 3, f32, highp > highp_f32mat3
High single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:549
mat< 3, 3, f64, mediump > mediump_f64mat3x3
Medium double-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:764
vec< 2, bool, defaultp > bvec2
2 components vector of boolean.
vec< 4, float, defaultp > vec4
4 components vector of single-precision floating-point numbers.
uint8 u8
Default qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:92
vec< 3, i32, highp > highp_i32vec3
High qualifier 32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:274
float float32
Single-qualifier floating-point scalar.
Definition: fwd.hpp:155
vec< 4, f32, defaultp > fvec4
Single-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:444
vec< 1, i32, highp > highp_i32vec1
High qualifier 32 bit signed integer scalar type.
Definition: fwd.hpp:272
mat< 3, 3, double, highp > highp_dmat3
3 columns of 3 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 3, 3, f32, lowp > lowp_f32mat3
Low single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:541
vec< 1, u16, defaultp > u16vec1
Default qualifier 16 bit unsigned integer scalar type.
Definition: fwd.hpp:359
mat< 2, 4, float, lowp > lowp_mat2x4
2 columns of 4 components matrix of single-precision floating-point numbers using low precision arith...
vec< 1, double, defaultp > dvec1
1 components vector of double-precision floating-point numbers.
vec< 1, i8, defaultp > i8vec1
8 bit signed integer scalar type.
Definition: fwd.hpp:237
vec< 3, i32, mediump > mediump_i32vec3
Medium qualifier 32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:269
vec< 2, i32, defaultp > i32vec2
32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:278
vec< 2, bool, mediump > mediump_bvec2
2 components vector of medium qualifier bool numbers.
vec< 2, i16, lowp > lowp_i16vec2
Low qualifier 16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:243
vec< 2, float, mediump > mediump_vec2
2 components vector of medium single-qualifier floating-point numbers.
vec< 2, u64, mediump > mediump_u64vec2
Medium qualifier 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:390
vec< 4, u8, lowp > lowp_u8vec4
Low qualifier 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:327
mat< 3, 3, f32, highp > highp_f32mat3x3
High single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:694
vec< 1, u8, highp > highp_u8vec1
High qualifier 8 bit unsigned integer scalar type.
Definition: fwd.hpp:334
uint8 highp_uint8_t
High qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:100
vec< 4, u32, mediump > mediump_u32vec4
Medium qualifier 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:372
mat< 2, 2, f32, highp > highp_f32mat2x2
High single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:690
vec< 4, f64, highp > highp_f64vec4
High double-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:499
mat< 3, 3, double, highp > highp_dmat3x3
3 columns of 3 components matrix of double-precision floating-point numbers using medium precision ar...
vec< 3, u8, lowp > lowp_u8vec3
Low qualifier 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:326
float highp_f32
High 32 bit single-qualifier floating-point scalar.
Definition: fwd.hpp:149
uint64 mediump_uint64
Medium qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:137
int32 highp_int32_t
32 bit signed integer type.
Definition: fwd.hpp:70
mat< 2, 3, f32, lowp > lowp_f32mat2x3
Low single-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:671
vec< 3, f64, defaultp > f64vec3
Double-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:503
vec< 3, u16, mediump > mediump_u16vec3
Medium qualifier 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:351
mat< 2, 4, f64, defaultp > f64mat2x4
Double-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:786
qua< double, mediump > mediump_dquat
Quaternion of medium double-qualifier floating-point numbers using high precision arithmetic in term ...
mat< 3, 3, f32, defaultp > f32mat3
Single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:553
mat< 2, 2, f64, mediump > mediump_f64mat2x2
Medium double-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:760
vec< 1, double, highp > highp_dvec1
1 component vector of double-precision floating-point numbers using high precision arithmetic in term...
mat< 3, 3, float, defaultp > mat3x3
3 columns of 3 components matrix of single-precision floating-point numbers.
uint64 mediump_u64
Medium qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:132
mat< 4, 4, float, mediump > mediump_mat4
4 columns of 4 components matrix of single-precision floating-point numbers using medium precision ar...
vec< 4, i16, highp > highp_i16vec4
High qualifier 16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:255
mat< 4, 4, f32, lowp > lowp_fmat4
Low single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:526
vec< 2, u32, mediump > mediump_u32vec2
Medium qualifier 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:370
vec< 3, u64, highp > highp_u64vec3
High qualifier 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:396
vec< 2, unsigned int, defaultp > uvec2
2 components vector of unsigned integer numbers.
uint16 lowp_u16
Low qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:103
vec< 3, i16, lowp > lowp_i16vec3
Low qualifier 16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:244
vec< 3, u16, lowp > lowp_u16vec3
Low qualifier 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:346
vec< 1, unsigned int, defaultp > uvec1
1 component vector of unsigned integer numbers.
vec< 3, f32, lowp > lowp_f32vec3
Low single-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:448
mat< 4, 4, f32, highp > highp_fmat4
High single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:534
mat< 3, 3, f32, lowp > lowp_fmat3
Low single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:525
int16 highp_i16
High qualifier 16 bit signed integer type.
Definition: fwd.hpp:47
qua< f32, mediump > mediump_f32quat
Medium single-qualifier floating-point quaternion.
Definition: fwd.hpp:803
int8 highp_int8
High qualifier 8 bit signed integer type.
Definition: fwd.hpp:38
mat< 4, 4, f64, defaultp > f64mat4x4
Double-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:788
mat< 4, 3, f32, defaultp > fmat4x3
Single-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:665
mat< 2, 4, f32, lowp > lowp_fmat2x4
Low single-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:632
mat< 3, 3, f64, highp > highp_f64mat3
High double-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:581
vec< 3, i8, mediump > mediump_i8vec3
Medium qualifier 8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:229
vec< 1, f32, highp > highp_f32vec1
High single-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:456
vec< 3, i8, lowp > lowp_i8vec3
Low qualifier 8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:224
mat< 3, 3, double, mediump > mediump_dmat3x3
3 columns of 3 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 4, 3, f64, lowp > lowp_f64mat4x3
Low double-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:757
vec< 4, u64, highp > highp_u64vec4
High qualifier 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:397
mat< 3, 3, float, mediump > mediump_mat3
3 columns of 3 components matrix of single-precision floating-point numbers using medium precision ar...
vec< 3, f32, defaultp > fvec3
Single-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:443
vec< 2, i16, defaultp > i16vec2
16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:258
vec< 1, bool, mediump > mediump_bvec1
1 component vector of bool values.
mat< 4, 4, double, lowp > lowp_dmat4
4 columns of 4 components matrix of double-precision floating-point numbers using low precision arith...
mat< 3, 4, double, highp > highp_dmat3x4
3 columns of 4 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 4, 3, f32, defaultp > f32mat4x3
Single-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:705
mat< 2, 2, f32, defaultp > f32mat2
Single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:552
mat< 2, 4, f32, mediump > mediump_fmat2x4
Medium single-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:642
vec< 2, u16, mediump > mediump_u16vec2
Medium qualifier 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:350
mat< 4, 4, f32, lowp > lowp_f32mat4x4
Low single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:678
vec< 2, unsigned int, lowp > lowp_uvec2
2 components vector of low qualifier unsigned integer numbers.
mat< 3, 3, float, lowp > lowp_mat3
3 columns of 3 components matrix of single-precision floating-point numbers using low precision arith...
vec< 2, u8, lowp > lowp_u8vec2
Low qualifier 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:325
vec< 2, double, lowp > lowp_dvec2
2 components vector of low double-qualifier floating-point numbers.
mat< 3, 3, f64, mediump > mediump_f64mat3
Medium double-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:577
int16 lowp_i16
Low qualifier 16 bit signed integer type.
Definition: fwd.hpp:45
vec< 1, float, defaultp > vec1
1 components vector of single-precision floating-point numbers.
vec< 3, unsigned int, mediump > mediump_uvec3
3 components vector of medium qualifier unsigned integer numbers.
mat< 3, 4, f32, highp > highp_fmat3x4
High single-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:655
double float64_t
Default 64 bit double-qualifier floating-point scalar.
Definition: fwd.hpp:176
mat< 4, 4, f64, highp > highp_f64mat4x4
High double-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:778
mat< 2, 2, float, highp > highp_mat2
2 columns of 2 components matrix of single-precision floating-point numbers using high precision arit...
mat< 4, 3, f32, mediump > mediump_f32mat4x3
Medium single-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:687
int16 lowp_int16
Low qualifier 16 bit signed integer type.
Definition: fwd.hpp:50
vec< 3, int, lowp > lowp_ivec3
3 components vector of low qualifier signed integer numbers.
mat< 3, 3, f32, mediump > mediump_fmat3
Medium single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:529
mat< 4, 4, double, mediump > mediump_dmat4
4 columns of 4 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 4, 4, f32, highp > highp_f32mat4x4
High single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:698
int64 lowp_int64_t
Low qualifier 64 bit signed integer type.
Definition: fwd.hpp:82
vec< 4, int, lowp > lowp_ivec4
4 components vector of low qualifier signed integer numbers.
uint16 uint16_t
Default qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:115
vec< 4, unsigned int, lowp > lowp_uvec4
4 components vector of low qualifier unsigned integer numbers.
vec< 2, f64, highp > highp_f64vec2
High double-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:497
vec< 2, u64, lowp > lowp_u64vec2
Low qualifier 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:385
mat< 3, 3, f32, defaultp > fmat3
Single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:537
mat< 3, 2, f32, mediump > mediump_f32mat3x2
Medium single-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:683
mat< 3, 3, double, defaultp > dmat3x3
3 columns of 3 components matrix of double-precision floating-point numbers.
mat< 3, 3, double, defaultp > dmat3
3 columns of 3 components matrix of double-precision floating-point numbers.
mat< 4, 2, f32, lowp > lowp_f32mat4x2
Low single-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:676
int32 lowp_int32
Low qualifier 32 bit signed integer type.
Definition: fwd.hpp:64
vec< 4, i64, mediump > mediump_i64vec4
Medium qualifier 64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:290
vec< 4, bool, defaultp > bvec4
4 components vector of boolean.
uint8 uint8_t
Default qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:101
vec< 1, i8, mediump > mediump_i8vec1
Medium qualifier 8 bit signed integer scalar type.
Definition: fwd.hpp:227
int32 mediump_int32_t
Medium qualifier 32 bit signed integer type.
Definition: fwd.hpp:69
mat< 4, 3, double, mediump > mediump_dmat4x3
4 columns of 3 components matrix of double-precision floating-point numbers using medium precision ar...
float highp_float32_t
High 32 bit single-qualifier floating-point scalar.
Definition: fwd.hpp:159
mat< 3, 3, f32, defaultp > f32mat3x3
Single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:704
mat< 4, 4, double, highp > highp_dmat4x4
4 columns of 4 components matrix of double-precision floating-point numbers using medium precision ar...
uint8 highp_u8
High qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:91
mat< 2, 3, double, highp > highp_dmat2x3
2 columns of 3 components matrix of double-precision floating-point numbers using medium precision ar...
uint8 mediump_uint8
Medium qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:95
mat< 4, 2, f32, highp > highp_fmat4x2
High single-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:656
vec< 2, f32, highp > highp_f32vec2
High single-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:457
mat< 2, 4, double, mediump > mediump_dmat2x4
2 columns of 4 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 2, 2, double, defaultp > dmat2
2 columns of 2 components matrix of double-precision floating-point numbers.
vec< 4, float, highp > highp_vec4
4 components vector of high single-qualifier floating-point numbers.
int64 mediump_int64_t
Medium qualifier 64 bit signed integer type.
Definition: fwd.hpp:83
vec< 3, u64, lowp > lowp_u64vec3
Low qualifier 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:386
mat< 4, 4, double, defaultp > dmat4x4
4 columns of 4 components matrix of double-precision floating-point numbers.
vec< 1, bool, lowp > lowp_bvec1
1 component vector of bool values.
mat< 2, 2, f64, highp > highp_f64mat2x2
High double-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:770
vec< 3, u32, highp > highp_u32vec3
High qualifier 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:376
vec< 3, bool, highp > highp_bvec3
3 components vector of high qualifier bool numbers.
int8 highp_int8_t
High qualifier 8 bit signed integer type.
Definition: fwd.hpp:42
qua< f32, lowp > lowp_f32quat
Low single-qualifier floating-point quaternion.
Definition: fwd.hpp:802
vec< 4, i32, lowp > lowp_i32vec4
Low qualifier 32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:265
vec< 1, i16, highp > highp_i16vec1
High qualifier 16 bit signed integer scalar type.
Definition: fwd.hpp:252
mat< 4, 4, f32, lowp > lowp_fmat4x4
Low single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:638
mat< 4, 3, double, lowp > lowp_dmat4x3
4 columns of 3 components matrix of double-precision floating-point numbers using low precision arith...
mat< 3, 2, f32, defaultp > f32mat3x2
Single-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:701
mat< 3, 3, f32, lowp > lowp_f32mat3x3
Low single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:674
vec< 2, i8, lowp > lowp_i8vec2
Low qualifier 8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:223
vec< 4, i32, defaultp > i32vec4
32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:280
mat< 2, 2, f32, highp > highp_f32mat2
High single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:548
float lowp_f32
Low 32 bit single-qualifier floating-point scalar.
Definition: fwd.hpp:147
vec< 1, unsigned int, highp > highp_uvec1
1 component vector of unsigned integer values.
vec< 4, u16, mediump > mediump_u16vec4
Medium qualifier 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:352
vec< 3, unsigned int, highp > highp_uvec3
3 components vector of high qualifier unsigned integer numbers.
vec< 3, u32, defaultp > u32vec3
Default qualifier 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:381
vec< 2, u8, defaultp > u8vec2
Default qualifier 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:340
vec< 3, double, mediump > mediump_dvec3
3 components vector of medium double-qualifier floating-point numbers.
int16 mediump_i16
Medium qualifier 16 bit signed integer type.
Definition: fwd.hpp:46
vec< 2, u64, highp > highp_u64vec2
High qualifier 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:395
vec< 1, int, lowp > lowp_ivec1
1 component vector of signed integer values.
vec< 3, i8, defaultp > i8vec3
8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:239
mat< 2, 2, f32, mediump > mediump_f32mat2x2
High single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:680
mat< 4, 4, float, defaultp > mat4
4 columns of 4 components matrix of single-precision floating-point numbers.
uint16 mediump_uint16_t
Medium qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:113
mat< 4, 3, f64, mediump > mediump_f64mat4x3
Medium double-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:767
vec< 3, u8, defaultp > u8vec3
Default qualifier 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:341
double highp_f64
High 64 bit double-qualifier floating-point scalar.
Definition: fwd.hpp:165
vec< 3, float, mediump > mediump_fvec3
Medium Single-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:433
int64 mediump_int64
Medium qualifier 64 bit signed integer type.
Definition: fwd.hpp:79
vec< 4, u64, mediump > mediump_u64vec4
Medium qualifier 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:392
mat< 2, 2, double, highp > highp_dmat2x2
2 columns of 2 components matrix of double-precision floating-point numbers using medium precision ar...
uint64 uint64_t
Default qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:143
vec< 2, u32, highp > highp_u32vec2
High qualifier 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:375
vec< 1, double, mediump > mediump_dvec1
1 component vector of double-precision floating-point numbers using medium precision arithmetic in te...
vec< 1, float, highp > highp_fvec1
High single-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:436
vec< 4, i64, lowp > lowp_i64vec4
Low qualifier 64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:285
vec< 4, int, highp > highp_ivec4
4 components vector of high qualifier signed integer numbers.
vec< 3, i32, defaultp > i32vec3
32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:279
mat< 2, 4, f32, highp > highp_f32mat2x4
High single-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:692
vec< 1, i8, lowp > lowp_i8vec1
Low qualifier 8 bit signed integer scalar type.
Definition: fwd.hpp:222
mat< 2, 2, f64, highp > highp_f64mat2
High double-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:580
vec< 3, double, lowp > lowp_dvec3
3 components vector of low double-qualifier floating-point numbers.
uint16 lowp_uint16_t
Low qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:112
vec< 2, double, defaultp > dvec2
2 components vector of double-precision floating-point numbers.
mat< 3, 2, f64, highp > highp_f64mat3x2
High double-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:773
vec< 3, u32, mediump > mediump_u32vec3
Medium qualifier 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:371
uint16 lowp_uint16
Low qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:108
mat< 3, 3, float, highp > highp_mat3
3 columns of 3 components matrix of single-precision floating-point numbers using high precision arit...
vec< 3, u8, highp > highp_u8vec3
High qualifier 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:336
vec< 4, f64, defaultp > f64vec4
Double-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:504
vec< 2, i8, highp > highp_i8vec2
High qualifier 8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:233
mat< 2, 2, double, highp > highp_dmat2
2 columns of 2 components matrix of double-precision floating-point numbers using medium precision ar...
vec< 3, i32, lowp > lowp_i32vec3
Low qualifier 32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:264
int32 lowp_i32
Low qualifier 32 bit signed integer type.
Definition: fwd.hpp:59
mat< 4, 4, f32, mediump > mediump_fmat4x4
Medium single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:648
vec< 3, float, defaultp > vec3
3 components vector of single-precision floating-point numbers.
mat< 4, 4, double, lowp > lowp_dmat4x4
4 columns of 4 components matrix of double-precision floating-point numbers using low precision arith...
int64 mediump_i64
Medium qualifier 64 bit signed integer type.
Definition: fwd.hpp:74
mat< 4, 4, double, highp > highp_dmat4
4 columns of 4 components matrix of double-precision floating-point numbers using medium precision ar...
vec< 4, i16, lowp > lowp_i16vec4
Low qualifier 16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:245
vec< 1, bool, defaultp > bvec1
1 components vector of boolean.
mat< 4, 3, f64, highp > highp_f64mat4x3
High double-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:777
vec< 2, u8, highp > highp_u8vec2
High qualifier 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:335
vec< 3, int, mediump > mediump_ivec3
3 components vector of medium qualifier signed integer numbers.
vec< 3, i8, highp > highp_i8vec3
High qualifier 8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:234
vec< 3, f64, highp > highp_f64vec3
High double-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:498
vec< 2, f32, defaultp > fvec2
Single-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:442
vec< 4, f64, lowp > lowp_f64vec4
Low double-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:489
qua< double, highp > highp_dquat
Quaternion of high double-qualifier floating-point numbers using high precision arithmetic in term of...
vec< 3, f32, mediump > mediump_f32vec3
Medium single-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:453
double lowp_f64
Low 64 bit double-qualifier floating-point scalar.
Definition: fwd.hpp:163
mat< 4, 2, f32, lowp > lowp_fmat4x2
Low single-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:636
vec< 3, int, highp > highp_ivec3
3 components vector of high qualifier signed integer numbers.
mat< 2, 4, f64, highp > highp_f64mat2x4
High double-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:772
mat< 4, 4, f64, highp > highp_f64mat4
High double-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:582
vec< 4, i32, mediump > mediump_i32vec4
Medium qualifier 32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:270
mat< 2, 2, f32, lowp > lowp_f32mat2
Low single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:540
int16 int16_t
16 bit signed integer type.
Definition: fwd.hpp:57
mat< 3, 4, double, defaultp > dmat3x4
3 columns of 4 components matrix of double-precision floating-point numbers.
mat< 2, 3, double, lowp > lowp_dmat2x3
2 columns of 3 components matrix of double-precision floating-point numbers using low precision arith...
int64 highp_i64
High qualifier 64 bit signed integer type.
Definition: fwd.hpp:75
mat< 2, 4, float, mediump > mediump_mat2x4
2 columns of 4 components matrix of single-precision floating-point numbers using medium precision ar...
mat< 3, 4, f64, highp > highp_f64mat3x4
High double-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:775
mat< 3, 3, f32, highp > highp_fmat3
High single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:533
mat< 3, 3, f32, mediump > mediump_f32mat3x3
Medium single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:684
qua< f64, mediump > mediump_f64quat
Medium double-qualifier floating-point quaternion.
Definition: fwd.hpp:813
int32 int32_t
32 bit signed integer type.
Definition: fwd.hpp:71
vec< 2, f64, defaultp > f64vec2
Double-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:502
vec< 4, unsigned int, defaultp > uvec4
4 components vector of unsigned integer numbers.
uint64 lowp_uint64_t
Low qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:140
detail::uint64 uint64
64 bit unsigned integer type.
int16 highp_int16
High qualifier 16 bit signed integer type.
Definition: fwd.hpp:52
mat< 2, 2, double, defaultp > dmat2x2
2 columns of 2 components matrix of double-precision floating-point numbers.
vec< 1, i16, mediump > mediump_i16vec1
Medium qualifier 16 bit signed integer scalar type.
Definition: fwd.hpp:247
mat< 2, 4, double, defaultp > dmat2x4
2 columns of 4 components matrix of double-precision floating-point numbers.
mat< 3, 2, double, highp > highp_dmat3x2
3 columns of 2 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 2, 4, f32, defaultp > fmat2x4
Single-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:666
mat< 2, 2, f32, highp > highp_fmat2x2
High single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:650
vec< 4, float, highp > highp_fvec4
High Single-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:439
mat< 3, 3, f64, highp > highp_f64mat3x3
High double-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:774
int32 mediump_i32
Medium qualifier 32 bit signed integer type.
Definition: fwd.hpp:60
vec< 3, float, mediump > mediump_vec3
3 components vector of medium single-qualifier floating-point numbers.
vec< 2, u16, lowp > lowp_u16vec2
Low qualifier 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:345
vec< 4, u32, highp > highp_u32vec4
High qualifier 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:377
mat< 4, 2, double, defaultp > dmat4x2
4 columns of 2 components matrix of double-precision floating-point numbers.
vec< 4, double, lowp > lowp_dvec4
4 components vector of low double-qualifier floating-point numbers.
float lowp_float32_t
Low 32 bit single-qualifier floating-point scalar.
Definition: fwd.hpp:157
uint64 highp_uint64_t
High qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:142
vec< 2, f32, lowp > lowp_f32vec2
Low single-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:447
vec< 4, u32, defaultp > u32vec4
Default qualifier 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:382
mat< 2, 2, f64, mediump > mediump_f64mat2
Medium double-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:576
qua< float, mediump > mediump_quat
Quaternion of single-precision floating-point numbers using high precision arithmetic in term of ULPs...
mat< 4, 3, f32, highp > highp_f32mat4x3
High single-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:697
vec< 3, unsigned int, lowp > lowp_uvec3
3 components vector of low qualifier unsigned integer numbers.
mat< 2, 2, float, lowp > lowp_mat2x2
2 columns of 2 components matrix of single-precision floating-point numbers using low precision arith...
qua< f32, defaultp > f32quat
Single-qualifier floating-point quaternion.
Definition: fwd.hpp:805
detail::int64 int64
64 bit signed integer type.
qua< double, lowp > lowp_dquat
Quaternion of double-precision floating-point numbers using high precision arithmetic in term of ULPs...
vec< 1, u64, highp > highp_u64vec1
High qualifier 64 bit unsigned integer scalar type.
Definition: fwd.hpp:394
mat< 3, 4, float, mediump > mediump_mat3x4
3 columns of 4 components matrix of single-precision floating-point numbers using medium precision ar...
mat< 2, 3, f64, highp > highp_f64mat2x3
High double-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:771
vec< 4, i8, lowp > lowp_i8vec4
Low qualifier 8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:225
mat< 4, 3, f32, lowp > lowp_fmat4x3
Low single-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:637
float f32
Default 32 bit single-qualifier floating-point scalar.
Definition: fwd.hpp:150
vec< 2, i32, highp > highp_i32vec2
High qualifier 32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:273
vec< 1, u8, mediump > mediump_u8vec1
Medium qualifier 8 bit unsigned integer scalar type.
Definition: fwd.hpp:329
mat< 4, 3, f32, highp > highp_fmat4x3
High single-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:657
mat< 3, 2, double, defaultp > dmat3x2
3 columns of 2 components matrix of double-precision floating-point numbers.
vec< 4, i16, mediump > mediump_i16vec4
Medium qualifier 16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:250
mat< 4, 2, f64, defaultp > f64mat4x2
Double-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:782
mat< 2, 3, f32, defaultp > fmat2x3
Single-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:663
mat< 4, 4, f64, mediump > mediump_f64mat4
Medium double-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:578
vec< 4, u8, mediump > mediump_u8vec4
Medium qualifier 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:332
vec< 3, double, highp > highp_dvec3
3 components vector of high double-qualifier floating-point numbers.
mat< 3, 4, f32, lowp > lowp_f32mat3x4
Low single-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:675
double mediump_float64_t
Medium 64 bit double-qualifier floating-point scalar.
Definition: fwd.hpp:174
mat< 2, 2, float, highp > highp_mat2x2
2 columns of 2 components matrix of single-precision floating-point numbers using high precision arit...
mat< 4, 3, float, lowp > lowp_mat4x3
4 columns of 3 components matrix of single-precision floating-point numbers using low precision arith...
vec< 2, float, highp > highp_fvec2
High Single-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:437
uint16 u16
Default qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:106
int64 lowp_i64
Low qualifier 64 bit signed integer type.
Definition: fwd.hpp:73
vec< 1, unsigned int, lowp > lowp_uvec1
1 component vector of unsigned integer values.
vec< 2, int, defaultp > ivec2
2 components vector of signed integer numbers.
Definition: vector_int2.hpp:15
mat< 4, 4, f32, defaultp > f32mat4
Single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:554
mat< 4, 2, f32, mediump > mediump_fmat4x2
Medium single-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:646
mat< 2, 2, f64, lowp > lowp_f64mat2
Low double-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:572
int8 mediump_int8_t
Medium qualifier 8 bit signed integer type.
Definition: fwd.hpp:41
mat< 3, 3, f32, lowp > lowp_fmat3x3
Low single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:634
double lowp_float64_t
Low 64 bit double-qualifier floating-point scalar.
Definition: fwd.hpp:173
int16 highp_int16_t
High qualifier 16 bit signed integer type.
Definition: fwd.hpp:56
mat< 3, 3, f32, highp > highp_fmat3x3
High single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:654
mat< 4, 4, double, defaultp > dmat4
4 columns of 4 components matrix of double-precision floating-point numbers.
vec< 1, i64, defaultp > i64vec1
64 bit signed integer scalar type.
Definition: fwd.hpp:297
uint32 lowp_u32
Low qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:117
mat< 4, 3, float, mediump > mediump_mat4x3
4 columns of 3 components matrix of single-precision floating-point numbers using medium precision ar...
vec< 1, u8, lowp > lowp_u8vec1
Low qualifier 8 bit unsigned integer scalar type.
Definition: fwd.hpp:324
vec< 3, i64, mediump > mediump_i64vec3
Medium qualifier 64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:289
vec< 1, int, defaultp > ivec1
1 component vector of signed integer numbers.
Definition: vector_int1.hpp:28
qua< f32, highp > highp_f32quat
High single-qualifier floating-point quaternion.
Definition: fwd.hpp:804
uint16 highp_u16
High qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:105
vec< 1, f32, defaultp > fvec1
Single-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:441
mat< 3, 2, float, mediump > mediump_mat3x2
3 columns of 2 components matrix of single-precision floating-point numbers using medium precision ar...
vec< 2, bool, lowp > lowp_bvec2
2 components vector of low qualifier bool numbers.
vec< 2, u8, mediump > mediump_u8vec2
Medium qualifier 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:330
int32 lowp_int32_t
Low qualifier 32 bit signed integer type.
Definition: fwd.hpp:68
vec< 1, u16, lowp > lowp_u16vec1
Low qualifier 16 bit unsigned integer scalar type.
Definition: fwd.hpp:344
mat< 4, 4, f32, highp > highp_fmat4x4
High single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:658
mat< 3, 4, f32, highp > highp_f32mat3x4
High single-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:695
vec< 3, bool, defaultp > bvec3
3 components vector of boolean.
vec< 2, f32, defaultp > f32vec2
Single-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:462
vec< 3, u16, highp > highp_u16vec3
High qualifier 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:356
float mediump_float32_t
Medium 32 bit single-qualifier floating-point scalar.
Definition: fwd.hpp:158
mat< 2, 2, f32, defaultp > fmat2x2
Single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:660
float mediump_f32
Medium 32 bit single-qualifier floating-point scalar.
Definition: fwd.hpp:148
mat< 4, 4, f32, mediump > mediump_f32mat4x4
Medium single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:688
qua< float, lowp > lowp_quat
Quaternion of single-precision floating-point numbers using high precision arithmetic in term of ULPs...
vec< 2, f32, mediump > mediump_f32vec2
Medium single-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:452
int8 lowp_int8
Low qualifier 8 bit signed integer type.
Definition: fwd.hpp:36
mat< 2, 3, float, defaultp > mat2x3
2 columns of 3 components matrix of single-precision floating-point numbers.
vec< 1, f64, lowp > lowp_f64vec1
Low double-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:486
mat< 3, 2, f32, highp > highp_f32mat3x2
High single-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:693
mat< 3, 2, f64, mediump > mediump_f64mat3x2
Medium double-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:763
mat< 3, 3, double, mediump > mediump_dmat3
3 columns of 3 components matrix of double-precision floating-point numbers using medium precision ar...
vec< 3, u8, mediump > mediump_u8vec3
Medium qualifier 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:331
mat< 2, 3, double, defaultp > dmat2x3
2 columns of 3 components matrix of double-precision floating-point numbers.
mat< 4, 4, f64, lowp > lowp_f64mat4x4
Low double-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:758
vec< 1, i16, lowp > lowp_i16vec1
Low qualifier 16 bit signed integer scalar type.
Definition: fwd.hpp:242
vec< 3, double, defaultp > dvec3
3 components vector of double-precision floating-point numbers.
mat< 2, 4, double, lowp > lowp_dmat2x4
2 columns of 4 components matrix of double-precision floating-point numbers using low precision arith...
int8 lowp_int8_t
Low qualifier 8 bit signed integer type.
Definition: fwd.hpp:40
vec< 2, u32, lowp > lowp_u32vec2
Low qualifier 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:365
mat< 2, 4, f32, mediump > mediump_f32mat2x4
Medium single-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:682
mat< 4, 3, f64, defaultp > f64mat4x3
Double-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:785
vec< 2, i64, highp > highp_i64vec2
High qualifier 64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:293
mat< 4, 4, f32, mediump > mediump_f32mat4
Medium single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:546
mat< 3, 2, float, highp > highp_mat3x2
3 columns of 2 components matrix of single-precision floating-point numbers using high precision arit...
mat< 4, 4, float, highp > highp_mat4x4
4 columns of 4 components matrix of single-precision floating-point numbers using high precision arit...
vec< 2, double, mediump > mediump_dvec2
2 components vector of medium double-qualifier floating-point numbers.
mat< 2, 2, double, lowp > lowp_dmat2x2
2 columns of 2 components matrix of double-precision floating-point numbers using low precision arith...
int64 i64
64 bit signed integer type.
Definition: fwd.hpp:76
double f64
Default 64 bit double-qualifier floating-point scalar.
Definition: fwd.hpp:166
vec< 3, bool, lowp > lowp_bvec3
3 components vector of low qualifier bool numbers.
mat< 3, 4, float, lowp > lowp_mat3x4
3 columns of 4 components matrix of single-precision floating-point numbers using low precision arith...
mat< 4, 4, float, lowp > lowp_mat4x4
4 columns of 4 components matrix of single-precision floating-point numbers using low precision arith...
vec< 1, float, highp > highp_vec1
1 component vector of single-precision floating-point numbers using high precision arithmetic in term...
vec< 1, f32, mediump > mediump_f32vec1
Medium single-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:451
mat< 3, 4, f32, mediump > mediump_f32mat3x4
Medium single-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:685
mat< 2, 2, f32, highp > highp_fmat2
High single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:532
vec< 2, unsigned int, highp > highp_uvec2
2 components vector of high qualifier unsigned integer numbers.
vec< 3, f32, highp > highp_f32vec3
High single-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:458
mat< 2, 2, float, mediump > mediump_mat2x2
2 columns of 2 components matrix of single-precision floating-point numbers using medium precision ar...
vec< 4, i8, mediump > mediump_i8vec4
Medium qualifier 8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:230
float lowp_float32
Low 32 bit single-qualifier floating-point scalar.
Definition: fwd.hpp:152
vec< 2, u32, defaultp > u32vec2
Default qualifier 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:380
vec< 2, unsigned int, mediump > mediump_uvec2
2 components vector of medium qualifier unsigned integer numbers.
qua< float, defaultp > quat
Quaternion of single-precision floating-point numbers.
vec< 2, double, highp > highp_dvec2
2 components vector of high double-qualifier floating-point numbers.
vec< 4, float, mediump > mediump_fvec4
Medium Single-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:434
int32 mediump_int32
Medium qualifier 32 bit signed integer type.
Definition: fwd.hpp:65
vec< 2, i64, defaultp > i64vec2
64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:298
int16 i16
16 bit signed integer type.
Definition: fwd.hpp:48
vec< 4, double, defaultp > dvec4
4 components vector of double-precision floating-point numbers.
mat< 4, 4, f32, defaultp > fmat4x4
Single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:668
mat< 2, 2, float, mediump > mediump_mat2
2 columns of 2 components matrix of single-precision floating-point numbers using medium precision ar...
qua< f64, lowp > lowp_f64quat
Low double-qualifier floating-point quaternion.
Definition: fwd.hpp:812
mat< 2, 2, float, defaultp > mat2
2 columns of 2 components matrix of single-precision floating-point numbers.
mat< 3, 2, f32, defaultp > fmat3x2
Single-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:661
mat< 4, 3, double, defaultp > dmat4x3
4 columns of 3 components matrix of double-precision floating-point numbers.
mat< 4, 2, double, highp > highp_dmat4x2
4 columns of 2 components matrix of double-precision floating-point numbers using medium precision ar...
vec< 4, u16, defaultp > u16vec4
Default qualifier 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:362
vec< 2, u16, defaultp > u16vec2
Default qualifier 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:360
uint8 mediump_u8
Medium qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:90
mat< 2, 2, f32, lowp > lowp_fmat2x2
Low single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:630
vec< 4, i8, highp > highp_i8vec4
High qualifier 8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:235
vec< 4, u64, lowp > lowp_u64vec4
Low qualifier 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:387
vec< 2, i64, mediump > mediump_i64vec2
Medium qualifier 64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:288
mat< 4, 2, f64, highp > highp_f64mat4x2
High double-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:776
mat< 4, 4, float, highp > highp_mat4
4 columns of 4 components matrix of single-precision floating-point numbers using high precision arit...
int16 mediump_int16_t
Medium qualifier 16 bit signed integer type.
Definition: fwd.hpp:55
int8 lowp_i8
Low qualifier 8 bit signed integer type.
Definition: fwd.hpp:31
mat< 4, 2, float, highp > highp_mat4x2
4 columns of 2 components matrix of single-precision floating-point numbers using high precision arit...
vec< 3, i64, defaultp > i64vec3
64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:299
vec< 2, i32, lowp > lowp_i32vec2
Low qualifier 32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:263
qua< f64, highp > highp_f64quat
High double-qualifier floating-point quaternion.
Definition: fwd.hpp:814
mat< 3, 3, float, defaultp > mat3
3 columns of 3 components matrix of single-precision floating-point numbers.
vec< 2, f64, mediump > mediump_f64vec2
Medium double-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:492
uint16 highp_uint16_t
High qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:114
vec< 1, float, lowp > lowp_fvec1
Low single-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:426
int8 i8
8 bit signed integer type.
Definition: fwd.hpp:34
uint64 mediump_uint64_t
Medium qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:141
vec< 1, u64, mediump > mediump_u64vec1
Medium qualifier 64 bit unsigned integer scalar type.
Definition: fwd.hpp:389
mat< 2, 2, f32, mediump > mediump_f32mat2
Medium single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:544
vec< 4, int, mediump > mediump_ivec4
4 components vector of medium qualifier signed integer numbers.
mat< 2, 4, float, highp > highp_mat2x4
2 columns of 4 components matrix of single-precision floating-point numbers using high precision arit...
uint8 mediump_uint8_t
Medium qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:99
Definition: common.hpp:20
double mediump_f64
Medium 64 bit double-qualifier floating-point scalar.
Definition: fwd.hpp:164
vec< 1, float, mediump > mediump_fvec1
Medium single-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:431
uint16 mediump_uint16
Medium qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:109
vec< 4, u8, highp > highp_u8vec4
High qualifier 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:337
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00036.html ================================================ 0.9.9 API documentation: geometric.hpp File Reference
0.9.9 API documentation
geometric.hpp File Reference

Core features More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > cross (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)
 Returns the cross product of x and y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T distance (vec< L, T, Q > const &p0, vec< L, T, Q > const &p1)
 Returns the distance betwwen p0 and p1, i.e., length(p0 - p1). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T dot (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the dot product of x and y, i.e., result = x * y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > faceforward (vec< L, T, Q > const &N, vec< L, T, Q > const &I, vec< L, T, Q > const &Nref)
 If dot(Nref, I) < 0.0, return N, otherwise, return -N. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T length (vec< L, T, Q > const &x)
 Returns the length of x, i.e., sqrt(x * x). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > normalize (vec< L, T, Q > const &x)
 Returns a vector in the same direction as x but with length of 1. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > reflect (vec< L, T, Q > const &I, vec< L, T, Q > const &N)
 For the incident vector I and surface orientation N, returns the reflection direction : result = I - 2.0 * dot(N, I) * N. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > refract (vec< L, T, Q > const &I, vec< L, T, Q > const &N, T eta)
 For the incident vector I and surface normal N, and the ratio of indices of refraction eta, return the refraction vector. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00036_source.html ================================================ 0.9.9 API documentation: geometric.hpp Source File
0.9.9 API documentation
geometric.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 #include "detail/type_vec3.hpp"
16 
17 namespace glm
18 {
21 
29  template<length_t L, typename T, qualifier Q>
30  GLM_FUNC_DECL T length(vec<L, T, Q> const& x);
31 
39  template<length_t L, typename T, qualifier Q>
40  GLM_FUNC_DECL T distance(vec<L, T, Q> const& p0, vec<L, T, Q> const& p1);
41 
49  template<length_t L, typename T, qualifier Q>
50  GLM_FUNC_DECL T dot(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
51 
58  template<typename T, qualifier Q>
59  GLM_FUNC_DECL vec<3, T, Q> cross(vec<3, T, Q> const& x, vec<3, T, Q> const& y);
60 
69  template<length_t L, typename T, qualifier Q>
70  GLM_FUNC_DECL vec<L, T, Q> normalize(vec<L, T, Q> const& x);
71 
79  template<length_t L, typename T, qualifier Q>
80  GLM_FUNC_DECL vec<L, T, Q> faceforward(
81  vec<L, T, Q> const& N,
82  vec<L, T, Q> const& I,
83  vec<L, T, Q> const& Nref);
84 
93  template<length_t L, typename T, qualifier Q>
94  GLM_FUNC_DECL vec<L, T, Q> reflect(
95  vec<L, T, Q> const& I,
96  vec<L, T, Q> const& N);
97 
107  template<length_t L, typename T, qualifier Q>
108  GLM_FUNC_DECL vec<L, T, Q> refract(
109  vec<L, T, Q> const& I,
110  vec<L, T, Q> const& N,
111  T eta);
112 
114 }//namespace glm
115 
116 #include "detail/func_geometric.inl"
GLM_FUNC_DECL vec< L, T, Q > reflect(vec< L, T, Q > const &I, vec< L, T, Q > const &N)
For the incident vector I and surface orientation N, returns the reflection direction : result = I - ...
GLM_FUNC_DECL vec< L, T, Q > faceforward(vec< L, T, Q > const &N, vec< L, T, Q > const &I, vec< L, T, Q > const &Nref)
If dot(Nref, I) < 0.0, return N, otherwise, return -N.
GLM_FUNC_DECL T length(vec< L, T, Q > const &x)
Returns the length of x, i.e., sqrt(x * x).
GLM_FUNC_DECL vec< 3, T, Q > cross(vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)
Returns the cross product of x and y.
GLM_FUNC_DECL vec< L, T, Q > refract(vec< L, T, Q > const &I, vec< L, T, Q > const &N, T eta)
For the incident vector I and surface normal N, and the ratio of indices of refraction eta...
GLM_FUNC_DECL vec< L, T, Q > normalize(vec< L, T, Q > const &x)
Returns a vector in the same direction as x but with length of 1.
Core features
GLM_FUNC_DECL T distance(vec< L, T, Q > const &p0, vec< L, T, Q > const &p1)
Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).
GLM_FUNC_DECL T dot(vec< L, T, Q > const &x, vec< L, T, Q > const &y)
Returns the dot product of x and y, i.e., result = x * y.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00037.html ================================================ 0.9.9 API documentation: glm.hpp File Reference
0.9.9 API documentation
glm.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00037_source.html ================================================ 0.9.9 API documentation: glm.hpp Source File
0.9.9 API documentation
glm.hpp
Go to the documentation of this file.
1 
103 #include "detail/_fixes.hpp"
104 
105 #include "detail/setup.hpp"
106 
107 #pragma once
108 
109 #include <cmath>
110 #include <climits>
111 #include <cfloat>
112 #include <limits>
113 #include <cassert>
114 #include "fwd.hpp"
115 
116 #include "vec2.hpp"
117 #include "vec3.hpp"
118 #include "vec4.hpp"
119 #include "mat2x2.hpp"
120 #include "mat2x3.hpp"
121 #include "mat2x4.hpp"
122 #include "mat3x2.hpp"
123 #include "mat3x3.hpp"
124 #include "mat3x4.hpp"
125 #include "mat4x2.hpp"
126 #include "mat4x3.hpp"
127 #include "mat4x4.hpp"
128 
129 #include "trigonometric.hpp"
130 #include "exponential.hpp"
131 #include "common.hpp"
132 #include "packing.hpp"
133 #include "geometric.hpp"
134 #include "matrix.hpp"
135 #include "vector_relational.hpp"
136 #include "integer.hpp"
Core features
Core features
Core features
Core features
Core features
Core features
Core features
Core features
Core features
Core features
Core features
Core features
Core features
Core features
Core features
Core features
Core features
Core features
Core features
Core features
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00038.html ================================================ 0.9.9 API documentation: gradient_paint.hpp File Reference
0.9.9 API documentation
gradient_paint.hpp File Reference

GLM_GTX_gradient_paint More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL T linearGradient (vec< 2, T, Q > const &Point0, vec< 2, T, Q > const &Point1, vec< 2, T, Q > const &Position)
 Return a color from a linear gradient. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T radialGradient (vec< 2, T, Q > const &Center, T const &Radius, vec< 2, T, Q > const &Focal, vec< 2, T, Q > const &Position)
 Return a color from a radial gradient. More...
 

Detailed Description

GLM_GTX_gradient_paint

See also
Core features (dependence)
GLM_GTX_optimum_pow (dependence)

Definition in file gradient_paint.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00038_source.html ================================================ 0.9.9 API documentation: gradient_paint.hpp Source File
0.9.9 API documentation
gradient_paint.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependency:
17 #include "../glm.hpp"
18 #include "../gtx/optimum_pow.hpp"
19 
20 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
21 # ifndef GLM_ENABLE_EXPERIMENTAL
22 # pragma message("GLM: GLM_GTX_gradient_paint is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
23 # else
24 # pragma message("GLM: GLM_GTX_gradient_paint extension included")
25 # endif
26 #endif
27 
28 namespace glm
29 {
32 
35  template<typename T, qualifier Q>
36  GLM_FUNC_DECL T radialGradient(
37  vec<2, T, Q> const& Center,
38  T const& Radius,
39  vec<2, T, Q> const& Focal,
40  vec<2, T, Q> const& Position);
41 
44  template<typename T, qualifier Q>
45  GLM_FUNC_DECL T linearGradient(
46  vec<2, T, Q> const& Point0,
47  vec<2, T, Q> const& Point1,
48  vec<2, T, Q> const& Position);
49 
51 }// namespace glm
52 
53 #include "gradient_paint.inl"
GLM_FUNC_DECL T radialGradient(vec< 2, T, Q > const &Center, T const &Radius, vec< 2, T, Q > const &Focal, vec< 2, T, Q > const &Position)
Return a color from a radial gradient.
GLM_FUNC_DECL T linearGradient(vec< 2, T, Q > const &Point0, vec< 2, T, Q > const &Point1, vec< 2, T, Q > const &Position)
Return a color from a linear gradient.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00039.html ================================================ 0.9.9 API documentation: handed_coordinate_space.hpp File Reference
0.9.9 API documentation
handed_coordinate_space.hpp File Reference

GLM_GTX_handed_coordinate_space More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL bool leftHanded (vec< 3, T, Q > const &tangent, vec< 3, T, Q > const &binormal, vec< 3, T, Q > const &normal)
 Return if a trihedron left handed or not. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool rightHanded (vec< 3, T, Q > const &tangent, vec< 3, T, Q > const &binormal, vec< 3, T, Q > const &normal)
 Return if a trihedron right handed or not. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00039_source.html ================================================ 0.9.9 API documentation: handed_coordinate_space.hpp Source File
0.9.9 API documentation
handed_coordinate_space.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependency:
16 #include "../glm.hpp"
17 
18 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
19 # ifndef GLM_ENABLE_EXPERIMENTAL
20 # pragma message("GLM: GLM_GTX_handed_coordinate_space is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
21 # else
22 # pragma message("GLM: GLM_GTX_handed_coordinate_space extension included")
23 # endif
24 #endif
25 
26 namespace glm
27 {
30 
33  template<typename T, qualifier Q>
34  GLM_FUNC_DECL bool rightHanded(
35  vec<3, T, Q> const& tangent,
36  vec<3, T, Q> const& binormal,
37  vec<3, T, Q> const& normal);
38 
41  template<typename T, qualifier Q>
42  GLM_FUNC_DECL bool leftHanded(
43  vec<3, T, Q> const& tangent,
44  vec<3, T, Q> const& binormal,
45  vec<3, T, Q> const& normal);
46 
48 }// namespace glm
49 
50 #include "handed_coordinate_space.inl"
GLM_FUNC_DECL bool leftHanded(vec< 3, T, Q > const &tangent, vec< 3, T, Q > const &binormal, vec< 3, T, Q > const &normal)
Return if a trihedron left handed or not.
GLM_FUNC_DECL bool rightHanded(vec< 3, T, Q > const &tangent, vec< 3, T, Q > const &binormal, vec< 3, T, Q > const &normal)
Return if a trihedron right handed or not.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00040.html ================================================ 0.9.9 API documentation: hash.hpp File Reference
0.9.9 API documentation
hash.hpp File Reference

GLM_GTX_hash More...

Go to the source code of this file.

Detailed Description

GLM_GTX_hash

See also
Core features (dependence)

Definition in file hash.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00040_source.html ================================================ 0.9.9 API documentation: hash.hpp Source File
0.9.9 API documentation
hash.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
16 # ifndef GLM_ENABLE_EXPERIMENTAL
17 # pragma message("GLM: GLM_GTX_hash is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
18 # else
19 # pragma message("GLM: GLM_GTX_hash extension included")
20 # endif
21 #endif
22 
23 #include <functional>
24 
25 #include "../vec2.hpp"
26 #include "../vec3.hpp"
27 #include "../vec4.hpp"
28 #include "../gtc/vec1.hpp"
29 
30 #include "../gtc/quaternion.hpp"
31 #include "../gtx/dual_quaternion.hpp"
32 
33 #include "../mat2x2.hpp"
34 #include "../mat2x3.hpp"
35 #include "../mat2x4.hpp"
36 
37 #include "../mat3x2.hpp"
38 #include "../mat3x3.hpp"
39 #include "../mat3x4.hpp"
40 
41 #include "../mat4x2.hpp"
42 #include "../mat4x3.hpp"
43 #include "../mat4x4.hpp"
44 
45 #if !GLM_HAS_CXX11_STL
46 # error "GLM_GTX_hash requires C++11 standard library support"
47 #endif
48 
49 namespace std
50 {
51  template<typename T, glm::qualifier Q>
52  struct hash<glm::vec<1, T,Q> >
53  {
54  GLM_FUNC_DECL size_t operator()(glm::vec<1, T, Q> const& v) const;
55  };
56 
57  template<typename T, glm::qualifier Q>
58  struct hash<glm::vec<2, T,Q> >
59  {
60  GLM_FUNC_DECL size_t operator()(glm::vec<2, T, Q> const& v) const;
61  };
62 
63  template<typename T, glm::qualifier Q>
64  struct hash<glm::vec<3, T,Q> >
65  {
66  GLM_FUNC_DECL size_t operator()(glm::vec<3, T, Q> const& v) const;
67  };
68 
69  template<typename T, glm::qualifier Q>
70  struct hash<glm::vec<4, T,Q> >
71  {
72  GLM_FUNC_DECL size_t operator()(glm::vec<4, T, Q> const& v) const;
73  };
74 
75  template<typename T, glm::qualifier Q>
76  struct hash<glm::qua<T,Q>>
77  {
78  GLM_FUNC_DECL size_t operator()(glm::qua<T, Q> const& q) const;
79  };
80 
81  template<typename T, glm::qualifier Q>
82  struct hash<glm::tdualquat<T,Q> >
83  {
84  GLM_FUNC_DECL size_t operator()(glm::tdualquat<T,Q> const& q) const;
85  };
86 
87  template<typename T, glm::qualifier Q>
88  struct hash<glm::mat<2, 2, T,Q> >
89  {
90  GLM_FUNC_DECL size_t operator()(glm::mat<2, 2, T,Q> const& m) const;
91  };
92 
93  template<typename T, glm::qualifier Q>
94  struct hash<glm::mat<2, 3, T,Q> >
95  {
96  GLM_FUNC_DECL size_t operator()(glm::mat<2, 3, T,Q> const& m) const;
97  };
98 
99  template<typename T, glm::qualifier Q>
100  struct hash<glm::mat<2, 4, T,Q> >
101  {
102  GLM_FUNC_DECL size_t operator()(glm::mat<2, 4, T,Q> const& m) const;
103  };
104 
105  template<typename T, glm::qualifier Q>
106  struct hash<glm::mat<3, 2, T,Q> >
107  {
108  GLM_FUNC_DECL size_t operator()(glm::mat<3, 2, T,Q> const& m) const;
109  };
110 
111  template<typename T, glm::qualifier Q>
112  struct hash<glm::mat<3, 3, T,Q> >
113  {
114  GLM_FUNC_DECL size_t operator()(glm::mat<3, 3, T,Q> const& m) const;
115  };
116 
117  template<typename T, glm::qualifier Q>
118  struct hash<glm::mat<3, 4, T,Q> >
119  {
120  GLM_FUNC_DECL size_t operator()(glm::mat<3, 4, T,Q> const& m) const;
121  };
122 
123  template<typename T, glm::qualifier Q>
124  struct hash<glm::mat<4, 2, T,Q> >
125  {
126  GLM_FUNC_DECL size_t operator()(glm::mat<4, 2, T,Q> const& m) const;
127  };
128 
129  template<typename T, glm::qualifier Q>
130  struct hash<glm::mat<4, 3, T,Q> >
131  {
132  GLM_FUNC_DECL size_t operator()(glm::mat<4, 3, T,Q> const& m) const;
133  };
134 
135  template<typename T, glm::qualifier Q>
136  struct hash<glm::mat<4, 4, T,Q> >
137  {
138  GLM_FUNC_DECL size_t operator()(glm::mat<4, 4, T,Q> const& m) const;
139  };
140 } // namespace std
141 
142 #include "hash.inl"
Definition: hash.hpp:49
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00041.html ================================================ 0.9.9 API documentation: integer.hpp File Reference
0.9.9 API documentation
gtc/integer.hpp File Reference

GLM_GTC_integer More...

Go to the source code of this file.

Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > iround (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer to x. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType log2 (genIUType x)
 Returns the log2 of x for integer values. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, uint, Q > uround (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer to x. More...
 

Detailed Description

GLM_GTC_integer

See also
Core features (dependence)
GLM_GTC_integer (dependence)

Definition in file gtc/integer.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00041_source.html ================================================ 0.9.9 API documentation: integer.hpp Source File
0.9.9 API documentation
gtc/integer.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependencies
17 #include "../detail/setup.hpp"
18 #include "../detail/qualifier.hpp"
19 #include "../common.hpp"
20 #include "../integer.hpp"
21 #include "../exponential.hpp"
22 #include <limits>
23 
24 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
25 # pragma message("GLM: GLM_GTC_integer extension included")
26 #endif
27 
28 namespace glm
29 {
32 
35  template<typename genIUType>
36  GLM_FUNC_DECL genIUType log2(genIUType x);
37 
47  template<length_t L, typename T, qualifier Q>
48  GLM_FUNC_DECL vec<L, int, Q> iround(vec<L, T, Q> const& x);
49 
59  template<length_t L, typename T, qualifier Q>
60  GLM_FUNC_DECL vec<L, uint, Q> uround(vec<L, T, Q> const& x);
61 
63 } //namespace glm
64 
65 #include "integer.inl"
GLM_FUNC_DECL vec< L, uint, Q > uround(vec< L, T, Q > const &x)
Returns a value equal to the nearest integer to x.
GLM_FUNC_DECL genIUType log2(genIUType x)
Returns the log2 of x for integer values.
GLM_FUNC_DECL vec< L, int, Q > iround(vec< L, T, Q > const &x)
Returns a value equal to the nearest integer to x.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00042.html ================================================ 0.9.9 API documentation: integer.hpp File Reference
0.9.9 API documentation
gtx/integer.hpp File Reference

GLM_GTX_integer More...

Go to the source code of this file.

Typedefs

typedef signed int sint
 32bit signed integer. More...
 

Functions

template<typename genType >
GLM_FUNC_DECL genType factorial (genType const &x)
 Return the factorial value of a number (!12 max, integer only) From GLM_GTX_integer extension. More...
 
GLM_FUNC_DECL unsigned int floor_log2 (unsigned int x)
 Returns the floor log2 of x. More...
 
GLM_FUNC_DECL int mod (int x, int y)
 Modulus. More...
 
GLM_FUNC_DECL uint mod (uint x, uint y)
 Modulus. More...
 
GLM_FUNC_DECL uint nlz (uint x)
 Returns the number of leading zeros. More...
 
GLM_FUNC_DECL int pow (int x, uint y)
 Returns x raised to the y power. More...
 
GLM_FUNC_DECL uint pow (uint x, uint y)
 Returns x raised to the y power. More...
 
GLM_FUNC_DECL int sqrt (int x)
 Returns the positive square root of x. More...
 
GLM_FUNC_DECL uint sqrt (uint x)
 Returns the positive square root of x. More...
 

Detailed Description

GLM_GTX_integer

See also
Core features (dependence)

Definition in file gtx/integer.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00042_source.html ================================================ 0.9.9 API documentation: integer.hpp Source File
0.9.9 API documentation
gtx/integer.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependency:
16 #include "../glm.hpp"
17 #include "../gtc/integer.hpp"
18 
19 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
20 # ifndef GLM_ENABLE_EXPERIMENTAL
21 # pragma message("GLM: GLM_GTX_integer is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
22 # else
23 # pragma message("GLM: GLM_GTX_integer extension included")
24 # endif
25 #endif
26 
27 namespace glm
28 {
31 
34  GLM_FUNC_DECL int pow(int x, uint y);
35 
38  GLM_FUNC_DECL int sqrt(int x);
39 
42  GLM_FUNC_DECL unsigned int floor_log2(unsigned int x);
43 
46  GLM_FUNC_DECL int mod(int x, int y);
47 
50  template<typename genType>
51  GLM_FUNC_DECL genType factorial(genType const& x);
52 
55  typedef signed int sint;
56 
59  GLM_FUNC_DECL uint pow(uint x, uint y);
60 
63  GLM_FUNC_DECL uint sqrt(uint x);
64 
67  GLM_FUNC_DECL uint mod(uint x, uint y);
68 
71  GLM_FUNC_DECL uint nlz(uint x);
72 
74 }//namespace glm
75 
76 #include "integer.inl"
GLM_FUNC_DECL uint nlz(uint x)
Returns the number of leading zeros.
GLM_FUNC_DECL uint mod(uint x, uint y)
Modulus.
GLM_FUNC_DECL unsigned int floor_log2(unsigned int x)
Returns the floor log2 of x.
signed int sint
32bit signed integer.
Definition: gtx/integer.hpp:55
GLM_FUNC_DECL genType factorial(genType const &x)
Return the factorial value of a number (!12 max, integer only) From GLM_GTX_integer extension...
GLM_FUNC_DECL uint pow(uint x, uint y)
Returns x raised to the y power.
GLM_FUNC_DECL uint sqrt(uint x)
Returns the positive square root of x.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00043.html ================================================ 0.9.9 API documentation: integer.hpp File Reference
0.9.9 API documentation
integer.hpp File Reference

Core features More...

Go to the source code of this file.

Functions

template<typename genType >
GLM_FUNC_DECL int bitCount (genType v)
 Returns the number of bits set to 1 in the binary representation of value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > bitCount (vec< L, T, Q > const &v)
 Returns the number of bits set to 1 in the binary representation of value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > bitfieldExtract (vec< L, T, Q > const &Value, int Offset, int Bits)
 Extracts bits [offset, offset + bits - 1] from value, returning them in the least significant bits of the result. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > bitfieldInsert (vec< L, T, Q > const &Base, vec< L, T, Q > const &Insert, int Offset, int Bits)
 Returns the insertion the bits least-significant bits of insert into base. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > bitfieldReverse (vec< L, T, Q > const &v)
 Returns the reversal of the bits of value. More...
 
template<typename genIUType >
GLM_FUNC_DECL int findLSB (genIUType x)
 Returns the bit number of the least significant bit set to 1 in the binary representation of value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > findLSB (vec< L, T, Q > const &v)
 Returns the bit number of the least significant bit set to 1 in the binary representation of value. More...
 
template<typename genIUType >
GLM_FUNC_DECL int findMSB (genIUType x)
 Returns the bit number of the most significant bit in the binary representation of value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > findMSB (vec< L, T, Q > const &v)
 Returns the bit number of the most significant bit in the binary representation of value. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL void imulExtended (vec< L, int, Q > const &x, vec< L, int, Q > const &y, vec< L, int, Q > &msb, vec< L, int, Q > &lsb)
 Multiplies 32-bit integers x and y, producing a 64-bit result. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, uint, Q > uaddCarry (vec< L, uint, Q > const &x, vec< L, uint, Q > const &y, vec< L, uint, Q > &carry)
 Adds 32-bit unsigned integer x and y, returning the sum modulo pow(2, 32). More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL void umulExtended (vec< L, uint, Q > const &x, vec< L, uint, Q > const &y, vec< L, uint, Q > &msb, vec< L, uint, Q > &lsb)
 Multiplies 32-bit integers x and y, producing a 64-bit result. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, uint, Q > usubBorrow (vec< L, uint, Q > const &x, vec< L, uint, Q > const &y, vec< L, uint, Q > &borrow)
 Subtracts the 32-bit unsigned integer y from x, returning the difference if non-negative, or pow(2, 32) plus the difference otherwise. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00043_source.html ================================================ 0.9.9 API documentation: integer.hpp Source File
0.9.9 API documentation
integer.hpp
Go to the documentation of this file.
1 
17 #pragma once
18 
19 #include "detail/qualifier.hpp"
20 #include "common.hpp"
21 #include "vector_relational.hpp"
22 
23 namespace glm
24 {
27 
36  template<length_t L, qualifier Q>
37  GLM_FUNC_DECL vec<L, uint, Q> uaddCarry(
38  vec<L, uint, Q> const& x,
39  vec<L, uint, Q> const& y,
40  vec<L, uint, Q> & carry);
41 
50  template<length_t L, qualifier Q>
51  GLM_FUNC_DECL vec<L, uint, Q> usubBorrow(
52  vec<L, uint, Q> const& x,
53  vec<L, uint, Q> const& y,
54  vec<L, uint, Q> & borrow);
55 
64  template<length_t L, qualifier Q>
65  GLM_FUNC_DECL void umulExtended(
66  vec<L, uint, Q> const& x,
67  vec<L, uint, Q> const& y,
68  vec<L, uint, Q> & msb,
69  vec<L, uint, Q> & lsb);
70 
79  template<length_t L, qualifier Q>
80  GLM_FUNC_DECL void imulExtended(
81  vec<L, int, Q> const& x,
82  vec<L, int, Q> const& y,
83  vec<L, int, Q> & msb,
84  vec<L, int, Q> & lsb);
85 
102  template<length_t L, typename T, qualifier Q>
103  GLM_FUNC_DECL vec<L, T, Q> bitfieldExtract(
104  vec<L, T, Q> const& Value,
105  int Offset,
106  int Bits);
107 
123  template<length_t L, typename T, qualifier Q>
124  GLM_FUNC_DECL vec<L, T, Q> bitfieldInsert(
125  vec<L, T, Q> const& Base,
126  vec<L, T, Q> const& Insert,
127  int Offset,
128  int Bits);
129 
139  template<length_t L, typename T, qualifier Q>
140  GLM_FUNC_DECL vec<L, T, Q> bitfieldReverse(vec<L, T, Q> const& v);
141 
148  template<typename genType>
149  GLM_FUNC_DECL int bitCount(genType v);
150 
158  template<length_t L, typename T, qualifier Q>
159  GLM_FUNC_DECL vec<L, int, Q> bitCount(vec<L, T, Q> const& v);
160 
169  template<typename genIUType>
170  GLM_FUNC_DECL int findLSB(genIUType x);
171 
181  template<length_t L, typename T, qualifier Q>
182  GLM_FUNC_DECL vec<L, int, Q> findLSB(vec<L, T, Q> const& v);
183 
193  template<typename genIUType>
194  GLM_FUNC_DECL int findMSB(genIUType x);
195 
206  template<length_t L, typename T, qualifier Q>
207  GLM_FUNC_DECL vec<L, int, Q> findMSB(vec<L, T, Q> const& v);
208 
210 }//namespace glm
211 
212 #include "detail/func_integer.inl"
Core features
GLM_FUNC_DECL vec< L, int, Q > findMSB(vec< L, T, Q > const &v)
Returns the bit number of the most significant bit in the binary representation of value...
GLM_FUNC_DECL void umulExtended(vec< L, uint, Q > const &x, vec< L, uint, Q > const &y, vec< L, uint, Q > &msb, vec< L, uint, Q > &lsb)
Multiplies 32-bit integers x and y, producing a 64-bit result.
GLM_FUNC_DECL void imulExtended(vec< L, int, Q > const &x, vec< L, int, Q > const &y, vec< L, int, Q > &msb, vec< L, int, Q > &lsb)
Multiplies 32-bit integers x and y, producing a 64-bit result.
GLM_FUNC_DECL vec< L, int, Q > bitCount(vec< L, T, Q > const &v)
Returns the number of bits set to 1 in the binary representation of value.
GLM_FUNC_DECL vec< L, uint, Q > uaddCarry(vec< L, uint, Q > const &x, vec< L, uint, Q > const &y, vec< L, uint, Q > &carry)
Adds 32-bit unsigned integer x and y, returning the sum modulo pow(2, 32).
GLM_FUNC_DECL vec< L, T, Q > bitfieldExtract(vec< L, T, Q > const &Value, int Offset, int Bits)
Extracts bits [offset, offset + bits - 1] from value, returning them in the least significant bits of...
GLM_FUNC_DECL vec< L, T, Q > bitfieldInsert(vec< L, T, Q > const &Base, vec< L, T, Q > const &Insert, int Offset, int Bits)
Returns the insertion the bits least-significant bits of insert into base.
Core features
GLM_FUNC_DECL vec< L, T, Q > bitfieldReverse(vec< L, T, Q > const &v)
Returns the reversal of the bits of value.
GLM_FUNC_DECL vec< L, uint, Q > usubBorrow(vec< L, uint, Q > const &x, vec< L, uint, Q > const &y, vec< L, uint, Q > &borrow)
Subtracts the 32-bit unsigned integer y from x, returning the difference if non-negative, or pow(2, 32) plus the difference otherwise.
GLM_FUNC_DECL vec< L, int, Q > findLSB(vec< L, T, Q > const &v)
Returns the bit number of the least significant bit set to 1 in the binary representation of value...
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00044.html ================================================ 0.9.9 API documentation: intersect.hpp File Reference
0.9.9 API documentation
intersect.hpp File Reference

GLM_GTX_intersect More...

Go to the source code of this file.

Functions

template<typename genType >
GLM_FUNC_DECL bool intersectLineSphere (genType const &point0, genType const &point1, genType const &sphereCenter, typename genType::value_type sphereRadius, genType &intersectionPosition1, genType &intersectionNormal1, genType &intersectionPosition2=genType(), genType &intersectionNormal2=genType())
 Compute the intersection of a line and a sphere. More...
 
template<typename genType >
GLM_FUNC_DECL bool intersectLineTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &position)
 Compute the intersection of a line and a triangle. More...
 
template<typename genType >
GLM_FUNC_DECL bool intersectRayPlane (genType const &orig, genType const &dir, genType const &planeOrig, genType const &planeNormal, typename genType::value_type &intersectionDistance)
 Compute the intersection of a ray and a plane. More...
 
template<typename genType >
GLM_FUNC_DECL bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, typename genType::value_type const sphereRadiusSquared, typename genType::value_type &intersectionDistance)
 Compute the intersection distance of a ray and a sphere. More...
 
template<typename genType >
GLM_FUNC_DECL bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, const typename genType::value_type sphereRadius, genType &intersectionPosition, genType &intersectionNormal)
 Compute the intersection of a ray and a sphere. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool intersectRayTriangle (vec< 3, T, Q > const &orig, vec< 3, T, Q > const &dir, vec< 3, T, Q > const &v0, vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2, vec< 2, T, Q > &baryPosition, T &distance)
 Compute the intersection of a ray and a triangle. More...
 

Detailed Description

GLM_GTX_intersect

See also
Core features (dependence)
GLM_GTX_closest_point (dependence)

Definition in file intersect.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00044_source.html ================================================ 0.9.9 API documentation: intersect.hpp Source File
0.9.9 API documentation
intersect.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependency:
17 #include <cfloat>
18 #include <limits>
19 #include "../glm.hpp"
20 #include "../geometric.hpp"
21 #include "../gtx/closest_point.hpp"
22 #include "../gtx/vector_query.hpp"
23 
24 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
25 # ifndef GLM_ENABLE_EXPERIMENTAL
26 # pragma message("GLM: GLM_GTX_closest_point is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
27 # else
28 # pragma message("GLM: GLM_GTX_closest_point extension included")
29 # endif
30 #endif
31 
32 namespace glm
33 {
36 
40  template<typename genType>
41  GLM_FUNC_DECL bool intersectRayPlane(
42  genType const& orig, genType const& dir,
43  genType const& planeOrig, genType const& planeNormal,
44  typename genType::value_type & intersectionDistance);
45 
49  template<typename T, qualifier Q>
50  GLM_FUNC_DECL bool intersectRayTriangle(
51  vec<3, T, Q> const& orig, vec<3, T, Q> const& dir,
52  vec<3, T, Q> const& v0, vec<3, T, Q> const& v1, vec<3, T, Q> const& v2,
53  vec<2, T, Q>& baryPosition, T& distance);
54 
57  template<typename genType>
58  GLM_FUNC_DECL bool intersectLineTriangle(
59  genType const& orig, genType const& dir,
60  genType const& vert0, genType const& vert1, genType const& vert2,
61  genType & position);
62 
66  template<typename genType>
67  GLM_FUNC_DECL bool intersectRaySphere(
68  genType const& rayStarting, genType const& rayNormalizedDirection,
69  genType const& sphereCenter, typename genType::value_type const sphereRadiusSquared,
70  typename genType::value_type & intersectionDistance);
71 
74  template<typename genType>
75  GLM_FUNC_DECL bool intersectRaySphere(
76  genType const& rayStarting, genType const& rayNormalizedDirection,
77  genType const& sphereCenter, const typename genType::value_type sphereRadius,
78  genType & intersectionPosition, genType & intersectionNormal);
79 
82  template<typename genType>
83  GLM_FUNC_DECL bool intersectLineSphere(
84  genType const& point0, genType const& point1,
85  genType const& sphereCenter, typename genType::value_type sphereRadius,
86  genType & intersectionPosition1, genType & intersectionNormal1,
87  genType & intersectionPosition2 = genType(), genType & intersectionNormal2 = genType());
88 
90 }//namespace glm
91 
92 #include "intersect.inl"
GLM_FUNC_DECL bool intersectRayTriangle(vec< 3, T, Q > const &orig, vec< 3, T, Q > const &dir, vec< 3, T, Q > const &v0, vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2, vec< 2, T, Q > &baryPosition, T &distance)
Compute the intersection of a ray and a triangle.
GLM_FUNC_DECL bool intersectRaySphere(genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, const typename genType::value_type sphereRadius, genType &intersectionPosition, genType &intersectionNormal)
Compute the intersection of a ray and a sphere.
GLM_FUNC_DECL bool intersectRayPlane(genType const &orig, genType const &dir, genType const &planeOrig, genType const &planeNormal, typename genType::value_type &intersectionDistance)
Compute the intersection of a ray and a plane.
GLM_FUNC_DECL bool intersectLineTriangle(genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &position)
Compute the intersection of a line and a triangle.
GLM_FUNC_DECL bool intersectLineSphere(genType const &point0, genType const &point1, genType const &sphereCenter, typename genType::value_type sphereRadius, genType &intersectionPosition1, genType &intersectionNormal1, genType &intersectionPosition2=genType(), genType &intersectionNormal2=genType())
Compute the intersection of a line and a sphere.
GLM_FUNC_DECL T distance(vec< L, T, Q > const &p0, vec< L, T, Q > const &p1)
Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00045.html ================================================ 0.9.9 API documentation: io.hpp File Reference
0.9.9 API documentation
io.hpp File Reference

GLM_GTX_io More...

Go to the source code of this file.

Detailed Description

GLM_GTX_io

Author
Jan P Springer (regni.nosp@m.rpsj.nosp@m.@gmai.nosp@m.l.co.nosp@m.m)
See also
Core features (dependence)
GLM_GTC_matrix_access (dependence)
GLM_GTC_quaternion (dependence)

Definition in file io.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00045_source.html ================================================ 0.9.9 API documentation: io.hpp Source File
0.9.9 API documentation
io.hpp
Go to the documentation of this file.
1 
20 #pragma once
21 
22 // Dependency:
23 #include "../glm.hpp"
24 #include "../gtx/quaternion.hpp"
25 
26 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
27 # ifndef GLM_ENABLE_EXPERIMENTAL
28 # pragma message("GLM: GLM_GTX_io is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
29 # else
30 # pragma message("GLM: GLM_GTX_io extension included")
31 # endif
32 #endif
33 
34 #include <iosfwd> // std::basic_ostream<> (fwd)
35 #include <locale> // std::locale, std::locale::facet, std::locale::id
36 #include <utility> // std::pair<>
37 
38 namespace glm
39 {
42 
43  namespace io
44  {
45  enum order_type { column_major, row_major};
46 
47  template<typename CTy>
48  class format_punct : public std::locale::facet
49  {
50  typedef CTy char_type;
51 
52  public:
53 
54  static std::locale::id id;
55 
56  bool formatted;
57  unsigned precision;
58  unsigned width;
59  char_type separator;
60  char_type delim_left;
61  char_type delim_right;
62  char_type space;
63  char_type newline;
64  order_type order;
65 
66  GLM_FUNC_DECL explicit format_punct(size_t a = 0);
67  GLM_FUNC_DECL explicit format_punct(format_punct const&);
68  };
69 
70  template<typename CTy, typename CTr = std::char_traits<CTy> >
71  class basic_state_saver {
72 
73  public:
74 
75  GLM_FUNC_DECL explicit basic_state_saver(std::basic_ios<CTy,CTr>&);
76  GLM_FUNC_DECL ~basic_state_saver();
77 
78  private:
79 
80  typedef ::std::basic_ios<CTy,CTr> state_type;
81  typedef typename state_type::char_type char_type;
82  typedef ::std::ios_base::fmtflags flags_type;
83  typedef ::std::streamsize streamsize_type;
84  typedef ::std::locale const locale_type;
85 
86  state_type& state_;
87  flags_type flags_;
88  streamsize_type precision_;
89  streamsize_type width_;
90  char_type fill_;
91  locale_type locale_;
92 
93  GLM_FUNC_DECL basic_state_saver& operator=(basic_state_saver const&);
94  };
95 
96  typedef basic_state_saver<char> state_saver;
97  typedef basic_state_saver<wchar_t> wstate_saver;
98 
99  template<typename CTy, typename CTr = std::char_traits<CTy> >
100  class basic_format_saver
101  {
102  public:
103 
104  GLM_FUNC_DECL explicit basic_format_saver(std::basic_ios<CTy,CTr>&);
105  GLM_FUNC_DECL ~basic_format_saver();
106 
107  private:
108 
109  basic_state_saver<CTy> const bss_;
110 
111  GLM_FUNC_DECL basic_format_saver& operator=(basic_format_saver const&);
112  };
113 
114  typedef basic_format_saver<char> format_saver;
115  typedef basic_format_saver<wchar_t> wformat_saver;
116 
117  struct precision
118  {
119  unsigned value;
120 
121  GLM_FUNC_DECL explicit precision(unsigned);
122  };
123 
124  struct width
125  {
126  unsigned value;
127 
128  GLM_FUNC_DECL explicit width(unsigned);
129  };
130 
131  template<typename CTy>
132  struct delimeter
133  {
134  CTy value[3];
135 
136  GLM_FUNC_DECL explicit delimeter(CTy /* left */, CTy /* right */, CTy /* separator */ = ',');
137  };
138 
139  struct order
140  {
141  order_type value;
142 
143  GLM_FUNC_DECL explicit order(order_type);
144  };
145 
146  // functions, inlined (inline)
147 
148  template<typename FTy, typename CTy, typename CTr>
149  FTy const& get_facet(std::basic_ios<CTy,CTr>&);
150  template<typename FTy, typename CTy, typename CTr>
151  std::basic_ios<CTy,CTr>& formatted(std::basic_ios<CTy,CTr>&);
152  template<typename FTy, typename CTy, typename CTr>
153  std::basic_ios<CTy,CTr>& unformattet(std::basic_ios<CTy,CTr>&);
154 
155  template<typename CTy, typename CTr>
156  std::basic_ostream<CTy, CTr>& operator<<(std::basic_ostream<CTy, CTr>&, precision const&);
157  template<typename CTy, typename CTr>
158  std::basic_ostream<CTy, CTr>& operator<<(std::basic_ostream<CTy, CTr>&, width const&);
159  template<typename CTy, typename CTr>
160  std::basic_ostream<CTy, CTr>& operator<<(std::basic_ostream<CTy, CTr>&, delimeter<CTy> const&);
161  template<typename CTy, typename CTr>
162  std::basic_ostream<CTy, CTr>& operator<<(std::basic_ostream<CTy, CTr>&, order const&);
163  }//namespace io
164 
165  template<typename CTy, typename CTr, typename T, qualifier Q>
166  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, qua<T, Q> const&);
167  template<typename CTy, typename CTr, typename T, qualifier Q>
168  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, vec<1, T, Q> const&);
169  template<typename CTy, typename CTr, typename T, qualifier Q>
170  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, vec<2, T, Q> const&);
171  template<typename CTy, typename CTr, typename T, qualifier Q>
172  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, vec<3, T, Q> const&);
173  template<typename CTy, typename CTr, typename T, qualifier Q>
174  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, vec<4, T, Q> const&);
175  template<typename CTy, typename CTr, typename T, qualifier Q>
176  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, mat<2, 2, T, Q> const&);
177  template<typename CTy, typename CTr, typename T, qualifier Q>
178  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, mat<2, 3, T, Q> const&);
179  template<typename CTy, typename CTr, typename T, qualifier Q>
180  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, mat<2, 4, T, Q> const&);
181  template<typename CTy, typename CTr, typename T, qualifier Q>
182  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, mat<3, 2, T, Q> const&);
183  template<typename CTy, typename CTr, typename T, qualifier Q>
184  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, mat<3, 3, T, Q> const&);
185  template<typename CTy, typename CTr, typename T, qualifier Q>
186  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, mat<3, 4, T, Q> const&);
187  template<typename CTy, typename CTr, typename T, qualifier Q>
188  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, mat<4, 2, T, Q> const&);
189  template<typename CTy, typename CTr, typename T, qualifier Q>
190  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, mat<4, 3, T, Q> const&);
191  template<typename CTy, typename CTr, typename T, qualifier Q>
192  GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, mat<4, 4, T, Q> const&);
193 
194  template<typename CTy, typename CTr, typename T, qualifier Q>
195  GLM_FUNC_DECL std::basic_ostream<CTy,CTr> & operator<<(std::basic_ostream<CTy,CTr> &,
196  std::pair<mat<4, 4, T, Q> const, mat<4, 4, T, Q> const> const&);
197 
199 }//namespace glm
200 
201 #include "io.inl"
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00046.html ================================================ 0.9.9 API documentation: log_base.hpp File Reference
0.9.9 API documentation
log_base.hpp File Reference

GLM_GTX_log_base More...

Go to the source code of this file.

Functions

template<typename genType >
GLM_FUNC_DECL genType log (genType const &x, genType const &base)
 Logarithm for any base. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > sign (vec< L, T, Q > const &x, vec< L, T, Q > const &base)
 Logarithm for any base. More...
 

Detailed Description

GLM_GTX_log_base

See also
Core features (dependence)

Definition in file log_base.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00046_source.html ================================================ 0.9.9 API documentation: log_base.hpp Source File
0.9.9 API documentation
log_base.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependency:
16 #include "../glm.hpp"
17 
18 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
19 # ifndef GLM_ENABLE_EXPERIMENTAL
20 # pragma message("GLM: GLM_GTX_log_base is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
21 # else
22 # pragma message("GLM: GLM_GTX_log_base extension included")
23 # endif
24 #endif
25 
26 namespace glm
27 {
30 
33  template<typename genType>
34  GLM_FUNC_DECL genType log(
35  genType const& x,
36  genType const& base);
37 
40  template<length_t L, typename T, qualifier Q>
41  GLM_FUNC_DECL vec<L, T, Q> sign(
42  vec<L, T, Q> const& x,
43  vec<L, T, Q> const& base);
44 
46 }//namespace glm
47 
48 #include "log_base.inl"
GLM_FUNC_DECL vec< L, T, Q > sign(vec< L, T, Q > const &x, vec< L, T, Q > const &base)
Logarithm for any base.
GLM_FUNC_DECL genType log(genType const &x, genType const &base)
Logarithm for any base.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00047_source.html ================================================ 0.9.9 API documentation: man.doxy Source File
0.9.9 API documentation
man.doxy
1 # Doxyfile 1.8.10
2 
3 # This file describes the settings to be used by the documentation system
4 # doxygen (www.doxygen.org) for a project.
5 #
6 # All text after a double hash (##) is considered a comment and is placed in
7 # front of the TAG it is preceding.
8 #
9 # All text after a single hash (#) is considered a comment and will be ignored.
10 # The format is:
11 # TAG = value [value, ...]
12 # For lists, items can also be appended using:
13 # TAG += value [value, ...]
14 # Values that contain spaces should be placed between quotes (\" \").
15 
16 #---------------------------------------------------------------------------
17 # Project related configuration options
18 #---------------------------------------------------------------------------
19 
20 # This tag specifies the encoding used for all characters in the config file
21 # that follow. The default is UTF-8 which is also the encoding used for all text
22 # before the first occurrence of this tag. Doxygen uses libiconv (or the iconv
23 # built into libc) for the transcoding. See http://www.gnu.org/software/libiconv
24 # for the list of possible encodings.
25 # The default value is: UTF-8.
26 
27 DOXYFILE_ENCODING = UTF-8
28 
29 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
30 # double-quotes, unless you are using Doxywizard) that should identify the
31 # project for which the documentation is generated. This name is used in the
32 # title of most generated pages and in a few other places.
33 # The default value is: My Project.
34 
35 PROJECT_NAME = "0.9.9 API documentation"
36 
37 # The PROJECT_NUMBER tag can be used to enter a project or revision number. This
38 # could be handy for archiving the generated documentation or if some version
39 # control system is used.
40 
41 PROJECT_NUMBER =
42 
43 # Using the PROJECT_BRIEF tag one can provide an optional one line description
44 # for a project that appears at the top of each page and should give viewer a
45 # quick idea about the purpose of the project. Keep the description short.
46 
47 PROJECT_BRIEF =
48 
49 # With the PROJECT_LOGO tag one can specify a logo or an icon that is included
50 # in the documentation. The maximum height of the logo should not exceed 55
51 # pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
52 # the logo to the output directory.
53 
54 PROJECT_LOGO = theme/logo-mini.png
55 
56 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
57 # into which the generated documentation will be written. If a relative path is
58 # entered, it will be relative to the location where doxygen was started. If
59 # left blank the current directory will be used.
60 
61 OUTPUT_DIRECTORY = .
62 
63 # If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
64 # directories (in 2 levels) under the output directory of each output format and
65 # will distribute the generated files over these directories. Enabling this
66 # option can be useful when feeding doxygen a huge amount of source files, where
67 # putting all generated files in the same directory would otherwise causes
68 # performance problems for the file system.
69 # The default value is: NO.
70 
71 CREATE_SUBDIRS = NO
72 
73 # If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
74 # characters to appear in the names of generated files. If set to NO, non-ASCII
75 # characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
76 # U+3044.
77 # The default value is: NO.
78 
79 ALLOW_UNICODE_NAMES = NO
80 
81 # The OUTPUT_LANGUAGE tag is used to specify the language in which all
82 # documentation generated by doxygen is written. Doxygen will use this
83 # information to generate all constant output in the proper language.
84 # Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
85 # Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
86 # Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
87 # Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
88 # Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
89 # Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
90 # Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
91 # Ukrainian and Vietnamese.
92 # The default value is: English.
93 
94 OUTPUT_LANGUAGE = English
95 
96 # If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member
97 # descriptions after the members that are listed in the file and class
98 # documentation (similar to Javadoc). Set to NO to disable this.
99 # The default value is: YES.
100 
101 BRIEF_MEMBER_DESC = YES
102 
103 # If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief
104 # description of a member or function before the detailed description
105 #
106 # Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
107 # brief descriptions will be completely suppressed.
108 # The default value is: YES.
109 
110 REPEAT_BRIEF = YES
111 
112 # This tag implements a quasi-intelligent brief description abbreviator that is
113 # used to form the text in various listings. Each string in this list, if found
114 # as the leading text of the brief description, will be stripped from the text
115 # and the result, after processing the whole list, is used as the annotated
116 # text. Otherwise, the brief description is used as-is. If left blank, the
117 # following values are used ($name is automatically replaced with the name of
118 # the entity):The $name class, The $name widget, The $name file, is, provides,
119 # specifies, contains, represents, a, an and the.
120 
121 ABBREVIATE_BRIEF = "The $name class " \
122  "The $name widget " \
123  "The $name file " \
124  is \
125  provides \
126  specifies \
127  contains \
128  represents \
129  a \
130  an \
131  the
132 
133 # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
134 # doxygen will generate a detailed section even if there is only a brief
135 # description.
136 # The default value is: NO.
137 
138 ALWAYS_DETAILED_SEC = NO
139 
140 # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
141 # inherited members of a class in the documentation of that class as if those
142 # members were ordinary class members. Constructors, destructors and assignment
143 # operators of the base classes will not be shown.
144 # The default value is: NO.
145 
146 INLINE_INHERITED_MEMB = NO
147 
148 # If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path
149 # before files name in the file list and in the header files. If set to NO the
150 # shortest path that makes the file name unique will be used
151 # The default value is: YES.
152 
153 FULL_PATH_NAMES = NO
154 
155 # The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
156 # Stripping is only done if one of the specified strings matches the left-hand
157 # part of the path. The tag can be used to show relative paths in the file list.
158 # If left blank the directory from which doxygen is run is used as the path to
159 # strip.
160 #
161 # Note that you can specify absolute paths here, but also relative paths, which
162 # will be relative from the directory where doxygen is started.
163 # This tag requires that the tag FULL_PATH_NAMES is set to YES.
164 
165 STRIP_FROM_PATH = "C:/Documents and Settings/Groove/ "
166 
167 # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
168 # path mentioned in the documentation of a class, which tells the reader which
169 # header file to include in order to use a class. If left blank only the name of
170 # the header file containing the class definition is used. Otherwise one should
171 # specify the list of include paths that are normally passed to the compiler
172 # using the -I flag.
173 
174 STRIP_FROM_INC_PATH =
175 
176 # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
177 # less readable) file names. This can be useful is your file systems doesn't
178 # support long names like on DOS, Mac, or CD-ROM.
179 # The default value is: NO.
180 
181 SHORT_NAMES = YES
182 
183 # If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
184 # first line (until the first dot) of a Javadoc-style comment as the brief
185 # description. If set to NO, the Javadoc-style will behave just like regular Qt-
186 # style comments (thus requiring an explicit @brief command for a brief
187 # description.)
188 # The default value is: NO.
189 
190 JAVADOC_AUTOBRIEF = YES
191 
192 # If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
193 # line (until the first dot) of a Qt-style comment as the brief description. If
194 # set to NO, the Qt-style will behave just like regular Qt-style comments (thus
195 # requiring an explicit \brief command for a brief description.)
196 # The default value is: NO.
197 
198 QT_AUTOBRIEF = NO
199 
200 # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a
201 # multi-line C++ special comment block (i.e. a block of
202 # a brief description. This used to be the default behavior. The new default is
203 # to treat a multi-line C++ comment block as a detailed description. Set this
204 # tag to YES if you prefer the old behavior instead.
205 #
206 # Note that setting this tag to YES also means that rational rose comments are
207 # not recognized any more.
208 # The default value is: NO.
209 
210 MULTILINE_CPP_IS_BRIEF = NO
211 
212 # If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
213 # documentation from any documented member that it re-implements.
214 # The default value is: YES.
215 
216 INHERIT_DOCS = YES
217 
218 # If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new
219 # page for each member. If set to NO, the documentation of a member will be part
220 # of the file/class/namespace that contains it.
221 # The default value is: NO.
222 
223 SEPARATE_MEMBER_PAGES = NO
224 
225 # The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen
226 # uses this value to replace tabs by spaces in code fragments.
227 # Minimum value: 1, maximum value: 16, default value: 4.
228 
229 TAB_SIZE = 8
230 
231 # This tag can be used to specify a number of aliases that act as commands in
232 # the documentation. An alias has the form:
233 # name=value
234 # For example adding
235 # "sideeffect=@par Side Effects:\n"
236 # will allow you to put the command \sideeffect (or @sideeffect) in the
237 # documentation, which will result in a user-defined paragraph with heading
238 # "Side Effects:". You can put \n's in the value part of an alias to insert
239 # newlines.
240 
241 ALIASES =
242 
243 # This tag can be used to specify a number of word-keyword mappings (TCL only).
244 # A mapping has the form "name=value". For example adding "class=itcl::class"
245 # will allow you to use the command class in the itcl::class meaning.
246 
247 TCL_SUBST =
248 
249 # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
250 # only. Doxygen will then generate output that is more tailored for C. For
251 # instance, some of the names that are used will be different. The list of all
252 # members will be omitted, etc.
253 # The default value is: NO.
254 
255 OPTIMIZE_OUTPUT_FOR_C = NO
256 
257 # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
258 # Python sources only. Doxygen will then generate output that is more tailored
259 # for that language. For instance, namespaces will be presented as packages,
260 # qualified scopes will look different, etc.
261 # The default value is: NO.
262 
263 OPTIMIZE_OUTPUT_JAVA = NO
264 
265 # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
266 # sources. Doxygen will then generate output that is tailored for Fortran.
267 # The default value is: NO.
268 
269 OPTIMIZE_FOR_FORTRAN = NO
270 
271 # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
272 # sources. Doxygen will then generate output that is tailored for VHDL.
273 # The default value is: NO.
274 
275 OPTIMIZE_OUTPUT_VHDL = NO
276 
277 # Doxygen selects the parser to use depending on the extension of the files it
278 # parses. With this tag you can assign which parser to use for a given
279 # extension. Doxygen has a built-in mapping, but you can override or extend it
280 # using this tag. The format is ext=language, where ext is a file extension, and
281 # language is one of the parsers supported by doxygen: IDL, Java, Javascript,
282 # C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran:
283 # FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
284 # Fortran. In the later case the parser tries to guess whether the code is fixed
285 # or free formatted code, this is the default for Fortran type files), VHDL. For
286 # instance to make doxygen treat .inc files as Fortran files (default is PHP),
287 # and .f files as C (default is Fortran), use: inc=Fortran f=C.
288 #
289 # Note: For files without extension you can use no_extension as a placeholder.
290 #
291 # Note that for custom extensions you also need to set FILE_PATTERNS otherwise
292 # the files are not read by doxygen.
293 
294 EXTENSION_MAPPING =
295 
296 # If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
297 # according to the Markdown format, which allows for more readable
298 # documentation. See http://daringfireball.net/projects/markdown/ for details.
299 # The output of markdown processing is further processed by doxygen, so you can
300 # mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
301 # case of backward compatibilities issues.
302 # The default value is: YES.
303 
304 MARKDOWN_SUPPORT = YES
305 
306 # When enabled doxygen tries to link words that correspond to documented
307 # classes, or namespaces to their corresponding documentation. Such a link can
308 # be prevented in individual cases by putting a % sign in front of the word or
309 # globally by setting AUTOLINK_SUPPORT to NO.
310 # The default value is: YES.
311 
312 AUTOLINK_SUPPORT = YES
313 
314 # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
315 # to include (a tag file for) the STL sources as input, then you should set this
316 # tag to YES in order to let doxygen match functions declarations and
317 # definitions whose arguments contain STL classes (e.g. func(std::string);
318 # versus func(std::string) {}). This also make the inheritance and collaboration
319 # diagrams that involve STL classes more complete and accurate.
320 # The default value is: NO.
321 
322 BUILTIN_STL_SUPPORT = NO
323 
324 # If you use Microsoft's C++/CLI language, you should set this option to YES to
325 # enable parsing support.
326 # The default value is: NO.
327 
328 CPP_CLI_SUPPORT = NO
329 
330 # Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
331 # http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen
332 # will parse them like normal C++ but will assume all classes use public instead
333 # of private inheritance when no explicit protection keyword is present.
334 # The default value is: NO.
335 
336 SIP_SUPPORT = NO
337 
338 # For Microsoft's IDL there are propget and propput attributes to indicate
339 # getter and setter methods for a property. Setting this option to YES will make
340 # doxygen to replace the get and set methods by a property in the documentation.
341 # This will only work if the methods are indeed getting or setting a simple
342 # type. If this is not the case, or you want to show the methods anyway, you
343 # should set this option to NO.
344 # The default value is: YES.
345 
346 IDL_PROPERTY_SUPPORT = YES
347 
348 # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
349 # tag is set to YES then doxygen will reuse the documentation of the first
350 # member in the group (if any) for the other members of the group. By default
351 # all members of a group must be documented explicitly.
352 # The default value is: NO.
353 
354 DISTRIBUTE_GROUP_DOC = NO
355 
356 # If one adds a struct or class to a group and this option is enabled, then also
357 # any nested class or struct is added to the same group. By default this option
358 # is disabled and one has to add nested compounds explicitly via \ingroup.
359 # The default value is: NO.
360 
361 GROUP_NESTED_COMPOUNDS = NO
362 
363 # Set the SUBGROUPING tag to YES to allow class member groups of the same type
364 # (for instance a group of public functions) to be put as a subgroup of that
365 # type (e.g. under the Public Functions section). Set it to NO to prevent
366 # subgrouping. Alternatively, this can be done per class using the
367 # \nosubgrouping command.
368 # The default value is: YES.
369 
370 SUBGROUPING = NO
371 
372 # When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
373 # are shown inside the group in which they are included (e.g. using \ingroup)
374 # instead of on a separate page (for HTML and Man pages) or section (for LaTeX
375 # and RTF).
376 #
377 # Note that this feature does not work in combination with
378 # SEPARATE_MEMBER_PAGES.
379 # The default value is: NO.
380 
381 INLINE_GROUPED_CLASSES = NO
382 
383 # When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
384 # with only public data fields or simple typedef fields will be shown inline in
385 # the documentation of the scope in which they are defined (i.e. file,
386 # namespace, or group documentation), provided this scope is documented. If set
387 # to NO, structs, classes, and unions are shown on a separate page (for HTML and
388 # Man pages) or section (for LaTeX and RTF).
389 # The default value is: NO.
390 
391 INLINE_SIMPLE_STRUCTS = NO
392 
393 # When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
394 # enum is documented as struct, union, or enum with the name of the typedef. So
395 # typedef struct TypeS {} TypeT, will appear in the documentation as a struct
396 # with name TypeT. When disabled the typedef will appear as a member of a file,
397 # namespace, or class. And the struct will be named TypeS. This can typically be
398 # useful for C code in case the coding convention dictates that all compound
399 # types are typedef'ed and only the typedef is referenced, never the tag name.
400 # The default value is: NO.
401 
402 TYPEDEF_HIDES_STRUCT = NO
403 
404 # The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
405 # cache is used to resolve symbols given their name and scope. Since this can be
406 # an expensive process and often the same symbol appears multiple times in the
407 # code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
408 # doxygen will become slower. If the cache is too large, memory is wasted. The
409 # cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
410 # is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
411 # symbols. At the end of a run doxygen will report the cache usage and suggest
412 # the optimal cache size from a speed point of view.
413 # Minimum value: 0, maximum value: 9, default value: 0.
414 
415 LOOKUP_CACHE_SIZE = 0
416 
417 #---------------------------------------------------------------------------
418 # Build related configuration options
419 #---------------------------------------------------------------------------
420 
421 # If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in
422 # documentation are documented, even if no documentation was available. Private
423 # class members and static file members will be hidden unless the
424 # EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
425 # Note: This will also disable the warnings about undocumented members that are
426 # normally produced when WARNINGS is set to YES.
427 # The default value is: NO.
428 
429 EXTRACT_ALL = NO
430 
431 # If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will
432 # be included in the documentation.
433 # The default value is: NO.
434 
435 EXTRACT_PRIVATE = NO
436 
437 # If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
438 # scope will be included in the documentation.
439 # The default value is: NO.
440 
441 EXTRACT_PACKAGE = NO
442 
443 # If the EXTRACT_STATIC tag is set to YES, all static members of a file will be
444 # included in the documentation.
445 # The default value is: NO.
446 
447 EXTRACT_STATIC = YES
448 
449 # If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined
450 # locally in source files will be included in the documentation. If set to NO,
451 # only classes defined in header files are included. Does not have any effect
452 # for Java sources.
453 # The default value is: YES.
454 
455 EXTRACT_LOCAL_CLASSES = NO
456 
457 # This flag is only useful for Objective-C code. If set to YES, local methods,
458 # which are defined in the implementation section but not in the interface are
459 # included in the documentation. If set to NO, only methods in the interface are
460 # included.
461 # The default value is: NO.
462 
463 EXTRACT_LOCAL_METHODS = NO
464 
465 # If this flag is set to YES, the members of anonymous namespaces will be
466 # extracted and appear in the documentation as a namespace called
467 # 'anonymous_namespace{file}', where file will be replaced with the base name of
468 # the file that contains the anonymous namespace. By default anonymous namespace
469 # are hidden.
470 # The default value is: NO.
471 
472 EXTRACT_ANON_NSPACES = NO
473 
474 # If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
475 # undocumented members inside documented classes or files. If set to NO these
476 # members will be included in the various overviews, but no documentation
477 # section is generated. This option has no effect if EXTRACT_ALL is enabled.
478 # The default value is: NO.
479 
480 HIDE_UNDOC_MEMBERS = YES
481 
482 # If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
483 # undocumented classes that are normally visible in the class hierarchy. If set
484 # to NO, these classes will be included in the various overviews. This option
485 # has no effect if EXTRACT_ALL is enabled.
486 # The default value is: NO.
487 
488 HIDE_UNDOC_CLASSES = YES
489 
490 # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
491 # (class|struct|union) declarations. If set to NO, these declarations will be
492 # included in the documentation.
493 # The default value is: NO.
494 
495 HIDE_FRIEND_COMPOUNDS = YES
496 
497 # If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
498 # documentation blocks found inside the body of a function. If set to NO, these
499 # blocks will be appended to the function's detailed documentation block.
500 # The default value is: NO.
501 
502 HIDE_IN_BODY_DOCS = YES
503 
504 # The INTERNAL_DOCS tag determines if documentation that is typed after a
505 # \internal command is included. If the tag is set to NO then the documentation
506 # will be excluded. Set it to YES to include the internal documentation.
507 # The default value is: NO.
508 
509 INTERNAL_DOCS = NO
510 
511 # If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
512 # names in lower-case letters. If set to YES, upper-case letters are also
513 # allowed. This is useful if you have classes or files whose names only differ
514 # in case and if your file system supports case sensitive file names. Windows
515 # and Mac users are advised to set this option to NO.
516 # The default value is: system dependent.
517 
518 CASE_SENSE_NAMES = YES
519 
520 # If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
521 # their full class and namespace scopes in the documentation. If set to YES, the
522 # scope will be hidden.
523 # The default value is: NO.
524 
525 HIDE_SCOPE_NAMES = YES
526 
527 # If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will
528 # append additional text to a page's title, such as Class Reference. If set to
529 # YES the compound reference will be hidden.
530 # The default value is: NO.
531 
532 HIDE_COMPOUND_REFERENCE= NO
533 
534 # If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
535 # the files that are included by a file in the documentation of that file.
536 # The default value is: YES.
537 
538 SHOW_INCLUDE_FILES = NO
539 
540 # If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
541 # grouped member an include statement to the documentation, telling the reader
542 # which file to include in order to use the member.
543 # The default value is: NO.
544 
545 SHOW_GROUPED_MEMB_INC = NO
546 
547 # If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
548 # files with double quotes in the documentation rather than with sharp brackets.
549 # The default value is: NO.
550 
551 FORCE_LOCAL_INCLUDES = NO
552 
553 # If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the
554 # documentation for inline members.
555 # The default value is: YES.
556 
557 INLINE_INFO = NO
558 
559 # If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
560 # (detailed) documentation of file and class members alphabetically by member
561 # name. If set to NO, the members will appear in declaration order.
562 # The default value is: YES.
563 
564 SORT_MEMBER_DOCS = YES
565 
566 # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
567 # descriptions of file, namespace and class members alphabetically by member
568 # name. If set to NO, the members will appear in declaration order. Note that
569 # this will also influence the order of the classes in the class list.
570 # The default value is: NO.
571 
572 SORT_BRIEF_DOCS = YES
573 
574 # If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
575 # (brief and detailed) documentation of class members so that constructors and
576 # destructors are listed first. If set to NO the constructors will appear in the
577 # respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.
578 # Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief
579 # member documentation.
580 # Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting
581 # detailed member documentation.
582 # The default value is: NO.
583 
584 SORT_MEMBERS_CTORS_1ST = NO
585 
586 # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
587 # of group names into alphabetical order. If set to NO the group names will
588 # appear in their defined order.
589 # The default value is: NO.
590 
591 SORT_GROUP_NAMES = NO
592 
593 # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
594 # fully-qualified names, including namespaces. If set to NO, the class list will
595 # be sorted only by class name, not including the namespace part.
596 # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
597 # Note: This option applies only to the class list, not to the alphabetical
598 # list.
599 # The default value is: NO.
600 
601 SORT_BY_SCOPE_NAME = YES
602 
603 # If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper
604 # type resolution of all parameters of a function it will reject a match between
605 # the prototype and the implementation of a member function even if there is
606 # only one candidate or it is obvious which candidate to choose by doing a
607 # simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still
608 # accept a match between prototype and implementation in such cases.
609 # The default value is: NO.
610 
611 STRICT_PROTO_MATCHING = NO
612 
613 # The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo
614 # list. This list is created by putting \todo commands in the documentation.
615 # The default value is: YES.
616 
617 GENERATE_TODOLIST = YES
618 
619 # The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test
620 # list. This list is created by putting \test commands in the documentation.
621 # The default value is: YES.
622 
623 GENERATE_TESTLIST = YES
624 
625 # The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug
626 # list. This list is created by putting \bug commands in the documentation.
627 # The default value is: YES.
628 
629 GENERATE_BUGLIST = YES
630 
631 # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO)
632 # the deprecated list. This list is created by putting \deprecated commands in
633 # the documentation.
634 # The default value is: YES.
635 
636 GENERATE_DEPRECATEDLIST= YES
637 
638 # The ENABLED_SECTIONS tag can be used to enable conditional documentation
639 # sections, marked by \if <section_label> ... \endif and \cond <section_label>
640 # ... \endcond blocks.
641 
642 ENABLED_SECTIONS =
643 
644 # The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
645 # initial value of a variable or macro / define can have for it to appear in the
646 # documentation. If the initializer consists of more lines than specified here
647 # it will be hidden. Use a value of 0 to hide initializers completely. The
648 # appearance of the value of individual variables and macros / defines can be
649 # controlled using \showinitializer or \hideinitializer command in the
650 # documentation regardless of this setting.
651 # Minimum value: 0, maximum value: 10000, default value: 30.
652 
653 MAX_INITIALIZER_LINES = 30
654 
655 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
656 # the bottom of the documentation of classes and structs. If set to YES, the
657 # list will mention the files that were used to generate the documentation.
658 # The default value is: YES.
659 
660 SHOW_USED_FILES = NO
661 
662 # Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
663 # will remove the Files entry from the Quick Index and from the Folder Tree View
664 # (if specified).
665 # The default value is: YES.
666 
667 SHOW_FILES = YES
668 
669 # Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
670 # page. This will remove the Namespaces entry from the Quick Index and from the
671 # Folder Tree View (if specified).
672 # The default value is: YES.
673 
674 SHOW_NAMESPACES = YES
675 
676 # The FILE_VERSION_FILTER tag can be used to specify a program or script that
677 # doxygen should invoke to get the current version for each file (typically from
678 # the version control system). Doxygen will invoke the program by executing (via
679 # popen()) the command command input-file, where command is the value of the
680 # FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
681 # by doxygen. Whatever the program writes to standard output is used as the file
682 # version. For an example see the documentation.
683 
684 FILE_VERSION_FILTER =
685 
686 # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
687 # by doxygen. The layout file controls the global structure of the generated
688 # output files in an output format independent way. To create the layout file
689 # that represents doxygen's defaults, run doxygen with the -l option. You can
690 # optionally specify a file name after the option, if omitted DoxygenLayout.xml
691 # will be used as the name of the layout file.
692 #
693 # Note that if you run doxygen from a directory containing a file called
694 # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
695 # tag is left empty.
696 
697 LAYOUT_FILE =
698 
699 # The CITE_BIB_FILES tag can be used to specify one or more bib files containing
700 # the reference definitions. This must be a list of .bib files. The .bib
701 # extension is automatically appended if omitted. This requires the bibtex tool
702 # to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
703 # For LaTeX the style of the bibliography can be controlled using
704 # LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
705 # search path. See also \cite for info how to create references.
706 
707 CITE_BIB_FILES =
708 
709 #---------------------------------------------------------------------------
710 # Configuration options related to warning and progress messages
711 #---------------------------------------------------------------------------
712 
713 # The QUIET tag can be used to turn on/off the messages that are generated to
714 # standard output by doxygen. If QUIET is set to YES this implies that the
715 # messages are off.
716 # The default value is: NO.
717 
718 QUIET = NO
719 
720 # The WARNINGS tag can be used to turn on/off the warning messages that are
721 # generated to standard error (stderr) by doxygen. If WARNINGS is set to YES
722 # this implies that the warnings are on.
723 #
724 # Tip: Turn warnings on while writing the documentation.
725 # The default value is: YES.
726 
727 WARNINGS = YES
728 
729 # If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate
730 # warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
731 # will automatically be disabled.
732 # The default value is: YES.
733 
734 WARN_IF_UNDOCUMENTED = YES
735 
736 # If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
737 # potential errors in the documentation, such as not documenting some parameters
738 # in a documented function, or documenting parameters that don't exist or using
739 # markup commands wrongly.
740 # The default value is: YES.
741 
742 WARN_IF_DOC_ERROR = YES
743 
744 # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
745 # are documented, but have no documentation for their parameters or return
746 # value. If set to NO, doxygen will only warn about wrong or incomplete
747 # parameter documentation, but not about the absence of documentation.
748 # The default value is: NO.
749 
750 WARN_NO_PARAMDOC = NO
751 
752 # The WARN_FORMAT tag determines the format of the warning messages that doxygen
753 # can produce. The string should contain the $file, $line, and $text tags, which
754 # will be replaced by the file and line number from which the warning originated
755 # and the warning text. Optionally the format may contain $version, which will
756 # be replaced by the version of the file (if it could be obtained via
757 # FILE_VERSION_FILTER)
758 # The default value is: $file:$line: $text.
759 
760 WARN_FORMAT = "$file:$line: $text"
761 
762 # The WARN_LOGFILE tag can be used to specify a file to which warning and error
763 # messages should be written. If left blank the output is written to standard
764 # error (stderr).
765 
766 WARN_LOGFILE =
767 
768 #---------------------------------------------------------------------------
769 # Configuration options related to the input files
770 #---------------------------------------------------------------------------
771 
772 # The INPUT tag is used to specify the files and/or directories that contain
773 # documented source files. You may enter file names like myfile.cpp or
774 # directories like /usr/src/myproject. Separate the files or directories with
775 # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
776 # Note: If this tag is empty the current directory is searched.
777 
778 INPUT = ../glm \
779  .
780 
781 # This tag can be used to specify the character encoding of the source files
782 # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
783 # libiconv (or the iconv built into libc) for the transcoding. See the libiconv
784 # documentation (see: http://www.gnu.org/software/libiconv) for the list of
785 # possible encodings.
786 # The default value is: UTF-8.
787 
788 INPUT_ENCODING = UTF-8
789 
790 # If the value of the INPUT tag contains directories, you can use the
791 # FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
792 # *.h) to filter out the source-files in the directories.
793 #
794 # Note that for custom extensions or not directly supported extensions you also
795 # need to set EXTENSION_MAPPING for the extension otherwise the files are not
796 # read by doxygen.
797 #
798 # If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp,
799 # *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h,
800 # *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc,
801 # *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd,
802 # *.vhdl, *.ucf, *.qsf, *.as and *.js.
803 
804 FILE_PATTERNS = *.hpp \
805  *.doxy
806 
807 # The RECURSIVE tag can be used to specify whether or not subdirectories should
808 # be searched for input files as well.
809 # The default value is: NO.
810 
811 RECURSIVE = YES
812 
813 # The EXCLUDE tag can be used to specify files and/or directories that should be
814 # excluded from the INPUT source files. This way you can easily exclude a
815 # subdirectory from a directory tree whose root is specified with the INPUT tag.
816 #
817 # Note that relative paths are relative to the directory from which doxygen is
818 # run.
819 
820 EXCLUDE =
821 
822 # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
823 # directories that are symbolic links (a Unix file system feature) are excluded
824 # from the input.
825 # The default value is: NO.
826 
827 EXCLUDE_SYMLINKS = NO
828 
829 # If the value of the INPUT tag contains directories, you can use the
830 # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
831 # certain files from those directories.
832 #
833 # Note that the wildcards are matched against the file with absolute path, so to
834 # exclude all test directories for example use the pattern */test/*
835 
836 EXCLUDE_PATTERNS =
837 
838 # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
839 # (namespaces, classes, functions, etc.) that should be excluded from the
840 # output. The symbol name can be a fully qualified name, a word, or if the
841 # wildcard * is used, a substring. Examples: ANamespace, AClass,
842 # AClass::ANamespace, ANamespace::*Test
843 #
844 # Note that the wildcards are matched against the file with absolute path, so to
845 # exclude all test directories use the pattern */test/*
846 
847 EXCLUDE_SYMBOLS =
848 
849 # The EXAMPLE_PATH tag can be used to specify one or more files or directories
850 # that contain example code fragments that are included (see the \include
851 # command).
852 
853 EXAMPLE_PATH =
854 
855 # If the value of the EXAMPLE_PATH tag contains directories, you can use the
856 # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
857 # *.h) to filter out the source-files in the directories. If left blank all
858 # files are included.
859 
860 EXAMPLE_PATTERNS = *
861 
862 # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
863 # searched for input files to be used with the \include or \dontinclude commands
864 # irrespective of the value of the RECURSIVE tag.
865 # The default value is: NO.
866 
867 EXAMPLE_RECURSIVE = NO
868 
869 # The IMAGE_PATH tag can be used to specify one or more files or directories
870 # that contain images that are to be included in the documentation (see the
871 # \image command).
872 
873 IMAGE_PATH =
874 
875 # The INPUT_FILTER tag can be used to specify a program that doxygen should
876 # invoke to filter for each input file. Doxygen will invoke the filter program
877 # by executing (via popen()) the command:
878 #
879 # <filter> <input-file>
880 #
881 # where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the
882 # name of an input file. Doxygen will then use the output that the filter
883 # program writes to standard output. If FILTER_PATTERNS is specified, this tag
884 # will be ignored.
885 #
886 # Note that the filter must not add or remove lines; it is applied before the
887 # code is scanned, but not when the output code is generated. If lines are added
888 # or removed, the anchors will not be placed correctly.
889 
890 INPUT_FILTER =
891 
892 # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
893 # basis. Doxygen will compare the file name with each pattern and apply the
894 # filter if there is a match. The filters are a list of the form: pattern=filter
895 # (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
896 # filters are used. If the FILTER_PATTERNS tag is empty or if none of the
897 # patterns match the file name, INPUT_FILTER is applied.
898 
899 FILTER_PATTERNS =
900 
901 # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
902 # INPUT_FILTER) will also be used to filter the input files that are used for
903 # producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
904 # The default value is: NO.
905 
906 FILTER_SOURCE_FILES = NO
907 
908 # The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
909 # pattern. A pattern will override the setting for FILTER_PATTERN (if any) and
910 # it is also possible to disable source filtering for a specific pattern using
911 # *.ext= (so without naming a filter).
912 # This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
913 
914 FILTER_SOURCE_PATTERNS =
915 
916 # If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
917 # is part of the input, its contents will be placed on the main page
918 # (index.html). This can be useful if you have a project on for instance GitHub
919 # and want to reuse the introduction page also for the doxygen output.
920 
921 USE_MDFILE_AS_MAINPAGE =
922 
923 #---------------------------------------------------------------------------
924 # Configuration options related to source browsing
925 #---------------------------------------------------------------------------
926 
927 # If the SOURCE_BROWSER tag is set to YES then a list of source files will be
928 # generated. Documented entities will be cross-referenced with these sources.
929 #
930 # Note: To get rid of all source code in the generated output, make sure that
931 # also VERBATIM_HEADERS is set to NO.
932 # The default value is: NO.
933 
934 SOURCE_BROWSER = YES
935 
936 # Setting the INLINE_SOURCES tag to YES will include the body of functions,
937 # classes and enums directly into the documentation.
938 # The default value is: NO.
939 
940 INLINE_SOURCES = NO
941 
942 # Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
943 # special comment blocks from generated source code fragments. Normal C, C++ and
944 # Fortran comments will always remain visible.
945 # The default value is: YES.
946 
947 STRIP_CODE_COMMENTS = YES
948 
949 # If the REFERENCED_BY_RELATION tag is set to YES then for each documented
950 # function all documented functions referencing it will be listed.
951 # The default value is: NO.
952 
953 REFERENCED_BY_RELATION = YES
954 
955 # If the REFERENCES_RELATION tag is set to YES then for each documented function
956 # all documented entities called/used by that function will be listed.
957 # The default value is: NO.
958 
959 REFERENCES_RELATION = YES
960 
961 # If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
962 # to YES then the hyperlinks from functions in REFERENCES_RELATION and
963 # REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
964 # link to the documentation.
965 # The default value is: YES.
966 
967 REFERENCES_LINK_SOURCE = YES
968 
969 # If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
970 # source code will show a tooltip with additional information such as prototype,
971 # brief description and links to the definition and documentation. Since this
972 # will make the HTML file larger and loading of large files a bit slower, you
973 # can opt to disable this feature.
974 # The default value is: YES.
975 # This tag requires that the tag SOURCE_BROWSER is set to YES.
976 
977 SOURCE_TOOLTIPS = YES
978 
979 # If the USE_HTAGS tag is set to YES then the references to source code will
980 # point to the HTML generated by the htags(1) tool instead of doxygen built-in
981 # source browser. The htags tool is part of GNU's global source tagging system
982 # (see http://www.gnu.org/software/global/global.html). You will need version
983 # 4.8.6 or higher.
984 #
985 # To use it do the following:
986 # - Install the latest version of global
987 # - Enable SOURCE_BROWSER and USE_HTAGS in the config file
988 # - Make sure the INPUT points to the root of the source tree
989 # - Run doxygen as normal
990 #
991 # Doxygen will invoke htags (and that will in turn invoke gtags), so these
992 # tools must be available from the command line (i.e. in the search path).
993 #
994 # The result: instead of the source browser generated by doxygen, the links to
995 # source code will now point to the output of htags.
996 # The default value is: NO.
997 # This tag requires that the tag SOURCE_BROWSER is set to YES.
998 
999 USE_HTAGS = NO
1000 
1001 # If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
1002 # verbatim copy of the header file for each class for which an include is
1003 # specified. Set to NO to disable this.
1004 # See also: Section \class.
1005 # The default value is: YES.
1006 
1007 VERBATIM_HEADERS = YES
1008 
1009 # If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the
1010 # clang parser (see: http://clang.llvm.org/) for more accurate parsing at the
1011 # cost of reduced performance. This can be particularly helpful with template
1012 # rich C++ code for which doxygen's built-in parser lacks the necessary type
1013 # information.
1014 # Note: The availability of this option depends on whether or not doxygen was
1015 # compiled with the --with-libclang option.
1016 # The default value is: NO.
1017 
1018 CLANG_ASSISTED_PARSING = NO
1019 
1020 # If clang assisted parsing is enabled you can provide the compiler with command
1021 # line options that you would normally use when invoking the compiler. Note that
1022 # the include paths will already be set by doxygen for the files and directories
1023 # specified with INPUT and INCLUDE_PATH.
1024 # This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES.
1025 
1026 CLANG_OPTIONS =
1027 
1028 #---------------------------------------------------------------------------
1029 # Configuration options related to the alphabetical class index
1030 #---------------------------------------------------------------------------
1031 
1032 # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all
1033 # compounds will be generated. Enable this if the project contains a lot of
1034 # classes, structs, unions or interfaces.
1035 # The default value is: YES.
1036 
1037 ALPHABETICAL_INDEX = NO
1038 
1039 # The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
1040 # which the alphabetical index list will be split.
1041 # Minimum value: 1, maximum value: 20, default value: 5.
1042 # This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
1043 
1044 COLS_IN_ALPHA_INDEX = 5
1045 
1046 # In case all classes in a project start with a common prefix, all classes will
1047 # be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
1048 # can be used to specify a prefix (or a list of prefixes) that should be ignored
1049 # while generating the index headers.
1050 # This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
1051 
1052 IGNORE_PREFIX =
1053 
1054 #---------------------------------------------------------------------------
1055 # Configuration options related to the HTML output
1056 #---------------------------------------------------------------------------
1057 
1058 # If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output
1059 # The default value is: YES.
1060 
1061 GENERATE_HTML = YES
1062 
1063 # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
1064 # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
1065 # it.
1066 # The default directory is: html.
1067 # This tag requires that the tag GENERATE_HTML is set to YES.
1068 
1069 HTML_OUTPUT = html
1070 
1071 # The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
1072 # generated HTML page (for example: .htm, .php, .asp).
1073 # The default value is: .html.
1074 # This tag requires that the tag GENERATE_HTML is set to YES.
1075 
1076 HTML_FILE_EXTENSION = .html
1077 
1078 # The HTML_HEADER tag can be used to specify a user-defined HTML header file for
1079 # each generated HTML page. If the tag is left blank doxygen will generate a
1080 # standard header.
1081 #
1082 # To get valid HTML the header file that includes any scripts and style sheets
1083 # that doxygen needs, which is dependent on the configuration options used (e.g.
1084 # the setting GENERATE_TREEVIEW). It is highly recommended to start with a
1085 # default header using
1086 # doxygen -w html new_header.html new_footer.html new_stylesheet.css
1087 # YourConfigFile
1088 # and then modify the file new_header.html. See also section "Doxygen usage"
1089 # for information on how to generate the default header that doxygen normally
1090 # uses.
1091 # Note: The header is subject to change so you typically have to regenerate the
1092 # default header when upgrading to a newer version of doxygen. For a description
1093 # of the possible markers and block names see the documentation.
1094 # This tag requires that the tag GENERATE_HTML is set to YES.
1095 
1096 HTML_HEADER =
1097 
1098 # The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
1099 # generated HTML page. If the tag is left blank doxygen will generate a standard
1100 # footer. See HTML_HEADER for more information on how to generate a default
1101 # footer and what special commands can be used inside the footer. See also
1102 # section "Doxygen usage" for information on how to generate the default footer
1103 # that doxygen normally uses.
1104 # This tag requires that the tag GENERATE_HTML is set to YES.
1105 
1106 HTML_FOOTER =
1107 
1108 # The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
1109 # sheet that is used by each HTML page. It can be used to fine-tune the look of
1110 # the HTML output. If left blank doxygen will generate a default style sheet.
1111 # See also section "Doxygen usage" for information on how to generate the style
1112 # sheet that doxygen normally uses.
1113 # Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as
1114 # it is more robust and this tag (HTML_STYLESHEET) will in the future become
1115 # obsolete.
1116 # This tag requires that the tag GENERATE_HTML is set to YES.
1117 
1118 HTML_STYLESHEET =
1119 
1120 # The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
1121 # cascading style sheets that are included after the standard style sheets
1122 # created by doxygen. Using this option one can overrule certain style aspects.
1123 # This is preferred over using HTML_STYLESHEET since it does not replace the
1124 # standard style sheet and is therefore more robust against future updates.
1125 # Doxygen will copy the style sheet files to the output directory.
1126 # Note: The order of the extra style sheet files is of importance (e.g. the last
1127 # style sheet in the list overrules the setting of the previous ones in the
1128 # list). For an example see the documentation.
1129 # This tag requires that the tag GENERATE_HTML is set to YES.
1130 
1131 HTML_EXTRA_STYLESHEET =
1132 
1133 # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
1134 # other source files which should be copied to the HTML output directory. Note
1135 # that these files will be copied to the base HTML output directory. Use the
1136 # $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
1137 # files. In the HTML_STYLESHEET file, use the file name only. Also note that the
1138 # files will be copied as-is; there are no commands or markers available.
1139 # This tag requires that the tag GENERATE_HTML is set to YES.
1140 
1141 HTML_EXTRA_FILES =
1142 
1143 # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
1144 # will adjust the colors in the style sheet and background images according to
1145 # this color. Hue is specified as an angle on a colorwheel, see
1146 # http://en.wikipedia.org/wiki/Hue for more information. For instance the value
1147 # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
1148 # purple, and 360 is red again.
1149 # Minimum value: 0, maximum value: 359, default value: 220.
1150 # This tag requires that the tag GENERATE_HTML is set to YES.
1151 
1152 HTML_COLORSTYLE_HUE = 220
1153 
1154 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
1155 # in the HTML output. For a value of 0 the output will use grayscales only. A
1156 # value of 255 will produce the most vivid colors.
1157 # Minimum value: 0, maximum value: 255, default value: 100.
1158 # This tag requires that the tag GENERATE_HTML is set to YES.
1159 
1160 HTML_COLORSTYLE_SAT = 100
1161 
1162 # The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the
1163 # luminance component of the colors in the HTML output. Values below 100
1164 # gradually make the output lighter, whereas values above 100 make the output
1165 # darker. The value divided by 100 is the actual gamma applied, so 80 represents
1166 # a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not
1167 # change the gamma.
1168 # Minimum value: 40, maximum value: 240, default value: 80.
1169 # This tag requires that the tag GENERATE_HTML is set to YES.
1170 
1171 HTML_COLORSTYLE_GAMMA = 80
1172 
1173 # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
1174 # page will contain the date and time when the page was generated. Setting this
1175 # to YES can help to show when doxygen was last run and thus if the
1176 # documentation is up to date.
1177 # The default value is: NO.
1178 # This tag requires that the tag GENERATE_HTML is set to YES.
1179 
1180 HTML_TIMESTAMP = NO
1181 
1182 # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
1183 # documentation will contain sections that can be hidden and shown after the
1184 # page has loaded.
1185 # The default value is: NO.
1186 # This tag requires that the tag GENERATE_HTML is set to YES.
1187 
1188 HTML_DYNAMIC_SECTIONS = NO
1189 
1190 # With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
1191 # shown in the various tree structured indices initially; the user can expand
1192 # and collapse entries dynamically later on. Doxygen will expand the tree to
1193 # such a level that at most the specified number of entries are visible (unless
1194 # a fully collapsed tree already exceeds this amount). So setting the number of
1195 # entries 1 will produce a full collapsed tree by default. 0 is a special value
1196 # representing an infinite number of entries and will result in a full expanded
1197 # tree by default.
1198 # Minimum value: 0, maximum value: 9999, default value: 100.
1199 # This tag requires that the tag GENERATE_HTML is set to YES.
1200 
1201 HTML_INDEX_NUM_ENTRIES = 100
1202 
1203 # If the GENERATE_DOCSET tag is set to YES, additional index files will be
1204 # generated that can be used as input for Apple's Xcode 3 integrated development
1205 # environment (see: http://developer.apple.com/tools/xcode/), introduced with
1206 # OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a
1207 # Makefile in the HTML output directory. Running make will produce the docset in
1208 # that directory and running make install will install the docset in
1209 # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
1210 # startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
1211 # for more information.
1212 # The default value is: NO.
1213 # This tag requires that the tag GENERATE_HTML is set to YES.
1214 
1215 GENERATE_DOCSET = NO
1216 
1217 # This tag determines the name of the docset feed. A documentation feed provides
1218 # an umbrella under which multiple documentation sets from a single provider
1219 # (such as a company or product suite) can be grouped.
1220 # The default value is: Doxygen generated docs.
1221 # This tag requires that the tag GENERATE_DOCSET is set to YES.
1222 
1223 DOCSET_FEEDNAME = "Doxygen generated docs"
1224 
1225 # This tag specifies a string that should uniquely identify the documentation
1226 # set bundle. This should be a reverse domain-name style string, e.g.
1227 # com.mycompany.MyDocSet. Doxygen will append .docset to the name.
1228 # The default value is: org.doxygen.Project.
1229 # This tag requires that the tag GENERATE_DOCSET is set to YES.
1230 
1231 DOCSET_BUNDLE_ID = org.doxygen.Project
1232 
1233 # The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
1234 # the documentation publisher. This should be a reverse domain-name style
1235 # string, e.g. com.mycompany.MyDocSet.documentation.
1236 # The default value is: org.doxygen.Publisher.
1237 # This tag requires that the tag GENERATE_DOCSET is set to YES.
1238 
1239 DOCSET_PUBLISHER_ID = org.doxygen.Publisher
1240 
1241 # The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
1242 # The default value is: Publisher.
1243 # This tag requires that the tag GENERATE_DOCSET is set to YES.
1244 
1245 DOCSET_PUBLISHER_NAME = Publisher
1246 
1247 # If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
1248 # additional HTML index files: index.hhp, index.hhc, and index.hhk. The
1249 # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
1250 # (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on
1251 # Windows.
1252 #
1253 # The HTML Help Workshop contains a compiler that can convert all HTML output
1254 # generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
1255 # files are now used as the Windows 98 help format, and will replace the old
1256 # Windows help format (.hlp) on all Windows platforms in the future. Compressed
1257 # HTML files also contain an index, a table of contents, and you can search for
1258 # words in the documentation. The HTML workshop also contains a viewer for
1259 # compressed HTML files.
1260 # The default value is: NO.
1261 # This tag requires that the tag GENERATE_HTML is set to YES.
1262 
1263 GENERATE_HTMLHELP = NO
1264 
1265 # The CHM_FILE tag can be used to specify the file name of the resulting .chm
1266 # file. You can add a path in front of the file if the result should not be
1267 # written to the html output directory.
1268 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
1269 
1270 CHM_FILE =
1271 
1272 # The HHC_LOCATION tag can be used to specify the location (absolute path
1273 # including file name) of the HTML help compiler (hhc.exe). If non-empty,
1274 # doxygen will try to run the HTML help compiler on the generated index.hhp.
1275 # The file has to be specified with full path.
1276 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
1277 
1278 HHC_LOCATION =
1279 
1280 # The GENERATE_CHI flag controls if a separate .chi index file is generated
1281 # (YES) or that it should be included in the master .chm file (NO).
1282 # The default value is: NO.
1283 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
1284 
1285 GENERATE_CHI = NO
1286 
1287 # The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc)
1288 # and project file content.
1289 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
1290 
1291 CHM_INDEX_ENCODING =
1292 
1293 # The BINARY_TOC flag controls whether a binary table of contents is generated
1294 # (YES) or a normal table of contents (NO) in the .chm file. Furthermore it
1295 # enables the Previous and Next buttons.
1296 # The default value is: NO.
1297 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
1298 
1299 BINARY_TOC = NO
1300 
1301 # The TOC_EXPAND flag can be set to YES to add extra items for group members to
1302 # the table of contents of the HTML help documentation and to the tree view.
1303 # The default value is: NO.
1304 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
1305 
1306 TOC_EXPAND = NO
1307 
1308 # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
1309 # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
1310 # can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help
1311 # (.qch) of the generated HTML documentation.
1312 # The default value is: NO.
1313 # This tag requires that the tag GENERATE_HTML is set to YES.
1314 
1315 GENERATE_QHP = NO
1316 
1317 # If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify
1318 # the file name of the resulting .qch file. The path specified is relative to
1319 # the HTML output folder.
1320 # This tag requires that the tag GENERATE_QHP is set to YES.
1321 
1322 QCH_FILE =
1323 
1324 # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
1325 # Project output. For more information please see Qt Help Project / Namespace
1326 # (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace).
1327 # The default value is: org.doxygen.Project.
1328 # This tag requires that the tag GENERATE_QHP is set to YES.
1329 
1330 QHP_NAMESPACE = org.doxygen.Project
1331 
1332 # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
1333 # Help Project output. For more information please see Qt Help Project / Virtual
1334 # Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-
1335 # folders).
1336 # The default value is: doc.
1337 # This tag requires that the tag GENERATE_QHP is set to YES.
1338 
1339 QHP_VIRTUAL_FOLDER = doc
1340 
1341 # If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
1342 # filter to add. For more information please see Qt Help Project / Custom
1343 # Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
1344 # filters).
1345 # This tag requires that the tag GENERATE_QHP is set to YES.
1346 
1347 QHP_CUST_FILTER_NAME =
1348 
1349 # The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
1350 # custom filter to add. For more information please see Qt Help Project / Custom
1351 # Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
1352 # filters).
1353 # This tag requires that the tag GENERATE_QHP is set to YES.
1354 
1355 QHP_CUST_FILTER_ATTRS =
1356 
1357 # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
1358 # project's filter section matches. Qt Help Project / Filter Attributes (see:
1359 # http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).
1360 # This tag requires that the tag GENERATE_QHP is set to YES.
1361 
1362 QHP_SECT_FILTER_ATTRS =
1363 
1364 # The QHG_LOCATION tag can be used to specify the location of Qt's
1365 # qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
1366 # generated .qhp file.
1367 # This tag requires that the tag GENERATE_QHP is set to YES.
1368 
1369 QHG_LOCATION =
1370 
1371 # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
1372 # generated, together with the HTML files, they form an Eclipse help plugin. To
1373 # install this plugin and make it available under the help contents menu in
1374 # Eclipse, the contents of the directory containing the HTML and XML files needs
1375 # to be copied into the plugins directory of eclipse. The name of the directory
1376 # within the plugins directory should be the same as the ECLIPSE_DOC_ID value.
1377 # After copying Eclipse needs to be restarted before the help appears.
1378 # The default value is: NO.
1379 # This tag requires that the tag GENERATE_HTML is set to YES.
1380 
1381 GENERATE_ECLIPSEHELP = NO
1382 
1383 # A unique identifier for the Eclipse help plugin. When installing the plugin
1384 # the directory name containing the HTML and XML files should also have this
1385 # name. Each documentation set should have its own identifier.
1386 # The default value is: org.doxygen.Project.
1387 # This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.
1388 
1389 ECLIPSE_DOC_ID = org.doxygen.Project
1390 
1391 # If you want full control over the layout of the generated HTML pages it might
1392 # be necessary to disable the index and replace it with your own. The
1393 # DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top
1394 # of each HTML page. A value of NO enables the index and the value YES disables
1395 # it. Since the tabs in the index contain the same information as the navigation
1396 # tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES.
1397 # The default value is: NO.
1398 # This tag requires that the tag GENERATE_HTML is set to YES.
1399 
1400 DISABLE_INDEX = NO
1401 
1402 # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
1403 # structure should be generated to display hierarchical information. If the tag
1404 # value is set to YES, a side panel will be generated containing a tree-like
1405 # index structure (just like the one that is generated for HTML Help). For this
1406 # to work a browser that supports JavaScript, DHTML, CSS and frames is required
1407 # (i.e. any modern browser). Windows users are probably better off using the
1408 # HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can
1409 # further fine-tune the look of the index. As an example, the default style
1410 # sheet generated by doxygen has an example that shows how to put an image at
1411 # the root of the tree instead of the PROJECT_NAME. Since the tree basically has
1412 # the same information as the tab index, you could consider setting
1413 # DISABLE_INDEX to YES when enabling this option.
1414 # The default value is: NO.
1415 # This tag requires that the tag GENERATE_HTML is set to YES.
1416 
1417 GENERATE_TREEVIEW = NO
1418 
1419 # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
1420 # doxygen will group on one line in the generated HTML documentation.
1421 #
1422 # Note that a value of 0 will completely suppress the enum values from appearing
1423 # in the overview section.
1424 # Minimum value: 0, maximum value: 20, default value: 4.
1425 # This tag requires that the tag GENERATE_HTML is set to YES.
1426 
1427 ENUM_VALUES_PER_LINE = 4
1428 
1429 # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used
1430 # to set the initial width (in pixels) of the frame in which the tree is shown.
1431 # Minimum value: 0, maximum value: 1500, default value: 250.
1432 # This tag requires that the tag GENERATE_HTML is set to YES.
1433 
1434 TREEVIEW_WIDTH = 250
1435 
1436 # If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to
1437 # external symbols imported via tag files in a separate window.
1438 # The default value is: NO.
1439 # This tag requires that the tag GENERATE_HTML is set to YES.
1440 
1441 EXT_LINKS_IN_WINDOW = NO
1442 
1443 # Use this tag to change the font size of LaTeX formulas included as images in
1444 # the HTML documentation. When you change the font size after a successful
1445 # doxygen run you need to manually remove any form_*.png images from the HTML
1446 # output directory to force them to be regenerated.
1447 # Minimum value: 8, maximum value: 50, default value: 10.
1448 # This tag requires that the tag GENERATE_HTML is set to YES.
1449 
1450 FORMULA_FONTSIZE = 10
1451 
1452 # Use the FORMULA_TRANPARENT tag to determine whether or not the images
1453 # generated for formulas are transparent PNGs. Transparent PNGs are not
1454 # supported properly for IE 6.0, but are supported on all modern browsers.
1455 #
1456 # Note that when changing this option you need to delete any form_*.png files in
1457 # the HTML output directory before the changes have effect.
1458 # The default value is: YES.
1459 # This tag requires that the tag GENERATE_HTML is set to YES.
1460 
1461 FORMULA_TRANSPARENT = YES
1462 
1463 # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
1464 # http://www.mathjax.org) which uses client side Javascript for the rendering
1465 # instead of using pre-rendered bitmaps. Use this if you do not have LaTeX
1466 # installed or if you want to formulas look prettier in the HTML output. When
1467 # enabled you may also need to install MathJax separately and configure the path
1468 # to it using the MATHJAX_RELPATH option.
1469 # The default value is: NO.
1470 # This tag requires that the tag GENERATE_HTML is set to YES.
1471 
1472 USE_MATHJAX = NO
1473 
1474 # When MathJax is enabled you can set the default output format to be used for
1475 # the MathJax output. See the MathJax site (see:
1476 # http://docs.mathjax.org/en/latest/output.html) for more details.
1477 # Possible values are: HTML-CSS (which is slower, but has the best
1478 # compatibility), NativeMML (i.e. MathML) and SVG.
1479 # The default value is: HTML-CSS.
1480 # This tag requires that the tag USE_MATHJAX is set to YES.
1481 
1482 MATHJAX_FORMAT = HTML-CSS
1483 
1484 # When MathJax is enabled you need to specify the location relative to the HTML
1485 # output directory using the MATHJAX_RELPATH option. The destination directory
1486 # should contain the MathJax.js script. For instance, if the mathjax directory
1487 # is located at the same level as the HTML output directory, then
1488 # MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
1489 # Content Delivery Network so you can quickly see the result without installing
1490 # MathJax. However, it is strongly recommended to install a local copy of
1491 # MathJax from http://www.mathjax.org before deployment.
1492 # The default value is: http://cdn.mathjax.org/mathjax/latest.
1493 # This tag requires that the tag USE_MATHJAX is set to YES.
1494 
1495 MATHJAX_RELPATH = http://www.mathjax.org/mathjax
1496 
1497 # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
1498 # extension names that should be enabled during MathJax rendering. For example
1499 # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
1500 # This tag requires that the tag USE_MATHJAX is set to YES.
1501 
1502 MATHJAX_EXTENSIONS =
1503 
1504 # The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
1505 # of code that will be used on startup of the MathJax code. See the MathJax site
1506 # (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an
1507 # example see the documentation.
1508 # This tag requires that the tag USE_MATHJAX is set to YES.
1509 
1510 MATHJAX_CODEFILE =
1511 
1512 # When the SEARCHENGINE tag is enabled doxygen will generate a search box for
1513 # the HTML output. The underlying search engine uses javascript and DHTML and
1514 # should work on any modern browser. Note that when using HTML help
1515 # (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET)
1516 # there is already a search function so this one should typically be disabled.
1517 # For large projects the javascript based search engine can be slow, then
1518 # enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to
1519 # search using the keyboard; to jump to the search box use <access key> + S
1520 # (what the <access key> is depends on the OS and browser, but it is typically
1521 # <CTRL>, <ALT>/<option>, or both). Inside the search box use the <cursor down
1522 # key> to jump into the search results window, the results can be navigated
1523 # using the <cursor keys>. Press <Enter> to select an item or <escape> to cancel
1524 # the search. The filter options can be selected when the cursor is inside the
1525 # search box by pressing <Shift>+<cursor down>. Also here use the <cursor keys>
1526 # to select a filter and <Enter> or <escape> to activate or cancel the filter
1527 # option.
1528 # The default value is: YES.
1529 # This tag requires that the tag GENERATE_HTML is set to YES.
1530 
1531 SEARCHENGINE = YES
1532 
1533 # When the SERVER_BASED_SEARCH tag is enabled the search engine will be
1534 # implemented using a web server instead of a web client using Javascript. There
1535 # are two flavors of web server based searching depending on the EXTERNAL_SEARCH
1536 # setting. When disabled, doxygen will generate a PHP script for searching and
1537 # an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing
1538 # and searching needs to be provided by external tools. See the section
1539 # "External Indexing and Searching" for details.
1540 # The default value is: NO.
1541 # This tag requires that the tag SEARCHENGINE is set to YES.
1542 
1543 SERVER_BASED_SEARCH = NO
1544 
1545 # When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP
1546 # script for searching. Instead the search results are written to an XML file
1547 # which needs to be processed by an external indexer. Doxygen will invoke an
1548 # external search engine pointed to by the SEARCHENGINE_URL option to obtain the
1549 # search results.
1550 #
1551 # Doxygen ships with an example indexer (doxyindexer) and search engine
1552 # (doxysearch.cgi) which are based on the open source search engine library
1553 # Xapian (see: http://xapian.org/).
1554 #
1555 # See the section "External Indexing and Searching" for details.
1556 # The default value is: NO.
1557 # This tag requires that the tag SEARCHENGINE is set to YES.
1558 
1559 EXTERNAL_SEARCH = NO
1560 
1561 # The SEARCHENGINE_URL should point to a search engine hosted by a web server
1562 # which will return the search results when EXTERNAL_SEARCH is enabled.
1563 #
1564 # Doxygen ships with an example indexer (doxyindexer) and search engine
1565 # (doxysearch.cgi) which are based on the open source search engine library
1566 # Xapian (see: http://xapian.org/). See the section "External Indexing and
1567 # Searching" for details.
1568 # This tag requires that the tag SEARCHENGINE is set to YES.
1569 
1570 SEARCHENGINE_URL =
1571 
1572 # When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
1573 # search data is written to a file for indexing by an external tool. With the
1574 # SEARCHDATA_FILE tag the name of this file can be specified.
1575 # The default file is: searchdata.xml.
1576 # This tag requires that the tag SEARCHENGINE is set to YES.
1577 
1578 SEARCHDATA_FILE = searchdata.xml
1579 
1580 # When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the
1581 # EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
1582 # useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple
1583 # projects and redirect the results back to the right project.
1584 # This tag requires that the tag SEARCHENGINE is set to YES.
1585 
1586 EXTERNAL_SEARCH_ID =
1587 
1588 # The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
1589 # projects other than the one defined by this configuration file, but that are
1590 # all added to the same external search index. Each project needs to have a
1591 # unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of
1592 # to a relative location where the documentation can be found. The format is:
1593 # EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
1594 # This tag requires that the tag SEARCHENGINE is set to YES.
1595 
1596 EXTRA_SEARCH_MAPPINGS =
1597 
1598 #---------------------------------------------------------------------------
1599 # Configuration options related to the LaTeX output
1600 #---------------------------------------------------------------------------
1601 
1602 # If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
1603 # The default value is: YES.
1604 
1605 GENERATE_LATEX = NO
1606 
1607 # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
1608 # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
1609 # it.
1610 # The default directory is: latex.
1611 # This tag requires that the tag GENERATE_LATEX is set to YES.
1612 
1613 LATEX_OUTPUT = latex
1614 
1615 # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
1616 # invoked.
1617 #
1618 # Note that when enabling USE_PDFLATEX this option is only used for generating
1619 # bitmaps for formulas in the HTML output, but not in the Makefile that is
1620 # written to the output directory.
1621 # The default file is: latex.
1622 # This tag requires that the tag GENERATE_LATEX is set to YES.
1623 
1624 LATEX_CMD_NAME = latex
1625 
1626 # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
1627 # index for LaTeX.
1628 # The default file is: makeindex.
1629 # This tag requires that the tag GENERATE_LATEX is set to YES.
1630 
1631 MAKEINDEX_CMD_NAME = makeindex
1632 
1633 # If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX
1634 # documents. This may be useful for small projects and may help to save some
1635 # trees in general.
1636 # The default value is: NO.
1637 # This tag requires that the tag GENERATE_LATEX is set to YES.
1638 
1639 COMPACT_LATEX = NO
1640 
1641 # The PAPER_TYPE tag can be used to set the paper type that is used by the
1642 # printer.
1643 # Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x
1644 # 14 inches) and executive (7.25 x 10.5 inches).
1645 # The default value is: a4.
1646 # This tag requires that the tag GENERATE_LATEX is set to YES.
1647 
1648 PAPER_TYPE = a4wide
1649 
1650 # The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
1651 # that should be included in the LaTeX output. The package can be specified just
1652 # by its name or with the correct syntax as to be used with the LaTeX
1653 # \usepackage command. To get the times font for instance you can specify :
1654 # EXTRA_PACKAGES=times or EXTRA_PACKAGES={times}
1655 # To use the option intlimits with the amsmath package you can specify:
1656 # EXTRA_PACKAGES=[intlimits]{amsmath}
1657 # If left blank no extra packages will be included.
1658 # This tag requires that the tag GENERATE_LATEX is set to YES.
1659 
1660 EXTRA_PACKAGES =
1661 
1662 # The LATEX_HEADER tag can be used to specify a personal LaTeX header for the
1663 # generated LaTeX document. The header should contain everything until the first
1664 # chapter. If it is left blank doxygen will generate a standard header. See
1665 # section "Doxygen usage" for information on how to let doxygen write the
1666 # default header to a separate file.
1667 #
1668 # Note: Only use a user-defined header if you know what you are doing! The
1669 # following commands have a special meaning inside the header: $title,
1670 # $datetime, $date, $doxygenversion, $projectname, $projectnumber,
1671 # $projectbrief, $projectlogo. Doxygen will replace $title with the empty
1672 # string, for the replacement values of the other commands the user is referred
1673 # to HTML_HEADER.
1674 # This tag requires that the tag GENERATE_LATEX is set to YES.
1675 
1676 LATEX_HEADER =
1677 
1678 # The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the
1679 # generated LaTeX document. The footer should contain everything after the last
1680 # chapter. If it is left blank doxygen will generate a standard footer. See
1681 # LATEX_HEADER for more information on how to generate a default footer and what
1682 # special commands can be used inside the footer.
1683 #
1684 # Note: Only use a user-defined footer if you know what you are doing!
1685 # This tag requires that the tag GENERATE_LATEX is set to YES.
1686 
1687 LATEX_FOOTER =
1688 
1689 # The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined
1690 # LaTeX style sheets that are included after the standard style sheets created
1691 # by doxygen. Using this option one can overrule certain style aspects. Doxygen
1692 # will copy the style sheet files to the output directory.
1693 # Note: The order of the extra style sheet files is of importance (e.g. the last
1694 # style sheet in the list overrules the setting of the previous ones in the
1695 # list).
1696 # This tag requires that the tag GENERATE_LATEX is set to YES.
1697 
1698 LATEX_EXTRA_STYLESHEET =
1699 
1700 # The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
1701 # other source files which should be copied to the LATEX_OUTPUT output
1702 # directory. Note that the files will be copied as-is; there are no commands or
1703 # markers available.
1704 # This tag requires that the tag GENERATE_LATEX is set to YES.
1705 
1706 LATEX_EXTRA_FILES =
1707 
1708 # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is
1709 # prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will
1710 # contain links (just like the HTML output) instead of page references. This
1711 # makes the output suitable for online browsing using a PDF viewer.
1712 # The default value is: YES.
1713 # This tag requires that the tag GENERATE_LATEX is set to YES.
1714 
1715 PDF_HYPERLINKS = NO
1716 
1717 # If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
1718 # the PDF file directly from the LaTeX files. Set this option to YES, to get a
1719 # higher quality PDF documentation.
1720 # The default value is: YES.
1721 # This tag requires that the tag GENERATE_LATEX is set to YES.
1722 
1723 USE_PDFLATEX = YES
1724 
1725 # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode
1726 # command to the generated LaTeX files. This will instruct LaTeX to keep running
1727 # if errors occur, instead of asking the user for help. This option is also used
1728 # when generating formulas in HTML.
1729 # The default value is: NO.
1730 # This tag requires that the tag GENERATE_LATEX is set to YES.
1731 
1732 LATEX_BATCHMODE = NO
1733 
1734 # If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the
1735 # index chapters (such as File Index, Compound Index, etc.) in the output.
1736 # The default value is: NO.
1737 # This tag requires that the tag GENERATE_LATEX is set to YES.
1738 
1739 LATEX_HIDE_INDICES = NO
1740 
1741 # If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source
1742 # code with syntax highlighting in the LaTeX output.
1743 #
1744 # Note that which sources are shown also depends on other settings such as
1745 # SOURCE_BROWSER.
1746 # The default value is: NO.
1747 # This tag requires that the tag GENERATE_LATEX is set to YES.
1748 
1749 LATEX_SOURCE_CODE = NO
1750 
1751 # The LATEX_BIB_STYLE tag can be used to specify the style to use for the
1752 # bibliography, e.g. plainnat, or ieeetr. See
1753 # http://en.wikipedia.org/wiki/BibTeX and \cite for more info.
1754 # The default value is: plain.
1755 # This tag requires that the tag GENERATE_LATEX is set to YES.
1756 
1757 LATEX_BIB_STYLE = plain
1758 
1759 #---------------------------------------------------------------------------
1760 # Configuration options related to the RTF output
1761 #---------------------------------------------------------------------------
1762 
1763 # If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The
1764 # RTF output is optimized for Word 97 and may not look too pretty with other RTF
1765 # readers/editors.
1766 # The default value is: NO.
1767 
1768 GENERATE_RTF = NO
1769 
1770 # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a
1771 # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
1772 # it.
1773 # The default directory is: rtf.
1774 # This tag requires that the tag GENERATE_RTF is set to YES.
1775 
1776 RTF_OUTPUT = glm.rtf
1777 
1778 # If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF
1779 # documents. This may be useful for small projects and may help to save some
1780 # trees in general.
1781 # The default value is: NO.
1782 # This tag requires that the tag GENERATE_RTF is set to YES.
1783 
1784 COMPACT_RTF = NO
1785 
1786 # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will
1787 # contain hyperlink fields. The RTF file will contain links (just like the HTML
1788 # output) instead of page references. This makes the output suitable for online
1789 # browsing using Word or some other Word compatible readers that support those
1790 # fields.
1791 #
1792 # Note: WordPad (write) and others do not support links.
1793 # The default value is: NO.
1794 # This tag requires that the tag GENERATE_RTF is set to YES.
1795 
1796 RTF_HYPERLINKS = YES
1797 
1798 # Load stylesheet definitions from file. Syntax is similar to doxygen's config
1799 # file, i.e. a series of assignments. You only have to provide replacements,
1800 # missing definitions are set to their default value.
1801 #
1802 # See also section "Doxygen usage" for information on how to generate the
1803 # default style sheet that doxygen normally uses.
1804 # This tag requires that the tag GENERATE_RTF is set to YES.
1805 
1806 RTF_STYLESHEET_FILE =
1807 
1808 # Set optional variables used in the generation of an RTF document. Syntax is
1809 # similar to doxygen's config file. A template extensions file can be generated
1810 # using doxygen -e rtf extensionFile.
1811 # This tag requires that the tag GENERATE_RTF is set to YES.
1812 
1813 RTF_EXTENSIONS_FILE =
1814 
1815 # If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code
1816 # with syntax highlighting in the RTF output.
1817 #
1818 # Note that which sources are shown also depends on other settings such as
1819 # SOURCE_BROWSER.
1820 # The default value is: NO.
1821 # This tag requires that the tag GENERATE_RTF is set to YES.
1822 
1823 RTF_SOURCE_CODE = NO
1824 
1825 #---------------------------------------------------------------------------
1826 # Configuration options related to the man page output
1827 #---------------------------------------------------------------------------
1828 
1829 # If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for
1830 # classes and files.
1831 # The default value is: NO.
1832 
1833 GENERATE_MAN = NO
1834 
1835 # The MAN_OUTPUT tag is used to specify where the man pages will be put. If a
1836 # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
1837 # it. A directory man3 will be created inside the directory specified by
1838 # MAN_OUTPUT.
1839 # The default directory is: man.
1840 # This tag requires that the tag GENERATE_MAN is set to YES.
1841 
1842 MAN_OUTPUT = man
1843 
1844 # The MAN_EXTENSION tag determines the extension that is added to the generated
1845 # man pages. In case the manual section does not start with a number, the number
1846 # 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is
1847 # optional.
1848 # The default value is: .3.
1849 # This tag requires that the tag GENERATE_MAN is set to YES.
1850 
1851 MAN_EXTENSION = .3
1852 
1853 # The MAN_SUBDIR tag determines the name of the directory created within
1854 # MAN_OUTPUT in which the man pages are placed. If defaults to man followed by
1855 # MAN_EXTENSION with the initial . removed.
1856 # This tag requires that the tag GENERATE_MAN is set to YES.
1857 
1858 MAN_SUBDIR =
1859 
1860 # If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
1861 # will generate one additional man file for each entity documented in the real
1862 # man page(s). These additional files only source the real man page, but without
1863 # them the man command would be unable to find the correct page.
1864 # The default value is: NO.
1865 # This tag requires that the tag GENERATE_MAN is set to YES.
1866 
1867 MAN_LINKS = NO
1868 
1869 #---------------------------------------------------------------------------
1870 # Configuration options related to the XML output
1871 #---------------------------------------------------------------------------
1872 
1873 # If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that
1874 # captures the structure of the code including all documentation.
1875 # The default value is: NO.
1876 
1877 GENERATE_XML = NO
1878 
1879 # The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
1880 # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
1881 # it.
1882 # The default directory is: xml.
1883 # This tag requires that the tag GENERATE_XML is set to YES.
1884 
1885 XML_OUTPUT = xml
1886 
1887 # If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program
1888 # listings (including syntax highlighting and cross-referencing information) to
1889 # the XML output. Note that enabling this will significantly increase the size
1890 # of the XML output.
1891 # The default value is: YES.
1892 # This tag requires that the tag GENERATE_XML is set to YES.
1893 
1894 XML_PROGRAMLISTING = YES
1895 
1896 #---------------------------------------------------------------------------
1897 # Configuration options related to the DOCBOOK output
1898 #---------------------------------------------------------------------------
1899 
1900 # If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files
1901 # that can be used to generate PDF.
1902 # The default value is: NO.
1903 
1904 GENERATE_DOCBOOK = NO
1905 
1906 # The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put.
1907 # If a relative path is entered the value of OUTPUT_DIRECTORY will be put in
1908 # front of it.
1909 # The default directory is: docbook.
1910 # This tag requires that the tag GENERATE_DOCBOOK is set to YES.
1911 
1912 DOCBOOK_OUTPUT = docbook
1913 
1914 # If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the
1915 # program listings (including syntax highlighting and cross-referencing
1916 # information) to the DOCBOOK output. Note that enabling this will significantly
1917 # increase the size of the DOCBOOK output.
1918 # The default value is: NO.
1919 # This tag requires that the tag GENERATE_DOCBOOK is set to YES.
1920 
1921 DOCBOOK_PROGRAMLISTING = NO
1922 
1923 #---------------------------------------------------------------------------
1924 # Configuration options for the AutoGen Definitions output
1925 #---------------------------------------------------------------------------
1926 
1927 # If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an
1928 # AutoGen Definitions (see http://autogen.sf.net) file that captures the
1929 # structure of the code including all documentation. Note that this feature is
1930 # still experimental and incomplete at the moment.
1931 # The default value is: NO.
1932 
1933 GENERATE_AUTOGEN_DEF = NO
1934 
1935 #---------------------------------------------------------------------------
1936 # Configuration options related to the Perl module output
1937 #---------------------------------------------------------------------------
1938 
1939 # If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module
1940 # file that captures the structure of the code including all documentation.
1941 #
1942 # Note that this feature is still experimental and incomplete at the moment.
1943 # The default value is: NO.
1944 
1945 GENERATE_PERLMOD = NO
1946 
1947 # If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary
1948 # Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI
1949 # output from the Perl module output.
1950 # The default value is: NO.
1951 # This tag requires that the tag GENERATE_PERLMOD is set to YES.
1952 
1953 PERLMOD_LATEX = NO
1954 
1955 # If the PERLMOD_PRETTY tag is set to YES, the Perl module output will be nicely
1956 # formatted so it can be parsed by a human reader. This is useful if you want to
1957 # understand what is going on. On the other hand, if this tag is set to NO, the
1958 # size of the Perl module output will be much smaller and Perl will parse it
1959 # just the same.
1960 # The default value is: YES.
1961 # This tag requires that the tag GENERATE_PERLMOD is set to YES.
1962 
1963 PERLMOD_PRETTY = YES
1964 
1965 # The names of the make variables in the generated doxyrules.make file are
1966 # prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful
1967 # so different doxyrules.make files included by the same Makefile don't
1968 # overwrite each other's variables.
1969 # This tag requires that the tag GENERATE_PERLMOD is set to YES.
1970 
1971 PERLMOD_MAKEVAR_PREFIX =
1972 
1973 #---------------------------------------------------------------------------
1974 # Configuration options related to the preprocessor
1975 #---------------------------------------------------------------------------
1976 
1977 # If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all
1978 # C-preprocessor directives found in the sources and include files.
1979 # The default value is: YES.
1980 
1981 ENABLE_PREPROCESSING = YES
1982 
1983 # If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names
1984 # in the source code. If set to NO, only conditional compilation will be
1985 # performed. Macro expansion can be done in a controlled way by setting
1986 # EXPAND_ONLY_PREDEF to YES.
1987 # The default value is: NO.
1988 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
1989 
1990 MACRO_EXPANSION = NO
1991 
1992 # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then
1993 # the macro expansion is limited to the macros specified with the PREDEFINED and
1994 # EXPAND_AS_DEFINED tags.
1995 # The default value is: NO.
1996 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
1997 
1998 EXPAND_ONLY_PREDEF = NO
1999 
2000 # If the SEARCH_INCLUDES tag is set to YES, the include files in the
2001 # INCLUDE_PATH will be searched if a #include is found.
2002 # The default value is: YES.
2003 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
2004 
2005 SEARCH_INCLUDES = YES
2006 
2007 # The INCLUDE_PATH tag can be used to specify one or more directories that
2008 # contain include files that are not input files but should be processed by the
2009 # preprocessor.
2010 # This tag requires that the tag SEARCH_INCLUDES is set to YES.
2011 
2012 INCLUDE_PATH =
2013 
2014 # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
2015 # patterns (like *.h and *.hpp) to filter out the header-files in the
2016 # directories. If left blank, the patterns specified with FILE_PATTERNS will be
2017 # used.
2018 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
2019 
2020 INCLUDE_FILE_PATTERNS =
2021 
2022 # The PREDEFINED tag can be used to specify one or more macro names that are
2023 # defined before the preprocessor is started (similar to the -D option of e.g.
2024 # gcc). The argument of the tag is a list of macros of the form: name or
2025 # name=definition (no spaces). If the definition and the "=" are omitted, "=1"
2026 # is assumed. To prevent a macro definition from being undefined via #undef or
2027 # recursively expanded use the := operator instead of the = operator.
2028 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
2029 
2030 PREDEFINED =
2031 
2032 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
2033 # tag can be used to specify a list of macro names that should be expanded. The
2034 # macro definition that is found in the sources will be used. Use the PREDEFINED
2035 # tag if you want to use a different macro definition that overrules the
2036 # definition found in the source code.
2037 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
2038 
2039 EXPAND_AS_DEFINED =
2040 
2041 # If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
2042 # remove all references to function-like macros that are alone on a line, have
2043 # an all uppercase name, and do not end with a semicolon. Such function macros
2044 # are typically used for boiler-plate code, and will confuse the parser if not
2045 # removed.
2046 # The default value is: YES.
2047 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
2048 
2049 SKIP_FUNCTION_MACROS = YES
2050 
2051 #---------------------------------------------------------------------------
2052 # Configuration options related to external references
2053 #---------------------------------------------------------------------------
2054 
2055 # The TAGFILES tag can be used to specify one or more tag files. For each tag
2056 # file the location of the external documentation should be added. The format of
2057 # a tag file without this location is as follows:
2058 # TAGFILES = file1 file2 ...
2059 # Adding location for the tag files is done as follows:
2060 # TAGFILES = file1=loc1 "file2 = loc2" ...
2061 # where loc1 and loc2 can be relative or absolute paths or URLs. See the
2062 # section "Linking to external documentation" for more information about the use
2063 # of tag files.
2064 # Note: Each tag file must have a unique name (where the name does NOT include
2065 # the path). If a tag file is not located in the directory in which doxygen is
2066 # run, you must also specify the path to the tagfile here.
2067 
2068 TAGFILES =
2069 
2070 # When a file name is specified after GENERATE_TAGFILE, doxygen will create a
2071 # tag file that is based on the input files it reads. See section "Linking to
2072 # external documentation" for more information about the usage of tag files.
2073 
2074 GENERATE_TAGFILE =
2075 
2076 # If the ALLEXTERNALS tag is set to YES, all external class will be listed in
2077 # the class index. If set to NO, only the inherited external classes will be
2078 # listed.
2079 # The default value is: NO.
2080 
2081 ALLEXTERNALS = NO
2082 
2083 # If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed
2084 # in the modules index. If set to NO, only the current project's groups will be
2085 # listed.
2086 # The default value is: YES.
2087 
2088 EXTERNAL_GROUPS = YES
2089 
2090 # If the EXTERNAL_PAGES tag is set to YES, all external pages will be listed in
2091 # the related pages index. If set to NO, only the current project's pages will
2092 # be listed.
2093 # The default value is: YES.
2094 
2095 EXTERNAL_PAGES = YES
2096 
2097 # The PERL_PATH should be the absolute path and name of the perl script
2098 # interpreter (i.e. the result of 'which perl').
2099 # The default file (with absolute path) is: /usr/bin/perl.
2100 
2101 PERL_PATH = /usr/bin/perl
2102 
2103 #---------------------------------------------------------------------------
2104 # Configuration options related to the dot tool
2105 #---------------------------------------------------------------------------
2106 
2107 # If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram
2108 # (in HTML and LaTeX) for classes with base or super classes. Setting the tag to
2109 # NO turns the diagrams off. Note that this option also works with HAVE_DOT
2110 # disabled, but it is recommended to install and use dot, since it yields more
2111 # powerful graphs.
2112 # The default value is: YES.
2113 
2114 CLASS_DIAGRAMS = YES
2115 
2116 # You can define message sequence charts within doxygen comments using the \msc
2117 # command. Doxygen will then run the mscgen tool (see:
2118 # http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the
2119 # documentation. The MSCGEN_PATH tag allows you to specify the directory where
2120 # the mscgen tool resides. If left empty the tool is assumed to be found in the
2121 # default search path.
2122 
2123 MSCGEN_PATH =
2124 
2125 # You can include diagrams made with dia in doxygen documentation. Doxygen will
2126 # then run dia to produce the diagram and insert it in the documentation. The
2127 # DIA_PATH tag allows you to specify the directory where the dia binary resides.
2128 # If left empty dia is assumed to be found in the default search path.
2129 
2130 DIA_PATH =
2131 
2132 # If set to YES the inheritance and collaboration graphs will hide inheritance
2133 # and usage relations if the target is undocumented or is not a class.
2134 # The default value is: YES.
2135 
2136 HIDE_UNDOC_RELATIONS = YES
2137 
2138 # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
2139 # available from the path. This tool is part of Graphviz (see:
2140 # http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
2141 # Bell Labs. The other options in this section have no effect if this option is
2142 # set to NO
2143 # The default value is: NO.
2144 
2145 HAVE_DOT = NO
2146 
2147 # The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed
2148 # to run in parallel. When set to 0 doxygen will base this on the number of
2149 # processors available in the system. You can set it explicitly to a value
2150 # larger than 0 to get control over the balance between CPU load and processing
2151 # speed.
2152 # Minimum value: 0, maximum value: 32, default value: 0.
2153 # This tag requires that the tag HAVE_DOT is set to YES.
2154 
2155 DOT_NUM_THREADS = 0
2156 
2157 # When you want a differently looking font in the dot files that doxygen
2158 # generates you can specify the font name using DOT_FONTNAME. You need to make
2159 # sure dot is able to find the font, which can be done by putting it in a
2160 # standard location or by setting the DOTFONTPATH environment variable or by
2161 # setting DOT_FONTPATH to the directory containing the font.
2162 # The default value is: Helvetica.
2163 # This tag requires that the tag HAVE_DOT is set to YES.
2164 
2165 DOT_FONTNAME = Helvetica
2166 
2167 # The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
2168 # dot graphs.
2169 # Minimum value: 4, maximum value: 24, default value: 10.
2170 # This tag requires that the tag HAVE_DOT is set to YES.
2171 
2172 DOT_FONTSIZE = 10
2173 
2174 # By default doxygen will tell dot to use the default font as specified with
2175 # DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set
2176 # the path where dot can find it using this tag.
2177 # This tag requires that the tag HAVE_DOT is set to YES.
2178 
2179 DOT_FONTPATH =
2180 
2181 # If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for
2182 # each documented class showing the direct and indirect inheritance relations.
2183 # Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO.
2184 # The default value is: YES.
2185 # This tag requires that the tag HAVE_DOT is set to YES.
2186 
2187 CLASS_GRAPH = YES
2188 
2189 # If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a
2190 # graph for each documented class showing the direct and indirect implementation
2191 # dependencies (inheritance, containment, and class references variables) of the
2192 # class with other documented classes.
2193 # The default value is: YES.
2194 # This tag requires that the tag HAVE_DOT is set to YES.
2195 
2196 COLLABORATION_GRAPH = YES
2197 
2198 # If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
2199 # groups, showing the direct groups dependencies.
2200 # The default value is: YES.
2201 # This tag requires that the tag HAVE_DOT is set to YES.
2202 
2203 GROUP_GRAPHS = YES
2204 
2205 # If the UML_LOOK tag is set to YES, doxygen will generate inheritance and
2206 # collaboration diagrams in a style similar to the OMG's Unified Modeling
2207 # Language.
2208 # The default value is: NO.
2209 # This tag requires that the tag HAVE_DOT is set to YES.
2210 
2211 UML_LOOK = NO
2212 
2213 # If the UML_LOOK tag is enabled, the fields and methods are shown inside the
2214 # class node. If there are many fields or methods and many nodes the graph may
2215 # become too big to be useful. The UML_LIMIT_NUM_FIELDS threshold limits the
2216 # number of items for each type to make the size more manageable. Set this to 0
2217 # for no limit. Note that the threshold may be exceeded by 50% before the limit
2218 # is enforced. So when you set the threshold to 10, up to 15 fields may appear,
2219 # but if the number exceeds 15, the total amount of fields shown is limited to
2220 # 10.
2221 # Minimum value: 0, maximum value: 100, default value: 10.
2222 # This tag requires that the tag HAVE_DOT is set to YES.
2223 
2224 UML_LIMIT_NUM_FIELDS = 10
2225 
2226 # If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and
2227 # collaboration graphs will show the relations between templates and their
2228 # instances.
2229 # The default value is: NO.
2230 # This tag requires that the tag HAVE_DOT is set to YES.
2231 
2232 TEMPLATE_RELATIONS = NO
2233 
2234 # If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to
2235 # YES then doxygen will generate a graph for each documented file showing the
2236 # direct and indirect include dependencies of the file with other documented
2237 # files.
2238 # The default value is: YES.
2239 # This tag requires that the tag HAVE_DOT is set to YES.
2240 
2241 INCLUDE_GRAPH = YES
2242 
2243 # If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are
2244 # set to YES then doxygen will generate a graph for each documented file showing
2245 # the direct and indirect include dependencies of the file with other documented
2246 # files.
2247 # The default value is: YES.
2248 # This tag requires that the tag HAVE_DOT is set to YES.
2249 
2250 INCLUDED_BY_GRAPH = YES
2251 
2252 # If the CALL_GRAPH tag is set to YES then doxygen will generate a call
2253 # dependency graph for every global function or class method.
2254 #
2255 # Note that enabling this option will significantly increase the time of a run.
2256 # So in most cases it will be better to enable call graphs for selected
2257 # functions only using the \callgraph command. Disabling a call graph can be
2258 # accomplished by means of the command \hidecallgraph.
2259 # The default value is: NO.
2260 # This tag requires that the tag HAVE_DOT is set to YES.
2261 
2262 CALL_GRAPH = YES
2263 
2264 # If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller
2265 # dependency graph for every global function or class method.
2266 #
2267 # Note that enabling this option will significantly increase the time of a run.
2268 # So in most cases it will be better to enable caller graphs for selected
2269 # functions only using the \callergraph command. Disabling a caller graph can be
2270 # accomplished by means of the command \hidecallergraph.
2271 # The default value is: NO.
2272 # This tag requires that the tag HAVE_DOT is set to YES.
2273 
2274 CALLER_GRAPH = YES
2275 
2276 # If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical
2277 # hierarchy of all classes instead of a textual one.
2278 # The default value is: YES.
2279 # This tag requires that the tag HAVE_DOT is set to YES.
2280 
2281 GRAPHICAL_HIERARCHY = YES
2282 
2283 # If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the
2284 # dependencies a directory has on other directories in a graphical way. The
2285 # dependency relations are determined by the #include relations between the
2286 # files in the directories.
2287 # The default value is: YES.
2288 # This tag requires that the tag HAVE_DOT is set to YES.
2289 
2290 DIRECTORY_GRAPH = YES
2291 
2292 # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
2293 # generated by dot. For an explanation of the image formats see the section
2294 # output formats in the documentation of the dot tool (Graphviz (see:
2295 # http://www.graphviz.org/)).
2296 # Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
2297 # to make the SVG files visible in IE 9+ (other browsers do not have this
2298 # requirement).
2299 # Possible values are: png, jpg, gif, svg, png:gd, png:gd:gd, png:cairo,
2300 # png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and
2301 # png:gdiplus:gdiplus.
2302 # The default value is: png.
2303 # This tag requires that the tag HAVE_DOT is set to YES.
2304 
2305 DOT_IMAGE_FORMAT = png
2306 
2307 # If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
2308 # enable generation of interactive SVG images that allow zooming and panning.
2309 #
2310 # Note that this requires a modern browser other than Internet Explorer. Tested
2311 # and working are Firefox, Chrome, Safari, and Opera.
2312 # Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make
2313 # the SVG files visible. Older versions of IE do not have SVG support.
2314 # The default value is: NO.
2315 # This tag requires that the tag HAVE_DOT is set to YES.
2316 
2317 INTERACTIVE_SVG = NO
2318 
2319 # The DOT_PATH tag can be used to specify the path where the dot tool can be
2320 # found. If left blank, it is assumed the dot tool can be found in the path.
2321 # This tag requires that the tag HAVE_DOT is set to YES.
2322 
2323 DOT_PATH =
2324 
2325 # The DOTFILE_DIRS tag can be used to specify one or more directories that
2326 # contain dot files that are included in the documentation (see the \dotfile
2327 # command).
2328 # This tag requires that the tag HAVE_DOT is set to YES.
2329 
2330 DOTFILE_DIRS =
2331 
2332 # The MSCFILE_DIRS tag can be used to specify one or more directories that
2333 # contain msc files that are included in the documentation (see the \mscfile
2334 # command).
2335 
2336 MSCFILE_DIRS =
2337 
2338 # The DIAFILE_DIRS tag can be used to specify one or more directories that
2339 # contain dia files that are included in the documentation (see the \diafile
2340 # command).
2341 
2342 DIAFILE_DIRS =
2343 
2344 # When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the
2345 # path where java can find the plantuml.jar file. If left blank, it is assumed
2346 # PlantUML is not used or called during a preprocessing step. Doxygen will
2347 # generate a warning when it encounters a \startuml command in this case and
2348 # will not generate output for the diagram.
2349 
2350 PLANTUML_JAR_PATH =
2351 
2352 # When using plantuml, the specified paths are searched for files specified by
2353 # the !include statement in a plantuml block.
2354 
2355 PLANTUML_INCLUDE_PATH =
2356 
2357 # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
2358 # that will be shown in the graph. If the number of nodes in a graph becomes
2359 # larger than this value, doxygen will truncate the graph, which is visualized
2360 # by representing a node as a red box. Note that doxygen if the number of direct
2361 # children of the root node in a graph is already larger than
2362 # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that
2363 # the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
2364 # Minimum value: 0, maximum value: 10000, default value: 50.
2365 # This tag requires that the tag HAVE_DOT is set to YES.
2366 
2367 DOT_GRAPH_MAX_NODES = 50
2368 
2369 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs
2370 # generated by dot. A depth value of 3 means that only nodes reachable from the
2371 # root by following a path via at most 3 edges will be shown. Nodes that lay
2372 # further from the root node will be omitted. Note that setting this option to 1
2373 # or 2 may greatly reduce the computation time needed for large code bases. Also
2374 # note that the size of a graph can be further restricted by
2375 # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
2376 # Minimum value: 0, maximum value: 1000, default value: 0.
2377 # This tag requires that the tag HAVE_DOT is set to YES.
2378 
2379 MAX_DOT_GRAPH_DEPTH = 1000
2380 
2381 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
2382 # background. This is disabled by default, because dot on Windows does not seem
2383 # to support this out of the box.
2384 #
2385 # Warning: Depending on the platform used, enabling this option may lead to
2386 # badly anti-aliased labels on the edges of a graph (i.e. they become hard to
2387 # read).
2388 # The default value is: NO.
2389 # This tag requires that the tag HAVE_DOT is set to YES.
2390 
2391 DOT_TRANSPARENT = NO
2392 
2393 # Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output
2394 # files in one run (i.e. multiple -o and -T options on the command line). This
2395 # makes dot run faster, but since only newer versions of dot (>1.8.10) support
2396 # this, this feature is disabled by default.
2397 # The default value is: NO.
2398 # This tag requires that the tag HAVE_DOT is set to YES.
2399 
2400 DOT_MULTI_TARGETS = NO
2401 
2402 # If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page
2403 # explaining the meaning of the various boxes and arrows in the dot generated
2404 # graphs.
2405 # The default value is: YES.
2406 # This tag requires that the tag HAVE_DOT is set to YES.
2407 
2408 GENERATE_LEGEND = YES
2409 
2410 # If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot
2411 # files that are used to generate the various graphs.
2412 # The default value is: YES.
2413 # This tag requires that the tag HAVE_DOT is set to YES.
2414 
2415 DOT_CLEANUP = YES
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00048.html ================================================ 0.9.9 API documentation: mat2x2.hpp File Reference
0.9.9 API documentation
mat2x2.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00048_source.html ================================================ 0.9.9 API documentation: mat2x2.hpp Source File
0.9.9 API documentation
mat2x2.hpp
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00049.html ================================================ 0.9.9 API documentation: mat2x3.hpp File Reference
0.9.9 API documentation
mat2x3.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00049_source.html ================================================ 0.9.9 API documentation: mat2x3.hpp Source File
0.9.9 API documentation
mat2x3.hpp
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00050.html ================================================ 0.9.9 API documentation: mat2x4.hpp File Reference
0.9.9 API documentation
mat2x4.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00050_source.html ================================================ 0.9.9 API documentation: mat2x4.hpp Source File
0.9.9 API documentation
mat2x4.hpp
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00051.html ================================================ 0.9.9 API documentation: mat3x2.hpp File Reference
0.9.9 API documentation
mat3x2.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00051_source.html ================================================ 0.9.9 API documentation: mat3x2.hpp Source File
0.9.9 API documentation
mat3x2.hpp
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00052.html ================================================ 0.9.9 API documentation: mat3x3.hpp File Reference
0.9.9 API documentation
mat3x3.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00052_source.html ================================================ 0.9.9 API documentation: mat3x3.hpp Source File
0.9.9 API documentation
mat3x3.hpp
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00053.html ================================================ 0.9.9 API documentation: mat3x4.hpp File Reference
0.9.9 API documentation
mat3x4.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00053_source.html ================================================ 0.9.9 API documentation: mat3x4.hpp Source File
0.9.9 API documentation
mat3x4.hpp
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00054.html ================================================ 0.9.9 API documentation: mat4x2.hpp File Reference
0.9.9 API documentation
mat4x2.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00054_source.html ================================================ 0.9.9 API documentation: mat4x2.hpp Source File
0.9.9 API documentation
mat4x2.hpp
Go to the documentation of this file.
1 
4 #pragma once
8 #include "./ext/matrix_float4x2_precision.hpp"
9 
Core features
Core features
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00055.html ================================================ 0.9.9 API documentation: mat4x3.hpp File Reference
0.9.9 API documentation
mat4x3.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00055_source.html ================================================ 0.9.9 API documentation: mat4x3.hpp Source File
0.9.9 API documentation
mat4x3.hpp
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00056.html ================================================ 0.9.9 API documentation: mat4x4.hpp File Reference
0.9.9 API documentation
mat4x4.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00056_source.html ================================================ 0.9.9 API documentation: mat4x4.hpp Source File
0.9.9 API documentation
mat4x4.hpp
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00057.html ================================================ 0.9.9 API documentation: matrix.hpp File Reference
0.9.9 API documentation
matrix.hpp File Reference

Core features More...

Go to the source code of this file.

Functions

template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL T determinant (mat< C, R, T, Q > const &m)
 Return the determinant of a squared matrix. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL mat< C, R, T, Q > inverse (mat< C, R, T, Q > const &m)
 Return the inverse of a squared matrix. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL mat< C, R, T, Q > matrixCompMult (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y)
 Multiply matrix x by matrix y component-wise, i.e., result[i][j] is the scalar product of x[i][j] and y[i][j]. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL detail::outerProduct_trait< C, R, T, Q >::type outerProduct (vec< C, T, Q > const &c, vec< R, T, Q > const &r)
 Treats the first parameter c as a column vector and the second parameter r as a row vector and does a linear algebraic matrix multiply c * r. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL mat< C, R, T, Q >::transpose_type transpose (mat< C, R, T, Q > const &x)
 Returns the transposed matrix of x. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00057_source.html ================================================ 0.9.9 API documentation: matrix.hpp Source File
0.9.9 API documentation
matrix.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependencies
16 #include "detail/qualifier.hpp"
17 #include "detail/setup.hpp"
18 #include "vec2.hpp"
19 #include "vec3.hpp"
20 #include "vec4.hpp"
21 #include "mat2x2.hpp"
22 #include "mat2x3.hpp"
23 #include "mat2x4.hpp"
24 #include "mat3x2.hpp"
25 #include "mat3x3.hpp"
26 #include "mat3x4.hpp"
27 #include "mat4x2.hpp"
28 #include "mat4x3.hpp"
29 #include "mat4x4.hpp"
30 
31 namespace glm {
32 namespace detail
33 {
34  template<length_t C, length_t R, typename T, qualifier Q>
35  struct outerProduct_trait{};
36 
37  template<typename T, qualifier Q>
38  struct outerProduct_trait<2, 2, T, Q>
39  {
40  typedef mat<2, 2, T, Q> type;
41  };
42 
43  template<typename T, qualifier Q>
44  struct outerProduct_trait<2, 3, T, Q>
45  {
46  typedef mat<3, 2, T, Q> type;
47  };
48 
49  template<typename T, qualifier Q>
50  struct outerProduct_trait<2, 4, T, Q>
51  {
52  typedef mat<4, 2, T, Q> type;
53  };
54 
55  template<typename T, qualifier Q>
56  struct outerProduct_trait<3, 2, T, Q>
57  {
58  typedef mat<2, 3, T, Q> type;
59  };
60 
61  template<typename T, qualifier Q>
62  struct outerProduct_trait<3, 3, T, Q>
63  {
64  typedef mat<3, 3, T, Q> type;
65  };
66 
67  template<typename T, qualifier Q>
68  struct outerProduct_trait<3, 4, T, Q>
69  {
70  typedef mat<4, 3, T, Q> type;
71  };
72 
73  template<typename T, qualifier Q>
74  struct outerProduct_trait<4, 2, T, Q>
75  {
76  typedef mat<2, 4, T, Q> type;
77  };
78 
79  template<typename T, qualifier Q>
80  struct outerProduct_trait<4, 3, T, Q>
81  {
82  typedef mat<3, 4, T, Q> type;
83  };
84 
85  template<typename T, qualifier Q>
86  struct outerProduct_trait<4, 4, T, Q>
87  {
88  typedef mat<4, 4, T, Q> type;
89  };
90 }//namespace detail
91 
94 
105  template<length_t C, length_t R, typename T, qualifier Q>
106  GLM_FUNC_DECL mat<C, R, T, Q> matrixCompMult(mat<C, R, T, Q> const& x, mat<C, R, T, Q> const& y);
107 
119  template<length_t C, length_t R, typename T, qualifier Q>
120  GLM_FUNC_DECL typename detail::outerProduct_trait<C, R, T, Q>::type outerProduct(vec<C, T, Q> const& c, vec<R, T, Q> const& r);
121 
131  template<length_t C, length_t R, typename T, qualifier Q>
132  GLM_FUNC_DECL typename mat<C, R, T, Q>::transpose_type transpose(mat<C, R, T, Q> const& x);
133 
143  template<length_t C, length_t R, typename T, qualifier Q>
144  GLM_FUNC_DECL T determinant(mat<C, R, T, Q> const& m);
145 
155  template<length_t C, length_t R, typename T, qualifier Q>
156  GLM_FUNC_DECL mat<C, R, T, Q> inverse(mat<C, R, T, Q> const& m);
157 
159 }//namespace glm
160 
161 #include "detail/func_matrix.inl"
GLM_FUNC_DECL mat< C, R, T, Q > matrixCompMult(mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y)
Multiply matrix x by matrix y component-wise, i.e., result[i][j] is the scalar product of x[i][j] and...
Core features
GLM_FUNC_DECL T determinant(mat< C, R, T, Q > const &m)
Return the determinant of a squared matrix.
Core features
GLM_FUNC_DECL detail::outerProduct_trait< C, R, T, Q >::type outerProduct(vec< C, T, Q > const &c, vec< R, T, Q > const &r)
Treats the first parameter c as a column vector and the second parameter r as a row vector and does a...
Core features
Core features
GLM_FUNC_DECL mat< C, R, T, Q >::transpose_type transpose(mat< C, R, T, Q > const &x)
Returns the transposed matrix of x.
Core features
Core features
Core features
Core features
GLM_FUNC_DECL mat< C, R, T, Q > inverse(mat< C, R, T, Q > const &m)
Return the inverse of a squared matrix.
Core features
Core features
Core features
Core features
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00058.html ================================================ 0.9.9 API documentation: matrix_access.hpp File Reference
0.9.9 API documentation
matrix_access.hpp File Reference

GLM_GTC_matrix_access More...

Go to the source code of this file.

Functions

template<typename genType >
GLM_FUNC_DECL genType::col_type column (genType const &m, length_t index)
 Get a specific column of a matrix. More...
 
template<typename genType >
GLM_FUNC_DECL genType column (genType const &m, length_t index, typename genType::col_type const &x)
 Set a specific column to a matrix. More...
 
template<typename genType >
GLM_FUNC_DECL genType::row_type row (genType const &m, length_t index)
 Get a specific row of a matrix. More...
 
template<typename genType >
GLM_FUNC_DECL genType row (genType const &m, length_t index, typename genType::row_type const &x)
 Set a specific row to a matrix. More...
 

Detailed Description

GLM_GTC_matrix_access

See also
Core features (dependence)

Definition in file matrix_access.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00058_source.html ================================================ 0.9.9 API documentation: matrix_access.hpp Source File
0.9.9 API documentation
matrix_access.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependency:
16 #include "../detail/setup.hpp"
17 
18 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
19 # pragma message("GLM: GLM_GTC_matrix_access extension included")
20 #endif
21 
22 namespace glm
23 {
26 
29  template<typename genType>
30  GLM_FUNC_DECL typename genType::row_type row(
31  genType const& m,
32  length_t index);
33 
36  template<typename genType>
37  GLM_FUNC_DECL genType row(
38  genType const& m,
39  length_t index,
40  typename genType::row_type const& x);
41 
44  template<typename genType>
45  GLM_FUNC_DECL typename genType::col_type column(
46  genType const& m,
47  length_t index);
48 
51  template<typename genType>
52  GLM_FUNC_DECL genType column(
53  genType const& m,
54  length_t index,
55  typename genType::col_type const& x);
56 
58 }//namespace glm
59 
60 #include "matrix_access.inl"
GLM_FUNC_DECL genType row(genType const &m, length_t index, typename genType::row_type const &x)
Set a specific row to a matrix.
GLM_FUNC_DECL genType column(genType const &m, length_t index, typename genType::col_type const &x)
Set a specific column to a matrix.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00059.html ================================================ 0.9.9 API documentation: matrix_clip_space.hpp File Reference
0.9.9 API documentation
matrix_clip_space.hpp File Reference

GLM_EXT_matrix_clip_space More...

Go to the source code of this file.

Functions

template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustum (T left, T right, T bottom, T top, T near, T far)
 Creates a frustum matrix with default handedness, using the default handedness and default near and far clip planes definition. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumLH (T left, T right, T bottom, T top, T near, T far)
 Creates a left handed frustum matrix. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumLH_NO (T left, T right, T bottom, T top, T near, T far)
 Creates a left handed frustum matrix. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumLH_ZO (T left, T right, T bottom, T top, T near, T far)
 Creates a left handed frustum matrix. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumNO (T left, T right, T bottom, T top, T near, T far)
 Creates a frustum matrix using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumRH (T left, T right, T bottom, T top, T near, T far)
 Creates a right handed frustum matrix. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumRH_NO (T left, T right, T bottom, T top, T near, T far)
 Creates a right handed frustum matrix. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumRH_ZO (T left, T right, T bottom, T top, T near, T far)
 Creates a right handed frustum matrix. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumZO (T left, T right, T bottom, T top, T near, T far)
 Creates a frustum matrix using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > infinitePerspective (T fovy, T aspect, T near)
 Creates a matrix for a symmetric perspective-view frustum with far plane at infinite with default handedness. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > infinitePerspectiveLH (T fovy, T aspect, T near)
 Creates a matrix for a left handed, symmetric perspective-view frustum with far plane at infinite. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > infinitePerspectiveRH (T fovy, T aspect, T near)
 Creates a matrix for a right handed, symmetric perspective-view frustum with far plane at infinite. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > ortho (T left, T right, T bottom, T top)
 Creates a matrix for projecting two-dimensional coordinates onto the screen. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > ortho (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using the default handedness and default near and far clip planes definition. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoLH (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoLH_NO (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume using right-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoLH_ZO (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoNO (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoRH (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using right-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoRH_NO (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using right-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoRH_ZO (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoZO (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspective (T fovy, T aspect, T near, T far)
 Creates a matrix for a symetric perspective-view frustum based on the default handedness and default near and far clip planes definition. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFov (T fov, T width, T height, T near, T far)
 Builds a perspective projection matrix based on a field of view and the default handedness and default near and far clip planes definition. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovLH (T fov, T width, T height, T near, T far)
 Builds a left handed perspective projection matrix based on a field of view. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovLH_NO (T fov, T width, T height, T near, T far)
 Builds a perspective projection matrix based on a field of view using left-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovLH_ZO (T fov, T width, T height, T near, T far)
 Builds a perspective projection matrix based on a field of view using left-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovNO (T fov, T width, T height, T near, T far)
 Builds a perspective projection matrix based on a field of view using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovRH (T fov, T width, T height, T near, T far)
 Builds a right handed perspective projection matrix based on a field of view. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovRH_NO (T fov, T width, T height, T near, T far)
 Builds a perspective projection matrix based on a field of view using right-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovRH_ZO (T fov, T width, T height, T near, T far)
 Builds a perspective projection matrix based on a field of view using right-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovZO (T fov, T width, T height, T near, T far)
 Builds a perspective projection matrix based on a field of view using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveLH (T fovy, T aspect, T near, T far)
 Creates a matrix for a left handed, symetric perspective-view frustum. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveLH_NO (T fovy, T aspect, T near, T far)
 Creates a matrix for a left handed, symetric perspective-view frustum. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveLH_ZO (T fovy, T aspect, T near, T far)
 Creates a matrix for a left handed, symetric perspective-view frustum. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveNO (T fovy, T aspect, T near, T far)
 Creates a matrix for a symetric perspective-view frustum using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveRH (T fovy, T aspect, T near, T far)
 Creates a matrix for a right handed, symetric perspective-view frustum. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveRH_NO (T fovy, T aspect, T near, T far)
 Creates a matrix for a right handed, symetric perspective-view frustum. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveRH_ZO (T fovy, T aspect, T near, T far)
 Creates a matrix for a right handed, symetric perspective-view frustum. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveZO (T fovy, T aspect, T near, T far)
 Creates a matrix for a symetric perspective-view frustum using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > tweakedInfinitePerspective (T fovy, T aspect, T near)
 Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > tweakedInfinitePerspective (T fovy, T aspect, T near, T ep)
 Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00059_source.html ================================================ 0.9.9 API documentation: matrix_clip_space.hpp Source File
0.9.9 API documentation
matrix_clip_space.hpp
Go to the documentation of this file.
1 
20 #pragma once
21 
22 // Dependencies
23 #include "../ext/scalar_constants.hpp"
24 #include "../geometric.hpp"
25 #include "../trigonometric.hpp"
26 
27 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
28 # pragma message("GLM: GLM_EXT_matrix_clip_space extension included")
29 #endif
30 
31 namespace glm
32 {
35 
42  template<typename T>
43  GLM_FUNC_DECL mat<4, 4, T, defaultp> ortho(
44  T left, T right, T bottom, T top);
45 
52  template<typename T>
53  GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoLH_ZO(
54  T left, T right, T bottom, T top, T zNear, T zFar);
55 
62  template<typename T>
63  GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoLH_NO(
64  T left, T right, T bottom, T top, T zNear, T zFar);
65 
72  template<typename T>
73  GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoRH_ZO(
74  T left, T right, T bottom, T top, T zNear, T zFar);
75 
82  template<typename T>
83  GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoRH_NO(
84  T left, T right, T bottom, T top, T zNear, T zFar);
85 
92  template<typename T>
93  GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoZO(
94  T left, T right, T bottom, T top, T zNear, T zFar);
95 
102  template<typename T>
103  GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoNO(
104  T left, T right, T bottom, T top, T zNear, T zFar);
105 
113  template<typename T>
114  GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoLH(
115  T left, T right, T bottom, T top, T zNear, T zFar);
116 
124  template<typename T>
125  GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoRH(
126  T left, T right, T bottom, T top, T zNear, T zFar);
127 
135  template<typename T>
136  GLM_FUNC_DECL mat<4, 4, T, defaultp> ortho(
137  T left, T right, T bottom, T top, T zNear, T zFar);
138 
143  template<typename T>
144  GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumLH_ZO(
145  T left, T right, T bottom, T top, T near, T far);
146 
151  template<typename T>
152  GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumLH_NO(
153  T left, T right, T bottom, T top, T near, T far);
154 
159  template<typename T>
160  GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumRH_ZO(
161  T left, T right, T bottom, T top, T near, T far);
162 
167  template<typename T>
168  GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumRH_NO(
169  T left, T right, T bottom, T top, T near, T far);
170 
175  template<typename T>
176  GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumZO(
177  T left, T right, T bottom, T top, T near, T far);
178 
183  template<typename T>
184  GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumNO(
185  T left, T right, T bottom, T top, T near, T far);
186 
192  template<typename T>
193  GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumLH(
194  T left, T right, T bottom, T top, T near, T far);
195 
201  template<typename T>
202  GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumRH(
203  T left, T right, T bottom, T top, T near, T far);
204 
210  template<typename T>
211  GLM_FUNC_DECL mat<4, 4, T, defaultp> frustum(
212  T left, T right, T bottom, T top, T near, T far);
213 
214 
224  template<typename T>
225  GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveRH_ZO(
226  T fovy, T aspect, T near, T far);
227 
237  template<typename T>
238  GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveRH_NO(
239  T fovy, T aspect, T near, T far);
240 
250  template<typename T>
251  GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveLH_ZO(
252  T fovy, T aspect, T near, T far);
253 
263  template<typename T>
264  GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveLH_NO(
265  T fovy, T aspect, T near, T far);
266 
276  template<typename T>
277  GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveZO(
278  T fovy, T aspect, T near, T far);
279 
289  template<typename T>
290  GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveNO(
291  T fovy, T aspect, T near, T far);
292 
303  template<typename T>
304  GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveRH(
305  T fovy, T aspect, T near, T far);
306 
317  template<typename T>
318  GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveLH(
319  T fovy, T aspect, T near, T far);
320 
331  template<typename T>
332  GLM_FUNC_DECL mat<4, 4, T, defaultp> perspective(
333  T fovy, T aspect, T near, T far);
334 
345  template<typename T>
346  GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovRH_ZO(
347  T fov, T width, T height, T near, T far);
348 
359  template<typename T>
360  GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovRH_NO(
361  T fov, T width, T height, T near, T far);
362 
373  template<typename T>
374  GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovLH_ZO(
375  T fov, T width, T height, T near, T far);
376 
387  template<typename T>
388  GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovLH_NO(
389  T fov, T width, T height, T near, T far);
390 
401  template<typename T>
402  GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovZO(
403  T fov, T width, T height, T near, T far);
404 
415  template<typename T>
416  GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovNO(
417  T fov, T width, T height, T near, T far);
418 
430  template<typename T>
431  GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovRH(
432  T fov, T width, T height, T near, T far);
433 
445  template<typename T>
446  GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovLH(
447  T fov, T width, T height, T near, T far);
448 
459  template<typename T>
460  GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFov(
461  T fov, T width, T height, T near, T far);
462 
470  template<typename T>
471  GLM_FUNC_DECL mat<4, 4, T, defaultp> infinitePerspectiveLH(
472  T fovy, T aspect, T near);
473 
481  template<typename T>
482  GLM_FUNC_DECL mat<4, 4, T, defaultp> infinitePerspectiveRH(
483  T fovy, T aspect, T near);
484 
492  template<typename T>
493  GLM_FUNC_DECL mat<4, 4, T, defaultp> infinitePerspective(
494  T fovy, T aspect, T near);
495 
503  template<typename T>
504  GLM_FUNC_DECL mat<4, 4, T, defaultp> tweakedInfinitePerspective(
505  T fovy, T aspect, T near);
506 
515  template<typename T>
516  GLM_FUNC_DECL mat<4, 4, T, defaultp> tweakedInfinitePerspective(
517  T fovy, T aspect, T near, T ep);
518 
520 }//namespace glm
521 
522 #include "matrix_clip_space.inl"
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumRH_NO(T left, T right, T bottom, T top, T near, T far)
Creates a right handed frustum matrix.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > infinitePerspective(T fovy, T aspect, T near)
Creates a matrix for a symmetric perspective-view frustum with far plane at infinite with default han...
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoZO(T left, T right, T bottom, T top, T zNear, T zFar)
Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > tweakedInfinitePerspective(T fovy, T aspect, T near, T ep)
Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics har...
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoRH(T left, T right, T bottom, T top, T zNear, T zFar)
Creates a matrix for an orthographic parallel viewing volume, using right-handed coordinates.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovLH(T fov, T width, T height, T near, T far)
Builds a left handed perspective projection matrix based on a field of view.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumLH_ZO(T left, T right, T bottom, T top, T near, T far)
Creates a left handed frustum matrix.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumLH_NO(T left, T right, T bottom, T top, T near, T far)
Creates a left handed frustum matrix.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumNO(T left, T right, T bottom, T top, T near, T far)
Creates a frustum matrix using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-h...
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumRH(T left, T right, T bottom, T top, T near, T far)
Creates a right handed frustum matrix.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumLH(T left, T right, T bottom, T top, T near, T far)
Creates a left handed frustum matrix.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovRH_NO(T fov, T width, T height, T near, T far)
Builds a perspective projection matrix based on a field of view using right-handed coordinates...
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFov(T fov, T width, T height, T near, T far)
Builds a perspective projection matrix based on a field of view and the default handedness and defaul...
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovRH(T fov, T width, T height, T near, T far)
Builds a right handed perspective projection matrix based on a field of view.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumRH_ZO(T left, T right, T bottom, T top, T near, T far)
Creates a right handed frustum matrix.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoLH_ZO(T left, T right, T bottom, T top, T zNear, T zFar)
Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveLH_ZO(T fovy, T aspect, T near, T far)
Creates a matrix for a left handed, symetric perspective-view frustum.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveRH_NO(T fovy, T aspect, T near, T far)
Creates a matrix for a right handed, symetric perspective-view frustum.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoRH_NO(T left, T right, T bottom, T top, T zNear, T zFar)
Creates a matrix for an orthographic parallel viewing volume, using right-handed coordinates.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveLH_NO(T fovy, T aspect, T near, T far)
Creates a matrix for a left handed, symetric perspective-view frustum.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > ortho(T left, T right, T bottom, T top, T zNear, T zFar)
Creates a matrix for an orthographic parallel viewing volume, using the default handedness and defaul...
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovLH_ZO(T fov, T width, T height, T near, T far)
Builds a perspective projection matrix based on a field of view using left-handed coordinates...
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumZO(T left, T right, T bottom, T top, T near, T far)
Creates a frustum matrix using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-h...
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoLH(T left, T right, T bottom, T top, T zNear, T zFar)
Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoNO(T left, T right, T bottom, T top, T zNear, T zFar)
Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates if GLM_FO...
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoLH_NO(T left, T right, T bottom, T top, T zNear, T zFar)
Creates a matrix for an orthographic parallel viewing volume using right-handed coordinates.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovNO(T fov, T width, T height, T near, T far)
Builds a perspective projection matrix based on a field of view using left-handed coordinates if GLM_...
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspective(T fovy, T aspect, T near, T far)
Creates a matrix for a symetric perspective-view frustum based on the default handedness and default ...
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoRH_ZO(T left, T right, T bottom, T top, T zNear, T zFar)
Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovZO(T fov, T width, T height, T near, T far)
Builds a perspective projection matrix based on a field of view using left-handed coordinates if GLM_...
GLM_FUNC_DECL mat< 4, 4, T, defaultp > infinitePerspectiveRH(T fovy, T aspect, T near)
Creates a matrix for a right handed, symmetric perspective-view frustum with far plane at infinite...
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveNO(T fovy, T aspect, T near, T far)
Creates a matrix for a symetric perspective-view frustum using left-handed coordinates if GLM_FORCE_L...
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovLH_NO(T fov, T width, T height, T near, T far)
Builds a perspective projection matrix based on a field of view using left-handed coordinates...
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveRH_ZO(T fovy, T aspect, T near, T far)
Creates a matrix for a right handed, symetric perspective-view frustum.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveZO(T fovy, T aspect, T near, T far)
Creates a matrix for a symetric perspective-view frustum using left-handed coordinates if GLM_FORCE_L...
GLM_FUNC_DECL mat< 4, 4, T, defaultp > infinitePerspectiveLH(T fovy, T aspect, T near)
Creates a matrix for a left handed, symmetric perspective-view frustum with far plane at infinite...
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveLH(T fovy, T aspect, T near, T far)
Creates a matrix for a left handed, symetric perspective-view frustum.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovRH_ZO(T fov, T width, T height, T near, T far)
Builds a perspective projection matrix based on a field of view using right-handed coordinates...
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustum(T left, T right, T bottom, T top, T near, T far)
Creates a frustum matrix with default handedness, using the default handedness and default near and f...
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveRH(T fovy, T aspect, T near, T far)
Creates a matrix for a right handed, symetric perspective-view frustum.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00060.html ================================================ 0.9.9 API documentation: matrix_common.hpp File Reference
0.9.9 API documentation
matrix_common.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00060_source.html ================================================ 0.9.9 API documentation: matrix_common.hpp Source File
0.9.9 API documentation
matrix_common.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 #include "../detail/qualifier.hpp"
16 #include "../detail/_fixes.hpp"
17 
18 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
19 # pragma message("GLM: GLM_EXT_matrix_transform extension included")
20 #endif
21 
22 namespace glm
23 {
26 
27  template<length_t C, length_t R, typename T, typename U, qualifier Q>
28  GLM_FUNC_DECL mat<C, R, T, Q> mix(mat<C, R, T, Q> const& x, mat<C, R, T, Q> const& y, mat<C, R, U, Q> const& a);
29 
30  template<length_t C, length_t R, typename T, typename U, qualifier Q>
31  GLM_FUNC_DECL mat<C, R, T, Q> mix(mat<C, R, T, Q> const& x, mat<C, R, T, Q> const& y, U a);
32 
34 }//namespace glm
35 
36 #include "matrix_common.inl"
GLM_FUNC_DECL genTypeT mix(genTypeT x, genTypeT y, genTypeU a)
If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of ...
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00061.html ================================================ 0.9.9 API documentation: matrix_cross_product.hpp File Reference
0.9.9 API documentation
matrix_cross_product.hpp File Reference

GLM_GTX_matrix_cross_product More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > matrixCross3 (vec< 3, T, Q > const &x)
 Build a cross product matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > matrixCross4 (vec< 3, T, Q > const &x)
 Build a cross product matrix. More...
 

Detailed Description

GLM_GTX_matrix_cross_product

See also
Core features (dependence)
gtx_extented_min_max (dependence)

Definition in file matrix_cross_product.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00061_source.html ================================================ 0.9.9 API documentation: matrix_cross_product.hpp Source File
0.9.9 API documentation
matrix_cross_product.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependency:
17 #include "../glm.hpp"
18 
19 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
20 # ifndef GLM_ENABLE_EXPERIMENTAL
21 # pragma message("GLM: GLM_GTX_matrix_cross_product is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
22 # else
23 # pragma message("GLM: GLM_GTX_matrix_cross_product extension included")
24 # endif
25 #endif
26 
27 namespace glm
28 {
31 
34  template<typename T, qualifier Q>
35  GLM_FUNC_DECL mat<3, 3, T, Q> matrixCross3(
36  vec<3, T, Q> const& x);
37 
40  template<typename T, qualifier Q>
41  GLM_FUNC_DECL mat<4, 4, T, Q> matrixCross4(
42  vec<3, T, Q> const& x);
43 
45 }//namespace glm
46 
47 #include "matrix_cross_product.inl"
GLM_FUNC_DECL mat< 4, 4, T, Q > matrixCross4(vec< 3, T, Q > const &x)
Build a cross product matrix.
GLM_FUNC_DECL mat< 3, 3, T, Q > matrixCross3(vec< 3, T, Q > const &x)
Build a cross product matrix.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00062.html ================================================ 0.9.9 API documentation: matrix_decompose.hpp File Reference
0.9.9 API documentation
matrix_decompose.hpp File Reference

GLM_GTX_matrix_decompose More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL bool decompose (mat< 4, 4, T, Q > const &modelMatrix, vec< 3, T, Q > &scale, qua< T, Q > &orientation, vec< 3, T, Q > &translation, vec< 3, T, Q > &skew, vec< 4, T, Q > &perspective)
 Decomposes a model matrix to translations, rotation and scale components. More...
 

Detailed Description

GLM_GTX_matrix_decompose

See also
Core features (dependence)

Definition in file matrix_decompose.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00062_source.html ================================================ 0.9.9 API documentation: matrix_decompose.hpp Source File
0.9.9 API documentation
matrix_decompose.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependencies
16 #include "../mat4x4.hpp"
17 #include "../vec3.hpp"
18 #include "../vec4.hpp"
19 #include "../geometric.hpp"
20 #include "../gtc/quaternion.hpp"
21 #include "../gtc/matrix_transform.hpp"
22 
23 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
24 # ifndef GLM_ENABLE_EXPERIMENTAL
25 # pragma message("GLM: GLM_GTX_matrix_decompose is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
26 # else
27 # pragma message("GLM: GLM_GTX_matrix_decompose extension included")
28 # endif
29 #endif
30 
31 namespace glm
32 {
35 
38  template<typename T, qualifier Q>
39  GLM_FUNC_DECL bool decompose(
40  mat<4, 4, T, Q> const& modelMatrix,
41  vec<3, T, Q> & scale, qua<T, Q> & orientation, vec<3, T, Q> & translation, vec<3, T, Q> & skew, vec<4, T, Q> & perspective);
42 
44 }//namespace glm
45 
46 #include "matrix_decompose.inl"
GLM_FUNC_DECL bool decompose(mat< 4, 4, T, Q > const &modelMatrix, vec< 3, T, Q > &scale, qua< T, Q > &orientation, vec< 3, T, Q > &translation, vec< 3, T, Q > &skew, vec< 4, T, Q > &perspective)
Decomposes a model matrix to translations, rotation and scale components.
GLM_FUNC_DECL mat< 4, 4, T, Q > scale(mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &v)
Builds a scale 4 * 4 matrix created from 3 scalars.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspective(T fovy, T aspect, T near, T far)
Creates a matrix for a symetric perspective-view frustum based on the default handedness and default ...
GLM_FUNC_DECL mat< 4, 4, T, Q > orientation(vec< 3, T, Q > const &Normal, vec< 3, T, Q > const &Up)
Build a rotation matrix from a normal and a up vector.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00063.html ================================================ 0.9.9 API documentation: matrix_double2x2.hpp File Reference
0.9.9 API documentation
matrix_double2x2.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 2, 2, double, defaultp > dmat2
 2 columns of 2 components matrix of double-precision floating-point numbers. More...
 
typedef mat< 2, 2, double, defaultp > dmat2x2
 2 columns of 2 components matrix of double-precision floating-point numbers. More...
 

Detailed Description

Core features

Definition in file matrix_double2x2.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00063_source.html ================================================ 0.9.9 API documentation: matrix_double2x2.hpp Source File
0.9.9 API documentation
matrix_double2x2.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat2x2.hpp"
6 
7 namespace glm
8 {
11 
15  typedef mat<2, 2, double, defaultp> dmat2x2;
16 
20  typedef mat<2, 2, double, defaultp> dmat2;
21 
23 }//namespace glm
mat< 2, 2, double, defaultp > dmat2
2 columns of 2 components matrix of double-precision floating-point numbers.
mat< 2, 2, double, defaultp > dmat2x2
2 columns of 2 components matrix of double-precision floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00064.html ================================================ 0.9.9 API documentation: matrix_double2x2_precision.hpp File Reference
0.9.9 API documentation
matrix_double2x2_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 2, 2, double, highp > highp_dmat2
 2 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, double, highp > highp_dmat2x2
 2 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, double, lowp > lowp_dmat2
 2 columns of 2 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, double, lowp > lowp_dmat2x2
 2 columns of 2 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, double, mediump > mediump_dmat2
 2 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, double, mediump > mediump_dmat2x2
 2 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00064_source.html ================================================ 0.9.9 API documentation: matrix_double2x2_precision.hpp Source File
0.9.9 API documentation
matrix_double2x2_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat2x2.hpp"
6 
7 namespace glm
8 {
11 
16  typedef mat<2, 2, double, lowp> lowp_dmat2;
17 
22  typedef mat<2, 2, double, mediump> mediump_dmat2;
23 
28  typedef mat<2, 2, double, highp> highp_dmat2;
29 
34  typedef mat<2, 2, double, lowp> lowp_dmat2x2;
35 
40  typedef mat<2, 2, double, mediump> mediump_dmat2x2;
41 
46  typedef mat<2, 2, double, highp> highp_dmat2x2;
47 
49 }//namespace glm
mat< 2, 2, double, mediump > mediump_dmat2
2 columns of 2 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 2, 2, double, lowp > lowp_dmat2
2 columns of 2 components matrix of double-precision floating-point numbers using low precision arith...
mat< 2, 2, double, mediump > mediump_dmat2x2
2 columns of 2 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 2, 2, double, highp > highp_dmat2x2
2 columns of 2 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 2, 2, double, highp > highp_dmat2
2 columns of 2 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 2, 2, double, lowp > lowp_dmat2x2
2 columns of 2 components matrix of double-precision floating-point numbers using low precision arith...
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00065.html ================================================ 0.9.9 API documentation: matrix_double2x3.hpp File Reference
0.9.9 API documentation
matrix_double2x3.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 2, 3, double, defaultp > dmat2x3
 2 columns of 3 components matrix of double-precision floating-point numbers. More...
 

Detailed Description

Core features

Definition in file matrix_double2x3.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00065_source.html ================================================ 0.9.9 API documentation: matrix_double2x3.hpp Source File
0.9.9 API documentation
matrix_double2x3.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat2x3.hpp"
6 
7 namespace glm
8 {
11 
15  typedef mat<2, 3, double, defaultp> dmat2x3;
16 
18 }//namespace glm
mat< 2, 3, double, defaultp > dmat2x3
2 columns of 3 components matrix of double-precision floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00066.html ================================================ 0.9.9 API documentation: matrix_double2x3_precision.hpp File Reference
0.9.9 API documentation
matrix_double2x3_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 2, 3, double, highp > highp_dmat2x3
 2 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 3, double, lowp > lowp_dmat2x3
 2 columns of 3 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 3, double, mediump > mediump_dmat2x3
 2 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00066_source.html ================================================ 0.9.9 API documentation: matrix_double2x3_precision.hpp Source File
0.9.9 API documentation
matrix_double2x3_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat2x3.hpp"
6 
7 namespace glm
8 {
11 
16  typedef mat<2, 3, double, lowp> lowp_dmat2x3;
17 
22  typedef mat<2, 3, double, mediump> mediump_dmat2x3;
23 
28  typedef mat<2, 3, double, highp> highp_dmat2x3;
29 
31 }//namespace glm
mat< 2, 3, double, mediump > mediump_dmat2x3
2 columns of 3 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 2, 3, double, highp > highp_dmat2x3
2 columns of 3 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 2, 3, double, lowp > lowp_dmat2x3
2 columns of 3 components matrix of double-precision floating-point numbers using low precision arith...
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00067.html ================================================ 0.9.9 API documentation: matrix_double2x4.hpp File Reference
0.9.9 API documentation
matrix_double2x4.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 2, 4, double, defaultp > dmat2x4
 2 columns of 4 components matrix of double-precision floating-point numbers. More...
 

Detailed Description

Core features

Definition in file matrix_double2x4.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00067_source.html ================================================ 0.9.9 API documentation: matrix_double2x4.hpp Source File
0.9.9 API documentation
matrix_double2x4.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat2x4.hpp"
6 
7 namespace glm
8 {
11 
15  typedef mat<2, 4, double, defaultp> dmat2x4;
16 
18 }//namespace glm
mat< 2, 4, double, defaultp > dmat2x4
2 columns of 4 components matrix of double-precision floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00068.html ================================================ 0.9.9 API documentation: matrix_double2x4_precision.hpp File Reference
0.9.9 API documentation
matrix_double2x4_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 2, 4, double, highp > highp_dmat2x4
 2 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 4, double, lowp > lowp_dmat2x4
 2 columns of 4 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 4, double, mediump > mediump_dmat2x4
 2 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00068_source.html ================================================ 0.9.9 API documentation: matrix_double2x4_precision.hpp Source File
0.9.9 API documentation
matrix_double2x4_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat2x4.hpp"
6 
7 namespace glm
8 {
11 
16  typedef mat<2, 4, double, lowp> lowp_dmat2x4;
17 
22  typedef mat<2, 4, double, mediump> mediump_dmat2x4;
23 
28  typedef mat<2, 4, double, highp> highp_dmat2x4;
29 
31 }//namespace glm
mat< 2, 4, double, highp > highp_dmat2x4
2 columns of 4 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 2, 4, double, mediump > mediump_dmat2x4
2 columns of 4 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 2, 4, double, lowp > lowp_dmat2x4
2 columns of 4 components matrix of double-precision floating-point numbers using low precision arith...
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00069.html ================================================ 0.9.9 API documentation: matrix_double3x2.hpp File Reference
0.9.9 API documentation
matrix_double3x2.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 3, 2, double, defaultp > dmat3x2
 3 columns of 2 components matrix of double-precision floating-point numbers. More...
 

Detailed Description

Core features

Definition in file matrix_double3x2.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00069_source.html ================================================ 0.9.9 API documentation: matrix_double3x2.hpp Source File
0.9.9 API documentation
matrix_double3x2.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat3x2.hpp"
6 
7 namespace glm
8 {
11 
15  typedef mat<3, 2, double, defaultp> dmat3x2;
16 
18 }//namespace glm
mat< 3, 2, double, defaultp > dmat3x2
3 columns of 2 components matrix of double-precision floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00070.html ================================================ 0.9.9 API documentation: matrix_double3x2_precision.hpp File Reference
0.9.9 API documentation
matrix_double3x2_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 3, 2, double, highp > highp_dmat3x2
 3 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 2, double, lowp > lowp_dmat3x2
 3 columns of 2 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 2, double, mediump > mediump_dmat3x2
 3 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00070_source.html ================================================ 0.9.9 API documentation: matrix_double3x2_precision.hpp Source File
0.9.9 API documentation
matrix_double3x2_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat3x2.hpp"
6 
7 namespace glm
8 {
11 
16  typedef mat<3, 2, double, lowp> lowp_dmat3x2;
17 
22  typedef mat<3, 2, double, mediump> mediump_dmat3x2;
23 
28  typedef mat<3, 2, double, highp> highp_dmat3x2;
29 
31 }//namespace glm
mat< 3, 2, double, mediump > mediump_dmat3x2
3 columns of 2 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 3, 2, double, lowp > lowp_dmat3x2
3 columns of 2 components matrix of double-precision floating-point numbers using low precision arith...
mat< 3, 2, double, highp > highp_dmat3x2
3 columns of 2 components matrix of double-precision floating-point numbers using medium precision ar...
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00071.html ================================================ 0.9.9 API documentation: matrix_double3x3.hpp File Reference
0.9.9 API documentation
matrix_double3x3.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 3, 3, double, defaultp > dmat3
 3 columns of 3 components matrix of double-precision floating-point numbers. More...
 
typedef mat< 3, 3, double, defaultp > dmat3x3
 3 columns of 3 components matrix of double-precision floating-point numbers. More...
 

Detailed Description

Core features

Definition in file matrix_double3x3.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00071_source.html ================================================ 0.9.9 API documentation: matrix_double3x3.hpp Source File
0.9.9 API documentation
matrix_double3x3.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat3x3.hpp"
6 
7 namespace glm
8 {
11 
15  typedef mat<3, 3, double, defaultp> dmat3x3;
16 
20  typedef mat<3, 3, double, defaultp> dmat3;
21 
23 }//namespace glm
mat< 3, 3, double, defaultp > dmat3x3
3 columns of 3 components matrix of double-precision floating-point numbers.
mat< 3, 3, double, defaultp > dmat3
3 columns of 3 components matrix of double-precision floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00072.html ================================================ 0.9.9 API documentation: matrix_double3x3_precision.hpp File Reference
0.9.9 API documentation
matrix_double3x3_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 3, 3, double, highp > highp_dmat3
 3 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, double, highp > highp_dmat3x3
 3 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, double, lowp > lowp_dmat3
 3 columns of 3 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, double, lowp > lowp_dmat3x3
 3 columns of 3 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, double, mediump > mediump_dmat3
 3 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, double, mediump > mediump_dmat3x3
 3 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00072_source.html ================================================ 0.9.9 API documentation: matrix_double3x3_precision.hpp Source File
0.9.9 API documentation
matrix_double3x3_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat3x3.hpp"
6 
7 namespace glm
8 {
11 
16  typedef mat<3, 3, double, lowp> lowp_dmat3;
17 
22  typedef mat<3, 3, double, mediump> mediump_dmat3;
23 
28  typedef mat<3, 3, double, highp> highp_dmat3;
29 
34  typedef mat<3, 3, double, lowp> lowp_dmat3x3;
35 
40  typedef mat<3, 3, double, mediump> mediump_dmat3x3;
41 
46  typedef mat<3, 3, double, highp> highp_dmat3x3;
47 
49 }//namespace glm
mat< 3, 3, double, lowp > lowp_dmat3
3 columns of 3 components matrix of double-precision floating-point numbers using low precision arith...
mat< 3, 3, double, lowp > lowp_dmat3x3
3 columns of 3 components matrix of double-precision floating-point numbers using low precision arith...
mat< 3, 3, double, highp > highp_dmat3
3 columns of 3 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 3, 3, double, highp > highp_dmat3x3
3 columns of 3 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 3, 3, double, mediump > mediump_dmat3x3
3 columns of 3 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 3, 3, double, mediump > mediump_dmat3
3 columns of 3 components matrix of double-precision floating-point numbers using medium precision ar...
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00073.html ================================================ 0.9.9 API documentation: matrix_double3x4.hpp File Reference
0.9.9 API documentation
matrix_double3x4.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 3, 4, double, defaultp > dmat3x4
 3 columns of 4 components matrix of double-precision floating-point numbers. More...
 

Detailed Description

Core features

Definition in file matrix_double3x4.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00073_source.html ================================================ 0.9.9 API documentation: matrix_double3x4.hpp Source File
0.9.9 API documentation
matrix_double3x4.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat3x4.hpp"
6 
7 namespace glm
8 {
11 
15  typedef mat<3, 4, double, defaultp> dmat3x4;
16 
18 }//namespace glm
mat< 3, 4, double, defaultp > dmat3x4
3 columns of 4 components matrix of double-precision floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00074.html ================================================ 0.9.9 API documentation: matrix_double3x4_precision.hpp File Reference
0.9.9 API documentation
matrix_double3x4_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 3, 4, double, highp > highp_dmat3x4
 3 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 4, double, lowp > lowp_dmat3x4
 3 columns of 4 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 4, double, mediump > mediump_dmat3x4
 3 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00074_source.html ================================================ 0.9.9 API documentation: matrix_double3x4_precision.hpp Source File
0.9.9 API documentation
matrix_double3x4_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat3x4.hpp"
6 
7 namespace glm
8 {
11 
16  typedef mat<3, 4, double, lowp> lowp_dmat3x4;
17 
22  typedef mat<3, 4, double, mediump> mediump_dmat3x4;
23 
28  typedef mat<3, 4, double, highp> highp_dmat3x4;
29 
31 }//namespace glm
mat< 3, 4, double, lowp > lowp_dmat3x4
3 columns of 4 components matrix of double-precision floating-point numbers using low precision arith...
mat< 3, 4, double, mediump > mediump_dmat3x4
3 columns of 4 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 3, 4, double, highp > highp_dmat3x4
3 columns of 4 components matrix of double-precision floating-point numbers using medium precision ar...
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00075.html ================================================ 0.9.9 API documentation: matrix_double4x2.hpp File Reference
0.9.9 API documentation
matrix_double4x2.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 4, 2, double, defaultp > dmat4x2
 4 columns of 2 components matrix of double-precision floating-point numbers. More...
 

Detailed Description

Core features

Definition in file matrix_double4x2.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00075_source.html ================================================ 0.9.9 API documentation: matrix_double4x2.hpp Source File
0.9.9 API documentation
matrix_double4x2.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat4x2.hpp"
6 
7 namespace glm
8 {
11 
15  typedef mat<4, 2, double, defaultp> dmat4x2;
16 
18 }//namespace glm
mat< 4, 2, double, defaultp > dmat4x2
4 columns of 2 components matrix of double-precision floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00076.html ================================================ 0.9.9 API documentation: matrix_double4x2_precision.hpp File Reference
0.9.9 API documentation
matrix_double4x2_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 4, 2, double, highp > highp_dmat4x2
 4 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 2, double, lowp > lowp_dmat4x2
 4 columns of 2 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 2, double, mediump > mediump_dmat4x2
 4 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00076_source.html ================================================ 0.9.9 API documentation: matrix_double4x2_precision.hpp Source File
0.9.9 API documentation
matrix_double4x2_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat4x2.hpp"
6 
7 namespace glm
8 {
11 
16  typedef mat<4, 2, double, lowp> lowp_dmat4x2;
17 
22  typedef mat<4, 2, double, mediump> mediump_dmat4x2;
23 
28  typedef mat<4, 2, double, highp> highp_dmat4x2;
29 
31 }//namespace glm
mat< 4, 2, double, lowp > lowp_dmat4x2
4 columns of 2 components matrix of double-precision floating-point numbers using low precision arith...
mat< 4, 2, double, mediump > mediump_dmat4x2
4 columns of 2 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 4, 2, double, highp > highp_dmat4x2
4 columns of 2 components matrix of double-precision floating-point numbers using medium precision ar...
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00077.html ================================================ 0.9.9 API documentation: matrix_double4x3.hpp File Reference
0.9.9 API documentation
matrix_double4x3.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 4, 3, double, defaultp > dmat4x3
 4 columns of 3 components matrix of double-precision floating-point numbers. More...
 

Detailed Description

Core features

Definition in file matrix_double4x3.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00077_source.html ================================================ 0.9.9 API documentation: matrix_double4x3.hpp Source File
0.9.9 API documentation
matrix_double4x3.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat4x3.hpp"
6 
7 namespace glm
8 {
11 
15  typedef mat<4, 3, double, defaultp> dmat4x3;
16 
18 }//namespace glm
mat< 4, 3, double, defaultp > dmat4x3
4 columns of 3 components matrix of double-precision floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00078.html ================================================ 0.9.9 API documentation: matrix_double4x3_precision.hpp File Reference
0.9.9 API documentation
matrix_double4x3_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 4, 3, double, highp > highp_dmat4x3
 4 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 3, double, lowp > lowp_dmat4x3
 4 columns of 3 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 3, double, mediump > mediump_dmat4x3
 4 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00078_source.html ================================================ 0.9.9 API documentation: matrix_double4x3_precision.hpp Source File
0.9.9 API documentation
matrix_double4x3_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat4x3.hpp"
6 
7 namespace glm
8 {
11 
16  typedef mat<4, 3, double, lowp> lowp_dmat4x3;
17 
22  typedef mat<4, 3, double, mediump> mediump_dmat4x3;
23 
28  typedef mat<4, 3, double, highp> highp_dmat4x3;
29 
31 }//namespace glm
mat< 4, 3, double, highp > highp_dmat4x3
4 columns of 3 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 4, 3, double, mediump > mediump_dmat4x3
4 columns of 3 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 4, 3, double, lowp > lowp_dmat4x3
4 columns of 3 components matrix of double-precision floating-point numbers using low precision arith...
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00079.html ================================================ 0.9.9 API documentation: matrix_double4x4.hpp File Reference
0.9.9 API documentation
matrix_double4x4.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 4, 4, double, defaultp > dmat4
 4 columns of 4 components matrix of double-precision floating-point numbers. More...
 
typedef mat< 4, 4, double, defaultp > dmat4x4
 4 columns of 4 components matrix of double-precision floating-point numbers. More...
 

Detailed Description

Core features

Definition in file matrix_double4x4.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00079_source.html ================================================ 0.9.9 API documentation: matrix_double4x4.hpp Source File
0.9.9 API documentation
matrix_double4x4.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat4x4.hpp"
6 
7 namespace glm
8 {
11 
15  typedef mat<4, 4, double, defaultp> dmat4x4;
16 
20  typedef mat<4, 4, double, defaultp> dmat4;
21 
23 }//namespace glm
mat< 4, 4, double, defaultp > dmat4x4
4 columns of 4 components matrix of double-precision floating-point numbers.
mat< 4, 4, double, defaultp > dmat4
4 columns of 4 components matrix of double-precision floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00080.html ================================================ 0.9.9 API documentation: matrix_double4x4_precision.hpp File Reference
0.9.9 API documentation
matrix_double4x4_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 4, 4, double, highp > highp_dmat4
 4 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, double, highp > highp_dmat4x4
 4 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, double, lowp > lowp_dmat4
 4 columns of 4 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, double, lowp > lowp_dmat4x4
 4 columns of 4 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, double, mediump > mediump_dmat4
 4 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, double, mediump > mediump_dmat4x4
 4 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00080_source.html ================================================ 0.9.9 API documentation: matrix_double4x4_precision.hpp Source File
0.9.9 API documentation
matrix_double4x4_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat4x4.hpp"
6 
7 namespace glm
8 {
11 
16  typedef mat<4, 4, double, lowp> lowp_dmat4;
17 
22  typedef mat<4, 4, double, mediump> mediump_dmat4;
23 
28  typedef mat<4, 4, double, highp> highp_dmat4;
29 
34  typedef mat<4, 4, double, lowp> lowp_dmat4x4;
35 
40  typedef mat<4, 4, double, mediump> mediump_dmat4x4;
41 
46  typedef mat<4, 4, double, highp> highp_dmat4x4;
47 
49 }//namespace glm
mat< 4, 4, double, mediump > mediump_dmat4x4
4 columns of 4 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 4, 4, double, lowp > lowp_dmat4
4 columns of 4 components matrix of double-precision floating-point numbers using low precision arith...
mat< 4, 4, double, mediump > mediump_dmat4
4 columns of 4 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 4, 4, double, highp > highp_dmat4x4
4 columns of 4 components matrix of double-precision floating-point numbers using medium precision ar...
mat< 4, 4, double, lowp > lowp_dmat4x4
4 columns of 4 components matrix of double-precision floating-point numbers using low precision arith...
mat< 4, 4, double, highp > highp_dmat4
4 columns of 4 components matrix of double-precision floating-point numbers using medium precision ar...
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00081.html ================================================ 0.9.9 API documentation: matrix_factorisation.hpp File Reference
0.9.9 API documentation
matrix_factorisation.hpp File Reference

GLM_GTX_matrix_factorisation More...

Go to the source code of this file.

Functions

template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL mat< C, R, T, Q > fliplr (mat< C, R, T, Q > const &in)
 Flips the matrix columns right and left. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL mat< C, R, T, Q > flipud (mat< C, R, T, Q > const &in)
 Flips the matrix rows up and down. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL void qr_decompose (mat< C, R, T, Q > const &in, mat<(C< R?C:R), R, T, Q > &q, mat< C,(C< R?C:R), T, Q > &r)
 Performs QR factorisation of a matrix. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL void rq_decompose (mat< C, R, T, Q > const &in, mat<(C< R?C:R), R, T, Q > &r, mat< C,(C< R?C:R), T, Q > &q)
 Performs RQ factorisation of a matrix. More...
 

Detailed Description

GLM_GTX_matrix_factorisation

See also
Core features (dependence)

Definition in file matrix_factorisation.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00081_source.html ================================================ 0.9.9 API documentation: matrix_factorisation.hpp Source File
0.9.9 API documentation
matrix_factorisation.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependency:
16 #include "../glm.hpp"
17 
18 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
19 # ifndef GLM_ENABLE_EXPERIMENTAL
20 # pragma message("GLM: GLM_GTX_matrix_factorisation is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
21 # else
22 # pragma message("GLM: GLM_GTX_matrix_factorisation extension included")
23 # endif
24 #endif
25 
26 /*
27 Suggestions:
28  - Move helper functions flipud and fliplr to another file: They may be helpful in more general circumstances.
29  - Implement other types of matrix factorisation, such as: QL and LQ, L(D)U, eigendecompositions, etc...
30 */
31 
32 namespace glm
33 {
36 
40  template <length_t C, length_t R, typename T, qualifier Q>
41  GLM_FUNC_DECL mat<C, R, T, Q> flipud(mat<C, R, T, Q> const& in);
42 
46  template <length_t C, length_t R, typename T, qualifier Q>
47  GLM_FUNC_DECL mat<C, R, T, Q> fliplr(mat<C, R, T, Q> const& in);
48 
54  template <length_t C, length_t R, typename T, qualifier Q>
55  GLM_FUNC_DECL void qr_decompose(mat<C, R, T, Q> const& in, mat<(C < R ? C : R), R, T, Q>& q, mat<C, (C < R ? C : R), T, Q>& r);
56 
63  template <length_t C, length_t R, typename T, qualifier Q>
64  GLM_FUNC_DECL void rq_decompose(mat<C, R, T, Q> const& in, mat<(C < R ? C : R), R, T, Q>& r, mat<C, (C < R ? C : R), T, Q>& q);
65 
67 }
68 
69 #include "matrix_factorisation.inl"
GLM_FUNC_DECL void rq_decompose(mat< C, R, T, Q > const &in, mat<(C< R?C:R), R, T, Q > &r, mat< C,(C< R?C:R), T, Q > &q)
Performs RQ factorisation of a matrix.
GLM_FUNC_DECL void qr_decompose(mat< C, R, T, Q > const &in, mat<(C< R?C:R), R, T, Q > &q, mat< C,(C< R?C:R), T, Q > &r)
Performs QR factorisation of a matrix.
GLM_FUNC_DECL mat< C, R, T, Q > flipud(mat< C, R, T, Q > const &in)
Flips the matrix rows up and down.
GLM_FUNC_DECL mat< C, R, T, Q > fliplr(mat< C, R, T, Q > const &in)
Flips the matrix columns right and left.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00082.html ================================================ 0.9.9 API documentation: matrix_float2x2.hpp File Reference
0.9.9 API documentation
matrix_float2x2.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 2, 2, float, defaultp > mat2
 2 columns of 2 components matrix of single-precision floating-point numbers. More...
 
typedef mat< 2, 2, float, defaultp > mat2x2
 2 columns of 2 components matrix of single-precision floating-point numbers. More...
 

Detailed Description

Core features

Definition in file matrix_float2x2.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00082_source.html ================================================ 0.9.9 API documentation: matrix_float2x2.hpp Source File
0.9.9 API documentation
matrix_float2x2.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat2x2.hpp"
6 
7 namespace glm
8 {
11 
15  typedef mat<2, 2, float, defaultp> mat2x2;
16 
20  typedef mat<2, 2, float, defaultp> mat2;
21 
23 }//namespace glm
mat< 2, 2, float, defaultp > mat2x2
2 columns of 2 components matrix of single-precision floating-point numbers.
mat< 2, 2, float, defaultp > mat2
2 columns of 2 components matrix of single-precision floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00083.html ================================================ 0.9.9 API documentation: matrix_float2x2_precision.hpp File Reference
0.9.9 API documentation
matrix_float2x2_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 2, 2, float, highp > highp_mat2
 2 columns of 2 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, float, highp > highp_mat2x2
 2 columns of 2 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, float, lowp > lowp_mat2
 2 columns of 2 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, float, lowp > lowp_mat2x2
 2 columns of 2 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, float, mediump > mediump_mat2
 2 columns of 2 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, float, mediump > mediump_mat2x2
 2 columns of 2 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00083_source.html ================================================ 0.9.9 API documentation: matrix_float2x2_precision.hpp Source File
0.9.9 API documentation
matrix_float2x2_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat2x2.hpp"
6 
7 namespace glm
8 {
11 
16  typedef mat<2, 2, float, lowp> lowp_mat2;
17 
22  typedef mat<2, 2, float, mediump> mediump_mat2;
23 
28  typedef mat<2, 2, float, highp> highp_mat2;
29 
34  typedef mat<2, 2, float, lowp> lowp_mat2x2;
35 
40  typedef mat<2, 2, float, mediump> mediump_mat2x2;
41 
46  typedef mat<2, 2, float, highp> highp_mat2x2;
47 
49 }//namespace glm
mat< 2, 2, float, lowp > lowp_mat2
2 columns of 2 components matrix of single-precision floating-point numbers using low precision arith...
mat< 2, 2, float, highp > highp_mat2
2 columns of 2 components matrix of single-precision floating-point numbers using high precision arit...
mat< 2, 2, float, lowp > lowp_mat2x2
2 columns of 2 components matrix of single-precision floating-point numbers using low precision arith...
mat< 2, 2, float, highp > highp_mat2x2
2 columns of 2 components matrix of single-precision floating-point numbers using high precision arit...
mat< 2, 2, float, mediump > mediump_mat2x2
2 columns of 2 components matrix of single-precision floating-point numbers using medium precision ar...
mat< 2, 2, float, mediump > mediump_mat2
2 columns of 2 components matrix of single-precision floating-point numbers using medium precision ar...
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00084.html ================================================ 0.9.9 API documentation: matrix_float2x3.hpp File Reference
0.9.9 API documentation
matrix_float2x3.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 2, 3, float, defaultp > mat2x3
 2 columns of 3 components matrix of single-precision floating-point numbers. More...
 

Detailed Description

Core features

Definition in file matrix_float2x3.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00084_source.html ================================================ 0.9.9 API documentation: matrix_float2x3.hpp Source File
0.9.9 API documentation
matrix_float2x3.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat2x3.hpp"
6 
7 namespace glm
8 {
11 
15  typedef mat<2, 3, float, defaultp> mat2x3;
16 
18 }//namespace glm
mat< 2, 3, float, defaultp > mat2x3
2 columns of 3 components matrix of single-precision floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00085.html ================================================ 0.9.9 API documentation: matrix_float2x3_precision.hpp File Reference
0.9.9 API documentation
matrix_float2x3_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 2, 3, float, highp > highp_mat2x3
 2 columns of 3 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 3, float, lowp > lowp_mat2x3
 2 columns of 3 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 3, float, mediump > mediump_mat2x3
 2 columns of 3 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00085_source.html ================================================ 0.9.9 API documentation: matrix_float2x3_precision.hpp Source File
0.9.9 API documentation
matrix_float2x3_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat2x3.hpp"
6 
7 namespace glm
8 {
11 
16  typedef mat<2, 3, float, lowp> lowp_mat2x3;
17 
22  typedef mat<2, 3, float, mediump> mediump_mat2x3;
23 
28  typedef mat<2, 3, float, highp> highp_mat2x3;
29 
31 }//namespace glm
mat< 2, 3, float, mediump > mediump_mat2x3
2 columns of 3 components matrix of single-precision floating-point numbers using medium precision ar...
mat< 2, 3, float, highp > highp_mat2x3
2 columns of 3 components matrix of single-precision floating-point numbers using high precision arit...
mat< 2, 3, float, lowp > lowp_mat2x3
2 columns of 3 components matrix of single-precision floating-point numbers using low precision arith...
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00086.html ================================================ 0.9.9 API documentation: matrix_float2x4.hpp File Reference
0.9.9 API documentation
matrix_float2x4.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 2, 4, float, defaultp > mat2x4
 2 columns of 4 components matrix of single-precision floating-point numbers. More...
 

Detailed Description

Core features

Definition in file matrix_float2x4.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00086_source.html ================================================ 0.9.9 API documentation: matrix_float2x4.hpp Source File
0.9.9 API documentation
matrix_float2x4.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat2x4.hpp"
6 
7 namespace glm
8 {
11 
15  typedef mat<2, 4, float, defaultp> mat2x4;
16 
18 }//namespace glm
mat< 2, 4, float, defaultp > mat2x4
2 columns of 4 components matrix of single-precision floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00087.html ================================================ 0.9.9 API documentation: matrix_float2x4_precision.hpp File Reference
0.9.9 API documentation
matrix_float2x4_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 2, 4, float, highp > highp_mat2x4
 2 columns of 4 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 4, float, lowp > lowp_mat2x4
 2 columns of 4 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 4, float, mediump > mediump_mat2x4
 2 columns of 4 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00087_source.html ================================================ 0.9.9 API documentation: matrix_float2x4_precision.hpp Source File
0.9.9 API documentation
matrix_float2x4_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat2x4.hpp"
6 
7 namespace glm
8 {
11 
16  typedef mat<2, 4, float, lowp> lowp_mat2x4;
17 
22  typedef mat<2, 4, float, mediump> mediump_mat2x4;
23 
28  typedef mat<2, 4, float, highp> highp_mat2x4;
29 
31 }//namespace glm
mat< 2, 4, float, lowp > lowp_mat2x4
2 columns of 4 components matrix of single-precision floating-point numbers using low precision arith...
mat< 2, 4, float, mediump > mediump_mat2x4
2 columns of 4 components matrix of single-precision floating-point numbers using medium precision ar...
mat< 2, 4, float, highp > highp_mat2x4
2 columns of 4 components matrix of single-precision floating-point numbers using high precision arit...
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00088.html ================================================ 0.9.9 API documentation: matrix_float3x2.hpp File Reference
0.9.9 API documentation
matrix_float3x2.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 3, 2, float, defaultp > mat3x2
 3 columns of 2 components matrix of single-precision floating-point numbers. More...
 

Detailed Description

Core features

Definition in file matrix_float3x2.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00088_source.html ================================================ 0.9.9 API documentation: matrix_float3x2.hpp Source File
0.9.9 API documentation
matrix_float3x2.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat3x2.hpp"
6 
7 namespace glm
8 {
11 
15  typedef mat<3, 2, float, defaultp> mat3x2;
16 
18 }//namespace glm
mat< 3, 2, float, defaultp > mat3x2
3 columns of 2 components matrix of single-precision floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00089.html ================================================ 0.9.9 API documentation: matrix_float3x2_precision.hpp File Reference
0.9.9 API documentation
matrix_float3x2_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 3, 2, float, highp > highp_mat3x2
 3 columns of 2 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 2, float, lowp > lowp_mat3x2
 3 columns of 2 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 2, float, mediump > mediump_mat3x2
 3 columns of 2 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00089_source.html ================================================ 0.9.9 API documentation: matrix_float3x2_precision.hpp Source File
0.9.9 API documentation
matrix_float3x2_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat3x2.hpp"
6 
7 namespace glm
8 {
11 
16  typedef mat<3, 2, float, lowp> lowp_mat3x2;
17 
22  typedef mat<3, 2, float, mediump> mediump_mat3x2;
23 
28  typedef mat<3, 2, float, highp> highp_mat3x2;
29 
31 }//namespace glm
mat< 3, 2, float, lowp > lowp_mat3x2
3 columns of 2 components matrix of single-precision floating-point numbers using low precision arith...
mat< 3, 2, float, mediump > mediump_mat3x2
3 columns of 2 components matrix of single-precision floating-point numbers using medium precision ar...
mat< 3, 2, float, highp > highp_mat3x2
3 columns of 2 components matrix of single-precision floating-point numbers using high precision arit...
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00090.html ================================================ 0.9.9 API documentation: matrix_float3x3.hpp File Reference
0.9.9 API documentation
matrix_float3x3.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 3, 3, float, defaultp > mat3
 3 columns of 3 components matrix of single-precision floating-point numbers. More...
 
typedef mat< 3, 3, float, defaultp > mat3x3
 3 columns of 3 components matrix of single-precision floating-point numbers. More...
 

Detailed Description

Core features

Definition in file matrix_float3x3.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00090_source.html ================================================ 0.9.9 API documentation: matrix_float3x3.hpp Source File
0.9.9 API documentation
matrix_float3x3.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat3x3.hpp"
6 
7 namespace glm
8 {
11 
15  typedef mat<3, 3, float, defaultp> mat3x3;
16 
20  typedef mat<3, 3, float, defaultp> mat3;
21 
23 }//namespace glm
mat< 3, 3, float, defaultp > mat3x3
3 columns of 3 components matrix of single-precision floating-point numbers.
mat< 3, 3, float, defaultp > mat3
3 columns of 3 components matrix of single-precision floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00091.html ================================================ 0.9.9 API documentation: matrix_float3x3_precision.hpp File Reference
0.9.9 API documentation
matrix_float3x3_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 3, 3, float, highp > highp_mat3
 3 columns of 3 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, float, highp > highp_mat3x3
 3 columns of 3 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, float, lowp > lowp_mat3
 3 columns of 3 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, float, lowp > lowp_mat3x3
 3 columns of 3 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, float, mediump > mediump_mat3
 3 columns of 3 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, float, mediump > mediump_mat3x3
 3 columns of 3 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00091_source.html ================================================ 0.9.9 API documentation: matrix_float3x3_precision.hpp Source File
0.9.9 API documentation
matrix_float3x3_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat3x3.hpp"
6 
7 namespace glm
8 {
11 
16  typedef mat<3, 3, float, lowp> lowp_mat3;
17 
22  typedef mat<3, 3, float, mediump> mediump_mat3;
23 
28  typedef mat<3, 3, float, highp> highp_mat3;
29 
34  typedef mat<3, 3, float, lowp> lowp_mat3x3;
35 
40  typedef mat<3, 3, float, mediump> mediump_mat3x3;
41 
46  typedef mat<3, 3, float, highp> highp_mat3x3;
47 
49 }//namespace glm
mat< 3, 3, float, mediump > mediump_mat3x3
3 columns of 3 components matrix of single-precision floating-point numbers using medium precision ar...
mat< 3, 3, float, highp > highp_mat3x3
3 columns of 3 components matrix of single-precision floating-point numbers using high precision arit...
mat< 3, 3, float, lowp > lowp_mat3x3
3 columns of 3 components matrix of single-precision floating-point numbers using low precision arith...
mat< 3, 3, float, mediump > mediump_mat3
3 columns of 3 components matrix of single-precision floating-point numbers using medium precision ar...
mat< 3, 3, float, lowp > lowp_mat3
3 columns of 3 components matrix of single-precision floating-point numbers using low precision arith...
mat< 3, 3, float, highp > highp_mat3
3 columns of 3 components matrix of single-precision floating-point numbers using high precision arit...
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00092.html ================================================ 0.9.9 API documentation: matrix_float3x4.hpp File Reference
0.9.9 API documentation
matrix_float3x4.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 3, 4, float, defaultp > mat3x4
 3 columns of 4 components matrix of single-precision floating-point numbers. More...
 

Detailed Description

Core features

Definition in file matrix_float3x4.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00092_source.html ================================================ 0.9.9 API documentation: matrix_float3x4.hpp Source File
0.9.9 API documentation
matrix_float3x4.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat3x4.hpp"
6 
7 namespace glm
8 {
11 
15  typedef mat<3, 4, float, defaultp> mat3x4;
16 
18 }//namespace glm
mat< 3, 4, float, defaultp > mat3x4
3 columns of 4 components matrix of single-precision floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00093.html ================================================ 0.9.9 API documentation: matrix_float3x4_precision.hpp File Reference
0.9.9 API documentation
matrix_float3x4_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 3, 4, float, highp > highp_mat3x4
 3 columns of 4 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 4, float, lowp > lowp_mat3x4
 3 columns of 4 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 4, float, mediump > mediump_mat3x4
 3 columns of 4 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00093_source.html ================================================ 0.9.9 API documentation: matrix_float3x4_precision.hpp Source File
0.9.9 API documentation
matrix_float3x4_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat3x4.hpp"
6 
7 namespace glm
8 {
11 
16  typedef mat<3, 4, float, lowp> lowp_mat3x4;
17 
22  typedef mat<3, 4, float, mediump> mediump_mat3x4;
23 
28  typedef mat<3, 4, float, highp> highp_mat3x4;
29 
31 }//namespace glm
mat< 3, 4, float, highp > highp_mat3x4
3 columns of 4 components matrix of single-precision floating-point numbers using high precision arit...
mat< 3, 4, float, mediump > mediump_mat3x4
3 columns of 4 components matrix of single-precision floating-point numbers using medium precision ar...
mat< 3, 4, float, lowp > lowp_mat3x4
3 columns of 4 components matrix of single-precision floating-point numbers using low precision arith...
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00094.html ================================================ 0.9.9 API documentation: matrix_float4x2.hpp File Reference
0.9.9 API documentation
matrix_float4x2.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 4, 2, float, defaultp > mat4x2
 4 columns of 2 components matrix of single-precision floating-point numbers. More...
 

Detailed Description

Core features

Definition in file matrix_float4x2.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00094_source.html ================================================ 0.9.9 API documentation: matrix_float4x2.hpp Source File
0.9.9 API documentation
matrix_float4x2.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat4x2.hpp"
6 
7 namespace glm
8 {
11 
15  typedef mat<4, 2, float, defaultp> mat4x2;
16 
18 }//namespace glm
mat< 4, 2, float, defaultp > mat4x2
4 columns of 2 components matrix of single-precision floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00095_source.html ================================================ 0.9.9 API documentation: matrix_float4x2_precision.hpp Source File
0.9.9 API documentation
matrix_float4x2_precision.hpp
1 
4 #pragma once
5 #include "../detail/type_mat2x2.hpp"
6 
7 namespace glm
8 {
11 
16  typedef mat<4, 2, float, lowp> lowp_mat4x2;
17 
22  typedef mat<4, 2, float, mediump> mediump_mat4x2;
23 
28  typedef mat<4, 2, float, highp> highp_mat4x2;
29 
31 }//namespace glm
mat< 4, 2, float, mediump > mediump_mat4x2
4 columns of 2 components matrix of single-precision floating-point numbers using medium precision ar...
mat< 4, 2, float, lowp > lowp_mat4x2
4 columns of 2 components matrix of single-precision floating-point numbers using low precision arith...
mat< 4, 2, float, highp > highp_mat4x2
4 columns of 2 components matrix of single-precision floating-point numbers using high precision arit...
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00096.html ================================================ 0.9.9 API documentation: matrix_float4x3.hpp File Reference
0.9.9 API documentation
matrix_float4x3.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 4, 3, float, defaultp > mat4x3
 4 columns of 3 components matrix of single-precision floating-point numbers. More...
 

Detailed Description

Core features

Definition in file matrix_float4x3.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00096_source.html ================================================ 0.9.9 API documentation: matrix_float4x3.hpp Source File
0.9.9 API documentation
matrix_float4x3.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat4x3.hpp"
6 
7 namespace glm
8 {
11 
15  typedef mat<4, 3, float, defaultp> mat4x3;
16 
18 }//namespace glm
mat< 4, 3, float, defaultp > mat4x3
4 columns of 3 components matrix of single-precision floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00097.html ================================================ 0.9.9 API documentation: matrix_float4x3_precision.hpp File Reference
0.9.9 API documentation
matrix_float4x3_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 4, 3, float, highp > highp_mat4x3
 4 columns of 3 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 3, float, lowp > lowp_mat4x3
 4 columns of 3 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 3, float, mediump > mediump_mat4x3
 4 columns of 3 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00097_source.html ================================================ 0.9.9 API documentation: matrix_float4x3_precision.hpp Source File
0.9.9 API documentation
matrix_float4x3_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat4x3.hpp"
6 
7 namespace glm
8 {
11 
16  typedef mat<4, 3, float, lowp> lowp_mat4x3;
17 
22  typedef mat<4, 3, float, mediump> mediump_mat4x3;
23 
28  typedef mat<4, 3, float, highp> highp_mat4x3;
29 
31 }//namespace glm
mat< 4, 3, float, highp > highp_mat4x3
4 columns of 3 components matrix of single-precision floating-point numbers using high precision arit...
mat< 4, 3, float, lowp > lowp_mat4x3
4 columns of 3 components matrix of single-precision floating-point numbers using low precision arith...
mat< 4, 3, float, mediump > mediump_mat4x3
4 columns of 3 components matrix of single-precision floating-point numbers using medium precision ar...
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00098.html ================================================ 0.9.9 API documentation: matrix_float4x4.hpp File Reference
0.9.9 API documentation
matrix_float4x4.hpp File Reference

Core features More...

Go to the source code of this file.

typedef mat< 4, 4, float, defaultp > mat4x4
 4 columns of 4 components matrix of single-precision floating-point numbers. More...
 
typedef mat< 4, 4, float, defaultp > mat4
 4 columns of 4 components matrix of single-precision floating-point numbers. More...
 

Detailed Description

Core features

Definition in file matrix_float4x4.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00098_source.html ================================================ 0.9.9 API documentation: matrix_float4x4.hpp Source File
0.9.9 API documentation
matrix_float4x4.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat4x4.hpp"
6 
7 namespace glm
8 {
11 
15  typedef mat<4, 4, float, defaultp> mat4x4;
16 
20  typedef mat<4, 4, float, defaultp> mat4;
21 
23 }//namespace glm
mat< 4, 4, float, defaultp > mat4x4
4 columns of 4 components matrix of single-precision floating-point numbers.
mat< 4, 4, float, defaultp > mat4
4 columns of 4 components matrix of single-precision floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00099.html ================================================ 0.9.9 API documentation: matrix_float4x4_precision.hpp File Reference
0.9.9 API documentation
matrix_float4x4_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef mat< 4, 4, float, highp > highp_mat4
 4 columns of 4 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, float, highp > highp_mat4x4
 4 columns of 4 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, float, lowp > lowp_mat4
 4 columns of 4 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, float, lowp > lowp_mat4x4
 4 columns of 4 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, float, mediump > mediump_mat4
 4 columns of 4 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, float, mediump > mediump_mat4x4
 4 columns of 4 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00099_source.html ================================================ 0.9.9 API documentation: matrix_float4x4_precision.hpp Source File
0.9.9 API documentation
matrix_float4x4_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_mat4x4.hpp"
6 
7 namespace glm
8 {
11 
16  typedef mat<4, 4, float, lowp> lowp_mat4;
17 
22  typedef mat<4, 4, float, mediump> mediump_mat4;
23 
28  typedef mat<4, 4, float, highp> highp_mat4;
29 
34  typedef mat<4, 4, float, lowp> lowp_mat4x4;
35 
40  typedef mat<4, 4, float, mediump> mediump_mat4x4;
41 
46  typedef mat<4, 4, float, highp> highp_mat4x4;
47 
49 }//namespace glm
mat< 4, 4, float, mediump > mediump_mat4x4
4 columns of 4 components matrix of single-precision floating-point numbers using medium precision ar...
mat< 4, 4, float, lowp > lowp_mat4
4 columns of 4 components matrix of single-precision floating-point numbers using low precision arith...
mat< 4, 4, float, mediump > mediump_mat4
4 columns of 4 components matrix of single-precision floating-point numbers using medium precision ar...
mat< 4, 4, float, highp > highp_mat4x4
4 columns of 4 components matrix of single-precision floating-point numbers using high precision arit...
mat< 4, 4, float, lowp > lowp_mat4x4
4 columns of 4 components matrix of single-precision floating-point numbers using low precision arith...
mat< 4, 4, float, highp > highp_mat4
4 columns of 4 components matrix of single-precision floating-point numbers using high precision arit...
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00100.html ================================================ 0.9.9 API documentation: matrix_integer.hpp File Reference
0.9.9 API documentation
matrix_integer.hpp File Reference

GLM_GTC_matrix_integer More...

Go to the source code of this file.

Typedefs

typedef mat< 2, 2, int, highp > highp_imat2
 High-qualifier signed integer 2x2 matrix. More...
 
typedef mat< 2, 2, int, highp > highp_imat2x2
 High-qualifier signed integer 2x2 matrix. More...
 
typedef mat< 2, 3, int, highp > highp_imat2x3
 High-qualifier signed integer 2x3 matrix. More...
 
typedef mat< 2, 4, int, highp > highp_imat2x4
 High-qualifier signed integer 2x4 matrix. More...
 
typedef mat< 3, 3, int, highp > highp_imat3
 High-qualifier signed integer 3x3 matrix. More...
 
typedef mat< 3, 2, int, highp > highp_imat3x2
 High-qualifier signed integer 3x2 matrix. More...
 
typedef mat< 3, 3, int, highp > highp_imat3x3
 High-qualifier signed integer 3x3 matrix. More...
 
typedef mat< 3, 4, int, highp > highp_imat3x4
 High-qualifier signed integer 3x4 matrix. More...
 
typedef mat< 4, 4, int, highp > highp_imat4
 High-qualifier signed integer 4x4 matrix. More...
 
typedef mat< 4, 2, int, highp > highp_imat4x2
 High-qualifier signed integer 4x2 matrix. More...
 
typedef mat< 4, 3, int, highp > highp_imat4x3
 High-qualifier signed integer 4x3 matrix. More...
 
typedef mat< 4, 4, int, highp > highp_imat4x4
 High-qualifier signed integer 4x4 matrix. More...
 
typedef mat< 2, 2, uint, highp > highp_umat2
 High-qualifier unsigned integer 2x2 matrix. More...
 
typedef mat< 2, 2, uint, highp > highp_umat2x2
 High-qualifier unsigned integer 2x2 matrix. More...
 
typedef mat< 2, 3, uint, highp > highp_umat2x3
 High-qualifier unsigned integer 2x3 matrix. More...
 
typedef mat< 2, 4, uint, highp > highp_umat2x4
 High-qualifier unsigned integer 2x4 matrix. More...
 
typedef mat< 3, 3, uint, highp > highp_umat3
 High-qualifier unsigned integer 3x3 matrix. More...
 
typedef mat< 3, 2, uint, highp > highp_umat3x2
 High-qualifier unsigned integer 3x2 matrix. More...
 
typedef mat< 3, 3, uint, highp > highp_umat3x3
 High-qualifier unsigned integer 3x3 matrix. More...
 
typedef mat< 3, 4, uint, highp > highp_umat3x4
 High-qualifier unsigned integer 3x4 matrix. More...
 
typedef mat< 4, 4, uint, highp > highp_umat4
 High-qualifier unsigned integer 4x4 matrix. More...
 
typedef mat< 4, 2, uint, highp > highp_umat4x2
 High-qualifier unsigned integer 4x2 matrix. More...
 
typedef mat< 4, 3, uint, highp > highp_umat4x3
 High-qualifier unsigned integer 4x3 matrix. More...
 
typedef mat< 4, 4, uint, highp > highp_umat4x4
 High-qualifier unsigned integer 4x4 matrix. More...
 
typedef mediump_imat2 imat2
 Signed integer 2x2 matrix. More...
 
typedef mediump_imat2x2 imat2x2
 Signed integer 2x2 matrix. More...
 
typedef mediump_imat2x3 imat2x3
 Signed integer 2x3 matrix. More...
 
typedef mediump_imat2x4 imat2x4
 Signed integer 2x4 matrix. More...
 
typedef mediump_imat3 imat3
 Signed integer 3x3 matrix. More...
 
typedef mediump_imat3x2 imat3x2
 Signed integer 3x2 matrix. More...
 
typedef mediump_imat3x3 imat3x3
 Signed integer 3x3 matrix. More...
 
typedef mediump_imat3x4 imat3x4
 Signed integer 3x4 matrix. More...
 
typedef mediump_imat4 imat4
 Signed integer 4x4 matrix. More...
 
typedef mediump_imat4x2 imat4x2
 Signed integer 4x2 matrix. More...
 
typedef mediump_imat4x3 imat4x3
 Signed integer 4x3 matrix. More...
 
typedef mediump_imat4x4 imat4x4
 Signed integer 4x4 matrix. More...
 
typedef mat< 2, 2, int, lowp > lowp_imat2
 Low-qualifier signed integer 2x2 matrix. More...
 
typedef mat< 2, 2, int, lowp > lowp_imat2x2
 Low-qualifier signed integer 2x2 matrix. More...
 
typedef mat< 2, 3, int, lowp > lowp_imat2x3
 Low-qualifier signed integer 2x3 matrix. More...
 
typedef mat< 2, 4, int, lowp > lowp_imat2x4
 Low-qualifier signed integer 2x4 matrix. More...
 
typedef mat< 3, 3, int, lowp > lowp_imat3
 Low-qualifier signed integer 3x3 matrix. More...
 
typedef mat< 3, 2, int, lowp > lowp_imat3x2
 Low-qualifier signed integer 3x2 matrix. More...
 
typedef mat< 3, 3, int, lowp > lowp_imat3x3
 Low-qualifier signed integer 3x3 matrix. More...
 
typedef mat< 3, 4, int, lowp > lowp_imat3x4
 Low-qualifier signed integer 3x4 matrix. More...
 
typedef mat< 4, 4, int, lowp > lowp_imat4
 Low-qualifier signed integer 4x4 matrix. More...
 
typedef mat< 4, 2, int, lowp > lowp_imat4x2
 Low-qualifier signed integer 4x2 matrix. More...
 
typedef mat< 4, 3, int, lowp > lowp_imat4x3
 Low-qualifier signed integer 4x3 matrix. More...
 
typedef mat< 4, 4, int, lowp > lowp_imat4x4
 Low-qualifier signed integer 4x4 matrix. More...
 
typedef mat< 2, 2, uint, lowp > lowp_umat2
 Low-qualifier unsigned integer 2x2 matrix. More...
 
typedef mat< 2, 2, uint, lowp > lowp_umat2x2
 Low-qualifier unsigned integer 2x2 matrix. More...
 
typedef mat< 2, 3, uint, lowp > lowp_umat2x3
 Low-qualifier unsigned integer 2x3 matrix. More...
 
typedef mat< 2, 4, uint, lowp > lowp_umat2x4
 Low-qualifier unsigned integer 2x4 matrix. More...
 
typedef mat< 3, 3, uint, lowp > lowp_umat3
 Low-qualifier unsigned integer 3x3 matrix. More...
 
typedef mat< 3, 2, uint, lowp > lowp_umat3x2
 Low-qualifier unsigned integer 3x2 matrix. More...
 
typedef mat< 3, 3, uint, lowp > lowp_umat3x3
 Low-qualifier unsigned integer 3x3 matrix. More...
 
typedef mat< 3, 4, uint, lowp > lowp_umat3x4
 Low-qualifier unsigned integer 3x4 matrix. More...
 
typedef mat< 4, 4, uint, lowp > lowp_umat4
 Low-qualifier unsigned integer 4x4 matrix. More...
 
typedef mat< 4, 2, uint, lowp > lowp_umat4x2
 Low-qualifier unsigned integer 4x2 matrix. More...
 
typedef mat< 4, 3, uint, lowp > lowp_umat4x3
 Low-qualifier unsigned integer 4x3 matrix. More...
 
typedef mat< 4, 4, uint, lowp > lowp_umat4x4
 Low-qualifier unsigned integer 4x4 matrix. More...
 
typedef mat< 2, 2, int, mediump > mediump_imat2
 Medium-qualifier signed integer 2x2 matrix. More...
 
typedef mat< 2, 2, int, mediump > mediump_imat2x2
 Medium-qualifier signed integer 2x2 matrix. More...
 
typedef mat< 2, 3, int, mediump > mediump_imat2x3
 Medium-qualifier signed integer 2x3 matrix. More...
 
typedef mat< 2, 4, int, mediump > mediump_imat2x4
 Medium-qualifier signed integer 2x4 matrix. More...
 
typedef mat< 3, 3, int, mediump > mediump_imat3
 Medium-qualifier signed integer 3x3 matrix. More...
 
typedef mat< 3, 2, int, mediump > mediump_imat3x2
 Medium-qualifier signed integer 3x2 matrix. More...
 
typedef mat< 3, 3, int, mediump > mediump_imat3x3
 Medium-qualifier signed integer 3x3 matrix. More...
 
typedef mat< 3, 4, int, mediump > mediump_imat3x4
 Medium-qualifier signed integer 3x4 matrix. More...
 
typedef mat< 4, 4, int, mediump > mediump_imat4
 Medium-qualifier signed integer 4x4 matrix. More...
 
typedef mat< 4, 2, int, mediump > mediump_imat4x2
 Medium-qualifier signed integer 4x2 matrix. More...
 
typedef mat< 4, 3, int, mediump > mediump_imat4x3
 Medium-qualifier signed integer 4x3 matrix. More...
 
typedef mat< 4, 4, int, mediump > mediump_imat4x4
 Medium-qualifier signed integer 4x4 matrix. More...
 
typedef mat< 2, 2, uint, mediump > mediump_umat2
 Medium-qualifier unsigned integer 2x2 matrix. More...
 
typedef mat< 2, 2, uint, mediump > mediump_umat2x2
 Medium-qualifier unsigned integer 2x2 matrix. More...
 
typedef mat< 2, 3, uint, mediump > mediump_umat2x3
 Medium-qualifier unsigned integer 2x3 matrix. More...
 
typedef mat< 2, 4, uint, mediump > mediump_umat2x4
 Medium-qualifier unsigned integer 2x4 matrix. More...
 
typedef mat< 3, 3, uint, mediump > mediump_umat3
 Medium-qualifier unsigned integer 3x3 matrix. More...
 
typedef mat< 3, 2, uint, mediump > mediump_umat3x2
 Medium-qualifier unsigned integer 3x2 matrix. More...
 
typedef mat< 3, 3, uint, mediump > mediump_umat3x3
 Medium-qualifier unsigned integer 3x3 matrix. More...
 
typedef mat< 3, 4, uint, mediump > mediump_umat3x4
 Medium-qualifier unsigned integer 3x4 matrix. More...
 
typedef mat< 4, 4, uint, mediump > mediump_umat4
 Medium-qualifier unsigned integer 4x4 matrix. More...
 
typedef mat< 4, 2, uint, mediump > mediump_umat4x2
 Medium-qualifier unsigned integer 4x2 matrix. More...
 
typedef mat< 4, 3, uint, mediump > mediump_umat4x3
 Medium-qualifier unsigned integer 4x3 matrix. More...
 
typedef mat< 4, 4, uint, mediump > mediump_umat4x4
 Medium-qualifier unsigned integer 4x4 matrix. More...
 
typedef mediump_umat2 umat2
 Unsigned integer 2x2 matrix. More...
 
typedef mediump_umat2x2 umat2x2
 Unsigned integer 2x2 matrix. More...
 
typedef mediump_umat2x3 umat2x3
 Unsigned integer 2x3 matrix. More...
 
typedef mediump_umat2x4 umat2x4
 Unsigned integer 2x4 matrix. More...
 
typedef mediump_umat3 umat3
 Unsigned integer 3x3 matrix. More...
 
typedef mediump_umat3x2 umat3x2
 Unsigned integer 3x2 matrix. More...
 
typedef mediump_umat3x3 umat3x3
 Unsigned integer 3x3 matrix. More...
 
typedef mediump_umat3x4 umat3x4
 Unsigned integer 3x4 matrix. More...
 
typedef mediump_umat4 umat4
 Unsigned integer 4x4 matrix. More...
 
typedef mediump_umat4x2 umat4x2
 Unsigned integer 4x2 matrix. More...
 
typedef mediump_umat4x3 umat4x3
 Unsigned integer 4x3 matrix. More...
 
typedef mediump_umat4x4 umat4x4
 Unsigned integer 4x4 matrix. More...
 

Detailed Description

GLM_GTC_matrix_integer

See also
Core features (dependence)

Definition in file matrix_integer.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00100_source.html ================================================ 0.9.9 API documentation: matrix_integer.hpp Source File
0.9.9 API documentation
matrix_integer.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependency:
16 #include "../mat2x2.hpp"
17 #include "../mat2x3.hpp"
18 #include "../mat2x4.hpp"
19 #include "../mat3x2.hpp"
20 #include "../mat3x3.hpp"
21 #include "../mat3x4.hpp"
22 #include "../mat4x2.hpp"
23 #include "../mat4x3.hpp"
24 #include "../mat4x4.hpp"
25 
26 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
27 # pragma message("GLM: GLM_GTC_matrix_integer extension included")
28 #endif
29 
30 namespace glm
31 {
34 
37  typedef mat<2, 2, int, highp> highp_imat2;
38 
41  typedef mat<3, 3, int, highp> highp_imat3;
42 
45  typedef mat<4, 4, int, highp> highp_imat4;
46 
49  typedef mat<2, 2, int, highp> highp_imat2x2;
50 
53  typedef mat<2, 3, int, highp> highp_imat2x3;
54 
57  typedef mat<2, 4, int, highp> highp_imat2x4;
58 
61  typedef mat<3, 2, int, highp> highp_imat3x2;
62 
65  typedef mat<3, 3, int, highp> highp_imat3x3;
66 
69  typedef mat<3, 4, int, highp> highp_imat3x4;
70 
73  typedef mat<4, 2, int, highp> highp_imat4x2;
74 
77  typedef mat<4, 3, int, highp> highp_imat4x3;
78 
81  typedef mat<4, 4, int, highp> highp_imat4x4;
82 
83 
86  typedef mat<2, 2, int, mediump> mediump_imat2;
87 
90  typedef mat<3, 3, int, mediump> mediump_imat3;
91 
94  typedef mat<4, 4, int, mediump> mediump_imat4;
95 
96 
99  typedef mat<2, 2, int, mediump> mediump_imat2x2;
100 
103  typedef mat<2, 3, int, mediump> mediump_imat2x3;
104 
107  typedef mat<2, 4, int, mediump> mediump_imat2x4;
108 
111  typedef mat<3, 2, int, mediump> mediump_imat3x2;
112 
115  typedef mat<3, 3, int, mediump> mediump_imat3x3;
116 
119  typedef mat<3, 4, int, mediump> mediump_imat3x4;
120 
123  typedef mat<4, 2, int, mediump> mediump_imat4x2;
124 
127  typedef mat<4, 3, int, mediump> mediump_imat4x3;
128 
131  typedef mat<4, 4, int, mediump> mediump_imat4x4;
132 
133 
136  typedef mat<2, 2, int, lowp> lowp_imat2;
137 
140  typedef mat<3, 3, int, lowp> lowp_imat3;
141 
144  typedef mat<4, 4, int, lowp> lowp_imat4;
145 
146 
149  typedef mat<2, 2, int, lowp> lowp_imat2x2;
150 
153  typedef mat<2, 3, int, lowp> lowp_imat2x3;
154 
157  typedef mat<2, 4, int, lowp> lowp_imat2x4;
158 
161  typedef mat<3, 2, int, lowp> lowp_imat3x2;
162 
165  typedef mat<3, 3, int, lowp> lowp_imat3x3;
166 
169  typedef mat<3, 4, int, lowp> lowp_imat3x4;
170 
173  typedef mat<4, 2, int, lowp> lowp_imat4x2;
174 
177  typedef mat<4, 3, int, lowp> lowp_imat4x3;
178 
181  typedef mat<4, 4, int, lowp> lowp_imat4x4;
182 
183 
186  typedef mat<2, 2, uint, highp> highp_umat2;
187 
190  typedef mat<3, 3, uint, highp> highp_umat3;
191 
194  typedef mat<4, 4, uint, highp> highp_umat4;
195 
198  typedef mat<2, 2, uint, highp> highp_umat2x2;
199 
202  typedef mat<2, 3, uint, highp> highp_umat2x3;
203 
206  typedef mat<2, 4, uint, highp> highp_umat2x4;
207 
210  typedef mat<3, 2, uint, highp> highp_umat3x2;
211 
214  typedef mat<3, 3, uint, highp> highp_umat3x3;
215 
218  typedef mat<3, 4, uint, highp> highp_umat3x4;
219 
222  typedef mat<4, 2, uint, highp> highp_umat4x2;
223 
226  typedef mat<4, 3, uint, highp> highp_umat4x3;
227 
230  typedef mat<4, 4, uint, highp> highp_umat4x4;
231 
232 
235  typedef mat<2, 2, uint, mediump> mediump_umat2;
236 
239  typedef mat<3, 3, uint, mediump> mediump_umat3;
240 
243  typedef mat<4, 4, uint, mediump> mediump_umat4;
244 
245 
248  typedef mat<2, 2, uint, mediump> mediump_umat2x2;
249 
252  typedef mat<2, 3, uint, mediump> mediump_umat2x3;
253 
256  typedef mat<2, 4, uint, mediump> mediump_umat2x4;
257 
260  typedef mat<3, 2, uint, mediump> mediump_umat3x2;
261 
264  typedef mat<3, 3, uint, mediump> mediump_umat3x3;
265 
268  typedef mat<3, 4, uint, mediump> mediump_umat3x4;
269 
272  typedef mat<4, 2, uint, mediump> mediump_umat4x2;
273 
276  typedef mat<4, 3, uint, mediump> mediump_umat4x3;
277 
280  typedef mat<4, 4, uint, mediump> mediump_umat4x4;
281 
282 
285  typedef mat<2, 2, uint, lowp> lowp_umat2;
286 
289  typedef mat<3, 3, uint, lowp> lowp_umat3;
290 
293  typedef mat<4, 4, uint, lowp> lowp_umat4;
294 
295 
298  typedef mat<2, 2, uint, lowp> lowp_umat2x2;
299 
302  typedef mat<2, 3, uint, lowp> lowp_umat2x3;
303 
306  typedef mat<2, 4, uint, lowp> lowp_umat2x4;
307 
310  typedef mat<3, 2, uint, lowp> lowp_umat3x2;
311 
314  typedef mat<3, 3, uint, lowp> lowp_umat3x3;
315 
318  typedef mat<3, 4, uint, lowp> lowp_umat3x4;
319 
322  typedef mat<4, 2, uint, lowp> lowp_umat4x2;
323 
326  typedef mat<4, 3, uint, lowp> lowp_umat4x3;
327 
330  typedef mat<4, 4, uint, lowp> lowp_umat4x4;
331 
332 #if(defined(GLM_PRECISION_HIGHP_INT))
333  typedef highp_imat2 imat2;
334  typedef highp_imat3 imat3;
335  typedef highp_imat4 imat4;
336  typedef highp_imat2x2 imat2x2;
337  typedef highp_imat2x3 imat2x3;
338  typedef highp_imat2x4 imat2x4;
339  typedef highp_imat3x2 imat3x2;
340  typedef highp_imat3x3 imat3x3;
341  typedef highp_imat3x4 imat3x4;
342  typedef highp_imat4x2 imat4x2;
343  typedef highp_imat4x3 imat4x3;
344  typedef highp_imat4x4 imat4x4;
345 #elif(defined(GLM_PRECISION_LOWP_INT))
346  typedef lowp_imat2 imat2;
347  typedef lowp_imat3 imat3;
348  typedef lowp_imat4 imat4;
349  typedef lowp_imat2x2 imat2x2;
350  typedef lowp_imat2x3 imat2x3;
351  typedef lowp_imat2x4 imat2x4;
352  typedef lowp_imat3x2 imat3x2;
353  typedef lowp_imat3x3 imat3x3;
354  typedef lowp_imat3x4 imat3x4;
355  typedef lowp_imat4x2 imat4x2;
356  typedef lowp_imat4x3 imat4x3;
357  typedef lowp_imat4x4 imat4x4;
358 #else //if(defined(GLM_PRECISION_MEDIUMP_INT))
359 
362  typedef mediump_imat2 imat2;
363 
366  typedef mediump_imat3 imat3;
367 
370  typedef mediump_imat4 imat4;
371 
374  typedef mediump_imat2x2 imat2x2;
375 
378  typedef mediump_imat2x3 imat2x3;
379 
382  typedef mediump_imat2x4 imat2x4;
383 
386  typedef mediump_imat3x2 imat3x2;
387 
390  typedef mediump_imat3x3 imat3x3;
391 
394  typedef mediump_imat3x4 imat3x4;
395 
398  typedef mediump_imat4x2 imat4x2;
399 
402  typedef mediump_imat4x3 imat4x3;
403 
406  typedef mediump_imat4x4 imat4x4;
407 #endif//GLM_PRECISION
408 
409 #if(defined(GLM_PRECISION_HIGHP_UINT))
410  typedef highp_umat2 umat2;
411  typedef highp_umat3 umat3;
412  typedef highp_umat4 umat4;
413  typedef highp_umat2x2 umat2x2;
414  typedef highp_umat2x3 umat2x3;
415  typedef highp_umat2x4 umat2x4;
416  typedef highp_umat3x2 umat3x2;
417  typedef highp_umat3x3 umat3x3;
418  typedef highp_umat3x4 umat3x4;
419  typedef highp_umat4x2 umat4x2;
420  typedef highp_umat4x3 umat4x3;
421  typedef highp_umat4x4 umat4x4;
422 #elif(defined(GLM_PRECISION_LOWP_UINT))
423  typedef lowp_umat2 umat2;
424  typedef lowp_umat3 umat3;
425  typedef lowp_umat4 umat4;
426  typedef lowp_umat2x2 umat2x2;
427  typedef lowp_umat2x3 umat2x3;
428  typedef lowp_umat2x4 umat2x4;
429  typedef lowp_umat3x2 umat3x2;
430  typedef lowp_umat3x3 umat3x3;
431  typedef lowp_umat3x4 umat3x4;
432  typedef lowp_umat4x2 umat4x2;
433  typedef lowp_umat4x3 umat4x3;
434  typedef lowp_umat4x4 umat4x4;
435 #else //if(defined(GLM_PRECISION_MEDIUMP_UINT))
436 
439  typedef mediump_umat2 umat2;
440 
443  typedef mediump_umat3 umat3;
444 
447  typedef mediump_umat4 umat4;
448 
451  typedef mediump_umat2x2 umat2x2;
452 
455  typedef mediump_umat2x3 umat2x3;
456 
459  typedef mediump_umat2x4 umat2x4;
460 
463  typedef mediump_umat3x2 umat3x2;
464 
467  typedef mediump_umat3x3 umat3x3;
468 
471  typedef mediump_umat3x4 umat3x4;
472 
475  typedef mediump_umat4x2 umat4x2;
476 
479  typedef mediump_umat4x3 umat4x3;
480 
483  typedef mediump_umat4x4 umat4x4;
484 #endif//GLM_PRECISION
485 
487 }//namespace glm
mediump_imat4x4 imat4x4
Signed integer 4x4 matrix.
mediump_imat2x2 imat2x2
Signed integer 2x2 matrix.
mediump_umat4 umat4
Unsigned integer 4x4 matrix.
mediump_umat4x2 umat4x2
Unsigned integer 4x2 matrix.
mat< 4, 4, uint, lowp > lowp_umat4x4
Low-qualifier unsigned integer 4x4 matrix.
mat< 4, 2, int, mediump > mediump_imat4x2
Medium-qualifier signed integer 4x2 matrix.
mat< 4, 4, uint, lowp > lowp_umat4
Low-qualifier unsigned integer 4x4 matrix.
mat< 3, 2, int, highp > highp_imat3x2
High-qualifier signed integer 3x2 matrix.
mat< 3, 3, uint, highp > highp_umat3x3
High-qualifier unsigned integer 3x3 matrix.
mat< 2, 2, uint, lowp > lowp_umat2x2
Low-qualifier unsigned integer 2x2 matrix.
mediump_umat3x3 umat3x3
Unsigned integer 3x3 matrix.
mat< 2, 4, uint, highp > highp_umat2x4
High-qualifier unsigned integer 2x4 matrix.
mediump_umat3x2 umat3x2
Unsigned integer 3x2 matrix.
mat< 3, 2, int, lowp > lowp_imat3x2
Low-qualifier signed integer 3x2 matrix.
mat< 3, 3, uint, highp > highp_umat3
High-qualifier unsigned integer 3x3 matrix.
mat< 4, 3, int, mediump > mediump_imat4x3
Medium-qualifier signed integer 4x3 matrix.
mediump_imat3 imat3
Signed integer 3x3 matrix.
mat< 2, 2, int, mediump > mediump_imat2
Medium-qualifier signed integer 2x2 matrix.
mat< 3, 4, uint, mediump > mediump_umat3x4
Medium-qualifier unsigned integer 3x4 matrix.
mat< 4, 4, int, lowp > lowp_imat4x4
Low-qualifier signed integer 4x4 matrix.
mat< 2, 4, int, highp > highp_imat2x4
High-qualifier signed integer 2x4 matrix.
mediump_umat2x3 umat2x3
Unsigned integer 2x3 matrix.
mat< 4, 3, int, lowp > lowp_imat4x3
Low-qualifier signed integer 4x3 matrix.
mat< 3, 3, uint, lowp > lowp_umat3
Low-qualifier unsigned integer 3x3 matrix.
mat< 4, 4, uint, mediump > mediump_umat4x4
Medium-qualifier unsigned integer 4x4 matrix.
mat< 3, 2, uint, mediump > mediump_umat3x2
Medium-qualifier unsigned integer 3x2 matrix.
mat< 2, 4, uint, mediump > mediump_umat2x4
Medium-qualifier unsigned integer 2x4 matrix.
mat< 4, 4, int, highp > highp_imat4x4
High-qualifier signed integer 4x4 matrix.
mat< 2, 4, uint, lowp > lowp_umat2x4
Low-qualifier unsigned integer 2x4 matrix.
mediump_imat4x3 imat4x3
Signed integer 4x3 matrix.
mat< 3, 3, uint, mediump > mediump_umat3x3
Medium-qualifier unsigned integer 3x3 matrix.
mat< 2, 2, int, highp > highp_imat2
High-qualifier signed integer 2x2 matrix.
mediump_umat2 umat2
Unsigned integer 2x2 matrix.
mat< 3, 4, uint, lowp > lowp_umat3x4
Low-qualifier unsigned integer 3x4 matrix.
mat< 4, 2, uint, mediump > mediump_umat4x2
Medium-qualifier unsigned integer 4x2 matrix.
mediump_imat4x2 imat4x2
Signed integer 4x2 matrix.
mat< 2, 3, int, mediump > mediump_imat2x3
Medium-qualifier signed integer 2x3 matrix.
mat< 2, 2, uint, mediump > mediump_umat2
Medium-qualifier unsigned integer 2x2 matrix.
mediump_imat2 imat2
Signed integer 2x2 matrix.
mat< 4, 3, uint, mediump > mediump_umat4x3
Medium-qualifier unsigned integer 4x3 matrix.
mat< 3, 3, int, mediump > mediump_imat3
Medium-qualifier signed integer 3x3 matrix.
mat< 2, 2, uint, highp > highp_umat2
High-qualifier unsigned integer 2x2 matrix.
mediump_imat3x4 imat3x4
Signed integer 3x4 matrix.
mat< 3, 2, uint, highp > highp_umat3x2
High-qualifier unsigned integer 3x2 matrix.
mat< 2, 2, int, highp > highp_imat2x2
High-qualifier signed integer 2x2 matrix.
mat< 3, 4, uint, highp > highp_umat3x4
High-qualifier unsigned integer 3x4 matrix.
mat< 3, 3, int, mediump > mediump_imat3x3
Medium-qualifier signed integer 3x3 matrix.
mat< 4, 4, uint, highp > highp_umat4x4
High-qualifier unsigned integer 4x4 matrix.
mediump_imat2x4 imat2x4
Signed integer 2x4 matrix.
mediump_umat2x4 umat2x4
Unsigned integer 2x4 matrix.
mat< 2, 4, int, mediump > mediump_imat2x4
Medium-qualifier signed integer 2x4 matrix.
mat< 2, 2, int, lowp > lowp_imat2
Low-qualifier signed integer 2x2 matrix.
mat< 4, 2, int, lowp > lowp_imat4x2
Low-qualifier signed integer 4x2 matrix.
mat< 4, 3, uint, lowp > lowp_umat4x3
Low-qualifier unsigned integer 4x3 matrix.
mediump_imat4 imat4
Signed integer 4x4 matrix.
mediump_imat3x2 imat3x2
Signed integer 3x2 matrix.
mat< 2, 3, uint, lowp > lowp_umat2x3
Low-qualifier unsigned integer 2x3 matrix.
mat< 3, 2, int, mediump > mediump_imat3x2
Medium-qualifier signed integer 3x2 matrix.
mediump_umat4x4 umat4x4
Unsigned integer 4x4 matrix.
mat< 4, 3, int, highp > highp_imat4x3
High-qualifier signed integer 4x3 matrix.
mediump_umat4x3 umat4x3
Unsigned integer 4x3 matrix.
mat< 4, 2, uint, lowp > lowp_umat4x2
Low-qualifier unsigned integer 4x2 matrix.
mat< 3, 2, uint, lowp > lowp_umat3x2
Low-qualifier unsigned integer 3x2 matrix.
mat< 2, 2, uint, highp > highp_umat2x2
High-qualifier unsigned integer 2x2 matrix.
mat< 3, 3, int, lowp > lowp_imat3x3
Low-qualifier signed integer 3x3 matrix.
mat< 3, 3, int, highp > highp_imat3x3
High-qualifier signed integer 3x3 matrix.
mat< 2, 3, uint, mediump > mediump_umat2x3
Medium-qualifier unsigned integer 2x3 matrix.
mat< 4, 2, uint, highp > highp_umat4x2
High-qualifier unsigned integer 4x2 matrix.
mat< 3, 3, uint, lowp > lowp_umat3x3
Low-qualifier unsigned integer 3x3 matrix.
mediump_imat2x3 imat2x3
Signed integer 2x3 matrix.
mat< 2, 3, int, lowp > lowp_imat2x3
Low-qualifier signed integer 2x3 matrix.
mat< 4, 4, uint, highp > highp_umat4
High-qualifier unsigned integer 4x4 matrix.
mat< 3, 3, int, highp > highp_imat3
High-qualifier signed integer 3x3 matrix.
mat< 3, 3, uint, mediump > mediump_umat3
Medium-qualifier unsigned integer 3x3 matrix.
mat< 2, 2, int, mediump > mediump_imat2x2
Medium-qualifier signed integer 2x2 matrix.
mat< 2, 3, int, highp > highp_imat2x3
High-qualifier signed integer 2x3 matrix.
mat< 4, 2, int, highp > highp_imat4x2
High-qualifier signed integer 4x2 matrix.
mat< 3, 4, int, lowp > lowp_imat3x4
Low-qualifier signed integer 3x4 matrix.
mediump_umat3 umat3
Unsigned integer 3x3 matrix.
mat< 2, 2, int, lowp > lowp_imat2x2
Low-qualifier signed integer 2x2 matrix.
mat< 2, 3, uint, highp > highp_umat2x3
High-qualifier unsigned integer 2x3 matrix.
mat< 4, 4, int, highp > highp_imat4
High-qualifier signed integer 4x4 matrix.
mat< 2, 4, int, lowp > lowp_imat2x4
Low-qualifier signed integer 2x4 matrix.
mat< 3, 4, int, mediump > mediump_imat3x4
Medium-qualifier signed integer 3x4 matrix.
mat< 4, 4, int, mediump > mediump_imat4x4
Medium-qualifier signed integer 4x4 matrix.
mat< 4, 4, int, mediump > mediump_imat4
Medium-qualifier signed integer 4x4 matrix.
mediump_imat3x3 imat3x3
Signed integer 3x3 matrix.
mat< 3, 3, int, lowp > lowp_imat3
Low-qualifier signed integer 3x3 matrix.
mat< 2, 2, uint, lowp > lowp_umat2
Low-qualifier unsigned integer 2x2 matrix.
mat< 4, 3, uint, highp > highp_umat4x3
High-qualifier unsigned integer 4x3 matrix.
mediump_umat2x2 umat2x2
Unsigned integer 2x2 matrix.
mat< 4, 4, uint, mediump > mediump_umat4
Medium-qualifier unsigned integer 4x4 matrix.
mat< 4, 4, int, lowp > lowp_imat4
Low-qualifier signed integer 4x4 matrix.
mediump_umat3x4 umat3x4
Unsigned integer 3x4 matrix.
mat< 3, 4, int, highp > highp_imat3x4
High-qualifier signed integer 3x4 matrix.
mat< 2, 2, uint, mediump > mediump_umat2x2
Medium-qualifier unsigned integer 2x2 matrix.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00101.html ================================================ 0.9.9 API documentation: matrix_interpolation.hpp File Reference
0.9.9 API documentation
matrix_interpolation.hpp File Reference

GLM_GTX_matrix_interpolation More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL void axisAngle (mat< 4, 4, T, Q > const &Mat, vec< 3, T, Q > &Axis, T &Angle)
 Get the axis and angle of the rotation from a matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > axisAngleMatrix (vec< 3, T, Q > const &Axis, T const Angle)
 Build a matrix from axis and angle. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > extractMatrixRotation (mat< 4, 4, T, Q > const &Mat)
 Extracts the rotation part of a matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > interpolate (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2, T const Delta)
 Build a interpolation of 4 * 4 matrixes. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00101_source.html ================================================ 0.9.9 API documentation: matrix_interpolation.hpp Source File
0.9.9 API documentation
matrix_interpolation.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependency:
17 #include "../glm.hpp"
18 
19 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
20 # ifndef GLM_ENABLE_EXPERIMENTAL
21 # pragma message("GLM: GLM_GTX_matrix_interpolation is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
22 # else
23 # pragma message("GLM: GLM_GTX_matrix_interpolation extension included")
24 # endif
25 #endif
26 
27 namespace glm
28 {
31 
34  template<typename T, qualifier Q>
35  GLM_FUNC_DECL void axisAngle(
36  mat<4, 4, T, Q> const& Mat, vec<3, T, Q> & Axis, T & Angle);
37 
40  template<typename T, qualifier Q>
41  GLM_FUNC_DECL mat<4, 4, T, Q> axisAngleMatrix(
42  vec<3, T, Q> const& Axis, T const Angle);
43 
46  template<typename T, qualifier Q>
47  GLM_FUNC_DECL mat<4, 4, T, Q> extractMatrixRotation(
48  mat<4, 4, T, Q> const& Mat);
49 
53  template<typename T, qualifier Q>
54  GLM_FUNC_DECL mat<4, 4, T, Q> interpolate(
55  mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2, T const Delta);
56 
58 }//namespace glm
59 
60 #include "matrix_interpolation.inl"
GLM_FUNC_DECL mat< 4, 4, T, Q > extractMatrixRotation(mat< 4, 4, T, Q > const &Mat)
Extracts the rotation part of a matrix.
GLM_FUNC_DECL mat< 4, 4, T, Q > interpolate(mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2, T const Delta)
Build a interpolation of 4 * 4 matrixes.
GLM_FUNC_DECL void axisAngle(mat< 4, 4, T, Q > const &Mat, vec< 3, T, Q > &Axis, T &Angle)
Get the axis and angle of the rotation from a matrix.
GLM_FUNC_DECL mat< 4, 4, T, Q > axisAngleMatrix(vec< 3, T, Q > const &Axis, T const Angle)
Build a matrix from axis and angle.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00102.html ================================================ 0.9.9 API documentation: matrix_inverse.hpp File Reference
0.9.9 API documentation
matrix_inverse.hpp File Reference

GLM_GTC_matrix_inverse More...

Go to the source code of this file.

Functions

template<typename genType >
GLM_FUNC_DECL genType affineInverse (genType const &m)
 Fast matrix inverse for affine matrix. More...
 
template<typename genType >
GLM_FUNC_DECL genType inverseTranspose (genType const &m)
 Compute the inverse transpose of a matrix. More...
 

Detailed Description

GLM_GTC_matrix_inverse

See also
Core features (dependence)

Definition in file matrix_inverse.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00102_source.html ================================================ 0.9.9 API documentation: matrix_inverse.hpp Source File
0.9.9 API documentation
matrix_inverse.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependencies
16 #include "../detail/setup.hpp"
17 #include "../matrix.hpp"
18 #include "../mat2x2.hpp"
19 #include "../mat3x3.hpp"
20 #include "../mat4x4.hpp"
21 
22 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
23 # pragma message("GLM: GLM_GTC_matrix_inverse extension included")
24 #endif
25 
26 namespace glm
27 {
30 
36  template<typename genType>
37  GLM_FUNC_DECL genType affineInverse(genType const& m);
38 
44  template<typename genType>
45  GLM_FUNC_DECL genType inverseTranspose(genType const& m);
46 
48 }//namespace glm
49 
50 #include "matrix_inverse.inl"
GLM_FUNC_DECL genType inverseTranspose(genType const &m)
Compute the inverse transpose of a matrix.
GLM_FUNC_DECL genType affineInverse(genType const &m)
Fast matrix inverse for affine matrix.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00103.html ================================================ 0.9.9 API documentation: matrix_major_storage.hpp File Reference
0.9.9 API documentation
matrix_major_storage.hpp File Reference

GLM_GTX_matrix_major_storage More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > colMajor2 (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 Build a column major matrix from column vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > colMajor2 (mat< 2, 2, T, Q > const &m)
 Build a column major matrix from other matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > colMajor3 (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2, vec< 3, T, Q > const &v3)
 Build a column major matrix from column vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > colMajor3 (mat< 3, 3, T, Q > const &m)
 Build a column major matrix from other matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > colMajor4 (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2, vec< 4, T, Q > const &v3, vec< 4, T, Q > const &v4)
 Build a column major matrix from column vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > colMajor4 (mat< 4, 4, T, Q > const &m)
 Build a column major matrix from other matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > rowMajor2 (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 Build a row major matrix from row vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > rowMajor2 (mat< 2, 2, T, Q > const &m)
 Build a row major matrix from other matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > rowMajor3 (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2, vec< 3, T, Q > const &v3)
 Build a row major matrix from row vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > rowMajor3 (mat< 3, 3, T, Q > const &m)
 Build a row major matrix from other matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > rowMajor4 (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2, vec< 4, T, Q > const &v3, vec< 4, T, Q > const &v4)
 Build a row major matrix from row vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > rowMajor4 (mat< 4, 4, T, Q > const &m)
 Build a row major matrix from other matrix. More...
 

Detailed Description

GLM_GTX_matrix_major_storage

See also
Core features (dependence)
gtx_extented_min_max (dependence)

Definition in file matrix_major_storage.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00103_source.html ================================================ 0.9.9 API documentation: matrix_major_storage.hpp Source File
0.9.9 API documentation
matrix_major_storage.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependency:
17 #include "../glm.hpp"
18 
19 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
20 # ifndef GLM_ENABLE_EXPERIMENTAL
21 # pragma message("GLM: GLM_GTX_matrix_major_storage is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
22 # else
23 # pragma message("GLM: GLM_GTX_matrix_major_storage extension included")
24 # endif
25 #endif
26 
27 namespace glm
28 {
31 
34  template<typename T, qualifier Q>
35  GLM_FUNC_DECL mat<2, 2, T, Q> rowMajor2(
36  vec<2, T, Q> const& v1,
37  vec<2, T, Q> const& v2);
38 
41  template<typename T, qualifier Q>
42  GLM_FUNC_DECL mat<2, 2, T, Q> rowMajor2(
43  mat<2, 2, T, Q> const& m);
44 
47  template<typename T, qualifier Q>
48  GLM_FUNC_DECL mat<3, 3, T, Q> rowMajor3(
49  vec<3, T, Q> const& v1,
50  vec<3, T, Q> const& v2,
51  vec<3, T, Q> const& v3);
52 
55  template<typename T, qualifier Q>
56  GLM_FUNC_DECL mat<3, 3, T, Q> rowMajor3(
57  mat<3, 3, T, Q> const& m);
58 
61  template<typename T, qualifier Q>
62  GLM_FUNC_DECL mat<4, 4, T, Q> rowMajor4(
63  vec<4, T, Q> const& v1,
64  vec<4, T, Q> const& v2,
65  vec<4, T, Q> const& v3,
66  vec<4, T, Q> const& v4);
67 
70  template<typename T, qualifier Q>
71  GLM_FUNC_DECL mat<4, 4, T, Q> rowMajor4(
72  mat<4, 4, T, Q> const& m);
73 
76  template<typename T, qualifier Q>
77  GLM_FUNC_DECL mat<2, 2, T, Q> colMajor2(
78  vec<2, T, Q> const& v1,
79  vec<2, T, Q> const& v2);
80 
83  template<typename T, qualifier Q>
84  GLM_FUNC_DECL mat<2, 2, T, Q> colMajor2(
85  mat<2, 2, T, Q> const& m);
86 
89  template<typename T, qualifier Q>
90  GLM_FUNC_DECL mat<3, 3, T, Q> colMajor3(
91  vec<3, T, Q> const& v1,
92  vec<3, T, Q> const& v2,
93  vec<3, T, Q> const& v3);
94 
97  template<typename T, qualifier Q>
98  GLM_FUNC_DECL mat<3, 3, T, Q> colMajor3(
99  mat<3, 3, T, Q> const& m);
100 
103  template<typename T, qualifier Q>
104  GLM_FUNC_DECL mat<4, 4, T, Q> colMajor4(
105  vec<4, T, Q> const& v1,
106  vec<4, T, Q> const& v2,
107  vec<4, T, Q> const& v3,
108  vec<4, T, Q> const& v4);
109 
112  template<typename T, qualifier Q>
113  GLM_FUNC_DECL mat<4, 4, T, Q> colMajor4(
114  mat<4, 4, T, Q> const& m);
115 
117 }//namespace glm
118 
119 #include "matrix_major_storage.inl"
GLM_FUNC_DECL mat< 4, 4, T, Q > rowMajor4(mat< 4, 4, T, Q > const &m)
Build a row major matrix from other matrix.
GLM_FUNC_DECL mat< 2, 2, T, Q > rowMajor2(mat< 2, 2, T, Q > const &m)
Build a row major matrix from other matrix.
GLM_FUNC_DECL mat< 4, 4, T, Q > colMajor4(mat< 4, 4, T, Q > const &m)
Build a column major matrix from other matrix.
GLM_FUNC_DECL mat< 3, 3, T, Q > colMajor3(mat< 3, 3, T, Q > const &m)
Build a column major matrix from other matrix.
GLM_FUNC_DECL mat< 2, 2, T, Q > colMajor2(mat< 2, 2, T, Q > const &m)
Build a column major matrix from other matrix.
GLM_FUNC_DECL mat< 3, 3, T, Q > rowMajor3(mat< 3, 3, T, Q > const &m)
Build a row major matrix from other matrix.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00104.html ================================================ 0.9.9 API documentation: matrix_operation.hpp File Reference
0.9.9 API documentation
matrix_operation.hpp File Reference

GLM_GTX_matrix_operation More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > adjugate (mat< 2, 2, T, Q > const &m)
 Build an adjugate matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > adjugate (mat< 3, 3, T, Q > const &m)
 Build an adjugate matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > adjugate (mat< 4, 4, T, Q > const &m)
 Build an adjugate matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > diagonal2x2 (vec< 2, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > diagonal2x3 (vec< 2, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > diagonal2x4 (vec< 2, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > diagonal3x2 (vec< 2, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > diagonal3x3 (vec< 3, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > diagonal3x4 (vec< 3, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > diagonal4x2 (vec< 2, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > diagonal4x3 (vec< 3, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > diagonal4x4 (vec< 4, T, Q > const &v)
 Build a diagonal matrix. More...
 

Detailed Description

GLM_GTX_matrix_operation

See also
Core features (dependence)

Definition in file matrix_operation.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00104_source.html ================================================ 0.9.9 API documentation: matrix_operation.hpp Source File
0.9.9 API documentation
matrix_operation.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependency:
16 #include "../glm.hpp"
17 
18 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
19 # ifndef GLM_ENABLE_EXPERIMENTAL
20 # pragma message("GLM: GLM_GTX_matrix_operation is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
21 # else
22 # pragma message("GLM: GLM_GTX_matrix_operation extension included")
23 # endif
24 #endif
25 
26 namespace glm
27 {
30 
33  template<typename T, qualifier Q>
34  GLM_FUNC_DECL mat<2, 2, T, Q> diagonal2x2(
35  vec<2, T, Q> const& v);
36 
39  template<typename T, qualifier Q>
40  GLM_FUNC_DECL mat<2, 3, T, Q> diagonal2x3(
41  vec<2, T, Q> const& v);
42 
45  template<typename T, qualifier Q>
46  GLM_FUNC_DECL mat<2, 4, T, Q> diagonal2x4(
47  vec<2, T, Q> const& v);
48 
51  template<typename T, qualifier Q>
52  GLM_FUNC_DECL mat<3, 2, T, Q> diagonal3x2(
53  vec<2, T, Q> const& v);
54 
57  template<typename T, qualifier Q>
58  GLM_FUNC_DECL mat<3, 3, T, Q> diagonal3x3(
59  vec<3, T, Q> const& v);
60 
63  template<typename T, qualifier Q>
64  GLM_FUNC_DECL mat<3, 4, T, Q> diagonal3x4(
65  vec<3, T, Q> const& v);
66 
69  template<typename T, qualifier Q>
70  GLM_FUNC_DECL mat<4, 2, T, Q> diagonal4x2(
71  vec<2, T, Q> const& v);
72 
75  template<typename T, qualifier Q>
76  GLM_FUNC_DECL mat<4, 3, T, Q> diagonal4x3(
77  vec<3, T, Q> const& v);
78 
81  template<typename T, qualifier Q>
82  GLM_FUNC_DECL mat<4, 4, T, Q> diagonal4x4(
83  vec<4, T, Q> const& v);
84 
87  template<typename T, qualifier Q>
88  GLM_FUNC_DECL mat<2, 2, T, Q> adjugate(mat<2, 2, T, Q> const& m);
89 
92  template<typename T, qualifier Q>
93  GLM_FUNC_DECL mat<3, 3, T, Q> adjugate(mat<3, 3, T, Q> const& m);
94 
97  template<typename T, qualifier Q>
98  GLM_FUNC_DECL mat<4, 4, T, Q> adjugate(mat<4, 4, T, Q> const& m);
99 
101 }//namespace glm
102 
103 #include "matrix_operation.inl"
GLM_FUNC_DECL mat< 4, 3, T, Q > diagonal4x3(vec< 3, T, Q > const &v)
Build a diagonal matrix.
GLM_FUNC_DECL mat< 2, 2, T, Q > diagonal2x2(vec< 2, T, Q > const &v)
Build a diagonal matrix.
GLM_FUNC_DECL mat< 3, 4, T, Q > diagonal3x4(vec< 3, T, Q > const &v)
Build a diagonal matrix.
GLM_FUNC_DECL mat< 3, 2, T, Q > diagonal3x2(vec< 2, T, Q > const &v)
Build a diagonal matrix.
GLM_FUNC_DECL mat< 2, 3, T, Q > diagonal2x3(vec< 2, T, Q > const &v)
Build a diagonal matrix.
GLM_FUNC_DECL mat< 3, 3, T, Q > diagonal3x3(vec< 3, T, Q > const &v)
Build a diagonal matrix.
GLM_FUNC_DECL mat< 4, 4, T, Q > adjugate(mat< 4, 4, T, Q > const &m)
Build an adjugate matrix.
GLM_FUNC_DECL mat< 2, 4, T, Q > diagonal2x4(vec< 2, T, Q > const &v)
Build a diagonal matrix.
GLM_FUNC_DECL mat< 4, 2, T, Q > diagonal4x2(vec< 2, T, Q > const &v)
Build a diagonal matrix.
GLM_FUNC_DECL mat< 4, 4, T, Q > diagonal4x4(vec< 4, T, Q > const &v)
Build a diagonal matrix.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00105.html ================================================ 0.9.9 API documentation: matrix_projection.hpp File Reference
0.9.9 API documentation
matrix_projection.hpp File Reference

GLM_EXT_matrix_projection More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q, typename U >
GLM_FUNC_DECL mat< 4, 4, T, Q > pickMatrix (vec< 2, T, Q > const &center, vec< 2, T, Q > const &delta, vec< 4, U, Q > const &viewport)
 Define a picking region. More...
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > project (vec< 3, T, Q > const &obj, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates using default near and far clip planes definition. More...
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > projectNO (vec< 3, T, Q > const &obj, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates. More...
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > projectZO (vec< 3, T, Q > const &obj, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates. More...
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > unProject (vec< 3, T, Q > const &win, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 Map the specified window coordinates (win.x, win.y, win.z) into object coordinates using default near and far clip planes definition. More...
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > unProjectNO (vec< 3, T, Q > const &win, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 Map the specified window coordinates (win.x, win.y, win.z) into object coordinates. More...
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > unProjectZO (vec< 3, T, Q > const &win, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 Map the specified window coordinates (win.x, win.y, win.z) into object coordinates. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00105_source.html ================================================ 0.9.9 API documentation: matrix_projection.hpp Source File
0.9.9 API documentation
matrix_projection.hpp
Go to the documentation of this file.
1 
20 #pragma once
21 
22 // Dependencies
23 #include "../gtc/constants.hpp"
24 #include "../geometric.hpp"
25 #include "../trigonometric.hpp"
26 #include "../matrix.hpp"
27 
28 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
29 # pragma message("GLM: GLM_EXT_matrix_projection extension included")
30 #endif
31 
32 namespace glm
33 {
36 
49  template<typename T, typename U, qualifier Q>
50  GLM_FUNC_DECL vec<3, T, Q> projectZO(
51  vec<3, T, Q> const& obj, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport);
52 
65  template<typename T, typename U, qualifier Q>
66  GLM_FUNC_DECL vec<3, T, Q> projectNO(
67  vec<3, T, Q> const& obj, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport);
68 
81  template<typename T, typename U, qualifier Q>
82  GLM_FUNC_DECL vec<3, T, Q> project(
83  vec<3, T, Q> const& obj, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport);
84 
97  template<typename T, typename U, qualifier Q>
98  GLM_FUNC_DECL vec<3, T, Q> unProjectZO(
99  vec<3, T, Q> const& win, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport);
100 
113  template<typename T, typename U, qualifier Q>
114  GLM_FUNC_DECL vec<3, T, Q> unProjectNO(
115  vec<3, T, Q> const& win, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport);
116 
129  template<typename T, typename U, qualifier Q>
130  GLM_FUNC_DECL vec<3, T, Q> unProject(
131  vec<3, T, Q> const& win, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport);
132 
142  template<typename T, qualifier Q, typename U>
143  GLM_FUNC_DECL mat<4, 4, T, Q> pickMatrix(
144  vec<2, T, Q> const& center, vec<2, T, Q> const& delta, vec<4, U, Q> const& viewport);
145 
147 }//namespace glm
148 
149 #include "matrix_projection.inl"
GLM_FUNC_DECL vec< 3, T, Q > unProjectZO(vec< 3, T, Q > const &win, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
Map the specified window coordinates (win.x, win.y, win.z) into object coordinates.
GLM_FUNC_DECL genType proj(genType const &x, genType const &Normal)
Projects x on Normal.
GLM_FUNC_DECL vec< 3, T, Q > projectZO(vec< 3, T, Q > const &obj, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates.
GLM_FUNC_DECL vec< 3, T, Q > projectNO(vec< 3, T, Q > const &obj, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates.
GLM_FUNC_DECL vec< 3, T, Q > project(vec< 3, T, Q > const &obj, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates using default near...
GLM_FUNC_DECL vec< 3, T, Q > unProjectNO(vec< 3, T, Q > const &win, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
Map the specified window coordinates (win.x, win.y, win.z) into object coordinates.
GLM_FUNC_DECL vec< 3, T, Q > unProject(vec< 3, T, Q > const &win, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
Map the specified window coordinates (win.x, win.y, win.z) into object coordinates using default near...
GLM_FUNC_DECL mat< 4, 4, T, Q > pickMatrix(vec< 2, T, Q > const &center, vec< 2, T, Q > const &delta, vec< 4, U, Q > const &viewport)
Define a picking region.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00106.html ================================================ 0.9.9 API documentation: matrix_query.hpp File Reference
0.9.9 API documentation
matrix_query.hpp File Reference

GLM_GTX_matrix_query More...

Go to the source code of this file.

Functions

template<length_t C, length_t R, typename T , qualifier Q, template< length_t, length_t, typename, qualifier > class matType>
GLM_FUNC_DECL bool isIdentity (matType< C, R, T, Q > const &m, T const &epsilon)
 Return whether a matrix is an identity matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool isNormalized (mat< 2, 2, T, Q > const &m, T const &epsilon)
 Return whether a matrix is a normalized matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool isNormalized (mat< 3, 3, T, Q > const &m, T const &epsilon)
 Return whether a matrix is a normalized matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool isNormalized (mat< 4, 4, T, Q > const &m, T const &epsilon)
 Return whether a matrix is a normalized matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool isNull (mat< 2, 2, T, Q > const &m, T const &epsilon)
 Return whether a matrix a null matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool isNull (mat< 3, 3, T, Q > const &m, T const &epsilon)
 Return whether a matrix a null matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool isNull (mat< 4, 4, T, Q > const &m, T const &epsilon)
 Return whether a matrix is a null matrix. More...
 
template<length_t C, length_t R, typename T , qualifier Q, template< length_t, length_t, typename, qualifier > class matType>
GLM_FUNC_DECL bool isOrthogonal (matType< C, R, T, Q > const &m, T const &epsilon)
 Return whether a matrix is an orthonormalized matrix. More...
 

Detailed Description

GLM_GTX_matrix_query

See also
Core features (dependence)
GLM_GTX_vector_query (dependence)

Definition in file matrix_query.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00106_source.html ================================================ 0.9.9 API documentation: matrix_query.hpp Source File
0.9.9 API documentation
matrix_query.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependency:
17 #include "../glm.hpp"
18 #include "../gtx/vector_query.hpp"
19 #include <limits>
20 
21 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
22 # ifndef GLM_ENABLE_EXPERIMENTAL
23 # pragma message("GLM: GLM_GTX_matrix_query is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
24 # else
25 # pragma message("GLM: GLM_GTX_matrix_query extension included")
26 # endif
27 #endif
28 
29 namespace glm
30 {
33 
36  template<typename T, qualifier Q>
37  GLM_FUNC_DECL bool isNull(mat<2, 2, T, Q> const& m, T const& epsilon);
38 
41  template<typename T, qualifier Q>
42  GLM_FUNC_DECL bool isNull(mat<3, 3, T, Q> const& m, T const& epsilon);
43 
46  template<typename T, qualifier Q>
47  GLM_FUNC_DECL bool isNull(mat<4, 4, T, Q> const& m, T const& epsilon);
48 
51  template<length_t C, length_t R, typename T, qualifier Q, template<length_t, length_t, typename, qualifier> class matType>
52  GLM_FUNC_DECL bool isIdentity(matType<C, R, T, Q> const& m, T const& epsilon);
53 
56  template<typename T, qualifier Q>
57  GLM_FUNC_DECL bool isNormalized(mat<2, 2, T, Q> const& m, T const& epsilon);
58 
61  template<typename T, qualifier Q>
62  GLM_FUNC_DECL bool isNormalized(mat<3, 3, T, Q> const& m, T const& epsilon);
63 
66  template<typename T, qualifier Q>
67  GLM_FUNC_DECL bool isNormalized(mat<4, 4, T, Q> const& m, T const& epsilon);
68 
71  template<length_t C, length_t R, typename T, qualifier Q, template<length_t, length_t, typename, qualifier> class matType>
72  GLM_FUNC_DECL bool isOrthogonal(matType<C, R, T, Q> const& m, T const& epsilon);
73 
75 }//namespace glm
76 
77 #include "matrix_query.inl"
GLM_FUNC_DECL bool isNormalized(mat< 4, 4, T, Q > const &m, T const &epsilon)
Return whether a matrix is a normalized matrix.
GLM_FUNC_DECL bool isIdentity(matType< C, R, T, Q > const &m, T const &epsilon)
Return whether a matrix is an identity matrix.
GLM_FUNC_DECL bool isNull(mat< 4, 4, T, Q > const &m, T const &epsilon)
Return whether a matrix is a null matrix.
GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon()
Return the epsilon constant for floating point types.
GLM_FUNC_DECL bool isOrthogonal(matType< C, R, T, Q > const &m, T const &epsilon)
Return whether a matrix is an orthonormalized matrix.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00107.html ================================================ 0.9.9 API documentation: matrix_relational.hpp File Reference
0.9.9 API documentation
matrix_relational.hpp File Reference

GLM_EXT_matrix_relational More...

Go to the source code of this file.

Functions

template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y)
 Perform a component-wise equal-to comparison of two matrices. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, T epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, vec< C, T, Q > const &epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, int ULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, vec< C, int, Q > const &ULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y)
 Perform a component-wise not-equal-to comparison of two matrices. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, T epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, vec< C, T, Q > const &epsilon)
 Returns the component-wise comparison of |x - y| >= epsilon. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, int ULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, vec< C, int, Q > const &ULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00107_source.html ================================================ 0.9.9 API documentation: matrix_relational.hpp Source File
0.9.9 API documentation
matrix_relational.hpp
Go to the documentation of this file.
1 
15 #pragma once
16 
17 // Dependencies
18 #include "../detail/qualifier.hpp"
19 
20 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
21 # pragma message("GLM: GLM_EXT_matrix_relational extension included")
22 #endif
23 
24 namespace glm
25 {
28 
36  template<length_t C, length_t R, typename T, qualifier Q>
37  GLM_FUNC_DECL GLM_CONSTEXPR vec<C, bool, Q> equal(mat<C, R, T, Q> const& x, mat<C, R, T, Q> const& y);
38 
46  template<length_t C, length_t R, typename T, qualifier Q>
47  GLM_FUNC_DECL GLM_CONSTEXPR vec<C, bool, Q> notEqual(mat<C, R, T, Q> const& x, mat<C, R, T, Q> const& y);
48 
56  template<length_t C, length_t R, typename T, qualifier Q>
57  GLM_FUNC_DECL GLM_CONSTEXPR vec<C, bool, Q> equal(mat<C, R, T, Q> const& x, mat<C, R, T, Q> const& y, T epsilon);
58 
66  template<length_t C, length_t R, typename T, qualifier Q>
67  GLM_FUNC_DECL GLM_CONSTEXPR vec<C, bool, Q> equal(mat<C, R, T, Q> const& x, mat<C, R, T, Q> const& y, vec<C, T, Q> const& epsilon);
68 
76  template<length_t C, length_t R, typename T, qualifier Q>
77  GLM_FUNC_DECL GLM_CONSTEXPR vec<C, bool, Q> notEqual(mat<C, R, T, Q> const& x, mat<C, R, T, Q> const& y, T epsilon);
78 
86  template<length_t C, length_t R, typename T, qualifier Q>
87  GLM_FUNC_DECL GLM_CONSTEXPR vec<C, bool, Q> notEqual(mat<C, R, T, Q> const& x, mat<C, R, T, Q> const& y, vec<C, T, Q> const& epsilon);
88 
96  template<length_t C, length_t R, typename T, qualifier Q>
97  GLM_FUNC_DECL GLM_CONSTEXPR vec<C, bool, Q> equal(mat<C, R, T, Q> const& x, mat<C, R, T, Q> const& y, int ULPs);
98 
106  template<length_t C, length_t R, typename T, qualifier Q>
107  GLM_FUNC_DECL GLM_CONSTEXPR vec<C, bool, Q> equal(mat<C, R, T, Q> const& x, mat<C, R, T, Q> const& y, vec<C, int, Q> const& ULPs);
108 
116  template<length_t C, length_t R, typename T, qualifier Q>
117  GLM_FUNC_DECL GLM_CONSTEXPR vec<C, bool, Q> notEqual(mat<C, R, T, Q> const& x, mat<C, R, T, Q> const& y, int ULPs);
118 
126  template<length_t C, length_t R, typename T, qualifier Q>
127  GLM_FUNC_DECL GLM_CONSTEXPR vec<C, bool, Q> notEqual(mat<C, R, T, Q> const& x, mat<C, R, T, Q> const& y, vec<C, int, Q> const& ULPs);
128 
130 }//namespace glm
131 
132 #include "matrix_relational.inl"
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > equal(mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, vec< C, int, Q > const &ULPs)
Returns the component-wise comparison between two vectors in term of ULPs.
GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon()
Return the epsilon constant for floating point types.
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > notEqual(mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, vec< C, int, Q > const &ULPs)
Returns the component-wise comparison between two vectors in term of ULPs.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00108.html ================================================ 0.9.9 API documentation: matrix_transform.hpp File Reference
0.9.9 API documentation
ext/matrix_transform.hpp File Reference

GLM_EXT_matrix_transform More...

Go to the source code of this file.

Functions

template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType identity ()
 Builds an identity matrix.
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > lookAt (vec< 3, T, Q > const &eye, vec< 3, T, Q > const &center, vec< 3, T, Q > const &up)
 Build a look at view matrix based on the default handedness. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > lookAtLH (vec< 3, T, Q > const &eye, vec< 3, T, Q > const &center, vec< 3, T, Q > const &up)
 Build a left handed look at view matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > lookAtRH (vec< 3, T, Q > const &eye, vec< 3, T, Q > const &center, vec< 3, T, Q > const &up)
 Build a right handed look at view matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > rotate (mat< 4, 4, T, Q > const &m, T angle, vec< 3, T, Q > const &axis)
 Builds a rotation 4 * 4 matrix created from an axis vector and an angle. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > scale (mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &v)
 Builds a scale 4 * 4 matrix created from 3 scalars. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > translate (mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &v)
 Builds a translation 4 * 4 matrix created from a vector of 3 components. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00108_source.html ================================================ 0.9.9 API documentation: matrix_transform.hpp Source File
0.9.9 API documentation
ext/matrix_transform.hpp
Go to the documentation of this file.
1 
20 #pragma once
21 
22 // Dependencies
23 #include "../gtc/constants.hpp"
24 #include "../geometric.hpp"
25 #include "../trigonometric.hpp"
26 #include "../matrix.hpp"
27 
28 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
29 # pragma message("GLM: GLM_EXT_matrix_transform extension included")
30 #endif
31 
32 namespace glm
33 {
36 
38  template<typename genType>
39  GLM_FUNC_DECL GLM_CONSTEXPR genType identity();
40 
63  template<typename T, qualifier Q>
64  GLM_FUNC_DECL mat<4, 4, T, Q> translate(
65  mat<4, 4, T, Q> const& m, vec<3, T, Q> const& v);
66 
79  template<typename T, qualifier Q>
80  GLM_FUNC_DECL mat<4, 4, T, Q> rotate(
81  mat<4, 4, T, Q> const& m, T angle, vec<3, T, Q> const& axis);
82 
94  template<typename T, qualifier Q>
95  GLM_FUNC_DECL mat<4, 4, T, Q> scale(
96  mat<4, 4, T, Q> const& m, vec<3, T, Q> const& v);
97 
108  template<typename T, qualifier Q>
109  GLM_FUNC_DECL mat<4, 4, T, Q> lookAtRH(
110  vec<3, T, Q> const& eye, vec<3, T, Q> const& center, vec<3, T, Q> const& up);
111 
122  template<typename T, qualifier Q>
123  GLM_FUNC_DECL mat<4, 4, T, Q> lookAtLH(
124  vec<3, T, Q> const& eye, vec<3, T, Q> const& center, vec<3, T, Q> const& up);
125 
137  template<typename T, qualifier Q>
138  GLM_FUNC_DECL mat<4, 4, T, Q> lookAt(
139  vec<3, T, Q> const& eye, vec<3, T, Q> const& center, vec<3, T, Q> const& up);
140 
142 }//namespace glm
143 
144 #include "matrix_transform.inl"
GLM_FUNC_DECL mat< 4, 4, T, Q > lookAtLH(vec< 3, T, Q > const &eye, vec< 3, T, Q > const &center, vec< 3, T, Q > const &up)
Build a left handed look at view matrix.
GLM_FUNC_DECL mat< 4, 4, T, Q > lookAtRH(vec< 3, T, Q > const &eye, vec< 3, T, Q > const &center, vec< 3, T, Q > const &up)
Build a right handed look at view matrix.
GLM_FUNC_DECL T angle(qua< T, Q > const &x)
Returns the quaternion rotation angle.
GLM_FUNC_DECL mat< 4, 4, T, Q > translate(mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &v)
Builds a translation 4 * 4 matrix created from a vector of 3 components.
GLM_FUNC_DECL mat< 4, 4, T, Q > rotate(mat< 4, 4, T, Q > const &m, T angle, vec< 3, T, Q > const &axis)
Builds a rotation 4 * 4 matrix created from an axis vector and an angle.
GLM_FUNC_DECL GLM_CONSTEXPR genType identity()
Builds an identity matrix.
GLM_FUNC_DECL mat< 4, 4, T, Q > scale(mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &v)
Builds a scale 4 * 4 matrix created from 3 scalars.
GLM_FUNC_DECL vec< 3, T, Q > axis(qua< T, Q > const &x)
Returns the q rotation axis.
GLM_FUNC_DECL mat< 4, 4, T, Q > lookAt(vec< 3, T, Q > const &eye, vec< 3, T, Q > const &center, vec< 3, T, Q > const &up)
Build a look at view matrix based on the default handedness.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00109.html ================================================ 0.9.9 API documentation: matrix_transform.hpp File Reference
0.9.9 API documentation
gtc/matrix_transform.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00109_source.html ================================================ 0.9.9 API documentation: matrix_transform.hpp Source File
0.9.9 API documentation
gtc/matrix_transform.hpp
Go to the documentation of this file.
1 
21 #pragma once
22 
23 // Dependencies
24 #include "../mat4x4.hpp"
25 #include "../vec2.hpp"
26 #include "../vec3.hpp"
27 #include "../vec4.hpp"
28 #include "../ext/matrix_projection.hpp"
29 #include "../ext/matrix_clip_space.hpp"
30 #include "../ext/matrix_transform.hpp"
31 
32 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
33 # pragma message("GLM: GLM_GTC_matrix_transform extension included")
34 #endif
35 
36 #include "matrix_transform.inl"
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00110.html ================================================ 0.9.9 API documentation: matrix_transform_2d.hpp File Reference
0.9.9 API documentation
matrix_transform_2d.hpp File Reference

GLM_GTX_matrix_transform_2d More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > rotate (mat< 3, 3, T, Q > const &m, T angle)
 Builds a rotation 3 * 3 matrix created from an angle. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > scale (mat< 3, 3, T, Q > const &m, vec< 2, T, Q > const &v)
 Builds a scale 3 * 3 matrix created from a vector of 2 components. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > shearX (mat< 3, 3, T, Q > const &m, T y)
 Builds an horizontal (parallel to the x axis) shear 3 * 3 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > shearY (mat< 3, 3, T, Q > const &m, T x)
 Builds a vertical (parallel to the y axis) shear 3 * 3 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > translate (mat< 3, 3, T, Q > const &m, vec< 2, T, Q > const &v)
 Builds a translation 3 * 3 matrix created from a vector of 2 components. More...
 

Detailed Description

GLM_GTX_matrix_transform_2d

Author
Miguel Ángel Pérez Martínez
See also
Core features (dependence)

Definition in file matrix_transform_2d.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00110_source.html ================================================ 0.9.9 API documentation: matrix_transform_2d.hpp Source File
0.9.9 API documentation
matrix_transform_2d.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependency:
17 #include "../mat3x3.hpp"
18 #include "../vec2.hpp"
19 
20 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
21 # ifndef GLM_ENABLE_EXPERIMENTAL
22 # pragma message("GLM: GLM_GTX_matrix_transform_2d is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
23 # else
24 # pragma message("GLM: GLM_GTX_matrix_transform_2d extension included")
25 # endif
26 #endif
27 
28 namespace glm
29 {
32 
37  template<typename T, qualifier Q>
38  GLM_FUNC_QUALIFIER mat<3, 3, T, Q> translate(
39  mat<3, 3, T, Q> const& m,
40  vec<2, T, Q> const& v);
41 
46  template<typename T, qualifier Q>
47  GLM_FUNC_QUALIFIER mat<3, 3, T, Q> rotate(
48  mat<3, 3, T, Q> const& m,
49  T angle);
50 
55  template<typename T, qualifier Q>
56  GLM_FUNC_QUALIFIER mat<3, 3, T, Q> scale(
57  mat<3, 3, T, Q> const& m,
58  vec<2, T, Q> const& v);
59 
64  template<typename T, qualifier Q>
65  GLM_FUNC_QUALIFIER mat<3, 3, T, Q> shearX(
66  mat<3, 3, T, Q> const& m,
67  T y);
68 
73  template<typename T, qualifier Q>
74  GLM_FUNC_QUALIFIER mat<3, 3, T, Q> shearY(
75  mat<3, 3, T, Q> const& m,
76  T x);
77 
79 }//namespace glm
80 
81 #include "matrix_transform_2d.inl"
GLM_FUNC_DECL T angle(qua< T, Q > const &x)
Returns the quaternion rotation angle.
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > translate(mat< 3, 3, T, Q > const &m, vec< 2, T, Q > const &v)
Builds a translation 3 * 3 matrix created from a vector of 2 components.
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > rotate(mat< 3, 3, T, Q > const &m, T angle)
Builds a rotation 3 * 3 matrix created from an angle.
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > shearY(mat< 3, 3, T, Q > const &m, T x)
Builds a vertical (parallel to the y axis) shear 3 * 3 matrix.
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > scale(mat< 3, 3, T, Q > const &m, vec< 2, T, Q > const &v)
Builds a scale 3 * 3 matrix created from a vector of 2 components.
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > shearX(mat< 3, 3, T, Q > const &m, T y)
Builds an horizontal (parallel to the x axis) shear 3 * 3 matrix.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00111.html ================================================ 0.9.9 API documentation: mixed_product.hpp File Reference
0.9.9 API documentation
mixed_product.hpp File Reference

GLM_GTX_mixed_producte More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL T mixedProduct (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2, vec< 3, T, Q > const &v3)
 Mixed product of 3 vectors (from GLM_GTX_mixed_product extension)
 

Detailed Description

GLM_GTX_mixed_producte

See also
Core features (dependence)

Definition in file mixed_product.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00111_source.html ================================================ 0.9.9 API documentation: mixed_product.hpp Source File
0.9.9 API documentation
mixed_product.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependency:
16 #include "../glm.hpp"
17 
18 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
19 # ifndef GLM_ENABLE_EXPERIMENTAL
20 # pragma message("GLM: GLM_GTX_mixed_product is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
21 # else
22 # pragma message("GLM: GLM_GTX_mixed_product extension included")
23 # endif
24 #endif
25 
26 namespace glm
27 {
30 
32  template<typename T, qualifier Q>
33  GLM_FUNC_DECL T mixedProduct(
34  vec<3, T, Q> const& v1,
35  vec<3, T, Q> const& v2,
36  vec<3, T, Q> const& v3);
37 
39 }// namespace glm
40 
41 #include "mixed_product.inl"
GLM_FUNC_DECL T mixedProduct(vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2, vec< 3, T, Q > const &v3)
Mixed product of 3 vectors (from GLM_GTX_mixed_product extension)
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00112.html ================================================ 0.9.9 API documentation: noise.hpp File Reference
0.9.9 API documentation
noise.hpp File Reference

GLM_GTC_noise More...

Go to the source code of this file.

Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T perlin (vec< L, T, Q > const &p)
 Classic perlin noise. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T perlin (vec< L, T, Q > const &p, vec< L, T, Q > const &rep)
 Periodic perlin noise. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T simplex (vec< L, T, Q > const &p)
 Simplex noise. More...
 

Detailed Description

GLM_GTC_noise

See also
Core features (dependence)

Definition in file noise.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00112_source.html ================================================ 0.9.9 API documentation: noise.hpp Source File
0.9.9 API documentation
noise.hpp
Go to the documentation of this file.
1 
17 #pragma once
18 
19 // Dependencies
20 #include "../detail/setup.hpp"
21 #include "../detail/qualifier.hpp"
22 #include "../detail/_noise.hpp"
23 #include "../geometric.hpp"
24 #include "../common.hpp"
25 #include "../vector_relational.hpp"
26 #include "../vec2.hpp"
27 #include "../vec3.hpp"
28 #include "../vec4.hpp"
29 
30 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
31 # pragma message("GLM: GLM_GTC_noise extension included")
32 #endif
33 
34 namespace glm
35 {
38 
41  template<length_t L, typename T, qualifier Q>
42  GLM_FUNC_DECL T perlin(
43  vec<L, T, Q> const& p);
44 
47  template<length_t L, typename T, qualifier Q>
48  GLM_FUNC_DECL T perlin(
49  vec<L, T, Q> const& p,
50  vec<L, T, Q> const& rep);
51 
54  template<length_t L, typename T, qualifier Q>
55  GLM_FUNC_DECL T simplex(
56  vec<L, T, Q> const& p);
57 
59 }//namespace glm
60 
61 #include "noise.inl"
GLM_FUNC_DECL T simplex(vec< L, T, Q > const &p)
Simplex noise.
GLM_FUNC_DECL T perlin(vec< L, T, Q > const &p, vec< L, T, Q > const &rep)
Periodic perlin noise.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00113.html ================================================ 0.9.9 API documentation: norm.hpp File Reference
0.9.9 API documentation
norm.hpp File Reference

GLM_GTX_norm More...

Go to the source code of this file.

Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T distance2 (vec< L, T, Q > const &p0, vec< L, T, Q > const &p1)
 Returns the squared distance between p0 and p1, i.e., length2(p0 - p1). More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T l1Norm (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)
 Returns the L1 norm between x and y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T l1Norm (vec< 3, T, Q > const &v)
 Returns the L1 norm of v. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T l2Norm (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)
 Returns the L2 norm between x and y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T l2Norm (vec< 3, T, Q > const &x)
 Returns the L2 norm of v. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T length2 (vec< L, T, Q > const &x)
 Returns the squared length of x. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T lMaxNorm (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)
 Returns the LMax norm between x and y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T lMaxNorm (vec< 3, T, Q > const &x)
 Returns the LMax norm of v. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T lxNorm (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y, unsigned int Depth)
 Returns the L norm between x and y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T lxNorm (vec< 3, T, Q > const &x, unsigned int Depth)
 Returns the L norm of v. More...
 

Detailed Description

GLM_GTX_norm

See also
Core features (dependence)
GLM_GTX_quaternion (dependence)
GLM_GTX_component_wise (dependence)

Definition in file norm.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00113_source.html ================================================ 0.9.9 API documentation: norm.hpp Source File
0.9.9 API documentation
norm.hpp
Go to the documentation of this file.
1 
15 #pragma once
16 
17 // Dependency:
18 #include "../geometric.hpp"
19 #include "../gtx/quaternion.hpp"
20 #include "../gtx/component_wise.hpp"
21 
22 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
23 # ifndef GLM_ENABLE_EXPERIMENTAL
24 # pragma message("GLM: GLM_GTX_norm is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
25 # else
26 # pragma message("GLM: GLM_GTX_norm extension included")
27 # endif
28 #endif
29 
30 namespace glm
31 {
34 
37  template<length_t L, typename T, qualifier Q>
38  GLM_FUNC_DECL T length2(vec<L, T, Q> const& x);
39 
42  template<length_t L, typename T, qualifier Q>
43  GLM_FUNC_DECL T distance2(vec<L, T, Q> const& p0, vec<L, T, Q> const& p1);
44 
47  template<typename T, qualifier Q>
48  GLM_FUNC_DECL T l1Norm(vec<3, T, Q> const& x, vec<3, T, Q> const& y);
49 
52  template<typename T, qualifier Q>
53  GLM_FUNC_DECL T l1Norm(vec<3, T, Q> const& v);
54 
57  template<typename T, qualifier Q>
58  GLM_FUNC_DECL T l2Norm(vec<3, T, Q> const& x, vec<3, T, Q> const& y);
59 
62  template<typename T, qualifier Q>
63  GLM_FUNC_DECL T l2Norm(vec<3, T, Q> const& x);
64 
67  template<typename T, qualifier Q>
68  GLM_FUNC_DECL T lxNorm(vec<3, T, Q> const& x, vec<3, T, Q> const& y, unsigned int Depth);
69 
72  template<typename T, qualifier Q>
73  GLM_FUNC_DECL T lxNorm(vec<3, T, Q> const& x, unsigned int Depth);
74 
77  template<typename T, qualifier Q>
78  GLM_FUNC_DECL T lMaxNorm(vec<3, T, Q> const& x, vec<3, T, Q> const& y);
79 
82  template<typename T, qualifier Q>
83  GLM_FUNC_DECL T lMaxNorm(vec<3, T, Q> const& x);
84 
86 }//namespace glm
87 
88 #include "norm.inl"
GLM_FUNC_DECL T length2(vec< L, T, Q > const &x)
Returns the squared length of x.
GLM_FUNC_DECL T l1Norm(vec< 3, T, Q > const &v)
Returns the L1 norm of v.
GLM_FUNC_DECL T distance2(vec< L, T, Q > const &p0, vec< L, T, Q > const &p1)
Returns the squared distance between p0 and p1, i.e., length2(p0 - p1).
GLM_FUNC_DECL T lMaxNorm(vec< 3, T, Q > const &x)
Returns the LMax norm of v.
GLM_FUNC_DECL T lxNorm(vec< 3, T, Q > const &x, unsigned int Depth)
Returns the L norm of v.
GLM_FUNC_DECL T l2Norm(vec< 3, T, Q > const &x)
Returns the L2 norm of v.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00114.html ================================================ 0.9.9 API documentation: normal.hpp File Reference
0.9.9 API documentation
normal.hpp File Reference

GLM_GTX_normal More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > triangleNormal (vec< 3, T, Q > const &p1, vec< 3, T, Q > const &p2, vec< 3, T, Q > const &p3)
 Computes triangle normal from triangle points. More...
 

Detailed Description

GLM_GTX_normal

See also
Core features (dependence)
gtx_extented_min_max (dependence)

Definition in file normal.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00114_source.html ================================================ 0.9.9 API documentation: normal.hpp Source File
0.9.9 API documentation
normal.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependency:
17 #include "../glm.hpp"
18 
19 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
20 # ifndef GLM_ENABLE_EXPERIMENTAL
21 # pragma message("GLM: GLM_GTX_normal is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
22 # else
23 # pragma message("GLM: GLM_GTX_normal extension included")
24 # endif
25 #endif
26 
27 namespace glm
28 {
31 
35  template<typename T, qualifier Q>
36  GLM_FUNC_DECL vec<3, T, Q> triangleNormal(vec<3, T, Q> const& p1, vec<3, T, Q> const& p2, vec<3, T, Q> const& p3);
37 
39 }//namespace glm
40 
41 #include "normal.inl"
GLM_FUNC_DECL vec< 3, T, Q > triangleNormal(vec< 3, T, Q > const &p1, vec< 3, T, Q > const &p2, vec< 3, T, Q > const &p3)
Computes triangle normal from triangle points.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00115.html ================================================ 0.9.9 API documentation: normalize_dot.hpp File Reference
0.9.9 API documentation
normalize_dot.hpp File Reference

GLM_GTX_normalize_dot More...

Go to the source code of this file.

Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T fastNormalizeDot (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Normalize parameters and returns the dot product of x and y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T normalizeDot (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Normalize parameters and returns the dot product of x and y. More...
 

Detailed Description

GLM_GTX_normalize_dot

See also
Core features (dependence)
GLM_GTX_fast_square_root (dependence)

Definition in file normalize_dot.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00115_source.html ================================================ 0.9.9 API documentation: normalize_dot.hpp Source File
0.9.9 API documentation
normalize_dot.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependency:
17 #include "../gtx/fast_square_root.hpp"
18 
19 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
20 # ifndef GLM_ENABLE_EXPERIMENTAL
21 # pragma message("GLM: GLM_GTX_normalize_dot is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
22 # else
23 # pragma message("GLM: GLM_GTX_normalize_dot extension included")
24 # endif
25 #endif
26 
27 namespace glm
28 {
31 
36  template<length_t L, typename T, qualifier Q>
37  GLM_FUNC_DECL T normalizeDot(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
38 
43  template<length_t L, typename T, qualifier Q>
44  GLM_FUNC_DECL T fastNormalizeDot(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
45 
47 }//namespace glm
48 
49 #include "normalize_dot.inl"
GLM_FUNC_DECL T normalizeDot(vec< L, T, Q > const &x, vec< L, T, Q > const &y)
Normalize parameters and returns the dot product of x and y.
GLM_FUNC_DECL T fastNormalizeDot(vec< L, T, Q > const &x, vec< L, T, Q > const &y)
Normalize parameters and returns the dot product of x and y.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00116.html ================================================ 0.9.9 API documentation: number_precision.hpp File Reference
0.9.9 API documentation
number_precision.hpp File Reference

GLM_GTX_number_precision More...

Go to the source code of this file.

Typedefs

typedef f32 f32mat1
 Single-qualifier floating-point scalar. (from GLM_GTX_number_precision extension)
 
typedef f32 f32mat1x1
 Single-qualifier floating-point scalar. (from GLM_GTX_number_precision extension)
 
typedef f32 f32vec1
 Single-qualifier floating-point scalar. (from GLM_GTX_number_precision extension)
 
typedef f64 f64mat1
 Double-qualifier floating-point scalar. (from GLM_GTX_number_precision extension)
 
typedef f64 f64mat1x1
 Double-qualifier floating-point scalar. (from GLM_GTX_number_precision extension)
 
typedef f64 f64vec1
 Single-qualifier floating-point scalar. (from GLM_GTX_number_precision extension)
 
typedef u16 u16vec1
 16bit unsigned integer scalar. (from GLM_GTX_number_precision extension)
 
typedef u32 u32vec1
 32bit unsigned integer scalar. (from GLM_GTX_number_precision extension)
 
typedef u64 u64vec1
 64bit unsigned integer scalar. (from GLM_GTX_number_precision extension)
 
typedef u8 u8vec1
 8bit unsigned integer scalar. (from GLM_GTX_number_precision extension)
 

Detailed Description

GLM_GTX_number_precision

See also
Core features (dependence)
GLM_GTC_type_precision (dependence)
GLM_GTC_quaternion (dependence)

Definition in file number_precision.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00116_source.html ================================================ 0.9.9 API documentation: number_precision.hpp Source File
0.9.9 API documentation
number_precision.hpp
Go to the documentation of this file.
1 
15 #pragma once
16 
17 // Dependency:
18 #include "../glm.hpp"
19 #include "../gtc/type_precision.hpp"
20 
21 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
22 # ifndef GLM_ENABLE_EXPERIMENTAL
23 # pragma message("GLM: GLM_GTX_number_precision is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
24 # else
25 # pragma message("GLM: GLM_GTX_number_precision extension included")
26 # endif
27 #endif
28 
29 namespace glm{
30 namespace gtx
31 {
33  // Unsigned int vector types
34 
37 
38  typedef u8 u8vec1;
39  typedef u16 u16vec1;
40  typedef u32 u32vec1;
41  typedef u64 u64vec1;
42 
44  // Float vector types
45 
46  typedef f32 f32vec1;
47  typedef f64 f64vec1;
48 
50  // Float matrix types
51 
52  typedef f32 f32mat1;
53  typedef f32 f32mat1x1;
54  typedef f64 f64mat1;
55  typedef f64 f64mat1x1;
56 
58 }//namespace gtx
59 }//namespace glm
60 
61 #include "number_precision.inl"
uint32 u32
Default qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:120
uint64 u64
Default qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:134
f32 f32mat1x1
Single-qualifier floating-point scalar. (from GLM_GTX_number_precision extension) ...
f64 f64mat1
Double-qualifier floating-point scalar. (from GLM_GTX_number_precision extension) ...
u16 u16vec1
16bit unsigned integer scalar. (from GLM_GTX_number_precision extension)
uint8 u8
Default qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:92
f32 f32mat1
Single-qualifier floating-point scalar. (from GLM_GTX_number_precision extension) ...
f32 f32vec1
Single-qualifier floating-point scalar. (from GLM_GTX_number_precision extension) ...
f64 f64vec1
Single-qualifier floating-point scalar. (from GLM_GTX_number_precision extension) ...
f64 f64mat1x1
Double-qualifier floating-point scalar. (from GLM_GTX_number_precision extension) ...
u64 u64vec1
64bit unsigned integer scalar. (from GLM_GTX_number_precision extension)
u32 u32vec1
32bit unsigned integer scalar. (from GLM_GTX_number_precision extension)
float f32
Default 32 bit single-qualifier floating-point scalar.
Definition: fwd.hpp:150
uint16 u16
Default qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:106
u8 u8vec1
8bit unsigned integer scalar. (from GLM_GTX_number_precision extension)
double f64
Default 64 bit double-qualifier floating-point scalar.
Definition: fwd.hpp:166
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00117.html ================================================ 0.9.9 API documentation: optimum_pow.hpp File Reference
0.9.9 API documentation
optimum_pow.hpp File Reference

GLM_GTX_optimum_pow More...

Go to the source code of this file.

Functions

template<typename genType >
GLM_FUNC_DECL genType pow2 (genType const &x)
 Returns x raised to the power of 2. More...
 
template<typename genType >
GLM_FUNC_DECL genType pow3 (genType const &x)
 Returns x raised to the power of 3. More...
 
template<typename genType >
GLM_FUNC_DECL genType pow4 (genType const &x)
 Returns x raised to the power of 4. More...
 

Detailed Description

GLM_GTX_optimum_pow

See also
Core features (dependence)

Definition in file optimum_pow.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00117_source.html ================================================ 0.9.9 API documentation: optimum_pow.hpp Source File
0.9.9 API documentation
optimum_pow.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependency:
16 #include "../glm.hpp"
17 
18 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
19 # ifndef GLM_ENABLE_EXPERIMENTAL
20 # pragma message("GLM: GLM_GTX_optimum_pow is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
21 # else
22 # pragma message("GLM: GLM_GTX_optimum_pow extension included")
23 # endif
24 #endif
25 
26 namespace glm{
27 namespace gtx
28 {
31 
35  template<typename genType>
36  GLM_FUNC_DECL genType pow2(genType const& x);
37 
41  template<typename genType>
42  GLM_FUNC_DECL genType pow3(genType const& x);
43 
47  template<typename genType>
48  GLM_FUNC_DECL genType pow4(genType const& x);
49 
51 }//namespace gtx
52 }//namespace glm
53 
54 #include "optimum_pow.inl"
GLM_FUNC_DECL genType pow3(genType const &x)
Returns x raised to the power of 3.
GLM_FUNC_DECL genType pow4(genType const &x)
Returns x raised to the power of 4.
GLM_FUNC_DECL genType pow2(genType const &x)
Returns x raised to the power of 2.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00118.html ================================================ 0.9.9 API documentation: orthonormalize.hpp File Reference
0.9.9 API documentation
orthonormalize.hpp File Reference

GLM_GTX_orthonormalize More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > orthonormalize (mat< 3, 3, T, Q > const &m)
 Returns the orthonormalized matrix of m. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > orthonormalize (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)
 Orthonormalizes x according y. More...
 

Detailed Description

GLM_GTX_orthonormalize

See also
Core features (dependence)
gtx_extented_min_max (dependence)

Definition in file orthonormalize.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00118_source.html ================================================ 0.9.9 API documentation: orthonormalize.hpp Source File
0.9.9 API documentation
orthonormalize.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependency:
17 #include "../vec3.hpp"
18 #include "../mat3x3.hpp"
19 #include "../geometric.hpp"
20 
21 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
22 # ifndef GLM_ENABLE_EXPERIMENTAL
23 # pragma message("GLM: GLM_GTX_orthonormalize is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
24 # else
25 # pragma message("GLM: GLM_GTX_orthonormalize extension included")
26 # endif
27 #endif
28 
29 namespace glm
30 {
33 
37  template<typename T, qualifier Q>
38  GLM_FUNC_DECL mat<3, 3, T, Q> orthonormalize(mat<3, 3, T, Q> const& m);
39 
43  template<typename T, qualifier Q>
44  GLM_FUNC_DECL vec<3, T, Q> orthonormalize(vec<3, T, Q> const& x, vec<3, T, Q> const& y);
45 
47 }//namespace glm
48 
49 #include "orthonormalize.inl"
GLM_FUNC_DECL vec< 3, T, Q > orthonormalize(vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)
Orthonormalizes x according y.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00119.html ================================================ 0.9.9 API documentation: packing.hpp File Reference
0.9.9 API documentation
gtc/packing.hpp File Reference

GLM_GTC_packing More...

Go to the source code of this file.

Functions

GLM_FUNC_DECL uint32 packF2x11_1x10 (vec3 const &v)
 First, converts the first two components of the normalized floating-point value v into 11-bit signless floating-point values. More...
 
GLM_FUNC_DECL uint32 packF3x9_E1x5 (vec3 const &v)
 First, converts the first two components of the normalized floating-point value v into 11-bit signless floating-point values. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, uint16, Q > packHalf (vec< L, float, Q > const &v)
 Returns an unsigned integer vector obtained by converting the components of a floating-point vector to the 16-bit floating-point representation found in the OpenGL Specification. More...
 
GLM_FUNC_DECL uint16 packHalf1x16 (float v)
 Returns an unsigned integer obtained by converting the components of a floating-point scalar to the 16-bit floating-point representation found in the OpenGL Specification, and then packing this 16-bit value into a 16-bit unsigned integer. More...
 
GLM_FUNC_DECL uint64 packHalf4x16 (vec4 const &v)
 Returns an unsigned integer obtained by converting the components of a four-component floating-point vector to the 16-bit floating-point representation found in the OpenGL Specification, and then packing these four 16-bit values into a 64-bit unsigned integer. More...
 
GLM_FUNC_DECL uint32 packI3x10_1x2 (ivec4 const &v)
 Returns an unsigned integer obtained by converting the components of a four-component signed integer vector to the 10-10-10-2-bit signed integer representation found in the OpenGL Specification, and then packing these four values into a 32-bit unsigned integer. More...
 
GLM_FUNC_DECL int packInt2x16 (i16vec2 const &v)
 Convert each component from an integer vector into a packed integer. More...
 
GLM_FUNC_DECL int64 packInt2x32 (i32vec2 const &v)
 Convert each component from an integer vector into a packed integer. More...
 
GLM_FUNC_DECL int16 packInt2x8 (i8vec2 const &v)
 Convert each component from an integer vector into a packed integer. More...
 
GLM_FUNC_DECL int64 packInt4x16 (i16vec4 const &v)
 Convert each component from an integer vector into a packed integer. More...
 
GLM_FUNC_DECL int32 packInt4x8 (i8vec4 const &v)
 Convert each component from an integer vector into a packed integer. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > packRGBM (vec< 3, T, Q > const &rgb)
 Returns an unsigned integer vector obtained by converting the components of a floating-point vector to the 16-bit floating-point representation found in the OpenGL Specification. More...
 
template<typename intType , length_t L, typename floatType , qualifier Q>
GLM_FUNC_DECL vec< L, intType, Q > packSnorm (vec< L, floatType, Q > const &v)
 Convert each component of the normalized floating-point vector into signed integer values. More...
 
GLM_FUNC_DECL uint16 packSnorm1x16 (float v)
 First, converts the normalized floating-point value v into 16-bit integer value. More...
 
GLM_FUNC_DECL uint8 packSnorm1x8 (float s)
 First, converts the normalized floating-point value v into 8-bit integer value. More...
 
GLM_FUNC_DECL uint16 packSnorm2x8 (vec2 const &v)
 First, converts each component of the normalized floating-point value v into 8-bit integer values. More...
 
GLM_FUNC_DECL uint32 packSnorm3x10_1x2 (vec4 const &v)
 First, converts the first three components of the normalized floating-point value v into 10-bit signed integer values. More...
 
GLM_FUNC_DECL uint64 packSnorm4x16 (vec4 const &v)
 First, converts each component of the normalized floating-point value v into 16-bit integer values. More...
 
GLM_FUNC_DECL uint32 packU3x10_1x2 (uvec4 const &v)
 Returns an unsigned integer obtained by converting the components of a four-component unsigned integer vector to the 10-10-10-2-bit unsigned integer representation found in the OpenGL Specification, and then packing these four values into a 32-bit unsigned integer. More...
 
GLM_FUNC_DECL uint packUint2x16 (u16vec2 const &v)
 Convert each component from an integer vector into a packed unsigned integer. More...
 
GLM_FUNC_DECL uint64 packUint2x32 (u32vec2 const &v)
 Convert each component from an integer vector into a packed unsigned integer. More...
 
GLM_FUNC_DECL uint16 packUint2x8 (u8vec2 const &v)
 Convert each component from an integer vector into a packed unsigned integer. More...
 
GLM_FUNC_DECL uint64 packUint4x16 (u16vec4 const &v)
 Convert each component from an integer vector into a packed unsigned integer. More...
 
GLM_FUNC_DECL uint32 packUint4x8 (u8vec4 const &v)
 Convert each component from an integer vector into a packed unsigned integer. More...
 
template<typename uintType , length_t L, typename floatType , qualifier Q>
GLM_FUNC_DECL vec< L, uintType, Q > packUnorm (vec< L, floatType, Q > const &v)
 Convert each component of the normalized floating-point vector into unsigned integer values. More...
 
GLM_FUNC_DECL uint16 packUnorm1x16 (float v)
 First, converts the normalized floating-point value v into a 16-bit integer value. More...
 
GLM_FUNC_DECL uint16 packUnorm1x5_1x6_1x5 (vec3 const &v)
 Convert each component of the normalized floating-point vector into unsigned integer values. More...
 
GLM_FUNC_DECL uint8 packUnorm1x8 (float v)
 First, converts the normalized floating-point value v into a 8-bit integer value. More...
 
GLM_FUNC_DECL uint8 packUnorm2x3_1x2 (vec3 const &v)
 Convert each component of the normalized floating-point vector into unsigned integer values. More...
 
GLM_FUNC_DECL uint8 packUnorm2x4 (vec2 const &v)
 Convert each component of the normalized floating-point vector into unsigned integer values. More...
 
GLM_FUNC_DECL uint16 packUnorm2x8 (vec2 const &v)
 First, converts each component of the normalized floating-point value v into 8-bit integer values. More...
 
GLM_FUNC_DECL uint32 packUnorm3x10_1x2 (vec4 const &v)
 First, converts the first three components of the normalized floating-point value v into 10-bit unsigned integer values. More...
 
GLM_FUNC_DECL uint16 packUnorm3x5_1x1 (vec4 const &v)
 Convert each component of the normalized floating-point vector into unsigned integer values. More...
 
GLM_FUNC_DECL uint64 packUnorm4x16 (vec4 const &v)
 First, converts each component of the normalized floating-point value v into 16-bit integer values. More...
 
GLM_FUNC_DECL uint16 packUnorm4x4 (vec4 const &v)
 Convert each component of the normalized floating-point vector into unsigned integer values. More...
 
GLM_FUNC_DECL vec3 unpackF2x11_1x10 (uint32 p)
 First, unpacks a single 32-bit unsigned integer p into two 11-bit signless floating-point values and one 10-bit signless floating-point value . More...
 
GLM_FUNC_DECL vec3 unpackF3x9_E1x5 (uint32 p)
 First, unpacks a single 32-bit unsigned integer p into two 11-bit signless floating-point values and one 10-bit signless floating-point value . More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, float, Q > unpackHalf (vec< L, uint16, Q > const &p)
 Returns a floating-point vector with components obtained by reinterpreting an integer vector as 16-bit floating-point numbers and converting them to 32-bit floating-point values. More...
 
GLM_FUNC_DECL float unpackHalf1x16 (uint16 v)
 Returns a floating-point scalar with components obtained by unpacking a 16-bit unsigned integer into a 16-bit value, interpreted as a 16-bit floating-point number according to the OpenGL Specification, and converting it to 32-bit floating-point values. More...
 
GLM_FUNC_DECL vec4 unpackHalf4x16 (uint64 p)
 Returns a four-component floating-point vector with components obtained by unpacking a 64-bit unsigned integer into four 16-bit values, interpreting those values as 16-bit floating-point numbers according to the OpenGL Specification, and converting them to 32-bit floating-point values. More...
 
GLM_FUNC_DECL ivec4 unpackI3x10_1x2 (uint32 p)
 Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-bit signed integers. More...
 
GLM_FUNC_DECL i16vec2 unpackInt2x16 (int p)
 Convert a packed integer into an integer vector. More...
 
GLM_FUNC_DECL i32vec2 unpackInt2x32 (int64 p)
 Convert a packed integer into an integer vector. More...
 
GLM_FUNC_DECL i8vec2 unpackInt2x8 (int16 p)
 Convert a packed integer into an integer vector. More...
 
GLM_FUNC_DECL i16vec4 unpackInt4x16 (int64 p)
 Convert a packed integer into an integer vector. More...
 
GLM_FUNC_DECL i8vec4 unpackInt4x8 (int32 p)
 Convert a packed integer into an integer vector. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > unpackRGBM (vec< 4, T, Q > const &rgbm)
 Returns a floating-point vector with components obtained by reinterpreting an integer vector as 16-bit floating-point numbers and converting them to 32-bit floating-point values. More...
 
template<typename floatType , length_t L, typename intType , qualifier Q>
GLM_FUNC_DECL vec< L, floatType, Q > unpackSnorm (vec< L, intType, Q > const &v)
 Convert a packed integer to a normalized floating-point vector. More...
 
GLM_FUNC_DECL float unpackSnorm1x16 (uint16 p)
 First, unpacks a single 16-bit unsigned integer p into a single 16-bit signed integers. More...
 
GLM_FUNC_DECL float unpackSnorm1x8 (uint8 p)
 First, unpacks a single 8-bit unsigned integer p into a single 8-bit signed integers. More...
 
GLM_FUNC_DECL vec2 unpackSnorm2x8 (uint16 p)
 First, unpacks a single 16-bit unsigned integer p into a pair of 8-bit signed integers. More...
 
GLM_FUNC_DECL vec4 unpackSnorm3x10_1x2 (uint32 p)
 First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers. More...
 
GLM_FUNC_DECL vec4 unpackSnorm4x16 (uint64 p)
 First, unpacks a single 64-bit unsigned integer p into four 16-bit signed integers. More...
 
GLM_FUNC_DECL uvec4 unpackU3x10_1x2 (uint32 p)
 Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-bit unsigned integers. More...
 
GLM_FUNC_DECL u16vec2 unpackUint2x16 (uint p)
 Convert a packed integer into an integer vector. More...
 
GLM_FUNC_DECL u32vec2 unpackUint2x32 (uint64 p)
 Convert a packed integer into an integer vector. More...
 
GLM_FUNC_DECL u8vec2 unpackUint2x8 (uint16 p)
 Convert a packed integer into an integer vector. More...
 
GLM_FUNC_DECL u16vec4 unpackUint4x16 (uint64 p)
 Convert a packed integer into an integer vector. More...
 
GLM_FUNC_DECL u8vec4 unpackUint4x8 (uint32 p)
 Convert a packed integer into an integer vector. More...
 
template<typename floatType , length_t L, typename uintType , qualifier Q>
GLM_FUNC_DECL vec< L, floatType, Q > unpackUnorm (vec< L, uintType, Q > const &v)
 Convert a packed integer to a normalized floating-point vector. More...
 
GLM_FUNC_DECL float unpackUnorm1x16 (uint16 p)
 First, unpacks a single 16-bit unsigned integer p into a of 16-bit unsigned integers. More...
 
GLM_FUNC_DECL vec3 unpackUnorm1x5_1x6_1x5 (uint16 p)
 Convert a packed integer to a normalized floating-point vector. More...
 
GLM_FUNC_DECL float unpackUnorm1x8 (uint8 p)
 Convert a single 8-bit integer to a normalized floating-point value. More...
 
GLM_FUNC_DECL vec3 unpackUnorm2x3_1x2 (uint8 p)
 Convert a packed integer to a normalized floating-point vector. More...
 
GLM_FUNC_DECL vec2 unpackUnorm2x4 (uint8 p)
 Convert a packed integer to a normalized floating-point vector. More...
 
GLM_FUNC_DECL vec2 unpackUnorm2x8 (uint16 p)
 First, unpacks a single 16-bit unsigned integer p into a pair of 8-bit unsigned integers. More...
 
GLM_FUNC_DECL vec4 unpackUnorm3x10_1x2 (uint32 p)
 First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers. More...
 
GLM_FUNC_DECL vec4 unpackUnorm3x5_1x1 (uint16 p)
 Convert a packed integer to a normalized floating-point vector. More...
 
GLM_FUNC_DECL vec4 unpackUnorm4x16 (uint64 p)
 First, unpacks a single 64-bit unsigned integer p into four 16-bit unsigned integers. More...
 
GLM_FUNC_DECL vec4 unpackUnorm4x4 (uint16 p)
 Convert a packed integer to a normalized floating-point vector. More...
 

Detailed Description

GLM_GTC_packing

See also
Core features (dependence)

Definition in file gtc/packing.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00119_source.html ================================================ 0.9.9 API documentation: packing.hpp Source File
0.9.9 API documentation
gtc/packing.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependency:
17 #include "type_precision.hpp"
18 
19 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
20 # pragma message("GLM: GLM_GTC_packing extension included")
21 #endif
22 
23 namespace glm
24 {
27 
39  GLM_FUNC_DECL uint8 packUnorm1x8(float v);
40 
51  GLM_FUNC_DECL float unpackUnorm1x8(uint8 p);
52 
67  GLM_FUNC_DECL uint16 packUnorm2x8(vec2 const& v);
68 
83  GLM_FUNC_DECL vec2 unpackUnorm2x8(uint16 p);
84 
96  GLM_FUNC_DECL uint8 packSnorm1x8(float s);
97 
109  GLM_FUNC_DECL float unpackSnorm1x8(uint8 p);
110 
125  GLM_FUNC_DECL uint16 packSnorm2x8(vec2 const& v);
126 
141  GLM_FUNC_DECL vec2 unpackSnorm2x8(uint16 p);
142 
154  GLM_FUNC_DECL uint16 packUnorm1x16(float v);
155 
167  GLM_FUNC_DECL float unpackUnorm1x16(uint16 p);
168 
183  GLM_FUNC_DECL uint64 packUnorm4x16(vec4 const& v);
184 
199  GLM_FUNC_DECL vec4 unpackUnorm4x16(uint64 p);
200 
212  GLM_FUNC_DECL uint16 packSnorm1x16(float v);
213 
225  GLM_FUNC_DECL float unpackSnorm1x16(uint16 p);
226 
241  GLM_FUNC_DECL uint64 packSnorm4x16(vec4 const& v);
242 
257  GLM_FUNC_DECL vec4 unpackSnorm4x16(uint64 p);
258 
268  GLM_FUNC_DECL uint16 packHalf1x16(float v);
269 
279  GLM_FUNC_DECL float unpackHalf1x16(uint16 v);
280 
292  GLM_FUNC_DECL uint64 packHalf4x16(vec4 const& v);
293 
305  GLM_FUNC_DECL vec4 unpackHalf4x16(uint64 p);
306 
318  GLM_FUNC_DECL uint32 packI3x10_1x2(ivec4 const& v);
319 
329  GLM_FUNC_DECL ivec4 unpackI3x10_1x2(uint32 p);
330 
342  GLM_FUNC_DECL uint32 packU3x10_1x2(uvec4 const& v);
343 
353  GLM_FUNC_DECL uvec4 unpackU3x10_1x2(uint32 p);
354 
371  GLM_FUNC_DECL uint32 packSnorm3x10_1x2(vec4 const& v);
372 
388  GLM_FUNC_DECL vec4 unpackSnorm3x10_1x2(uint32 p);
389 
406  GLM_FUNC_DECL uint32 packUnorm3x10_1x2(vec4 const& v);
407 
423  GLM_FUNC_DECL vec4 unpackUnorm3x10_1x2(uint32 p);
424 
434  GLM_FUNC_DECL uint32 packF2x11_1x10(vec3 const& v);
435 
444  GLM_FUNC_DECL vec3 unpackF2x11_1x10(uint32 p);
445 
446 
458  GLM_FUNC_DECL uint32 packF3x9_E1x5(vec3 const& v);
459 
470  GLM_FUNC_DECL vec3 unpackF3x9_E1x5(uint32 p);
471 
480  template<length_t L, typename T, qualifier Q>
481  GLM_FUNC_DECL vec<4, T, Q> packRGBM(vec<3, T, Q> const& rgb);
482 
490  template<length_t L, typename T, qualifier Q>
491  GLM_FUNC_DECL vec<3, T, Q> unpackRGBM(vec<4, T, Q> const& rgbm);
492 
501  template<length_t L, qualifier Q>
502  GLM_FUNC_DECL vec<L, uint16, Q> packHalf(vec<L, float, Q> const& v);
503 
511  template<length_t L, qualifier Q>
512  GLM_FUNC_DECL vec<L, float, Q> unpackHalf(vec<L, uint16, Q> const& p);
513 
518  template<typename uintType, length_t L, typename floatType, qualifier Q>
519  GLM_FUNC_DECL vec<L, uintType, Q> packUnorm(vec<L, floatType, Q> const& v);
520 
525  template<typename floatType, length_t L, typename uintType, qualifier Q>
526  GLM_FUNC_DECL vec<L, floatType, Q> unpackUnorm(vec<L, uintType, Q> const& v);
527 
532  template<typename intType, length_t L, typename floatType, qualifier Q>
533  GLM_FUNC_DECL vec<L, intType, Q> packSnorm(vec<L, floatType, Q> const& v);
534 
539  template<typename floatType, length_t L, typename intType, qualifier Q>
540  GLM_FUNC_DECL vec<L, floatType, Q> unpackSnorm(vec<L, intType, Q> const& v);
541 
546  GLM_FUNC_DECL uint8 packUnorm2x4(vec2 const& v);
547 
552  GLM_FUNC_DECL vec2 unpackUnorm2x4(uint8 p);
553 
558  GLM_FUNC_DECL uint16 packUnorm4x4(vec4 const& v);
559 
564  GLM_FUNC_DECL vec4 unpackUnorm4x4(uint16 p);
565 
570  GLM_FUNC_DECL uint16 packUnorm1x5_1x6_1x5(vec3 const& v);
571 
576  GLM_FUNC_DECL vec3 unpackUnorm1x5_1x6_1x5(uint16 p);
577 
582  GLM_FUNC_DECL uint16 packUnorm3x5_1x1(vec4 const& v);
583 
588  GLM_FUNC_DECL vec4 unpackUnorm3x5_1x1(uint16 p);
589 
594  GLM_FUNC_DECL uint8 packUnorm2x3_1x2(vec3 const& v);
595 
600  GLM_FUNC_DECL vec3 unpackUnorm2x3_1x2(uint8 p);
601 
602 
603 
608  GLM_FUNC_DECL int16 packInt2x8(i8vec2 const& v);
609 
614  GLM_FUNC_DECL i8vec2 unpackInt2x8(int16 p);
615 
620  GLM_FUNC_DECL uint16 packUint2x8(u8vec2 const& v);
621 
626  GLM_FUNC_DECL u8vec2 unpackUint2x8(uint16 p);
627 
632  GLM_FUNC_DECL int32 packInt4x8(i8vec4 const& v);
633 
638  GLM_FUNC_DECL i8vec4 unpackInt4x8(int32 p);
639 
644  GLM_FUNC_DECL uint32 packUint4x8(u8vec4 const& v);
645 
650  GLM_FUNC_DECL u8vec4 unpackUint4x8(uint32 p);
651 
656  GLM_FUNC_DECL int packInt2x16(i16vec2 const& v);
657 
662  GLM_FUNC_DECL i16vec2 unpackInt2x16(int p);
663 
668  GLM_FUNC_DECL int64 packInt4x16(i16vec4 const& v);
669 
674  GLM_FUNC_DECL i16vec4 unpackInt4x16(int64 p);
675 
680  GLM_FUNC_DECL uint packUint2x16(u16vec2 const& v);
681 
686  GLM_FUNC_DECL u16vec2 unpackUint2x16(uint p);
687 
692  GLM_FUNC_DECL uint64 packUint4x16(u16vec4 const& v);
693 
698  GLM_FUNC_DECL u16vec4 unpackUint4x16(uint64 p);
699 
704  GLM_FUNC_DECL int64 packInt2x32(i32vec2 const& v);
705 
710  GLM_FUNC_DECL i32vec2 unpackInt2x32(int64 p);
711 
716  GLM_FUNC_DECL uint64 packUint2x32(u32vec2 const& v);
717 
722  GLM_FUNC_DECL u32vec2 unpackUint2x32(uint64 p);
723 
724 
726 }// namespace glm
727 
728 #include "packing.inl"
GLM_FUNC_DECL uint16 packUnorm4x4(vec4 const &v)
Convert each component of the normalized floating-point vector into unsigned integer values...
GLM_FUNC_DECL uint16 packUint2x8(u8vec2 const &v)
Convert each component from an integer vector into a packed unsigned integer.
GLM_FUNC_DECL uint8 packUnorm2x4(vec2 const &v)
Convert each component of the normalized floating-point vector into unsigned integer values...
GLM_FUNC_DECL vec4 unpackUnorm4x16(uint64 p)
First, unpacks a single 64-bit unsigned integer p into four 16-bit unsigned integers.
GLM_FUNC_DECL i16vec2 unpackInt2x16(int p)
Convert a packed integer into an integer vector.
GLM_FUNC_DECL i8vec4 unpackInt4x8(int32 p)
Convert a packed integer into an integer vector.
vec< 2, float, defaultp > vec2
2 components vector of single-precision floating-point numbers.
GLM_FUNC_DECL u16vec4 unpackUint4x16(uint64 p)
Convert a packed integer into an integer vector.
vec< 2, i8, defaultp > i8vec2
8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:238
GLM_FUNC_DECL u32vec2 unpackUint2x32(uint64 p)
Convert a packed integer into an integer vector.
GLM_FUNC_DECL vec< L, float, Q > unpackHalf(vec< L, uint16, Q > const &p)
Returns a floating-point vector with components obtained by reinterpreting an integer vector as 16-bi...
GLM_FUNC_DECL uint64 packUnorm4x16(vec4 const &v)
First, converts each component of the normalized floating-point value v into 16-bit integer values...
GLM_FUNC_DECL vec< L, uintType, Q > packUnorm(vec< L, floatType, Q > const &v)
Convert each component of the normalized floating-point vector into unsigned integer values...
GLM_FUNC_DECL vec3 unpackF2x11_1x10(uint32 p)
First, unpacks a single 32-bit unsigned integer p into two 11-bit signless floating-point values and ...
GLM_FUNC_DECL uint8 packUnorm1x8(float v)
First, converts the normalized floating-point value v into a 8-bit integer value. ...
GLM_FUNC_DECL u8vec2 unpackUint2x8(uint16 p)
Convert a packed integer into an integer vector.
GLM_FUNC_DECL vec4 unpackUnorm3x10_1x2(uint32 p)
First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers.
GLM_FUNC_DECL vec2 unpackUnorm2x4(uint8 p)
Convert a packed integer to a normalized floating-point vector.
GLM_FUNC_DECL vec< 4, T, Q > packRGBM(vec< 3, T, Q > const &rgb)
Returns an unsigned integer vector obtained by converting the components of a floating-point vector t...
vec< 4, i16, defaultp > i16vec4
16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:260
GLM_FUNC_DECL vec4 unpackSnorm4x16(uint64 p)
First, unpacks a single 64-bit unsigned integer p into four 16-bit signed integers.
GLM_FUNC_DECL uint32 packUnorm3x10_1x2(vec4 const &v)
First, converts the first three components of the normalized floating-point value v into 10-bit unsig...
vec< 4, u8, defaultp > u8vec4
Default qualifier 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:342
vec< 4, i8, defaultp > i8vec4
8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:240
vec< 4, int, defaultp > ivec4
4 components vector of signed integer numbers.
Definition: vector_int4.hpp:15
GLM_FUNC_DECL i32vec2 unpackInt2x32(int64 p)
Convert a packed integer into an integer vector.
GLM_FUNC_DECL uint8 packUnorm2x3_1x2(vec3 const &v)
Convert each component of the normalized floating-point vector into unsigned integer values...
GLM_FUNC_DECL uint16 packUnorm1x16(float v)
First, converts the normalized floating-point value v into a 16-bit integer value.
vec< 4, float, defaultp > vec4
4 components vector of single-precision floating-point numbers.
vec< 2, i32, defaultp > i32vec2
32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:278
GLM_FUNC_DECL float unpackUnorm1x8(uint8 p)
Convert a single 8-bit integer to a normalized floating-point value.
GLM_FUNC_DECL float unpackSnorm1x8(uint8 p)
First, unpacks a single 8-bit unsigned integer p into a single 8-bit signed integers.
GLM_FUNC_DECL float unpackHalf1x16(uint16 v)
Returns a floating-point scalar with components obtained by unpacking a 16-bit unsigned integer into ...
GLM_FUNC_DECL i16vec4 unpackInt4x16(int64 p)
Convert a packed integer into an integer vector.
GLM_FUNC_DECL float unpackUnorm1x16(uint16 p)
First, unpacks a single 16-bit unsigned integer p into a of 16-bit unsigned integers.
GLM_FUNC_DECL vec2 unpackSnorm2x8(uint16 p)
First, unpacks a single 16-bit unsigned integer p into a pair of 8-bit signed integers.
vec< 2, i16, defaultp > i16vec2
16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:258
GLM_FUNC_DECL ivec4 unpackI3x10_1x2(uint32 p)
Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-bit signed integers...
GLM_FUNC_DECL uint16 packSnorm1x16(float v)
First, converts the normalized floating-point value v into 16-bit integer value.
GLM_FUNC_DECL vec3 unpackF3x9_E1x5(uint32 p)
First, unpacks a single 32-bit unsigned integer p into two 11-bit signless floating-point values and ...
GLM_FUNC_DECL vec< L, floatType, Q > unpackUnorm(vec< L, uintType, Q > const &v)
Convert a packed integer to a normalized floating-point vector.
GLM_FUNC_DECL vec< L, intType, Q > packSnorm(vec< L, floatType, Q > const &v)
Convert each component of the normalized floating-point vector into signed integer values...
GLM_FUNC_DECL uint16 packUnorm1x5_1x6_1x5(vec3 const &v)
Convert each component of the normalized floating-point vector into unsigned integer values...
GLM_FUNC_DECL vec4 unpackUnorm3x5_1x1(uint16 p)
Convert a packed integer to a normalized floating-point vector.
vec< 2, u8, defaultp > u8vec2
Default qualifier 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:340
GLM_FUNC_DECL vec4 unpackSnorm3x10_1x2(uint32 p)
First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers.
GLM_FUNC_DECL uint32 packSnorm3x10_1x2(vec4 const &v)
First, converts the first three components of the normalized floating-point value v into 10-bit signe...
GLM_FUNC_DECL int64 packInt4x16(i16vec4 const &v)
Convert each component from an integer vector into a packed integer.
GLM_FUNC_DECL vec3 unpackUnorm1x5_1x6_1x5(uint16 p)
Convert a packed integer to a normalized floating-point vector.
GLM_FUNC_DECL uint32 packF3x9_E1x5(vec3 const &v)
First, converts the first two components of the normalized floating-point value v into 11-bit signles...
GLM_FUNC_DECL uint16 packUnorm2x8(vec2 const &v)
First, converts each component of the normalized floating-point value v into 8-bit integer values...
GLM_FUNC_DECL uint64 packUint4x16(u16vec4 const &v)
Convert each component from an integer vector into a packed unsigned integer.
vec< 3, float, defaultp > vec3
3 components vector of single-precision floating-point numbers.
GLM_FUNC_DECL uint16 packUnorm3x5_1x1(vec4 const &v)
Convert each component of the normalized floating-point vector into unsigned integer values...
GLM_FUNC_DECL vec2 unpackUnorm2x8(uint16 p)
First, unpacks a single 16-bit unsigned integer p into a pair of 8-bit unsigned integers.
GLM_FUNC_DECL u16vec2 unpackUint2x16(uint p)
Convert a packed integer into an integer vector.
GLM_FUNC_DECL uint packUint2x16(u16vec2 const &v)
Convert each component from an integer vector into a packed unsigned integer.
GLM_FUNC_DECL uint64 packSnorm4x16(vec4 const &v)
First, converts each component of the normalized floating-point value v into 16-bit integer values...
GLM_FUNC_DECL uint64 packUint2x32(u32vec2 const &v)
Convert each component from an integer vector into a packed unsigned integer.
vec< 4, unsigned int, defaultp > uvec4
4 components vector of unsigned integer numbers.
GLM_FUNC_DECL vec4 unpackHalf4x16(uint64 p)
Returns a four-component floating-point vector with components obtained by unpacking a 64-bit unsigne...
detail::uint64 uint64
64 bit unsigned integer type.
GLM_FUNC_DECL vec4 unpackUnorm4x4(uint16 p)
Convert a packed integer to a normalized floating-point vector.
GLM_FUNC_DECL uint64 packHalf4x16(vec4 const &v)
Returns an unsigned integer obtained by converting the components of a four-component floating-point ...
GLM_GTC_type_precision
GLM_FUNC_DECL i8vec2 unpackInt2x8(int16 p)
Convert a packed integer into an integer vector.
detail::int64 int64
64 bit signed integer type.
GLM_FUNC_DECL vec3 unpackUnorm2x3_1x2(uint8 p)
Convert a packed integer to a normalized floating-point vector.
GLM_FUNC_DECL uint32 packF2x11_1x10(vec3 const &v)
First, converts the first two components of the normalized floating-point value v into 11-bit signles...
GLM_FUNC_DECL uvec4 unpackU3x10_1x2(uint32 p)
Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-bit unsigned integers...
GLM_FUNC_DECL uint16 packHalf1x16(float v)
Returns an unsigned integer obtained by converting the components of a floating-point scalar to the 1...
GLM_FUNC_DECL vec< L, floatType, Q > unpackSnorm(vec< L, intType, Q > const &v)
Convert a packed integer to a normalized floating-point vector.
GLM_FUNC_DECL vec< 3, T, Q > unpackRGBM(vec< 4, T, Q > const &rgbm)
Returns a floating-point vector with components obtained by reinterpreting an integer vector as 16-bi...
GLM_FUNC_DECL uint16 packSnorm2x8(vec2 const &v)
First, converts each component of the normalized floating-point value v into 8-bit integer values...
GLM_FUNC_DECL uint8 packSnorm1x8(float s)
First, converts the normalized floating-point value v into 8-bit integer value.
GLM_FUNC_DECL u8vec4 unpackUint4x8(uint32 p)
Convert a packed integer into an integer vector.
GLM_FUNC_DECL uint32 packI3x10_1x2(ivec4 const &v)
Returns an unsigned integer obtained by converting the components of a four-component signed integer ...
GLM_FUNC_DECL int16 packInt2x8(i8vec2 const &v)
Convert each component from an integer vector into a packed integer.
GLM_FUNC_DECL int64 packInt2x32(i32vec2 const &v)
Convert each component from an integer vector into a packed integer.
GLM_FUNC_DECL uint32 packUint4x8(u8vec4 const &v)
Convert each component from an integer vector into a packed unsigned integer.
GLM_FUNC_DECL uint32 packU3x10_1x2(uvec4 const &v)
Returns an unsigned integer obtained by converting the components of a four-component unsigned intege...
vec< 2, u32, defaultp > u32vec2
Default qualifier 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:380
GLM_FUNC_DECL int packInt2x16(i16vec2 const &v)
Convert each component from an integer vector into a packed integer.
GLM_FUNC_DECL vec< L, uint16, Q > packHalf(vec< L, float, Q > const &v)
Returns an unsigned integer vector obtained by converting the components of a floating-point vector t...
vec< 4, u16, defaultp > u16vec4
Default qualifier 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:362
GLM_FUNC_DECL int32 packInt4x8(i8vec4 const &v)
Convert each component from an integer vector into a packed integer.
vec< 2, u16, defaultp > u16vec2
Default qualifier 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:360
GLM_FUNC_DECL float unpackSnorm1x16(uint16 p)
First, unpacks a single 16-bit unsigned integer p into a single 16-bit signed integers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00120.html ================================================ 0.9.9 API documentation: packing.hpp File Reference
0.9.9 API documentation
packing.hpp File Reference

Core features More...

Go to the source code of this file.

Functions

GLM_FUNC_DECL double packDouble2x32 (uvec2 const &v)
 Returns a double-qualifier value obtained by packing the components of v into a 64-bit value. More...
 
GLM_FUNC_DECL uint packHalf2x16 (vec2 const &v)
 Returns an unsigned integer obtained by converting the components of a two-component floating-point vector to the 16-bit floating-point representation found in the OpenGL Specification, and then packing these two 16- bit integers into a 32-bit unsigned integer. More...
 
GLM_FUNC_DECL uint packSnorm2x16 (vec2 const &v)
 First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values. More...
 
GLM_FUNC_DECL uint packSnorm4x8 (vec4 const &v)
 First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values. More...
 
GLM_FUNC_DECL uint packUnorm2x16 (vec2 const &v)
 First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values. More...
 
GLM_FUNC_DECL uint packUnorm4x8 (vec4 const &v)
 First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values. More...
 
GLM_FUNC_DECL uvec2 unpackDouble2x32 (double v)
 Returns a two-component unsigned integer vector representation of v. More...
 
GLM_FUNC_DECL vec2 unpackHalf2x16 (uint v)
 Returns a two-component floating-point vector with components obtained by unpacking a 32-bit unsigned integer into a pair of 16-bit values, interpreting those values as 16-bit floating-point numbers according to the OpenGL Specification, and converting them to 32-bit floating-point values. More...
 
GLM_FUNC_DECL vec2 unpackSnorm2x16 (uint p)
 First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers. More...
 
GLM_FUNC_DECL vec4 unpackSnorm4x8 (uint p)
 First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers. More...
 
GLM_FUNC_DECL vec2 unpackUnorm2x16 (uint p)
 First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers. More...
 
GLM_FUNC_DECL vec4 unpackUnorm4x8 (uint p)
 First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00120_source.html ================================================ 0.9.9 API documentation: packing.hpp Source File
0.9.9 API documentation
packing.hpp
Go to the documentation of this file.
1 
16 #pragma once
17 
18 #include "./ext/vector_uint2.hpp"
19 #include "./ext/vector_float2.hpp"
20 #include "./ext/vector_float4.hpp"
21 
22 namespace glm
23 {
26 
38  GLM_FUNC_DECL uint packUnorm2x16(vec2 const& v);
39 
51  GLM_FUNC_DECL uint packSnorm2x16(vec2 const& v);
52 
64  GLM_FUNC_DECL uint packUnorm4x8(vec4 const& v);
65 
77  GLM_FUNC_DECL uint packSnorm4x8(vec4 const& v);
78 
90  GLM_FUNC_DECL vec2 unpackUnorm2x16(uint p);
91 
103  GLM_FUNC_DECL vec2 unpackSnorm2x16(uint p);
104 
116  GLM_FUNC_DECL vec4 unpackUnorm4x8(uint p);
117 
129  GLM_FUNC_DECL vec4 unpackSnorm4x8(uint p);
130 
139  GLM_FUNC_DECL double packDouble2x32(uvec2 const& v);
140 
148  GLM_FUNC_DECL uvec2 unpackDouble2x32(double v);
149 
158  GLM_FUNC_DECL uint packHalf2x16(vec2 const& v);
159 
168  GLM_FUNC_DECL vec2 unpackHalf2x16(uint v);
169 
171 }//namespace glm
172 
173 #include "detail/func_packing.inl"
GLM_FUNC_DECL vec2 unpackUnorm2x16(uint p)
First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.
vec< 2, float, defaultp > vec2
2 components vector of single-precision floating-point numbers.
GLM_FUNC_DECL uint packSnorm2x16(vec2 const &v)
First, converts each component of the normalized floating-point value v into 8- or 16-bit integer val...
GLM_FUNC_DECL uint packSnorm4x8(vec4 const &v)
First, converts each component of the normalized floating-point value v into 8- or 16-bit integer val...
GLM_FUNC_DECL uint packUnorm2x16(vec2 const &v)
First, converts each component of the normalized floating-point value v into 8- or 16-bit integer val...
GLM_FUNC_DECL uvec2 unpackDouble2x32(double v)
Returns a two-component unsigned integer vector representation of v.
vec< 4, float, defaultp > vec4
4 components vector of single-precision floating-point numbers.
GLM_FUNC_DECL vec2 unpackSnorm2x16(uint p)
First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.
vec< 2, unsigned int, defaultp > uvec2
2 components vector of unsigned integer numbers.
GLM_FUNC_DECL vec2 unpackHalf2x16(uint v)
Returns a two-component floating-point vector with components obtained by unpacking a 32-bit unsigned...
Core features
GLM_FUNC_DECL uint packUnorm4x8(vec4 const &v)
First, converts each component of the normalized floating-point value v into 8- or 16-bit integer val...
GLM_FUNC_DECL vec4 unpackSnorm4x8(uint p)
First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.
GLM_FUNC_DECL double packDouble2x32(uvec2 const &v)
Returns a double-qualifier value obtained by packing the components of v into a 64-bit value...
GLM_FUNC_DECL uint packHalf2x16(vec2 const &v)
Returns an unsigned integer obtained by converting the components of a two-component floating-point v...
Core features
GLM_FUNC_DECL vec4 unpackUnorm4x8(uint p)
First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.
Core features
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00121.html ================================================ 0.9.9 API documentation: perpendicular.hpp File Reference
0.9.9 API documentation
perpendicular.hpp File Reference

GLM_GTX_perpendicular More...

Go to the source code of this file.

Functions

template<typename genType >
GLM_FUNC_DECL genType perp (genType const &x, genType const &Normal)
 Projects x a perpendicular axis of Normal. More...
 

Detailed Description

GLM_GTX_perpendicular

See also
Core features (dependence)
GLM_GTX_projection (dependence)

Definition in file perpendicular.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00121_source.html ================================================ 0.9.9 API documentation: perpendicular.hpp Source File
0.9.9 API documentation
perpendicular.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependency:
17 #include "../glm.hpp"
18 #include "../gtx/projection.hpp"
19 
20 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
21 # ifndef GLM_ENABLE_EXPERIMENTAL
22 # pragma message("GLM: GLM_GTX_perpendicular is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
23 # else
24 # pragma message("GLM: GLM_GTX_perpendicular extension included")
25 # endif
26 #endif
27 
28 namespace glm
29 {
32 
35  template<typename genType>
36  GLM_FUNC_DECL genType perp(genType const& x, genType const& Normal);
37 
39 }//namespace glm
40 
41 #include "perpendicular.inl"
GLM_FUNC_DECL genType perp(genType const &x, genType const &Normal)
Projects x a perpendicular axis of Normal.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00122.html ================================================ 0.9.9 API documentation: polar_coordinates.hpp File Reference
0.9.9 API documentation
polar_coordinates.hpp File Reference

GLM_GTX_polar_coordinates More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > euclidean (vec< 2, T, Q > const &polar)
 Convert Polar to Euclidean coordinates. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > polar (vec< 3, T, Q > const &euclidean)
 Convert Euclidean to Polar coordinates, x is the xz distance, y, the latitude and z the longitude. More...
 

Detailed Description

GLM_GTX_polar_coordinates

See also
Core features (dependence)

Definition in file polar_coordinates.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00122_source.html ================================================ 0.9.9 API documentation: polar_coordinates.hpp Source File
0.9.9 API documentation
polar_coordinates.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependency:
16 #include "../glm.hpp"
17 
18 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
19 # ifndef GLM_ENABLE_EXPERIMENTAL
20 # pragma message("GLM: GLM_GTX_polar_coordinates is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
21 # else
22 # pragma message("GLM: GLM_GTX_polar_coordinates extension included")
23 # endif
24 #endif
25 
26 namespace glm
27 {
30 
34  template<typename T, qualifier Q>
35  GLM_FUNC_DECL vec<3, T, Q> polar(
36  vec<3, T, Q> const& euclidean);
37 
41  template<typename T, qualifier Q>
42  GLM_FUNC_DECL vec<3, T, Q> euclidean(
43  vec<2, T, Q> const& polar);
44 
46 }//namespace glm
47 
48 #include "polar_coordinates.inl"
GLM_FUNC_DECL vec< 3, T, Q > polar(vec< 3, T, Q > const &euclidean)
Convert Euclidean to Polar coordinates, x is the xz distance, y, the latitude and z the longitude...
GLM_FUNC_DECL vec< 3, T, Q > euclidean(vec< 2, T, Q > const &polar)
Convert Polar to Euclidean coordinates.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00123.html ================================================ 0.9.9 API documentation: projection.hpp File Reference
0.9.9 API documentation
projection.hpp File Reference

GLM_GTX_projection More...

Go to the source code of this file.

Functions

template<typename genType >
GLM_FUNC_DECL genType proj (genType const &x, genType const &Normal)
 Projects x on Normal. More...
 

Detailed Description

GLM_GTX_projection

See also
Core features (dependence)

Definition in file projection.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00123_source.html ================================================ 0.9.9 API documentation: projection.hpp Source File
0.9.9 API documentation
projection.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependency:
16 #include "../geometric.hpp"
17 
18 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
19 # ifndef GLM_ENABLE_EXPERIMENTAL
20 # pragma message("GLM: GLM_GTX_projection is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
21 # else
22 # pragma message("GLM: GLM_GTX_projection extension included")
23 # endif
24 #endif
25 
26 namespace glm
27 {
30 
37  template<typename genType>
38  GLM_FUNC_DECL genType proj(genType const& x, genType const& Normal);
39 
41 }//namespace glm
42 
43 #include "projection.inl"
GLM_FUNC_DECL genType proj(genType const &x, genType const &Normal)
Projects x on Normal.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00124_source.html ================================================ 0.9.9 API documentation: qualifier.hpp Source File
0.9.9 API documentation
qualifier.hpp
1 #pragma once
2 
3 #include "setup.hpp"
4 
5 namespace glm
6 {
8  enum qualifier
9  {
10  packed_highp,
11  packed_mediump,
12  packed_lowp,
13 
14 # if GLM_CONFIG_ALIGNED_GENTYPES == GLM_ENABLE
15  aligned_highp,
16  aligned_mediump,
17  aligned_lowp, // ///< Typed data is aligned in memory allowing SIMD optimizations and operations are executed with high precision in term of ULPs to maximize performance
18  aligned = aligned_highp,
19 # endif
20 
21  highp = packed_highp,
22  mediump = packed_mediump,
23  lowp = packed_lowp,
24  packed = packed_highp,
25 
26 # if GLM_CONFIG_ALIGNED_GENTYPES == GLM_ENABLE && defined(GLM_FORCE_DEFAULT_ALIGNED_GENTYPES)
27  defaultp = aligned_highp
28 # else
29  defaultp = highp
30 # endif
31  };
32 
33  typedef qualifier precision;
34 
35  template<length_t L, typename T, qualifier Q = defaultp> struct vec;
36  template<length_t C, length_t R, typename T, qualifier Q = defaultp> struct mat;
37  template<typename T, qualifier Q = defaultp> struct qua;
38 
39 # if GLM_HAS_TEMPLATE_ALIASES
40  template <typename T, qualifier Q = defaultp> using tvec1 = vec<1, T, Q>;
41  template <typename T, qualifier Q = defaultp> using tvec2 = vec<2, T, Q>;
42  template <typename T, qualifier Q = defaultp> using tvec3 = vec<3, T, Q>;
43  template <typename T, qualifier Q = defaultp> using tvec4 = vec<4, T, Q>;
44  template <typename T, qualifier Q = defaultp> using tmat2x2 = mat<2, 2, T, Q>;
45  template <typename T, qualifier Q = defaultp> using tmat2x3 = mat<2, 3, T, Q>;
46  template <typename T, qualifier Q = defaultp> using tmat2x4 = mat<2, 4, T, Q>;
47  template <typename T, qualifier Q = defaultp> using tmat3x2 = mat<3, 2, T, Q>;
48  template <typename T, qualifier Q = defaultp> using tmat3x3 = mat<3, 3, T, Q>;
49  template <typename T, qualifier Q = defaultp> using tmat3x4 = mat<3, 4, T, Q>;
50  template <typename T, qualifier Q = defaultp> using tmat4x2 = mat<4, 2, T, Q>;
51  template <typename T, qualifier Q = defaultp> using tmat4x3 = mat<4, 3, T, Q>;
52  template <typename T, qualifier Q = defaultp> using tmat4x4 = mat<4, 4, T, Q>;
53  template <typename T, qualifier Q = defaultp> using tquat = qua<T, Q>;
54 # endif
55 
56 namespace detail
57 {
58  template<glm::qualifier P>
59  struct is_aligned
60  {
61  static const bool value = false;
62  };
63 
64 # if GLM_CONFIG_ALIGNED_GENTYPES == GLM_ENABLE
65  template<>
66  struct is_aligned<glm::aligned_lowp>
67  {
68  static const bool value = true;
69  };
70 
71  template<>
72  struct is_aligned<glm::aligned_mediump>
73  {
74  static const bool value = true;
75  };
76 
77  template<>
78  struct is_aligned<glm::aligned_highp>
79  {
80  static const bool value = true;
81  };
82 # endif
83 
84  template<length_t L, typename T, bool is_aligned>
85  struct storage
86  {
87  typedef struct type {
88  T data[L];
89  } type;
90  };
91 
92 # if GLM_HAS_ALIGNOF
93  template<length_t L, typename T>
94  struct storage<L, T, true>
95  {
96  typedef struct alignas(L * sizeof(T)) type {
97  T data[L];
98  } type;
99  };
100 
101  template<typename T>
102  struct storage<3, T, true>
103  {
104  typedef struct alignas(4 * sizeof(T)) type {
105  T data[4];
106  } type;
107  };
108 # endif
109 
110 # if GLM_ARCH & GLM_ARCH_SSE2_BIT
111  template<>
112  struct storage<4, float, true>
113  {
114  typedef glm_f32vec4 type;
115  };
116 
117  template<>
118  struct storage<4, int, true>
119  {
120  typedef glm_i32vec4 type;
121  };
122 
123  template<>
124  struct storage<4, unsigned int, true>
125  {
126  typedef glm_u32vec4 type;
127  };
128 
129  template<>
130  struct storage<2, double, true>
131  {
132  typedef glm_f64vec2 type;
133  };
134 
135  template<>
136  struct storage<2, detail::int64, true>
137  {
138  typedef glm_i64vec2 type;
139  };
140 
141  template<>
142  struct storage<2, detail::uint64, true>
143  {
144  typedef glm_u64vec2 type;
145  };
146 # endif
147 
148 # if (GLM_ARCH & GLM_ARCH_AVX_BIT)
149  template<>
150  struct storage<4, double, true>
151  {
152  typedef glm_f64vec4 type;
153  };
154 # endif
155 
156 # if (GLM_ARCH & GLM_ARCH_AVX2_BIT)
157  template<>
158  struct storage<4, detail::int64, true>
159  {
160  typedef glm_i64vec4 type;
161  };
162 
163  template<>
164  struct storage<4, detail::uint64, true>
165  {
166  typedef glm_u64vec4 type;
167  };
168 # endif
169 
170 # if GLM_ARCH & GLM_ARCH_NEON_BIT
171  template<>
172  struct storage<4, float, true>
173  {
174  typedef glm_f32vec4 type;
175  };
176 
177  template<>
178  struct storage<4, int, true>
179  {
180  typedef glm_i32vec4 type;
181  };
182 
183  template<>
184  struct storage<4, unsigned int, true>
185  {
186  typedef glm_u32vec4 type;
187  };
188 # endif
189 
190  enum genTypeEnum
191  {
192  GENTYPE_VEC,
193  GENTYPE_MAT,
194  GENTYPE_QUAT
195  };
196 
197  template <typename genType>
198  struct genTypeTrait
199  {};
200 
201  template <length_t C, length_t R, typename T>
202  struct genTypeTrait<mat<C, R, T> >
203  {
204  static const genTypeEnum GENTYPE = GENTYPE_MAT;
205  };
206 
207  template<typename genType, genTypeEnum type>
208  struct init_gentype
209  {
210  };
211 
212  template<typename genType>
213  struct init_gentype<genType, GENTYPE_QUAT>
214  {
215  GLM_FUNC_QUALIFIER GLM_CONSTEXPR static genType identity()
216  {
217  return genType(1, 0, 0, 0);
218  }
219  };
220 
221  template<typename genType>
222  struct init_gentype<genType, GENTYPE_MAT>
223  {
224  GLM_FUNC_QUALIFIER GLM_CONSTEXPR static genType identity()
225  {
226  return genType(1);
227  }
228  };
229 }//namespace detail
230 }//namespace glm
GLM_FUNC_DECL GLM_CONSTEXPR genType identity()
Builds an identity matrix.
detail::uint64 uint64
64 bit unsigned integer type.
detail::int64 int64
64 bit signed integer type.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00125.html ================================================ 0.9.9 API documentation: quaternion.hpp File Reference
0.9.9 API documentation
gtc/quaternion.hpp File Reference

GLM_GTC_quaternion More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > eulerAngles (qua< T, Q > const &x)
 Returns euler angles, pitch as x, yaw as y, roll as z. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > greaterThan (qua< T, Q > const &x, qua< T, Q > const &y)
 Returns the component-wise comparison of result x > y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > greaterThanEqual (qua< T, Q > const &x, qua< T, Q > const &y)
 Returns the component-wise comparison of result x >= y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > lessThan (qua< T, Q > const &x, qua< T, Q > const &y)
 Returns the component-wise comparison result of x < y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > lessThanEqual (qua< T, Q > const &x, qua< T, Q > const &y)
 Returns the component-wise comparison of result x <= y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > mat3_cast (qua< T, Q > const &x)
 Converts a quaternion to a 3 * 3 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > mat4_cast (qua< T, Q > const &x)
 Converts a quaternion to a 4 * 4 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T pitch (qua< T, Q > const &x)
 Returns pitch value of euler angles expressed in radians. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > quat_cast (mat< 3, 3, T, Q > const &x)
 Converts a pure rotation 3 * 3 matrix to a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > quat_cast (mat< 4, 4, T, Q > const &x)
 Converts a pure rotation 4 * 4 matrix to a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > quatLookAt (vec< 3, T, Q > const &direction, vec< 3, T, Q > const &up)
 Build a look at quaternion based on the default handedness. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > quatLookAtLH (vec< 3, T, Q > const &direction, vec< 3, T, Q > const &up)
 Build a left-handed look at quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > quatLookAtRH (vec< 3, T, Q > const &direction, vec< 3, T, Q > const &up)
 Build a right-handed look at quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T roll (qua< T, Q > const &x)
 Returns roll value of euler angles expressed in radians. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T yaw (qua< T, Q > const &x)
 Returns yaw value of euler angles expressed in radians. More...
 

Detailed Description

GLM_GTC_quaternion

See also
Core features (dependence)
GLM_GTC_constants (dependence)

Definition in file gtc/quaternion.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00125_source.html ================================================ 0.9.9 API documentation: quaternion.hpp Source File
0.9.9 API documentation
gtc/quaternion.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependency:
17 #include "../gtc/constants.hpp"
18 #include "../gtc/matrix_transform.hpp"
19 #include "../ext/vector_relational.hpp"
20 #include "../ext/quaternion_common.hpp"
21 #include "../ext/quaternion_float.hpp"
22 #include "../ext/quaternion_float_precision.hpp"
23 #include "../ext/quaternion_double.hpp"
24 #include "../ext/quaternion_double_precision.hpp"
25 #include "../ext/quaternion_relational.hpp"
26 #include "../ext/quaternion_geometric.hpp"
27 #include "../ext/quaternion_trigonometric.hpp"
28 #include "../ext/quaternion_transform.hpp"
29 #include "../detail/type_mat3x3.hpp"
30 #include "../detail/type_mat4x4.hpp"
31 #include "../detail/type_vec3.hpp"
32 #include "../detail/type_vec4.hpp"
33 
34 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
35 # pragma message("GLM: GLM_GTC_quaternion extension included")
36 #endif
37 
38 namespace glm
39 {
42 
49  template<typename T, qualifier Q>
50  GLM_FUNC_DECL vec<3, T, Q> eulerAngles(qua<T, Q> const& x);
51 
57  template<typename T, qualifier Q>
58  GLM_FUNC_DECL T roll(qua<T, Q> const& x);
59 
65  template<typename T, qualifier Q>
66  GLM_FUNC_DECL T pitch(qua<T, Q> const& x);
67 
73  template<typename T, qualifier Q>
74  GLM_FUNC_DECL T yaw(qua<T, Q> const& x);
75 
81  template<typename T, qualifier Q>
82  GLM_FUNC_DECL mat<3, 3, T, Q> mat3_cast(qua<T, Q> const& x);
83 
89  template<typename T, qualifier Q>
90  GLM_FUNC_DECL mat<4, 4, T, Q> mat4_cast(qua<T, Q> const& x);
91 
97  template<typename T, qualifier Q>
98  GLM_FUNC_DECL qua<T, Q> quat_cast(mat<3, 3, T, Q> const& x);
99 
105  template<typename T, qualifier Q>
106  GLM_FUNC_DECL qua<T, Q> quat_cast(mat<4, 4, T, Q> const& x);
107 
114  template<typename T, qualifier Q>
115  GLM_FUNC_DECL vec<4, bool, Q> lessThan(qua<T, Q> const& x, qua<T, Q> const& y);
116 
123  template<typename T, qualifier Q>
124  GLM_FUNC_DECL vec<4, bool, Q> lessThanEqual(qua<T, Q> const& x, qua<T, Q> const& y);
125 
132  template<typename T, qualifier Q>
133  GLM_FUNC_DECL vec<4, bool, Q> greaterThan(qua<T, Q> const& x, qua<T, Q> const& y);
134 
141  template<typename T, qualifier Q>
142  GLM_FUNC_DECL vec<4, bool, Q> greaterThanEqual(qua<T, Q> const& x, qua<T, Q> const& y);
143 
148  template<typename T, qualifier Q>
149  GLM_FUNC_DECL qua<T, Q> quatLookAt(
150  vec<3, T, Q> const& direction,
151  vec<3, T, Q> const& up);
152 
157  template<typename T, qualifier Q>
158  GLM_FUNC_DECL qua<T, Q> quatLookAtRH(
159  vec<3, T, Q> const& direction,
160  vec<3, T, Q> const& up);
161 
166  template<typename T, qualifier Q>
167  GLM_FUNC_DECL qua<T, Q> quatLookAtLH(
168  vec<3, T, Q> const& direction,
169  vec<3, T, Q> const& up);
171 } //namespace glm
172 
173 #include "quaternion.inl"
GLM_FUNC_DECL mat< 4, 4, T, Q > mat4_cast(qua< T, Q > const &x)
Converts a quaternion to a 4 * 4 matrix.
GLM_FUNC_DECL vec< 4, bool, Q > greaterThan(qua< T, Q > const &x, qua< T, Q > const &y)
Returns the component-wise comparison of result x > y.
GLM_FUNC_DECL vec< 4, bool, Q > greaterThanEqual(qua< T, Q > const &x, qua< T, Q > const &y)
Returns the component-wise comparison of result x >= y.
GLM_FUNC_DECL vec< 4, bool, Q > lessThanEqual(qua< T, Q > const &x, qua< T, Q > const &y)
Returns the component-wise comparison of result x <= y.
GLM_FUNC_DECL T roll(qua< T, Q > const &x)
Returns roll value of euler angles expressed in radians.
GLM_FUNC_DECL qua< T, Q > quatLookAt(vec< 3, T, Q > const &direction, vec< 3, T, Q > const &up)
Build a look at quaternion based on the default handedness.
GLM_FUNC_DECL qua< T, Q > quat_cast(mat< 4, 4, T, Q > const &x)
Converts a pure rotation 4 * 4 matrix to a quaternion.
GLM_FUNC_DECL mat< 3, 3, T, Q > mat3_cast(qua< T, Q > const &x)
Converts a quaternion to a 3 * 3 matrix.
GLM_FUNC_DECL vec< 3, T, Q > eulerAngles(qua< T, Q > const &x)
Returns euler angles, pitch as x, yaw as y, roll as z.
GLM_FUNC_DECL vec< 4, bool, Q > lessThan(qua< T, Q > const &x, qua< T, Q > const &y)
Returns the component-wise comparison result of x < y.
GLM_FUNC_DECL T yaw(qua< T, Q > const &x)
Returns yaw value of euler angles expressed in radians.
GLM_FUNC_DECL qua< T, Q > quatLookAtLH(vec< 3, T, Q > const &direction, vec< 3, T, Q > const &up)
Build a left-handed look at quaternion.
GLM_FUNC_DECL qua< T, Q > quatLookAtRH(vec< 3, T, Q > const &direction, vec< 3, T, Q > const &up)
Build a right-handed look at quaternion.
GLM_FUNC_DECL T pitch(qua< T, Q > const &x)
Returns pitch value of euler angles expressed in radians.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00126.html ================================================ 0.9.9 API documentation: quaternion.hpp File Reference
0.9.9 API documentation
gtx/quaternion.hpp File Reference

GLM_GTX_quaternion More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > cross (qua< T, Q > const &q, vec< 3, T, Q > const &v)
 Compute a cross product between a quaternion and a vector. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > cross (vec< 3, T, Q > const &v, qua< T, Q > const &q)
 Compute a cross product between a vector and a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T extractRealComponent (qua< T, Q > const &q)
 Extract the real component of a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > fastMix (qua< T, Q > const &x, qua< T, Q > const &y, T const &a)
 Quaternion normalized linear interpolation. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > intermediate (qua< T, Q > const &prev, qua< T, Q > const &curr, qua< T, Q > const &next)
 Returns an intermediate control point for squad interpolation. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T length2 (qua< T, Q > const &q)
 Returns the squared length of x. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > quat_identity ()
 Create an identity quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rotate (qua< T, Q > const &q, vec< 3, T, Q > const &v)
 Returns quarternion square root. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > rotate (qua< T, Q > const &q, vec< 4, T, Q > const &v)
 Rotates a 4 components vector by a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > rotation (vec< 3, T, Q > const &orig, vec< 3, T, Q > const &dest)
 Compute the rotation between two vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > shortMix (qua< T, Q > const &x, qua< T, Q > const &y, T const &a)
 Quaternion interpolation using the rotation short path. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > squad (qua< T, Q > const &q1, qua< T, Q > const &q2, qua< T, Q > const &s1, qua< T, Q > const &s2, T const &h)
 Compute a point on a path according squad equation. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > toMat3 (qua< T, Q > const &x)
 Converts a quaternion to a 3 * 3 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > toMat4 (qua< T, Q > const &x)
 Converts a quaternion to a 4 * 4 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > toQuat (mat< 3, 3, T, Q > const &x)
 Converts a 3 * 3 matrix to a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > toQuat (mat< 4, 4, T, Q > const &x)
 Converts a 4 * 4 matrix to a quaternion. More...
 

Detailed Description

GLM_GTX_quaternion

See also
Core features (dependence)
gtx_extented_min_max (dependence)

Definition in file gtx/quaternion.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00126_source.html ================================================ 0.9.9 API documentation: quaternion.hpp Source File
0.9.9 API documentation
gtx/quaternion.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependency:
17 #include "../glm.hpp"
18 #include "../gtc/constants.hpp"
19 #include "../gtc/quaternion.hpp"
20 #include "../ext/quaternion_exponential.hpp"
21 #include "../gtx/norm.hpp"
22 
23 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
24 # ifndef GLM_ENABLE_EXPERIMENTAL
25 # pragma message("GLM: GLM_GTX_quaternion is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
26 # else
27 # pragma message("GLM: GLM_GTX_quaternion extension included")
28 # endif
29 #endif
30 
31 namespace glm
32 {
35 
39  template<typename T, qualifier Q>
40  GLM_FUNC_DECL qua<T, Q> quat_identity();
41 
45  template<typename T, qualifier Q>
46  GLM_FUNC_DECL vec<3, T, Q> cross(
47  qua<T, Q> const& q,
48  vec<3, T, Q> const& v);
49 
53  template<typename T, qualifier Q>
54  GLM_FUNC_DECL vec<3, T, Q> cross(
55  vec<3, T, Q> const& v,
56  qua<T, Q> const& q);
57 
62  template<typename T, qualifier Q>
63  GLM_FUNC_DECL qua<T, Q> squad(
64  qua<T, Q> const& q1,
65  qua<T, Q> const& q2,
66  qua<T, Q> const& s1,
67  qua<T, Q> const& s2,
68  T const& h);
69 
73  template<typename T, qualifier Q>
74  GLM_FUNC_DECL qua<T, Q> intermediate(
75  qua<T, Q> const& prev,
76  qua<T, Q> const& curr,
77  qua<T, Q> const& next);
78 
82  //template<typename T, qualifier Q>
83  //qua<T, Q> sqrt(
84  // qua<T, Q> const& q);
85 
89  template<typename T, qualifier Q>
90  GLM_FUNC_DECL vec<3, T, Q> rotate(
91  qua<T, Q> const& q,
92  vec<3, T, Q> const& v);
93 
97  template<typename T, qualifier Q>
98  GLM_FUNC_DECL vec<4, T, Q> rotate(
99  qua<T, Q> const& q,
100  vec<4, T, Q> const& v);
101 
105  template<typename T, qualifier Q>
106  GLM_FUNC_DECL T extractRealComponent(
107  qua<T, Q> const& q);
108 
112  template<typename T, qualifier Q>
113  GLM_FUNC_DECL mat<3, 3, T, Q> toMat3(
114  qua<T, Q> const& x){return mat3_cast(x);}
115 
119  template<typename T, qualifier Q>
120  GLM_FUNC_DECL mat<4, 4, T, Q> toMat4(
121  qua<T, Q> const& x){return mat4_cast(x);}
122 
126  template<typename T, qualifier Q>
127  GLM_FUNC_DECL qua<T, Q> toQuat(
128  mat<3, 3, T, Q> const& x){return quat_cast(x);}
129 
133  template<typename T, qualifier Q>
134  GLM_FUNC_DECL qua<T, Q> toQuat(
135  mat<4, 4, T, Q> const& x){return quat_cast(x);}
136 
140  template<typename T, qualifier Q>
141  GLM_FUNC_DECL qua<T, Q> shortMix(
142  qua<T, Q> const& x,
143  qua<T, Q> const& y,
144  T const& a);
145 
149  template<typename T, qualifier Q>
150  GLM_FUNC_DECL qua<T, Q> fastMix(
151  qua<T, Q> const& x,
152  qua<T, Q> const& y,
153  T const& a);
154 
160  template<typename T, qualifier Q>
161  GLM_FUNC_DECL qua<T, Q> rotation(
162  vec<3, T, Q> const& orig,
163  vec<3, T, Q> const& dest);
164 
168  template<typename T, qualifier Q>
169  GLM_FUNC_DECL T length2(qua<T, Q> const& q);
170 
172 }//namespace glm
173 
174 #include "quaternion.inl"
GLM_FUNC_DECL mat< 4, 4, T, Q > mat4_cast(qua< T, Q > const &x)
Converts a quaternion to a 4 * 4 matrix.
GLM_FUNC_DECL qua< T, Q > shortMix(qua< T, Q > const &x, qua< T, Q > const &y, T const &a)
Quaternion interpolation using the rotation short path.
GLM_FUNC_DECL qua< T, Q > quat_identity()
Create an identity quaternion.
GLM_FUNC_DECL qua< T, Q > quat_cast(mat< 3, 3, T, Q > const &x)
Converts a pure rotation 3 * 3 matrix to a quaternion.
GLM_FUNC_DECL qua< T, Q > intermediate(qua< T, Q > const &prev, qua< T, Q > const &curr, qua< T, Q > const &next)
Returns an intermediate control point for squad interpolation.
GLM_FUNC_DECL mat< 3, 3, T, Q > mat3_cast(qua< T, Q > const &x)
Converts a quaternion to a 3 * 3 matrix.
GLM_FUNC_DECL mat< 4, 4, T, Q > toMat4(qua< T, Q > const &x)
Converts a quaternion to a 4 * 4 matrix.
GLM_FUNC_DECL T extractRealComponent(qua< T, Q > const &q)
Extract the real component of a quaternion.
GLM_FUNC_DECL mat< 3, 3, T, Q > toMat3(qua< T, Q > const &x)
Converts a quaternion to a 3 * 3 matrix.
GLM_FUNC_DECL qua< T, Q > squad(qua< T, Q > const &q1, qua< T, Q > const &q2, qua< T, Q > const &s1, qua< T, Q > const &s2, T const &h)
Compute a point on a path according squad equation.
GLM_FUNC_DECL vec< 3, T, Q > cross(vec< 3, T, Q > const &v, qua< T, Q > const &q)
Compute a cross product between a vector and a quaternion.
GLM_FUNC_DECL qua< T, Q > toQuat(mat< 4, 4, T, Q > const &x)
Converts a 4 * 4 matrix to a quaternion.
GLM_FUNC_DECL qua< T, Q > rotation(vec< 3, T, Q > const &orig, vec< 3, T, Q > const &dest)
Compute the rotation between two vectors.
GLM_FUNC_DECL vec< 4, T, Q > rotate(qua< T, Q > const &q, vec< 4, T, Q > const &v)
Rotates a 4 components vector by a quaternion.
GLM_FUNC_DECL qua< T, Q > fastMix(qua< T, Q > const &x, qua< T, Q > const &y, T const &a)
Quaternion normalized linear interpolation.
GLM_FUNC_DECL T length2(qua< T, Q > const &q)
Returns the squared length of x.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00127.html ================================================ 0.9.9 API documentation: quaternion_common.hpp File Reference
0.9.9 API documentation
quaternion_common.hpp File Reference

GLM_EXT_quaternion_common More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > conjugate (qua< T, Q > const &q)
 Returns the q conjugate. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > inverse (qua< T, Q > const &q)
 Returns the q inverse. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > isinf (qua< T, Q > const &x)
 Returns true if x holds a positive infinity or negative infinity representation in the underlying implementation's set of floating point representations. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > isnan (qua< T, Q > const &x)
 Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of floating point representations. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > lerp (qua< T, Q > const &x, qua< T, Q > const &y, T a)
 Linear interpolation of two quaternions. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > mix (qua< T, Q > const &x, qua< T, Q > const &y, T a)
 Spherical linear interpolation of two quaternions. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > slerp (qua< T, Q > const &x, qua< T, Q > const &y, T a)
 Spherical linear interpolation of two quaternions. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00127_source.html ================================================ 0.9.9 API documentation: quaternion_common.hpp Source File
0.9.9 API documentation
quaternion_common.hpp
Go to the documentation of this file.
1 
21 #pragma once
22 
23 // Dependency:
24 #include "../ext/scalar_constants.hpp"
25 #include "../ext/quaternion_geometric.hpp"
26 #include "../common.hpp"
27 #include "../trigonometric.hpp"
28 #include "../exponential.hpp"
29 #include <limits>
30 
31 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
32 # pragma message("GLM: GLM_EXT_quaternion_common extension included")
33 #endif
34 
35 namespace glm
36 {
39 
52  template<typename T, qualifier Q>
53  GLM_FUNC_DECL qua<T, Q> mix(qua<T, Q> const& x, qua<T, Q> const& y, T a);
54 
64  template<typename T, qualifier Q>
65  GLM_FUNC_DECL qua<T, Q> lerp(qua<T, Q> const& x, qua<T, Q> const& y, T a);
66 
76  template<typename T, qualifier Q>
77  GLM_FUNC_DECL qua<T, Q> slerp(qua<T, Q> const& x, qua<T, Q> const& y, T a);
78 
83  template<typename T, qualifier Q>
84  GLM_FUNC_DECL qua<T, Q> conjugate(qua<T, Q> const& q);
85 
90  template<typename T, qualifier Q>
91  GLM_FUNC_DECL qua<T, Q> inverse(qua<T, Q> const& q);
92 
103  template<typename T, qualifier Q>
104  GLM_FUNC_DECL vec<4, bool, Q> isnan(qua<T, Q> const& x);
105 
114  template<typename T, qualifier Q>
115  GLM_FUNC_DECL vec<4, bool, Q> isinf(qua<T, Q> const& x);
116 
118 } //namespace glm
119 
120 #include "quaternion_common.inl"
GLM_FUNC_DECL vec< 4, bool, Q > isinf(qua< T, Q > const &x)
Returns true if x holds a positive infinity or negative infinity representation in the underlying imp...
GLM_FUNC_DECL vec< 4, bool, Q > isnan(qua< T, Q > const &x)
Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of...
GLM_FUNC_DECL qua< T, Q > conjugate(qua< T, Q > const &q)
Returns the q conjugate.
GLM_FUNC_DECL qua< T, Q > slerp(qua< T, Q > const &x, qua< T, Q > const &y, T a)
Spherical linear interpolation of two quaternions.
GLM_FUNC_DECL qua< T, Q > inverse(qua< T, Q > const &q)
Returns the q inverse.
GLM_FUNC_DECL qua< T, Q > lerp(qua< T, Q > const &x, qua< T, Q > const &y, T a)
Linear interpolation of two quaternions.
GLM_FUNC_DECL qua< T, Q > mix(qua< T, Q > const &x, qua< T, Q > const &y, T a)
Spherical linear interpolation of two quaternions.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00128.html ================================================ 0.9.9 API documentation: quaternion_double.hpp File Reference
0.9.9 API documentation
quaternion_double.hpp File Reference

GLM_EXT_quaternion_double More...

Go to the source code of this file.

Typedefs

typedef qua< double, defaultp > dquat
 Quaternion of double-precision floating-point numbers.
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00128_source.html ================================================ 0.9.9 API documentation: quaternion_double.hpp Source File
0.9.9 API documentation
quaternion_double.hpp
Go to the documentation of this file.
1 
20 #pragma once
21 
22 // Dependency:
23 #include "../detail/type_quat.hpp"
24 
25 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
26 # pragma message("GLM: GLM_EXT_quaternion_double extension included")
27 #endif
28 
29 namespace glm
30 {
33 
35  typedef qua<double, defaultp> dquat;
36 
38 } //namespace glm
39 
qua< double, defaultp > dquat
Quaternion of double-precision floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00129.html ================================================ 0.9.9 API documentation: quaternion_double_precision.hpp File Reference
0.9.9 API documentation
quaternion_double_precision.hpp File Reference

GLM_EXT_quaternion_double_precision More...

Go to the source code of this file.

Typedefs

typedef qua< double, highp > highp_dquat
 Quaternion of high double-qualifier floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef qua< double, lowp > lowp_dquat
 Quaternion of double-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef qua< double, mediump > mediump_dquat
 Quaternion of medium double-qualifier floating-point numbers using high precision arithmetic in term of ULPs. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00129_source.html ================================================ 0.9.9 API documentation: quaternion_double_precision.hpp Source File
0.9.9 API documentation
quaternion_double_precision.hpp
Go to the documentation of this file.
1 
11 #pragma once
12 
13 // Dependency:
14 #include "../detail/type_quat.hpp"
15 
16 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
17 # pragma message("GLM: GLM_EXT_quaternion_double_precision extension included")
18 #endif
19 
20 namespace glm
21 {
24 
28  typedef qua<double, lowp> lowp_dquat;
29 
33  typedef qua<double, mediump> mediump_dquat;
34 
38  typedef qua<double, highp> highp_dquat;
39 
41 } //namespace glm
42 
qua< double, mediump > mediump_dquat
Quaternion of medium double-qualifier floating-point numbers using high precision arithmetic in term ...
qua< double, highp > highp_dquat
Quaternion of high double-qualifier floating-point numbers using high precision arithmetic in term of...
qua< double, lowp > lowp_dquat
Quaternion of double-precision floating-point numbers using high precision arithmetic in term of ULPs...
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00130.html ================================================ 0.9.9 API documentation: quaternion_exponential.hpp File Reference
0.9.9 API documentation
quaternion_exponential.hpp File Reference

GLM_EXT_quaternion_exponential More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > exp (qua< T, Q > const &q)
 Returns a exponential of a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > log (qua< T, Q > const &q)
 Returns a logarithm of a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > pow (qua< T, Q > const &q, T y)
 Returns a quaternion raised to a power. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > sqrt (qua< T, Q > const &q)
 Returns the square root of a quaternion. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00130_source.html ================================================ 0.9.9 API documentation: quaternion_exponential.hpp Source File
0.9.9 API documentation
quaternion_exponential.hpp
Go to the documentation of this file.
1 
15 #pragma once
16 
17 // Dependency:
18 #include "../common.hpp"
19 #include "../trigonometric.hpp"
20 #include "../geometric.hpp"
21 #include "../ext/scalar_constants.hpp"
22 
23 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
24 # pragma message("GLM: GLM_EXT_quaternion_exponential extension included")
25 #endif
26 
27 namespace glm
28 {
31 
36  template<typename T, qualifier Q>
37  GLM_FUNC_DECL qua<T, Q> exp(qua<T, Q> const& q);
38 
43  template<typename T, qualifier Q>
44  GLM_FUNC_DECL qua<T, Q> log(qua<T, Q> const& q);
45 
50  template<typename T, qualifier Q>
51  GLM_FUNC_DECL qua<T, Q> pow(qua<T, Q> const& q, T y);
52 
57  template<typename T, qualifier Q>
58  GLM_FUNC_DECL qua<T, Q> sqrt(qua<T, Q> const& q);
59 
61 } //namespace glm
62 
63 #include "quaternion_exponential.inl"
GLM_FUNC_DECL qua< T, Q > log(qua< T, Q > const &q)
Returns a logarithm of a quaternion.
GLM_FUNC_DECL qua< T, Q > pow(qua< T, Q > const &q, T y)
Returns a quaternion raised to a power.
GLM_FUNC_DECL qua< T, Q > sqrt(qua< T, Q > const &q)
Returns the square root of a quaternion.
GLM_FUNC_DECL qua< T, Q > exp(qua< T, Q > const &q)
Returns a exponential of a quaternion.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00131.html ================================================ 0.9.9 API documentation: quaternion_float.hpp File Reference
0.9.9 API documentation
quaternion_float.hpp File Reference

GLM_EXT_quaternion_float More...

Go to the source code of this file.

Typedefs

typedef qua< float, defaultp > quat
 Quaternion of single-precision floating-point numbers.
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00131_source.html ================================================ 0.9.9 API documentation: quaternion_float.hpp Source File
0.9.9 API documentation
quaternion_float.hpp
Go to the documentation of this file.
1 
20 #pragma once
21 
22 // Dependency:
23 #include "../detail/type_quat.hpp"
24 
25 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
26 # pragma message("GLM: GLM_EXT_quaternion_float extension included")
27 #endif
28 
29 namespace glm
30 {
33 
35  typedef qua<float, defaultp> quat;
36 
38 } //namespace glm
39 
qua< float, defaultp > quat
Quaternion of single-precision floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00132.html ================================================ 0.9.9 API documentation: quaternion_float_precision.hpp File Reference
0.9.9 API documentation
quaternion_float_precision.hpp File Reference

GLM_EXT_quaternion_float_precision More...

Go to the source code of this file.

Typedefs

typedef qua< float, highp > highp_quat
 Quaternion of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef qua< float, lowp > lowp_quat
 Quaternion of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef qua< float, mediump > mediump_quat
 Quaternion of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00132_source.html ================================================ 0.9.9 API documentation: quaternion_float_precision.hpp Source File
0.9.9 API documentation
quaternion_float_precision.hpp
Go to the documentation of this file.
1 
11 #pragma once
12 
13 // Dependency:
14 #include "../detail/type_quat.hpp"
15 
16 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
17 # pragma message("GLM: GLM_EXT_quaternion_float_precision extension included")
18 #endif
19 
20 namespace glm
21 {
24 
26  typedef qua<float, lowp> lowp_quat;
27 
29  typedef qua<float, mediump> mediump_quat;
30 
32  typedef qua<float, highp> highp_quat;
33 
35 } //namespace glm
36 
qua< float, highp > highp_quat
Quaternion of single-precision floating-point numbers using high precision arithmetic in term of ULPs...
qua< float, mediump > mediump_quat
Quaternion of single-precision floating-point numbers using high precision arithmetic in term of ULPs...
qua< float, lowp > lowp_quat
Quaternion of single-precision floating-point numbers using high precision arithmetic in term of ULPs...
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00133.html ================================================ 0.9.9 API documentation: quaternion_geometric.hpp File Reference
0.9.9 API documentation
quaternion_geometric.hpp File Reference

GLM_EXT_quaternion_geometric More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > cross (qua< T, Q > const &q1, qua< T, Q > const &q2)
 Compute a cross product. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T dot (qua< T, Q > const &x, qua< T, Q > const &y)
 Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + ... More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T length (qua< T, Q > const &q)
 Returns the norm of a quaternions. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > normalize (qua< T, Q > const &q)
 Returns the normalized quaternion. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00133_source.html ================================================ 0.9.9 API documentation: quaternion_geometric.hpp Source File
0.9.9 API documentation
quaternion_geometric.hpp
Go to the documentation of this file.
1 
15 #pragma once
16 
17 // Dependency:
18 #include "../geometric.hpp"
19 #include "../exponential.hpp"
20 #include "../ext/vector_relational.hpp"
21 
22 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
23 # pragma message("GLM: GLM_EXT_quaternion_geometric extension included")
24 #endif
25 
26 namespace glm
27 {
30 
37  template<typename T, qualifier Q>
38  GLM_FUNC_DECL T length(qua<T, Q> const& q);
39 
46  template<typename T, qualifier Q>
47  GLM_FUNC_DECL qua<T, Q> normalize(qua<T, Q> const& q);
48 
55  template<typename T, qualifier Q>
56  GLM_FUNC_DECL T dot(qua<T, Q> const& x, qua<T, Q> const& y);
57 
64  template<typename T, qualifier Q>
65  GLM_FUNC_QUALIFIER qua<T, Q> cross(qua<T, Q> const& q1, qua<T, Q> const& q2);
66 
68 } //namespace glm
69 
70 #include "quaternion_geometric.inl"
GLM_FUNC_DECL T length(qua< T, Q > const &q)
Returns the norm of a quaternions.
GLM_FUNC_DECL T dot(qua< T, Q > const &x, qua< T, Q > const &y)
Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + ...
GLM_FUNC_QUALIFIER qua< T, Q > cross(qua< T, Q > const &q1, qua< T, Q > const &q2)
Compute a cross product.
GLM_FUNC_DECL qua< T, Q > normalize(qua< T, Q > const &q)
Returns the normalized quaternion.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00134.html ================================================ 0.9.9 API documentation: quaternion_relational.hpp File Reference
0.9.9 API documentation
quaternion_relational.hpp File Reference

GLM_EXT_quaternion_relational More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > equal (qua< T, Q > const &x, qua< T, Q > const &y)
 Returns the component-wise comparison of result x == y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > equal (qua< T, Q > const &x, qua< T, Q > const &y, T epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > notEqual (qua< T, Q > const &x, qua< T, Q > const &y)
 Returns the component-wise comparison of result x != y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > notEqual (qua< T, Q > const &x, qua< T, Q > const &y, T epsilon)
 Returns the component-wise comparison of |x - y| >= epsilon. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00134_source.html ================================================ 0.9.9 API documentation: quaternion_relational.hpp Source File
0.9.9 API documentation
quaternion_relational.hpp
Go to the documentation of this file.
1 
17 #pragma once
18 
19 // Dependency:
20 #include "../vector_relational.hpp"
21 
22 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
23 # pragma message("GLM: GLM_EXT_quaternion_relational extension included")
24 #endif
25 
26 namespace glm
27 {
30 
35  template<typename T, qualifier Q>
36  GLM_FUNC_DECL vec<4, bool, Q> equal(qua<T, Q> const& x, qua<T, Q> const& y);
37 
42  template<typename T, qualifier Q>
43  GLM_FUNC_DECL vec<4, bool, Q> equal(qua<T, Q> const& x, qua<T, Q> const& y, T epsilon);
44 
49  template<typename T, qualifier Q>
50  GLM_FUNC_DECL vec<4, bool, Q> notEqual(qua<T, Q> const& x, qua<T, Q> const& y);
51 
56  template<typename T, qualifier Q>
57  GLM_FUNC_DECL vec<4, bool, Q> notEqual(qua<T, Q> const& x, qua<T, Q> const& y, T epsilon);
58 
60 } //namespace glm
61 
62 #include "quaternion_relational.inl"
GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon()
Return the epsilon constant for floating point types.
GLM_FUNC_DECL vec< 4, bool, Q > notEqual(qua< T, Q > const &x, qua< T, Q > const &y, T epsilon)
Returns the component-wise comparison of |x - y| >= epsilon.
GLM_FUNC_DECL vec< 4, bool, Q > equal(qua< T, Q > const &x, qua< T, Q > const &y, T epsilon)
Returns the component-wise comparison of |x - y| < epsilon.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00135.html ================================================ 0.9.9 API documentation: quaternion_transform.hpp File Reference
0.9.9 API documentation
quaternion_transform.hpp File Reference

GLM_EXT_quaternion_transform More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > rotate (qua< T, Q > const &q, T const &angle, vec< 3, T, Q > const &axis)
 Rotates a quaternion from a vector of 3 components axis and an angle. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00135_source.html ================================================ 0.9.9 API documentation: quaternion_transform.hpp Source File
0.9.9 API documentation
quaternion_transform.hpp
Go to the documentation of this file.
1 
18 #pragma once
19 
20 // Dependency:
21 #include "../common.hpp"
22 #include "../trigonometric.hpp"
23 #include "../geometric.hpp"
24 
25 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
26 # pragma message("GLM: GLM_EXT_quaternion_transform extension included")
27 #endif
28 
29 namespace glm
30 {
33 
42  template<typename T, qualifier Q>
43  GLM_FUNC_DECL qua<T, Q> rotate(qua<T, Q> const& q, T const& angle, vec<3, T, Q> const& axis);
45 } //namespace glm
46 
47 #include "quaternion_transform.inl"
GLM_FUNC_DECL T angle(qua< T, Q > const &x)
Returns the quaternion rotation angle.
GLM_FUNC_DECL qua< T, Q > rotate(qua< T, Q > const &q, T const &angle, vec< 3, T, Q > const &axis)
Rotates a quaternion from a vector of 3 components axis and an angle.
GLM_FUNC_DECL vec< 3, T, Q > axis(qua< T, Q > const &x)
Returns the q rotation axis.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00136.html ================================================ 0.9.9 API documentation: quaternion_trigonometric.hpp File Reference
0.9.9 API documentation
quaternion_trigonometric.hpp File Reference

GLM_EXT_quaternion_trigonometric More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL T angle (qua< T, Q > const &x)
 Returns the quaternion rotation angle. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > angleAxis (T const &angle, vec< 3, T, Q > const &axis)
 Build a quaternion from an angle and a normalized axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > axis (qua< T, Q > const &x)
 Returns the q rotation axis. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00136_source.html ================================================ 0.9.9 API documentation: quaternion_trigonometric.hpp Source File
0.9.9 API documentation
quaternion_trigonometric.hpp
Go to the documentation of this file.
1 
18 #pragma once
19 
20 // Dependency:
21 #include "../trigonometric.hpp"
22 #include "../exponential.hpp"
23 #include "scalar_constants.hpp"
24 #include "vector_relational.hpp"
25 #include <limits>
26 
27 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
28 # pragma message("GLM: GLM_EXT_quaternion_trigonometric extension included")
29 #endif
30 
31 namespace glm
32 {
35 
40  template<typename T, qualifier Q>
41  GLM_FUNC_DECL T angle(qua<T, Q> const& x);
42 
47  template<typename T, qualifier Q>
48  GLM_FUNC_DECL vec<3, T, Q> axis(qua<T, Q> const& x);
49 
57  template<typename T, qualifier Q>
58  GLM_FUNC_DECL qua<T, Q> angleAxis(T const& angle, vec<3, T, Q> const& axis);
59 
61 } //namespace glm
62 
63 #include "quaternion_trigonometric.inl"
GLM_EXT_vector_relational
GLM_FUNC_DECL T angle(qua< T, Q > const &x)
Returns the quaternion rotation angle.
GLM_FUNC_DECL qua< T, Q > angleAxis(T const &angle, vec< 3, T, Q > const &axis)
Build a quaternion from an angle and a normalized axis.
GLM_EXT_scalar_constants
GLM_FUNC_DECL vec< 3, T, Q > axis(qua< T, Q > const &x)
Returns the q rotation axis.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00137.html ================================================ 0.9.9 API documentation: random.hpp File Reference
0.9.9 API documentation
random.hpp File Reference

GLM_GTC_random More...

Go to the source code of this file.

Functions

template<typename T >
GLM_FUNC_DECL vec< 3, T, defaultp > ballRand (T Radius)
 Generate a random 3D vector which coordinates are regulary distributed within the volume of a ball of a given radius. More...
 
template<typename T >
GLM_FUNC_DECL vec< 2, T, defaultp > circularRand (T Radius)
 Generate a random 2D vector which coordinates are regulary distributed on a circle of a given radius. More...
 
template<typename T >
GLM_FUNC_DECL vec< 2, T, defaultp > diskRand (T Radius)
 Generate a random 2D vector which coordinates are regulary distributed within the area of a disk of a given radius. More...
 
template<typename genType >
GLM_FUNC_DECL genType gaussRand (genType Mean, genType Deviation)
 Generate random numbers in the interval [Min, Max], according a gaussian distribution. More...
 
template<typename genType >
GLM_FUNC_DECL genType linearRand (genType Min, genType Max)
 Generate random numbers in the interval [Min, Max], according a linear distribution. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > linearRand (vec< L, T, Q > const &Min, vec< L, T, Q > const &Max)
 Generate random numbers in the interval [Min, Max], according a linear distribution. More...
 
template<typename T >
GLM_FUNC_DECL vec< 3, T, defaultp > sphericalRand (T Radius)
 Generate a random 3D vector which coordinates are regulary distributed on a sphere of a given radius. More...
 

Detailed Description

GLM_GTC_random

See also
Core features (dependence)
gtx_random (extended)

Definition in file random.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00137_source.html ================================================ 0.9.9 API documentation: random.hpp Source File
0.9.9 API documentation
random.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependency:
17 #include "../ext/scalar_int_sized.hpp"
18 #include "../ext/scalar_uint_sized.hpp"
19 #include "../detail/qualifier.hpp"
20 
21 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
22 # pragma message("GLM: GLM_GTC_random extension included")
23 #endif
24 
25 namespace glm
26 {
29 
36  template<typename genType>
37  GLM_FUNC_DECL genType linearRand(genType Min, genType Max);
38 
46  template<length_t L, typename T, qualifier Q>
47  GLM_FUNC_DECL vec<L, T, Q> linearRand(vec<L, T, Q> const& Min, vec<L, T, Q> const& Max);
48 
52  template<typename genType>
53  GLM_FUNC_DECL genType gaussRand(genType Mean, genType Deviation);
54 
58  template<typename T>
59  GLM_FUNC_DECL vec<2, T, defaultp> circularRand(T Radius);
60 
64  template<typename T>
65  GLM_FUNC_DECL vec<3, T, defaultp> sphericalRand(T Radius);
66 
70  template<typename T>
71  GLM_FUNC_DECL vec<2, T, defaultp> diskRand(T Radius);
72 
76  template<typename T>
77  GLM_FUNC_DECL vec<3, T, defaultp> ballRand(T Radius);
78 
80 }//namespace glm
81 
82 #include "random.inl"
GLM_FUNC_DECL vec< 2, T, defaultp > circularRand(T Radius)
Generate a random 2D vector which coordinates are regulary distributed on a circle of a given radius...
GLM_FUNC_DECL vec< 2, T, defaultp > diskRand(T Radius)
Generate a random 2D vector which coordinates are regulary distributed within the area of a disk of a...
GLM_FUNC_DECL genType gaussRand(genType Mean, genType Deviation)
Generate random numbers in the interval [Min, Max], according a gaussian distribution.
GLM_FUNC_DECL vec< 3, T, defaultp > sphericalRand(T Radius)
Generate a random 3D vector which coordinates are regulary distributed on a sphere of a given radius...
GLM_FUNC_DECL vec< 3, T, defaultp > ballRand(T Radius)
Generate a random 3D vector which coordinates are regulary distributed within the volume of a ball of...
GLM_FUNC_DECL vec< L, T, Q > linearRand(vec< L, T, Q > const &Min, vec< L, T, Q > const &Max)
Generate random numbers in the interval [Min, Max], according a linear distribution.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00138.html ================================================ 0.9.9 API documentation: range.hpp File Reference
0.9.9 API documentation
range.hpp File Reference

GLM_GTX_range More...

Go to the source code of this file.

Detailed Description

GLM_GTX_range

Author
Joshua Moerman

Definition in file range.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00138_source.html ================================================ 0.9.9 API documentation: range.hpp Source File
0.9.9 API documentation
range.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependencies
16 #include "../detail/setup.hpp"
17 
18 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
19 # ifndef GLM_ENABLE_EXPERIMENTAL
20 # pragma message("GLM: GLM_GTX_range is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
21 # else
22 # pragma message("GLM: GLM_GTX_range extension included")
23 # endif
24 #endif
25 
26 #include "../gtc/type_ptr.hpp"
27 #include "../gtc/vec1.hpp"
28 
29 namespace glm
30 {
33 
34 # if GLM_COMPILER & GLM_COMPILER_VC
35 # pragma warning(push)
36 # pragma warning(disable : 4100) // unreferenced formal parameter
37 # endif
38 
39  template<typename T, qualifier Q>
40  inline length_t components(vec<1, T, Q> const& v)
41  {
42  return v.length();
43  }
44 
45  template<typename T, qualifier Q>
46  inline length_t components(vec<2, T, Q> const& v)
47  {
48  return v.length();
49  }
50 
51  template<typename T, qualifier Q>
52  inline length_t components(vec<3, T, Q> const& v)
53  {
54  return v.length();
55  }
56 
57  template<typename T, qualifier Q>
58  inline length_t components(vec<4, T, Q> const& v)
59  {
60  return v.length();
61  }
62 
63  template<typename genType>
64  inline length_t components(genType const& m)
65  {
66  return m.length() * m[0].length();
67  }
68 
69  template<typename genType>
70  inline typename genType::value_type const * begin(genType const& v)
71  {
72  return value_ptr(v);
73  }
74 
75  template<typename genType>
76  inline typename genType::value_type const * end(genType const& v)
77  {
78  return begin(v) + components(v);
79  }
80 
81  template<typename genType>
82  inline typename genType::value_type * begin(genType& v)
83  {
84  return value_ptr(v);
85  }
86 
87  template<typename genType>
88  inline typename genType::value_type * end(genType& v)
89  {
90  return begin(v) + components(v);
91  }
92 
93 # if GLM_COMPILER & GLM_COMPILER_VC
94 # pragma warning(pop)
95 # endif
96 
98 }//namespace glm
GLM_FUNC_DECL genType::value_type const * value_ptr(genType const &v)
Return the constant address to the data of the input parameter.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00139.html ================================================ 0.9.9 API documentation: raw_data.hpp File Reference
0.9.9 API documentation
raw_data.hpp File Reference

GLM_GTX_raw_data More...

Go to the source code of this file.

Typedefs

typedef detail::uint8 byte
 Type for byte numbers. More...
 
typedef detail::uint32 dword
 Type for dword numbers. More...
 
typedef detail::uint64 qword
 Type for qword numbers. More...
 
typedef detail::uint16 word
 Type for word numbers. More...
 

Detailed Description

GLM_GTX_raw_data

See also
Core features (dependence)

Definition in file raw_data.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00139_source.html ================================================ 0.9.9 API documentation: raw_data.hpp Source File
0.9.9 API documentation
raw_data.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependencies
16 #include "../ext/scalar_uint_sized.hpp"
17 #include "../detail/setup.hpp"
18 
19 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
20 # ifndef GLM_ENABLE_EXPERIMENTAL
21 # pragma message("GLM: GLM_GTX_raw_data is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
22 # else
23 # pragma message("GLM: GLM_GTX_raw_data extension included")
24 # endif
25 #endif
26 
27 namespace glm
28 {
31 
34  typedef detail::uint8 byte;
35 
38  typedef detail::uint16 word;
39 
42  typedef detail::uint32 dword;
43 
46  typedef detail::uint64 qword;
47 
49 }// namespace glm
50 
51 #include "raw_data.inl"
detail::uint32 dword
Type for dword numbers.
Definition: raw_data.hpp:42
detail::uint8 byte
Type for byte numbers.
Definition: raw_data.hpp:34
detail::uint64 qword
Type for qword numbers.
Definition: raw_data.hpp:46
detail::uint16 word
Type for word numbers.
Definition: raw_data.hpp:38
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00140.html ================================================ 0.9.9 API documentation: reciprocal.hpp File Reference
0.9.9 API documentation
reciprocal.hpp File Reference

GLM_GTC_reciprocal More...

Go to the source code of this file.

Functions

template<typename genType >
GLM_FUNC_DECL genType acot (genType x)
 Inverse cotangent function. More...
 
template<typename genType >
GLM_FUNC_DECL genType acoth (genType x)
 Inverse cotangent hyperbolic function. More...
 
template<typename genType >
GLM_FUNC_DECL genType acsc (genType x)
 Inverse cosecant function. More...
 
template<typename genType >
GLM_FUNC_DECL genType acsch (genType x)
 Inverse cosecant hyperbolic function. More...
 
template<typename genType >
GLM_FUNC_DECL genType asec (genType x)
 Inverse secant function. More...
 
template<typename genType >
GLM_FUNC_DECL genType asech (genType x)
 Inverse secant hyperbolic function. More...
 
template<typename genType >
GLM_FUNC_DECL genType cot (genType angle)
 Cotangent function. More...
 
template<typename genType >
GLM_FUNC_DECL genType coth (genType angle)
 Cotangent hyperbolic function. More...
 
template<typename genType >
GLM_FUNC_DECL genType csc (genType angle)
 Cosecant function. More...
 
template<typename genType >
GLM_FUNC_DECL genType csch (genType angle)
 Cosecant hyperbolic function. More...
 
template<typename genType >
GLM_FUNC_DECL genType sec (genType angle)
 Secant function. More...
 
template<typename genType >
GLM_FUNC_DECL genType sech (genType angle)
 Secant hyperbolic function. More...
 

Detailed Description

GLM_GTC_reciprocal

See also
Core features (dependence)

Definition in file reciprocal.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00140_source.html ================================================ 0.9.9 API documentation: reciprocal.hpp Source File
0.9.9 API documentation
reciprocal.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependencies
16 #include "../detail/setup.hpp"
17 
18 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
19 # pragma message("GLM: GLM_GTC_reciprocal extension included")
20 #endif
21 
22 namespace glm
23 {
26 
33  template<typename genType>
34  GLM_FUNC_DECL genType sec(genType angle);
35 
42  template<typename genType>
43  GLM_FUNC_DECL genType csc(genType angle);
44 
51  template<typename genType>
52  GLM_FUNC_DECL genType cot(genType angle);
53 
60  template<typename genType>
61  GLM_FUNC_DECL genType asec(genType x);
62 
69  template<typename genType>
70  GLM_FUNC_DECL genType acsc(genType x);
71 
78  template<typename genType>
79  GLM_FUNC_DECL genType acot(genType x);
80 
86  template<typename genType>
87  GLM_FUNC_DECL genType sech(genType angle);
88 
94  template<typename genType>
95  GLM_FUNC_DECL genType csch(genType angle);
96 
102  template<typename genType>
103  GLM_FUNC_DECL genType coth(genType angle);
104 
111  template<typename genType>
112  GLM_FUNC_DECL genType asech(genType x);
113 
120  template<typename genType>
121  GLM_FUNC_DECL genType acsch(genType x);
122 
129  template<typename genType>
130  GLM_FUNC_DECL genType acoth(genType x);
131 
133 }//namespace glm
134 
135 #include "reciprocal.inl"
GLM_FUNC_DECL genType sec(genType angle)
Secant function.
GLM_FUNC_DECL genType csc(genType angle)
Cosecant function.
GLM_FUNC_DECL genType coth(genType angle)
Cotangent hyperbolic function.
GLM_FUNC_DECL genType asec(genType x)
Inverse secant function.
GLM_FUNC_DECL T angle(qua< T, Q > const &x)
Returns the quaternion rotation angle.
GLM_FUNC_DECL genType cot(genType angle)
Cotangent function.
GLM_FUNC_DECL genType acsc(genType x)
Inverse cosecant function.
GLM_FUNC_DECL genType sech(genType angle)
Secant hyperbolic function.
GLM_FUNC_DECL genType csch(genType angle)
Cosecant hyperbolic function.
GLM_FUNC_DECL genType acoth(genType x)
Inverse cotangent hyperbolic function.
GLM_FUNC_DECL genType acot(genType x)
Inverse cotangent function.
GLM_FUNC_DECL genType asech(genType x)
Inverse secant hyperbolic function.
GLM_FUNC_DECL genType acsch(genType x)
Inverse cosecant hyperbolic function.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00141.html ================================================ 0.9.9 API documentation: rotate_normalized_axis.hpp File Reference
0.9.9 API documentation
rotate_normalized_axis.hpp File Reference

GLM_GTX_rotate_normalized_axis More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > rotateNormalizedAxis (mat< 4, 4, T, Q > const &m, T const &angle, vec< 3, T, Q > const &axis)
 Builds a rotation 4 * 4 matrix created from a normalized axis and an angle. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > rotateNormalizedAxis (qua< T, Q > const &q, T const &angle, vec< 3, T, Q > const &axis)
 Rotates a quaternion from a vector of 3 components normalized axis and an angle. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00141_source.html ================================================ 0.9.9 API documentation: rotate_normalized_axis.hpp Source File
0.9.9 API documentation
rotate_normalized_axis.hpp
Go to the documentation of this file.
1 
15 #pragma once
16 
17 // Dependency:
18 #include "../glm.hpp"
19 #include "../gtc/epsilon.hpp"
20 #include "../gtc/quaternion.hpp"
21 
22 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
23 # ifndef GLM_ENABLE_EXPERIMENTAL
24 # pragma message("GLM: GLM_GTX_rotate_normalized_axis is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
25 # else
26 # pragma message("GLM: GLM_GTX_rotate_normalized_axis extension included")
27 # endif
28 #endif
29 
30 namespace glm
31 {
34 
46  template<typename T, qualifier Q>
47  GLM_FUNC_DECL mat<4, 4, T, Q> rotateNormalizedAxis(
48  mat<4, 4, T, Q> const& m,
49  T const& angle,
50  vec<3, T, Q> const& axis);
51 
59  template<typename T, qualifier Q>
60  GLM_FUNC_DECL qua<T, Q> rotateNormalizedAxis(
61  qua<T, Q> const& q,
62  T const& angle,
63  vec<3, T, Q> const& axis);
64 
66 }//namespace glm
67 
68 #include "rotate_normalized_axis.inl"
GLM_FUNC_DECL T angle(qua< T, Q > const &x)
Returns the quaternion rotation angle.
GLM_FUNC_DECL qua< T, Q > rotateNormalizedAxis(qua< T, Q > const &q, T const &angle, vec< 3, T, Q > const &axis)
Rotates a quaternion from a vector of 3 components normalized axis and an angle.
GLM_FUNC_DECL vec< 3, T, Q > axis(qua< T, Q > const &x)
Returns the q rotation axis.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00142.html ================================================ 0.9.9 API documentation: rotate_vector.hpp File Reference
0.9.9 API documentation
rotate_vector.hpp File Reference

GLM_GTX_rotate_vector More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > orientation (vec< 3, T, Q > const &Normal, vec< 3, T, Q > const &Up)
 Build a rotation matrix from a normal and a up vector. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, T, Q > rotate (vec< 2, T, Q > const &v, T const &angle)
 Rotate a two dimensional vector. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rotate (vec< 3, T, Q > const &v, T const &angle, vec< 3, T, Q > const &normal)
 Rotate a three dimensional vector around an axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > rotate (vec< 4, T, Q > const &v, T const &angle, vec< 3, T, Q > const &normal)
 Rotate a four dimensional vector around an axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rotateX (vec< 3, T, Q > const &v, T const &angle)
 Rotate a three dimensional vector around the X axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > rotateX (vec< 4, T, Q > const &v, T const &angle)
 Rotate a four dimensional vector around the X axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rotateY (vec< 3, T, Q > const &v, T const &angle)
 Rotate a three dimensional vector around the Y axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > rotateY (vec< 4, T, Q > const &v, T const &angle)
 Rotate a four dimensional vector around the Y axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rotateZ (vec< 3, T, Q > const &v, T const &angle)
 Rotate a three dimensional vector around the Z axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > rotateZ (vec< 4, T, Q > const &v, T const &angle)
 Rotate a four dimensional vector around the Z axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > slerp (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y, T const &a)
 Returns Spherical interpolation between two vectors. More...
 

Detailed Description

GLM_GTX_rotate_vector

See also
Core features (dependence)
GLM_GTX_transform (dependence)

Definition in file rotate_vector.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00142_source.html ================================================ 0.9.9 API documentation: rotate_vector.hpp Source File
0.9.9 API documentation
rotate_vector.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependency:
17 #include "../gtx/transform.hpp"
18 #include "../gtc/epsilon.hpp"
19 #include "../ext/vector_relational.hpp"
20 #include "../glm.hpp"
21 
22 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
23 # ifndef GLM_ENABLE_EXPERIMENTAL
24 # pragma message("GLM: GLM_GTX_rotate_vector is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
25 # else
26 # pragma message("GLM: GLM_GTX_rotate_vector extension included")
27 # endif
28 #endif
29 
30 namespace glm
31 {
34 
42  template<typename T, qualifier Q>
43  GLM_FUNC_DECL vec<3, T, Q> slerp(
44  vec<3, T, Q> const& x,
45  vec<3, T, Q> const& y,
46  T const& a);
47 
50  template<typename T, qualifier Q>
51  GLM_FUNC_DECL vec<2, T, Q> rotate(
52  vec<2, T, Q> const& v,
53  T const& angle);
54 
57  template<typename T, qualifier Q>
58  GLM_FUNC_DECL vec<3, T, Q> rotate(
59  vec<3, T, Q> const& v,
60  T const& angle,
61  vec<3, T, Q> const& normal);
62 
65  template<typename T, qualifier Q>
66  GLM_FUNC_DECL vec<4, T, Q> rotate(
67  vec<4, T, Q> const& v,
68  T const& angle,
69  vec<3, T, Q> const& normal);
70 
73  template<typename T, qualifier Q>
74  GLM_FUNC_DECL vec<3, T, Q> rotateX(
75  vec<3, T, Q> const& v,
76  T const& angle);
77 
80  template<typename T, qualifier Q>
81  GLM_FUNC_DECL vec<3, T, Q> rotateY(
82  vec<3, T, Q> const& v,
83  T const& angle);
84 
87  template<typename T, qualifier Q>
88  GLM_FUNC_DECL vec<3, T, Q> rotateZ(
89  vec<3, T, Q> const& v,
90  T const& angle);
91 
94  template<typename T, qualifier Q>
95  GLM_FUNC_DECL vec<4, T, Q> rotateX(
96  vec<4, T, Q> const& v,
97  T const& angle);
98 
101  template<typename T, qualifier Q>
102  GLM_FUNC_DECL vec<4, T, Q> rotateY(
103  vec<4, T, Q> const& v,
104  T const& angle);
105 
108  template<typename T, qualifier Q>
109  GLM_FUNC_DECL vec<4, T, Q> rotateZ(
110  vec<4, T, Q> const& v,
111  T const& angle);
112 
115  template<typename T, qualifier Q>
116  GLM_FUNC_DECL mat<4, 4, T, Q> orientation(
117  vec<3, T, Q> const& Normal,
118  vec<3, T, Q> const& Up);
119 
121 }//namespace glm
122 
123 #include "rotate_vector.inl"
GLM_FUNC_DECL T angle(qua< T, Q > const &x)
Returns the quaternion rotation angle.
GLM_FUNC_DECL vec< 4, T, Q > rotateZ(vec< 4, T, Q > const &v, T const &angle)
Rotate a four dimensional vector around the Z axis.
GLM_FUNC_DECL vec< 4, T, Q > rotateY(vec< 4, T, Q > const &v, T const &angle)
Rotate a four dimensional vector around the Y axis.
GLM_FUNC_DECL vec< 4, T, Q > rotateX(vec< 4, T, Q > const &v, T const &angle)
Rotate a four dimensional vector around the X axis.
GLM_FUNC_DECL vec< 3, T, Q > slerp(vec< 3, T, Q > const &x, vec< 3, T, Q > const &y, T const &a)
Returns Spherical interpolation between two vectors.
GLM_FUNC_DECL mat< 4, 4, T, Q > orientation(vec< 3, T, Q > const &Normal, vec< 3, T, Q > const &Up)
Build a rotation matrix from a normal and a up vector.
GLM_FUNC_DECL vec< 4, T, Q > rotate(vec< 4, T, Q > const &v, T const &angle, vec< 3, T, Q > const &normal)
Rotate a four dimensional vector around an axis.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00143.html ================================================ 0.9.9 API documentation: round.hpp File Reference
0.9.9 API documentation
round.hpp File Reference

GLM_GTC_round More...

Go to the source code of this file.

Functions

template<typename genType >
GLM_FUNC_DECL genType ceilMultiple (genType v, genType Multiple)
 Higher multiple number of Source. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > ceilMultiple (vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
 Higher multiple number of Source. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType ceilPowerOfTwo (genIUType v)
 Return the power of two number which value is just higher the input value, round up to a power of two. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > ceilPowerOfTwo (vec< L, T, Q > const &v)
 Return the power of two number which value is just higher the input value, round up to a power of two. More...
 
template<typename genType >
GLM_FUNC_DECL genType floorMultiple (genType v, genType Multiple)
 Lower multiple number of Source. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > floorMultiple (vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
 Lower multiple number of Source. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType floorPowerOfTwo (genIUType v)
 Return the power of two number which value is just lower the input value, round down to a power of two. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > floorPowerOfTwo (vec< L, T, Q > const &v)
 Return the power of two number which value is just lower the input value, round down to a power of two. More...
 
template<typename genType >
GLM_FUNC_DECL genType roundMultiple (genType v, genType Multiple)
 Lower multiple number of Source. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > roundMultiple (vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
 Lower multiple number of Source. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType roundPowerOfTwo (genIUType v)
 Return the power of two number which value is the closet to the input value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > roundPowerOfTwo (vec< L, T, Q > const &v)
 Return the power of two number which value is the closet to the input value. More...
 

Detailed Description

GLM_GTC_round

See also
Core features (dependence)
GLM_GTC_round (dependence)

Definition in file round.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00143_source.html ================================================ 0.9.9 API documentation: round.hpp Source File
0.9.9 API documentation
round.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependencies
17 #include "../detail/setup.hpp"
18 #include "../detail/qualifier.hpp"
19 #include "../detail/_vectorize.hpp"
20 #include "../vector_relational.hpp"
21 #include "../common.hpp"
22 #include <limits>
23 
24 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
25 # pragma message("GLM: GLM_GTC_round extension included")
26 #endif
27 
28 namespace glm
29 {
32 
37  template<typename genIUType>
38  GLM_FUNC_DECL genIUType ceilPowerOfTwo(genIUType v);
39 
48  template<length_t L, typename T, qualifier Q>
49  GLM_FUNC_DECL vec<L, T, Q> ceilPowerOfTwo(vec<L, T, Q> const& v);
50 
55  template<typename genIUType>
56  GLM_FUNC_DECL genIUType floorPowerOfTwo(genIUType v);
57 
66  template<length_t L, typename T, qualifier Q>
67  GLM_FUNC_DECL vec<L, T, Q> floorPowerOfTwo(vec<L, T, Q> const& v);
68 
72  template<typename genIUType>
73  GLM_FUNC_DECL genIUType roundPowerOfTwo(genIUType v);
74 
82  template<length_t L, typename T, qualifier Q>
83  GLM_FUNC_DECL vec<L, T, Q> roundPowerOfTwo(vec<L, T, Q> const& v);
84 
93  template<typename genType>
94  GLM_FUNC_DECL genType ceilMultiple(genType v, genType Multiple);
95 
106  template<length_t L, typename T, qualifier Q>
107  GLM_FUNC_DECL vec<L, T, Q> ceilMultiple(vec<L, T, Q> const& v, vec<L, T, Q> const& Multiple);
108 
117  template<typename genType>
118  GLM_FUNC_DECL genType floorMultiple(genType v, genType Multiple);
119 
130  template<length_t L, typename T, qualifier Q>
131  GLM_FUNC_DECL vec<L, T, Q> floorMultiple(vec<L, T, Q> const& v, vec<L, T, Q> const& Multiple);
132 
141  template<typename genType>
142  GLM_FUNC_DECL genType roundMultiple(genType v, genType Multiple);
143 
154  template<length_t L, typename T, qualifier Q>
155  GLM_FUNC_DECL vec<L, T, Q> roundMultiple(vec<L, T, Q> const& v, vec<L, T, Q> const& Multiple);
156 
158 } //namespace glm
159 
160 #include "round.inl"
GLM_FUNC_DECL vec< L, T, Q > roundPowerOfTwo(vec< L, T, Q > const &v)
Return the power of two number which value is the closet to the input value.
GLM_FUNC_DECL vec< L, T, Q > ceilMultiple(vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
Higher multiple number of Source.
GLM_FUNC_DECL vec< L, T, Q > floorPowerOfTwo(vec< L, T, Q > const &v)
Return the power of two number which value is just lower the input value, round down to a power of tw...
GLM_FUNC_DECL vec< L, T, Q > roundMultiple(vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
Lower multiple number of Source.
GLM_FUNC_DECL vec< L, T, Q > ceilPowerOfTwo(vec< L, T, Q > const &v)
Return the power of two number which value is just higher the input value, round up to a power of two...
GLM_FUNC_DECL vec< L, T, Q > floorMultiple(vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
Lower multiple number of Source.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00144.html ================================================ 0.9.9 API documentation: scalar_common.hpp File Reference
0.9.9 API documentation
scalar_common.hpp File Reference

GLM_EXT_scalar_common More...

Go to the source code of this file.

Functions

template<typename T >
GLM_FUNC_DECL T fmax (T a, T b)
 Returns the maximum component-wise values of 2 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T fmax (T a, T b, T C)
 Returns the maximum component-wise values of 3 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T fmax (T a, T b, T C, T D)
 Returns the maximum component-wise values of 4 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T fmin (T a, T b)
 Returns the minimum component-wise values of 2 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T fmin (T a, T b, T c)
 Returns the minimum component-wise values of 3 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T fmin (T a, T b, T c, T d)
 Returns the minimum component-wise values of 4 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T max (T a, T b, T c)
 Returns the maximum component-wise values of 3 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T max (T a, T b, T c, T d)
 Returns the maximum component-wise values of 4 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T min (T a, T b, T c)
 Returns the minimum component-wise values of 3 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T min (T a, T b, T c, T d)
 Returns the minimum component-wise values of 4 inputs. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00144_source.html ================================================ 0.9.9 API documentation: scalar_common.hpp Source File
0.9.9 API documentation
scalar_common.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependency:
17 #include "../common.hpp"
18 
19 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
20 # pragma message("GLM: GLM_EXT_scalar_common extension included")
21 #endif
22 
23 namespace glm
24 {
27 
31  template<typename T>
32  GLM_FUNC_DECL T min(T a, T b, T c);
33 
37  template<typename T>
38  GLM_FUNC_DECL T min(T a, T b, T c, T d);
39 
43  template<typename T>
44  GLM_FUNC_DECL T max(T a, T b, T c);
45 
49  template<typename T>
50  GLM_FUNC_DECL T max(T a, T b, T c, T d);
51 
57  template<typename T>
58  GLM_FUNC_DECL T fmin(T a, T b);
59 
65  template<typename T>
66  GLM_FUNC_DECL T fmin(T a, T b, T c);
67 
73  template<typename T>
74  GLM_FUNC_DECL T fmin(T a, T b, T c, T d);
75 
81  template<typename T>
82  GLM_FUNC_DECL T fmax(T a, T b);
83 
89  template<typename T>
90  GLM_FUNC_DECL T fmax(T a, T b, T C);
91 
97  template<typename T>
98  GLM_FUNC_DECL T fmax(T a, T b, T C, T D);
99 
101 }//namespace glm
102 
103 #include "scalar_common.inl"
GLM_FUNC_DECL T min(T a, T b, T c, T d)
Returns the minimum component-wise values of 4 inputs.
GLM_FUNC_DECL T max(T a, T b, T c, T d)
Returns the maximum component-wise values of 4 inputs.
GLM_FUNC_DECL T fmax(T a, T b, T C, T D)
Returns the maximum component-wise values of 4 inputs.
GLM_FUNC_DECL T fmin(T a, T b, T c, T d)
Returns the minimum component-wise values of 4 inputs.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00145.html ================================================ 0.9.9 API documentation: scalar_constants.hpp File Reference
0.9.9 API documentation
scalar_constants.hpp File Reference

GLM_EXT_scalar_constants More...

Go to the source code of this file.

Functions

template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon ()
 Return the epsilon constant for floating point types.
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType pi ()
 Return the pi constant for floating point types.
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00145_source.html ================================================ 0.9.9 API documentation: scalar_constants.hpp Source File
0.9.9 API documentation
scalar_constants.hpp
Go to the documentation of this file.
1 
11 #pragma once
12 
13 // Dependencies
14 #include "../detail/setup.hpp"
15 
16 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
17 # pragma message("GLM: GLM_EXT_scalar_constants extension included")
18 #endif
19 
20 namespace glm
21 {
24 
26  template<typename genType>
27  GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon();
28 
30  template<typename genType>
31  GLM_FUNC_DECL GLM_CONSTEXPR genType pi();
32 
34 } //namespace glm
35 
36 #include "scalar_constants.inl"
GLM_FUNC_DECL GLM_CONSTEXPR genType pi()
Return the pi constant for floating point types.
GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon()
Return the epsilon constant for floating point types.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00146.html ================================================ 0.9.9 API documentation: scalar_int_sized.hpp File Reference
0.9.9 API documentation
scalar_int_sized.hpp File Reference

GLM_EXT_scalar_int_sized More...

Go to the source code of this file.

Typedefs

typedef detail::int16 int16
 16 bit signed integer type.
 
typedef detail::int32 int32
 32 bit signed integer type.
 
typedef detail::int64 int64
 64 bit signed integer type.
 
typedef detail::int8 int8
 8 bit signed integer type.
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00146_source.html ================================================ 0.9.9 API documentation: scalar_int_sized.hpp Source File
0.9.9 API documentation
scalar_int_sized.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 #include "../detail/setup.hpp"
16 
17 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
18 # pragma message("GLM: GLM_EXT_scalar_int_sized extension included")
19 #endif
20 
21 namespace glm{
22 namespace detail
23 {
24 # if GLM_HAS_EXTENDED_INTEGER_TYPE
25  typedef std::int8_t int8;
26  typedef std::int16_t int16;
27  typedef std::int32_t int32;
28 # else
29  typedef signed char int8;
30  typedef signed short int16;
31  typedef signed int int32;
32 #endif//
33 
34  template<>
35  struct is_int<int8>
36  {
37  enum test {value = ~0};
38  };
39 
40  template<>
41  struct is_int<int16>
42  {
43  enum test {value = ~0};
44  };
45 
46  template<>
47  struct is_int<int64>
48  {
49  enum test {value = ~0};
50  };
51 }//namespace detail
52 
53 
56 
58  typedef detail::int8 int8;
59 
61  typedef detail::int16 int16;
62 
64  typedef detail::int32 int32;
65 
67  typedef detail::int64 int64;
68 
70 }//namespace glm
int8 int8_t
8 bit signed integer type.
Definition: fwd.hpp:43
detail::int8 int8
8 bit signed integer type.
int16 int16_t
16 bit signed integer type.
Definition: fwd.hpp:57
int32 int32_t
32 bit signed integer type.
Definition: fwd.hpp:71
detail::int64 int64
64 bit signed integer type.
detail::int32 int32
32 bit signed integer type.
detail::int16 int16
16 bit signed integer type.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00147.html ================================================ 0.9.9 API documentation: scalar_integer.hpp File Reference
0.9.9 API documentation
scalar_integer.hpp File Reference

GLM_EXT_scalar_integer More...

Go to the source code of this file.

Functions

template<typename genIUType >
GLM_FUNC_DECL int findNSB (genIUType x, int significantBitCount)
 Returns the bit number of the Nth significant bit set to 1 in the binary representation of value. More...
 
template<typename genIUType >
GLM_FUNC_DECL bool isMultiple (genIUType v, genIUType Multiple)
 Return true if the 'Value' is a multiple of 'Multiple'. More...
 
template<typename genIUType >
GLM_FUNC_DECL bool isPowerOfTwo (genIUType v)
 Return true if the value is a power of two number. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType nextMultiple (genIUType v, genIUType Multiple)
 Higher multiple number of Source. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType nextPowerOfTwo (genIUType v)
 Return the power of two number which value is just higher the input value, round up to a power of two. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType prevMultiple (genIUType v, genIUType Multiple)
 Lower multiple number of Source. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType prevPowerOfTwo (genIUType v)
 Return the power of two number which value is just lower the input value, round down to a power of two. More...
 

Detailed Description

GLM_EXT_scalar_integer

See also
Core features (dependence)

Definition in file scalar_integer.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00147_source.html ================================================ 0.9.9 API documentation: scalar_integer.hpp Source File
0.9.9 API documentation
scalar_integer.hpp
Go to the documentation of this file.
1 
11 #pragma once
12 
13 // Dependencies
14 #include "../detail/setup.hpp"
15 #include "../detail/qualifier.hpp"
16 #include "../detail/_vectorize.hpp"
17 #include "../detail/type_float.hpp"
18 #include "../vector_relational.hpp"
19 #include "../common.hpp"
20 #include <limits>
21 
22 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
23 # pragma message("GLM: GLM_EXT_scalar_integer extension included")
24 #endif
25 
26 namespace glm
27 {
30 
34  template<typename genIUType>
35  GLM_FUNC_DECL bool isPowerOfTwo(genIUType v);
36 
41  template<typename genIUType>
42  GLM_FUNC_DECL genIUType nextPowerOfTwo(genIUType v);
43 
48  template<typename genIUType>
49  GLM_FUNC_DECL genIUType prevPowerOfTwo(genIUType v);
50 
54  template<typename genIUType>
55  GLM_FUNC_DECL bool isMultiple(genIUType v, genIUType Multiple);
56 
65  template<typename genIUType>
66  GLM_FUNC_DECL genIUType nextMultiple(genIUType v, genIUType Multiple);
67 
76  template<typename genIUType>
77  GLM_FUNC_DECL genIUType prevMultiple(genIUType v, genIUType Multiple);
78 
86  template<typename genIUType>
87  GLM_FUNC_DECL int findNSB(genIUType x, int significantBitCount);
88 
90 } //namespace glm
91 
92 #include "scalar_integer.inl"
GLM_FUNC_DECL genIUType prevPowerOfTwo(genIUType v)
Return the power of two number which value is just lower the input value, round down to a power of tw...
GLM_FUNC_DECL genIUType prevMultiple(genIUType v, genIUType Multiple)
Lower multiple number of Source.
GLM_FUNC_DECL bool isMultiple(genIUType v, genIUType Multiple)
Return true if the 'Value' is a multiple of 'Multiple'.
GLM_FUNC_DECL int findNSB(genIUType x, int significantBitCount)
Returns the bit number of the Nth significant bit set to 1 in the binary representation of value...
GLM_FUNC_DECL genIUType nextMultiple(genIUType v, genIUType Multiple)
Higher multiple number of Source.
GLM_FUNC_DECL bool isPowerOfTwo(genIUType v)
Return true if the value is a power of two number.
GLM_FUNC_DECL genIUType nextPowerOfTwo(genIUType v)
Return the power of two number which value is just higher the input value, round up to a power of two...
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00148.html ================================================ 0.9.9 API documentation: scalar_multiplication.hpp File Reference
0.9.9 API documentation
scalar_multiplication.hpp File Reference

Experimental extensions More...

Go to the source code of this file.

Detailed Description

Experimental extensions

Author
Joshua Moerman

Include <glm/gtx/scalar_multiplication.hpp> to use the features of this extension.

Enables scalar multiplication for all types

Since GLSL is very strict about types, the following (often used) combinations do not work: double * vec4 int * vec4 vec4 / int So we'll fix that! Of course "float * vec4" should remain the same (hence the enable_if magic)

Definition in file scalar_multiplication.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00148_source.html ================================================ 0.9.9 API documentation: scalar_multiplication.hpp Source File
0.9.9 API documentation
scalar_multiplication.hpp
Go to the documentation of this file.
1 
15 #pragma once
16 
17 #include "../detail/setup.hpp"
18 
19 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
20 # ifndef GLM_ENABLE_EXPERIMENTAL
21 # pragma message("GLM: GLM_GTX_scalar_multiplication is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
22 # else
23 # pragma message("GLM: GLM_GTX_scalar_multiplication extension included")
24 # endif
25 #endif
26 
27 #include "../vec2.hpp"
28 #include "../vec3.hpp"
29 #include "../vec4.hpp"
30 #include "../mat2x2.hpp"
31 #include <type_traits>
32 
33 namespace glm
34 {
35  template<typename T, typename Vec>
36  using return_type_scalar_multiplication = typename std::enable_if<
37  !std::is_same<T, float>::value // T may not be a float
38  && std::is_arithmetic<T>::value, Vec // But it may be an int or double (no vec3 or mat3, ...)
39  >::type;
40 
41 #define GLM_IMPLEMENT_SCAL_MULT(Vec) \
42  template<typename T> \
43  return_type_scalar_multiplication<T, Vec> \
44  operator*(T const& s, Vec rh){ \
45  return rh *= static_cast<float>(s); \
46  } \
47  \
48  template<typename T> \
49  return_type_scalar_multiplication<T, Vec> \
50  operator*(Vec lh, T const& s){ \
51  return lh *= static_cast<float>(s); \
52  } \
53  \
54  template<typename T> \
55  return_type_scalar_multiplication<T, Vec> \
56  operator/(Vec lh, T const& s){ \
57  return lh *= 1.0f / s; \
58  }
59 
60 GLM_IMPLEMENT_SCAL_MULT(vec2)
61 GLM_IMPLEMENT_SCAL_MULT(vec3)
62 GLM_IMPLEMENT_SCAL_MULT(vec4)
63 
64 GLM_IMPLEMENT_SCAL_MULT(mat2)
65 GLM_IMPLEMENT_SCAL_MULT(mat2x3)
66 GLM_IMPLEMENT_SCAL_MULT(mat2x4)
67 GLM_IMPLEMENT_SCAL_MULT(mat3x2)
68 GLM_IMPLEMENT_SCAL_MULT(mat3)
69 GLM_IMPLEMENT_SCAL_MULT(mat3x4)
70 GLM_IMPLEMENT_SCAL_MULT(mat4x2)
71 GLM_IMPLEMENT_SCAL_MULT(mat4x3)
72 GLM_IMPLEMENT_SCAL_MULT(mat4)
73 
74 #undef GLM_IMPLEMENT_SCAL_MULT
75 } // namespace glm
vec< 2, float, defaultp > vec2
2 components vector of single-precision floating-point numbers.
mat< 2, 4, float, defaultp > mat2x4
2 columns of 4 components matrix of single-precision floating-point numbers.
mat< 3, 2, float, defaultp > mat3x2
3 columns of 2 components matrix of single-precision floating-point numbers.
mat< 3, 4, float, defaultp > mat3x4
3 columns of 4 components matrix of single-precision floating-point numbers.
mat< 4, 3, float, defaultp > mat4x3
4 columns of 3 components matrix of single-precision floating-point numbers.
mat< 4, 2, float, defaultp > mat4x2
4 columns of 2 components matrix of single-precision floating-point numbers.
vec< 4, float, defaultp > vec4
4 components vector of single-precision floating-point numbers.
mat< 4, 4, float, defaultp > mat4
4 columns of 4 components matrix of single-precision floating-point numbers.
vec< 3, float, defaultp > vec3
3 components vector of single-precision floating-point numbers.
mat< 2, 3, float, defaultp > mat2x3
2 columns of 3 components matrix of single-precision floating-point numbers.
mat< 2, 2, float, defaultp > mat2
2 columns of 2 components matrix of single-precision floating-point numbers.
mat< 3, 3, float, defaultp > mat3
3 columns of 3 components matrix of single-precision floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00149.html ================================================ 0.9.9 API documentation: scalar_relational.hpp File Reference
0.9.9 API documentation
ext/scalar_relational.hpp File Reference

GLM_EXT_scalar_relational More...

Go to the source code of this file.

Functions

template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR bool equal (genType const &x, genType const &y, genType const &epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR bool equal (genType const &x, genType const &y, int ULPs)
 Returns the component-wise comparison between two scalars in term of ULPs. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR bool notEqual (genType const &x, genType const &y, genType const &epsilon)
 Returns the component-wise comparison of |x - y| >= epsilon. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR bool notEqual (genType const &x, genType const &y, int ULPs)
 Returns the component-wise comparison between two scalars in term of ULPs. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00149_source.html ================================================ 0.9.9 API documentation: scalar_relational.hpp Source File
0.9.9 API documentation
ext/scalar_relational.hpp
Go to the documentation of this file.
1 
15 #pragma once
16 
17 // Dependencies
18 #include "../detail/qualifier.hpp"
19 
20 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
21 # pragma message("GLM: GLM_EXT_scalar_relational extension included")
22 #endif
23 
24 namespace glm
25 {
30  template<typename genType>
31  GLM_FUNC_DECL GLM_CONSTEXPR bool equal(genType const& x, genType const& y, genType const& epsilon);
32 
37  template<typename genType>
38  GLM_FUNC_DECL GLM_CONSTEXPR bool notEqual(genType const& x, genType const& y, genType const& epsilon);
39 
48  template<typename genType>
49  GLM_FUNC_DECL GLM_CONSTEXPR bool equal(genType const& x, genType const& y, int ULPs);
50 
59  template<typename genType>
60  GLM_FUNC_DECL GLM_CONSTEXPR bool notEqual(genType const& x, genType const& y, int ULPs);
61 
63 }//namespace glm
64 
65 #include "scalar_relational.inl"
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > notEqual(mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y)
Perform a component-wise not-equal-to comparison of two matrices.
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > equal(mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y)
Perform a component-wise equal-to comparison of two matrices.
GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon()
Return the epsilon constant for floating point types.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00150.html ================================================ 0.9.9 API documentation: scalar_relational.hpp File Reference
0.9.9 API documentation
gtx/scalar_relational.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00150_source.html ================================================ 0.9.9 API documentation: scalar_relational.hpp Source File
0.9.9 API documentation
gtx/scalar_relational.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependency:
16 #include "../glm.hpp"
17 
18 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
19 # ifndef GLM_ENABLE_EXPERIMENTAL
20 # pragma message("GLM: GLM_GTX_extend is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
21 # else
22 # pragma message("GLM: GLM_GTX_extend extension included")
23 # endif
24 #endif
25 
26 namespace glm
27 {
30 
31 
32 
34 }//namespace glm
35 
36 #include "scalar_relational.inl"
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00151.html ================================================ 0.9.9 API documentation: scalar_uint_sized.hpp File Reference
0.9.9 API documentation
scalar_uint_sized.hpp File Reference

GLM_EXT_scalar_uint_sized More...

Go to the source code of this file.

Typedefs

typedef detail::uint16 uint16
 16 bit unsigned integer type.
 
typedef detail::uint32 uint32
 32 bit unsigned integer type.
 
typedef detail::uint64 uint64
 64 bit unsigned integer type.
 
typedef detail::uint8 uint8
 8 bit unsigned integer type.
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00151_source.html ================================================ 0.9.9 API documentation: scalar_uint_sized.hpp Source File
0.9.9 API documentation
scalar_uint_sized.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 #include "../detail/setup.hpp"
16 
17 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
18 # pragma message("GLM: GLM_EXT_scalar_uint_sized extension included")
19 #endif
20 
21 namespace glm{
22 namespace detail
23 {
24 # if GLM_HAS_EXTENDED_INTEGER_TYPE
25  typedef std::uint8_t uint8;
26  typedef std::uint16_t uint16;
27  typedef std::uint32_t uint32;
28 # else
29  typedef unsigned char uint8;
30  typedef unsigned short uint16;
31  typedef unsigned int uint32;
32 #endif
33 
34  template<>
35  struct is_int<uint8>
36  {
37  enum test {value = ~0};
38  };
39 
40  template<>
41  struct is_int<uint16>
42  {
43  enum test {value = ~0};
44  };
45 
46  template<>
47  struct is_int<uint64>
48  {
49  enum test {value = ~0};
50  };
51 }//namespace detail
52 
53 
56 
58  typedef detail::uint8 uint8;
59 
61  typedef detail::uint16 uint16;
62 
64  typedef detail::uint32 uint32;
65 
67  typedef detail::uint64 uint64;
68 
70 }//namespace glm
detail::uint32 uint32
32 bit unsigned integer type.
uint32 uint32_t
Default qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:129
detail::uint16 uint16
16 bit unsigned integer type.
uint16 uint16_t
Default qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:115
uint8 uint8_t
Default qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:101
detail::uint64 uint64
64 bit unsigned integer type.
detail::uint8 uint8
8 bit unsigned integer type.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00152.html ================================================ 0.9.9 API documentation: scalar_ulp.hpp File Reference
0.9.9 API documentation
scalar_ulp.hpp File Reference

GLM_EXT_scalar_ulp More...

Go to the source code of this file.

Functions

GLM_FUNC_DECL int floatDistance (float x, float y)
 Return the distance in the number of ULP between 2 single-precision floating-point scalars. More...
 
GLM_FUNC_DECL int64 floatDistance (double x, double y)
 Return the distance in the number of ULP between 2 double-precision floating-point scalars. More...
 
template<typename genType >
GLM_FUNC_DECL genType nextFloat (genType x)
 Return the next ULP value(s) after the input value(s). More...
 
template<typename genType >
GLM_FUNC_DECL genType nextFloat (genType x, int ULPs)
 Return the value(s) ULP distance after the input value(s). More...
 
template<typename genType >
GLM_FUNC_DECL genType prevFloat (genType x)
 Return the previous ULP value(s) before the input value(s). More...
 
template<typename genType >
GLM_FUNC_DECL genType prevFloat (genType x, int ULPs)
 Return the value(s) ULP distance before the input value(s). More...
 

Detailed Description

GLM_EXT_scalar_ulp

Definition in file scalar_ulp.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00152_source.html ================================================ 0.9.9 API documentation: scalar_ulp.hpp Source File
0.9.9 API documentation
scalar_ulp.hpp
Go to the documentation of this file.
1 
16 #pragma once
17 
18 // Dependencies
19 #include "../ext/scalar_int_sized.hpp"
20 #include "../common.hpp"
21 #include "../detail/qualifier.hpp"
22 
23 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
24 # pragma message("GLM: GLM_EXT_scalar_ulp extension included")
25 #endif
26 
27 namespace glm
28 {
34  template<typename genType>
35  GLM_FUNC_DECL genType nextFloat(genType x);
36 
42  template<typename genType>
43  GLM_FUNC_DECL genType prevFloat(genType x);
44 
50  template<typename genType>
51  GLM_FUNC_DECL genType nextFloat(genType x, int ULPs);
52 
58  template<typename genType>
59  GLM_FUNC_DECL genType prevFloat(genType x, int ULPs);
60 
64  GLM_FUNC_DECL int floatDistance(float x, float y);
65 
69  GLM_FUNC_DECL int64 floatDistance(double x, double y);
70 
72 }//namespace glm
73 
74 #include "scalar_ulp.inl"
detail::int64 int64
64 bit signed integer type.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00153_source.html ================================================ 0.9.9 API documentation: setup.hpp Source File
0.9.9 API documentation
setup.hpp
1 #ifndef GLM_SETUP_INCLUDED
2 
3 #include <cassert>
4 #include <cstddef>
5 
6 #define GLM_VERSION_MAJOR 0
7 #define GLM_VERSION_MINOR 9
8 #define GLM_VERSION_PATCH 9
9 #define GLM_VERSION_REVISION 6
10 #define GLM_VERSION 996
11 #define GLM_VERSION_MESSAGE "GLM: version 0.9.9.6"
12 
13 #define GLM_SETUP_INCLUDED GLM_VERSION
14 
16 // Active states
17 
18 #define GLM_DISABLE 0
19 #define GLM_ENABLE 1
20 
22 // Messages
23 
24 #if defined(GLM_FORCE_MESSAGES)
25 # define GLM_MESSAGES GLM_ENABLE
26 #else
27 # define GLM_MESSAGES GLM_DISABLE
28 #endif
29 
31 // Detect the platform
32 
33 #include "../simd/platform.h"
34 
36 // Build model
37 
38 #if defined(__arch64__) || defined(__LP64__) || defined(_M_X64) || defined(__ppc64__) || defined(__x86_64__)
39 # define GLM_MODEL GLM_MODEL_64
40 #elif defined(__i386__) || defined(__ppc__)
41 # define GLM_MODEL GLM_MODEL_32
42 #else
43 # define GLM_MODEL GLM_MODEL_32
44 #endif//
45 
46 #if !defined(GLM_MODEL) && GLM_COMPILER != 0
47 # error "GLM_MODEL undefined, your compiler may not be supported by GLM. Add #define GLM_MODEL 0 to ignore this message."
48 #endif//GLM_MODEL
49 
51 // C++ Version
52 
53 // User defines: GLM_FORCE_CXX98, GLM_FORCE_CXX03, GLM_FORCE_CXX11, GLM_FORCE_CXX14, GLM_FORCE_CXX17, GLM_FORCE_CXX2A
54 
55 #define GLM_LANG_CXX98_FLAG (1 << 1)
56 #define GLM_LANG_CXX03_FLAG (1 << 2)
57 #define GLM_LANG_CXX0X_FLAG (1 << 3)
58 #define GLM_LANG_CXX11_FLAG (1 << 4)
59 #define GLM_LANG_CXX14_FLAG (1 << 5)
60 #define GLM_LANG_CXX17_FLAG (1 << 6)
61 #define GLM_LANG_CXX2A_FLAG (1 << 7)
62 #define GLM_LANG_CXXMS_FLAG (1 << 8)
63 #define GLM_LANG_CXXGNU_FLAG (1 << 9)
64 
65 #define GLM_LANG_CXX98 GLM_LANG_CXX98_FLAG
66 #define GLM_LANG_CXX03 (GLM_LANG_CXX98 | GLM_LANG_CXX03_FLAG)
67 #define GLM_LANG_CXX0X (GLM_LANG_CXX03 | GLM_LANG_CXX0X_FLAG)
68 #define GLM_LANG_CXX11 (GLM_LANG_CXX0X | GLM_LANG_CXX11_FLAG)
69 #define GLM_LANG_CXX14 (GLM_LANG_CXX11 | GLM_LANG_CXX14_FLAG)
70 #define GLM_LANG_CXX17 (GLM_LANG_CXX14 | GLM_LANG_CXX17_FLAG)
71 #define GLM_LANG_CXX2A (GLM_LANG_CXX17 | GLM_LANG_CXX2A_FLAG)
72 #define GLM_LANG_CXXMS GLM_LANG_CXXMS_FLAG
73 #define GLM_LANG_CXXGNU GLM_LANG_CXXGNU_FLAG
74 
75 #if (defined(_MSC_EXTENSIONS))
76 # define GLM_LANG_EXT GLM_LANG_CXXMS_FLAG
77 #elif ((GLM_COMPILER & (GLM_COMPILER_CLANG | GLM_COMPILER_GCC)) && (GLM_ARCH & GLM_ARCH_SIMD_BIT))
78 # define GLM_LANG_EXT GLM_LANG_CXXMS_FLAG
79 #else
80 # define GLM_LANG_EXT 0
81 #endif
82 
83 #if (defined(GLM_FORCE_CXX_UNKNOWN))
84 # define GLM_LANG 0
85 #elif defined(GLM_FORCE_CXX2A)
86 # define GLM_LANG (GLM_LANG_CXX2A | GLM_LANG_EXT)
87 # define GLM_LANG_STL11_FORCED
88 #elif defined(GLM_FORCE_CXX17)
89 # define GLM_LANG (GLM_LANG_CXX17 | GLM_LANG_EXT)
90 # define GLM_LANG_STL11_FORCED
91 #elif defined(GLM_FORCE_CXX14)
92 # define GLM_LANG (GLM_LANG_CXX14 | GLM_LANG_EXT)
93 # define GLM_LANG_STL11_FORCED
94 #elif defined(GLM_FORCE_CXX11)
95 # define GLM_LANG (GLM_LANG_CXX11 | GLM_LANG_EXT)
96 # define GLM_LANG_STL11_FORCED
97 #elif defined(GLM_FORCE_CXX03)
98 # define GLM_LANG (GLM_LANG_CXX03 | GLM_LANG_EXT)
99 #elif defined(GLM_FORCE_CXX98)
100 # define GLM_LANG (GLM_LANG_CXX98 | GLM_LANG_EXT)
101 #else
102 # if GLM_COMPILER & GLM_COMPILER_VC && defined(_MSVC_LANG)
103 # if GLM_COMPILER >= GLM_COMPILER_VC15_7
104 # define GLM_LANG_PLATFORM _MSVC_LANG
105 # elif GLM_COMPILER >= GLM_COMPILER_VC15
106 # if _MSVC_LANG > 201402L
107 # define GLM_LANG_PLATFORM 201402L
108 # else
109 # define GLM_LANG_PLATFORM _MSVC_LANG
110 # endif
111 # else
112 # define GLM_LANG_PLATFORM 0
113 # endif
114 # else
115 # define GLM_LANG_PLATFORM 0
116 # endif
117 
118 # if __cplusplus > 201703L || GLM_LANG_PLATFORM > 201703L
119 # define GLM_LANG (GLM_LANG_CXX2A | GLM_LANG_EXT)
120 # elif __cplusplus == 201703L || GLM_LANG_PLATFORM == 201703L
121 # define GLM_LANG (GLM_LANG_CXX17 | GLM_LANG_EXT)
122 # elif __cplusplus == 201402L || __cplusplus == 201500L || GLM_LANG_PLATFORM == 201402L
123 # define GLM_LANG (GLM_LANG_CXX14 | GLM_LANG_EXT)
124 # elif __cplusplus == 201103L || GLM_LANG_PLATFORM == 201103L
125 # define GLM_LANG (GLM_LANG_CXX11 | GLM_LANG_EXT)
126 # elif defined(__INTEL_CXX11_MODE__) || defined(_MSC_VER) || defined(__GXX_EXPERIMENTAL_CXX0X__)
127 # define GLM_LANG (GLM_LANG_CXX0X | GLM_LANG_EXT)
128 # elif __cplusplus == 199711L
129 # define GLM_LANG (GLM_LANG_CXX98 | GLM_LANG_EXT)
130 # else
131 # define GLM_LANG (0 | GLM_LANG_EXT)
132 # endif
133 #endif
134 
136 // Has of C++ features
137 
138 // http://clang.llvm.org/cxx_status.html
139 // http://gcc.gnu.org/projects/cxx0x.html
140 // http://msdn.microsoft.com/en-us/library/vstudio/hh567368(v=vs.120).aspx
141 
142 // Android has multiple STLs but C++11 STL detection doesn't always work #284 #564
143 #if GLM_PLATFORM == GLM_PLATFORM_ANDROID && !defined(GLM_LANG_STL11_FORCED)
144 # define GLM_HAS_CXX11_STL 0
145 #elif GLM_COMPILER & GLM_COMPILER_CLANG
146 # if (defined(_LIBCPP_VERSION) || (GLM_LANG & GLM_LANG_CXX11_FLAG) || defined(GLM_LANG_STL11_FORCED))
147 # define GLM_HAS_CXX11_STL 1
148 # else
149 # define GLM_HAS_CXX11_STL 0
150 # endif
151 #elif GLM_LANG & GLM_LANG_CXX11_FLAG
152 # define GLM_HAS_CXX11_STL 1
153 #else
154 # define GLM_HAS_CXX11_STL ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
155  ((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC48)) || \
156  ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \
157  ((GLM_PLATFORM != GLM_PLATFORM_WINDOWS) && (GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL15))))
158 #endif
159 
160 // N1720
161 #if GLM_COMPILER & GLM_COMPILER_CLANG
162 # define GLM_HAS_STATIC_ASSERT __has_feature(cxx_static_assert)
163 #elif GLM_LANG & GLM_LANG_CXX11_FLAG
164 # define GLM_HAS_STATIC_ASSERT 1
165 #else
166 # define GLM_HAS_STATIC_ASSERT ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
167  ((GLM_COMPILER & GLM_COMPILER_CUDA)) || \
168  ((GLM_COMPILER & GLM_COMPILER_VC))))
169 #endif
170 
171 // N1988
172 #if GLM_LANG & GLM_LANG_CXX11_FLAG
173 # define GLM_HAS_EXTENDED_INTEGER_TYPE 1
174 #else
175 # define GLM_HAS_EXTENDED_INTEGER_TYPE (\
176  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_VC)) || \
177  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_CUDA)) || \
178  ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_CLANG)))
179 #endif
180 
181 // N2672 Initializer lists http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2672.htm
182 #if GLM_COMPILER & GLM_COMPILER_CLANG
183 # define GLM_HAS_INITIALIZER_LISTS __has_feature(cxx_generalized_initializers)
184 #elif GLM_LANG & GLM_LANG_CXX11_FLAG
185 # define GLM_HAS_INITIALIZER_LISTS 1
186 #else
187 # define GLM_HAS_INITIALIZER_LISTS ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
188  ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC15)) || \
189  ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL14)) || \
190  ((GLM_COMPILER & GLM_COMPILER_CUDA))))
191 #endif
192 
193 // N2544 Unrestricted unions http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2544.pdf
194 #if GLM_COMPILER & GLM_COMPILER_CLANG
195 # define GLM_HAS_UNRESTRICTED_UNIONS __has_feature(cxx_unrestricted_unions)
196 #elif GLM_LANG & GLM_LANG_CXX11_FLAG
197 # define GLM_HAS_UNRESTRICTED_UNIONS 1
198 #else
199 # define GLM_HAS_UNRESTRICTED_UNIONS (GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
200  (GLM_COMPILER & GLM_COMPILER_VC) || \
201  ((GLM_COMPILER & GLM_COMPILER_CUDA)))
202 #endif
203 
204 // N2346
205 #if GLM_COMPILER & GLM_COMPILER_CLANG
206 # define GLM_HAS_DEFAULTED_FUNCTIONS __has_feature(cxx_defaulted_functions)
207 #elif GLM_LANG & GLM_LANG_CXX11_FLAG
208 # define GLM_HAS_DEFAULTED_FUNCTIONS 1
209 #else
210 # define GLM_HAS_DEFAULTED_FUNCTIONS ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
211  ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \
212  ((GLM_COMPILER & GLM_COMPILER_INTEL)) || \
213  (GLM_COMPILER & GLM_COMPILER_CUDA)))
214 #endif
215 
216 // N2118
217 #if GLM_COMPILER & GLM_COMPILER_CLANG
218 # define GLM_HAS_RVALUE_REFERENCES __has_feature(cxx_rvalue_references)
219 #elif GLM_LANG & GLM_LANG_CXX11_FLAG
220 # define GLM_HAS_RVALUE_REFERENCES 1
221 #else
222 # define GLM_HAS_RVALUE_REFERENCES ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
223  ((GLM_COMPILER & GLM_COMPILER_VC)) || \
224  ((GLM_COMPILER & GLM_COMPILER_CUDA))))
225 #endif
226 
227 // N2437 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf
228 #if GLM_COMPILER & GLM_COMPILER_CLANG
229 # define GLM_HAS_EXPLICIT_CONVERSION_OPERATORS __has_feature(cxx_explicit_conversions)
230 #elif GLM_LANG & GLM_LANG_CXX11_FLAG
231 # define GLM_HAS_EXPLICIT_CONVERSION_OPERATORS 1
232 #else
233 # define GLM_HAS_EXPLICIT_CONVERSION_OPERATORS ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
234  ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL14)) || \
235  ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \
236  ((GLM_COMPILER & GLM_COMPILER_CUDA))))
237 #endif
238 
239 // N2258 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf
240 #if GLM_COMPILER & GLM_COMPILER_CLANG
241 # define GLM_HAS_TEMPLATE_ALIASES __has_feature(cxx_alias_templates)
242 #elif GLM_LANG & GLM_LANG_CXX11_FLAG
243 # define GLM_HAS_TEMPLATE_ALIASES 1
244 #else
245 # define GLM_HAS_TEMPLATE_ALIASES ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
246  ((GLM_COMPILER & GLM_COMPILER_INTEL)) || \
247  ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \
248  ((GLM_COMPILER & GLM_COMPILER_CUDA))))
249 #endif
250 
251 // N2930 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2930.html
252 #if GLM_COMPILER & GLM_COMPILER_CLANG
253 # define GLM_HAS_RANGE_FOR __has_feature(cxx_range_for)
254 #elif GLM_LANG & GLM_LANG_CXX11_FLAG
255 # define GLM_HAS_RANGE_FOR 1
256 #else
257 # define GLM_HAS_RANGE_FOR ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
258  ((GLM_COMPILER & GLM_COMPILER_INTEL)) || \
259  ((GLM_COMPILER & GLM_COMPILER_VC)) || \
260  ((GLM_COMPILER & GLM_COMPILER_CUDA))))
261 #endif
262 
263 // N2341 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf
264 #if GLM_COMPILER & GLM_COMPILER_CLANG
265 # define GLM_HAS_ALIGNOF __has_feature(cxx_alignas)
266 #elif GLM_LANG & GLM_LANG_CXX11_FLAG
267 # define GLM_HAS_ALIGNOF 1
268 #else
269 # define GLM_HAS_ALIGNOF ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
270  ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL15)) || \
271  ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC14)) || \
272  ((GLM_COMPILER & GLM_COMPILER_CUDA))))
273 #endif
274 
275 // N2235 Generalized Constant Expressions http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf
276 // N3652 Extended Constant Expressions http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3652.html
277 #if (GLM_ARCH & GLM_ARCH_SIMD_BIT) // Compiler SIMD intrinsics don't support constexpr...
278 # define GLM_HAS_CONSTEXPR 0
279 #elif (GLM_COMPILER & GLM_COMPILER_CLANG)
280 # define GLM_HAS_CONSTEXPR __has_feature(cxx_relaxed_constexpr)
281 #elif (GLM_LANG & GLM_LANG_CXX14_FLAG)
282 # define GLM_HAS_CONSTEXPR 1
283 #else
284 # define GLM_HAS_CONSTEXPR ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && GLM_HAS_INITIALIZER_LISTS && (\
285  ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL17)) || \
286  ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC15))))
287 #endif
288 
289 #if GLM_HAS_CONSTEXPR
290 # define GLM_CONSTEXPR constexpr
291 #else
292 # define GLM_CONSTEXPR
293 #endif
294 
295 //
296 #if GLM_HAS_CONSTEXPR
297 # if (GLM_COMPILER & GLM_COMPILER_CLANG)
298 # if __has_feature(cxx_if_constexpr)
299 # define GLM_HAS_IF_CONSTEXPR 1
300 # else
301 # define GLM_HAS_IF_CONSTEXPR 0
302 # endif
303 # elif (GLM_LANG & GLM_LANG_CXX17_FLAG)
304 # define GLM_HAS_IF_CONSTEXPR 1
305 # else
306 # define GLM_HAS_IF_CONSTEXPR 0
307 # endif
308 #else
309 # define GLM_HAS_IF_CONSTEXPR 0
310 #endif
311 
312 #if GLM_HAS_IF_CONSTEXPR
313 # define GLM_IF_CONSTEXPR if constexpr
314 #else
315 # define GLM_IF_CONSTEXPR if
316 #endif
317 
318 //
319 #if GLM_LANG & GLM_LANG_CXX11_FLAG
320 # define GLM_HAS_ASSIGNABLE 1
321 #else
322 # define GLM_HAS_ASSIGNABLE ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
323  ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC15)) || \
324  ((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC49))))
325 #endif
326 
327 //
328 #define GLM_HAS_TRIVIAL_QUERIES 0
329 
330 //
331 #if GLM_LANG & GLM_LANG_CXX11_FLAG
332 # define GLM_HAS_MAKE_SIGNED 1
333 #else
334 # define GLM_HAS_MAKE_SIGNED ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\
335  ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \
336  ((GLM_COMPILER & GLM_COMPILER_CUDA))))
337 #endif
338 
339 //
340 #if defined(GLM_FORCE_INTRINSICS)
341 # define GLM_HAS_BITSCAN_WINDOWS ((GLM_PLATFORM & GLM_PLATFORM_WINDOWS) && (\
342  ((GLM_COMPILER & GLM_COMPILER_INTEL)) || \
343  ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC14) && (GLM_ARCH & GLM_ARCH_X86_BIT))))
344 #else
345 # define GLM_HAS_BITSCAN_WINDOWS 0
346 #endif
347 
349 // OpenMP
350 #ifdef _OPENMP
351 # if GLM_COMPILER & GLM_COMPILER_GCC
352 # if GLM_COMPILER >= GLM_COMPILER_GCC61
353 # define GLM_HAS_OPENMP 45
354 # elif GLM_COMPILER >= GLM_COMPILER_GCC49
355 # define GLM_HAS_OPENMP 40
356 # elif GLM_COMPILER >= GLM_COMPILER_GCC47
357 # define GLM_HAS_OPENMP 31
358 # else
359 # define GLM_HAS_OPENMP 0
360 # endif
361 # elif GLM_COMPILER & GLM_COMPILER_CLANG
362 # if GLM_COMPILER >= GLM_COMPILER_CLANG38
363 # define GLM_HAS_OPENMP 31
364 # else
365 # define GLM_HAS_OPENMP 0
366 # endif
367 # elif GLM_COMPILER & GLM_COMPILER_VC
368 # define GLM_HAS_OPENMP 20
369 # elif GLM_COMPILER & GLM_COMPILER_INTEL
370 # if GLM_COMPILER >= GLM_COMPILER_INTEL16
371 # define GLM_HAS_OPENMP 40
372 # else
373 # define GLM_HAS_OPENMP 0
374 # endif
375 # else
376 # define GLM_HAS_OPENMP 0
377 # endif
378 #else
379 # define GLM_HAS_OPENMP 0
380 #endif
381 
383 // nullptr
384 
385 #if GLM_LANG & GLM_LANG_CXX0X_FLAG
386 # define GLM_CONFIG_NULLPTR GLM_ENABLE
387 #else
388 # define GLM_CONFIG_NULLPTR GLM_DISABLE
389 #endif
390 
391 #if GLM_CONFIG_NULLPTR == GLM_ENABLE
392 # define GLM_NULLPTR nullptr
393 #else
394 # define GLM_NULLPTR 0
395 #endif
396 
398 // Static assert
399 
400 #if GLM_HAS_STATIC_ASSERT
401 # define GLM_STATIC_ASSERT(x, message) static_assert(x, message)
402 #elif GLM_COMPILER & GLM_COMPILER_VC
403 # define GLM_STATIC_ASSERT(x, message) typedef char __CASSERT__##__LINE__[(x) ? 1 : -1]
404 #else
405 # define GLM_STATIC_ASSERT(x, message) assert(x)
406 #endif//GLM_LANG
407 
409 // Qualifiers
410 
411 #if GLM_COMPILER & GLM_COMPILER_CUDA
412 # define GLM_CUDA_FUNC_DEF __device__ __host__
413 # define GLM_CUDA_FUNC_DECL __device__ __host__
414 #else
415 # define GLM_CUDA_FUNC_DEF
416 # define GLM_CUDA_FUNC_DECL
417 #endif
418 
419 #if defined(GLM_FORCE_INLINE)
420 # if GLM_COMPILER & GLM_COMPILER_VC
421 # define GLM_INLINE __forceinline
422 # define GLM_NEVER_INLINE __declspec((noinline))
423 # elif GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_CLANG)
424 # define GLM_INLINE inline __attribute__((__always_inline__))
425 # define GLM_NEVER_INLINE __attribute__((__noinline__))
426 # elif GLM_COMPILER & GLM_COMPILER_CUDA
427 # define GLM_INLINE __forceinline__
428 # define GLM_NEVER_INLINE __noinline__
429 # else
430 # define GLM_INLINE inline
431 # define GLM_NEVER_INLINE
432 # endif//GLM_COMPILER
433 #else
434 # define GLM_INLINE inline
435 # define GLM_NEVER_INLINE
436 #endif//defined(GLM_FORCE_INLINE)
437 
438 #define GLM_FUNC_DECL GLM_CUDA_FUNC_DECL
439 #define GLM_FUNC_QUALIFIER GLM_CUDA_FUNC_DEF GLM_INLINE
440 
442 // Swizzle operators
443 
444 // User defines: GLM_FORCE_SWIZZLE
445 
446 #define GLM_SWIZZLE_DISABLED 0
447 #define GLM_SWIZZLE_OPERATOR 1
448 #define GLM_SWIZZLE_FUNCTION 2
449 
450 #if defined(GLM_FORCE_XYZW_ONLY)
451 # undef GLM_FORCE_SWIZZLE
452 #endif
453 
454 #if defined(GLM_SWIZZLE)
455 # pragma message("GLM: GLM_SWIZZLE is deprecated, use GLM_FORCE_SWIZZLE instead.")
456 # define GLM_FORCE_SWIZZLE
457 #endif
458 
459 #if defined(GLM_FORCE_SWIZZLE) && (GLM_LANG & GLM_LANG_CXXMS_FLAG)
460 # define GLM_CONFIG_SWIZZLE GLM_SWIZZLE_OPERATOR
461 #elif defined(GLM_FORCE_SWIZZLE)
462 # define GLM_CONFIG_SWIZZLE GLM_SWIZZLE_FUNCTION
463 #else
464 # define GLM_CONFIG_SWIZZLE GLM_SWIZZLE_DISABLED
465 #endif
466 
468 // Allows using not basic types as genType
469 
470 // #define GLM_FORCE_UNRESTRICTED_GENTYPE
471 
472 #ifdef GLM_FORCE_UNRESTRICTED_GENTYPE
473 # define GLM_CONFIG_UNRESTRICTED_GENTYPE GLM_ENABLE
474 #else
475 # define GLM_CONFIG_UNRESTRICTED_GENTYPE GLM_DISABLE
476 #endif
477 
479 // Clip control, define GLM_FORCE_DEPTH_ZERO_TO_ONE before including GLM
480 // to use a clip space between 0 to 1.
481 // Coordinate system, define GLM_FORCE_LEFT_HANDED before including GLM
482 // to use left handed coordinate system by default.
483 
484 #define GLM_CLIP_CONTROL_ZO_BIT (1 << 0) // ZERO_TO_ONE
485 #define GLM_CLIP_CONTROL_NO_BIT (1 << 1) // NEGATIVE_ONE_TO_ONE
486 #define GLM_CLIP_CONTROL_LH_BIT (1 << 2) // LEFT_HANDED, For DirectX, Metal, Vulkan
487 #define GLM_CLIP_CONTROL_RH_BIT (1 << 3) // RIGHT_HANDED, For OpenGL, default in GLM
488 
489 #define GLM_CLIP_CONTROL_LH_ZO (GLM_CLIP_CONTROL_LH_BIT | GLM_CLIP_CONTROL_ZO_BIT)
490 #define GLM_CLIP_CONTROL_LH_NO (GLM_CLIP_CONTROL_LH_BIT | GLM_CLIP_CONTROL_NO_BIT)
491 #define GLM_CLIP_CONTROL_RH_ZO (GLM_CLIP_CONTROL_RH_BIT | GLM_CLIP_CONTROL_ZO_BIT)
492 #define GLM_CLIP_CONTROL_RH_NO (GLM_CLIP_CONTROL_RH_BIT | GLM_CLIP_CONTROL_NO_BIT)
493 
494 #ifdef GLM_FORCE_DEPTH_ZERO_TO_ONE
495 # ifdef GLM_FORCE_LEFT_HANDED
496 # define GLM_CONFIG_CLIP_CONTROL GLM_CLIP_CONTROL_LH_ZO
497 # else
498 # define GLM_CONFIG_CLIP_CONTROL GLM_CLIP_CONTROL_RH_ZO
499 # endif
500 #else
501 # ifdef GLM_FORCE_LEFT_HANDED
502 # define GLM_CONFIG_CLIP_CONTROL GLM_CLIP_CONTROL_LH_NO
503 # else
504 # define GLM_CONFIG_CLIP_CONTROL GLM_CLIP_CONTROL_RH_NO
505 # endif
506 #endif
507 
509 // Qualifiers
510 
511 #if (GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS))
512 # define GLM_DEPRECATED __declspec(deprecated)
513 # define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef __declspec(align(alignment)) type name
514 #elif GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_CLANG | GLM_COMPILER_INTEL)
515 # define GLM_DEPRECATED __attribute__((__deprecated__))
516 # define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef type name __attribute__((aligned(alignment)))
517 #elif GLM_COMPILER & GLM_COMPILER_CUDA
518 # define GLM_DEPRECATED
519 # define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef type name __align__(x)
520 #else
521 # define GLM_DEPRECATED
522 # define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef type name
523 #endif
524 
526 
527 #ifdef GLM_FORCE_EXPLICIT_CTOR
528 # define GLM_EXPLICIT explicit
529 #else
530 # define GLM_EXPLICIT
531 #endif
532 
534 // SYCL
535 
536 #if GLM_COMPILER==GLM_COMPILER_SYCL
537 
538 #include <CL/sycl.hpp>
539 #include <limits>
540 
541 namespace glm {
542 namespace std {
543  // Import SYCL's functions into the namespace glm::std to force their usages.
544  // It's important to use the math built-in function (sin, exp, ...)
545  // of SYCL instead the std ones.
546  using namespace cl::sycl;
547 
549  // Import some "harmless" std's stuffs used by glm into
550  // the new glm::std namespace.
551  template<typename T>
552  using numeric_limits = ::std::numeric_limits<T>;
553 
554  using ::std::size_t;
555 
560 
565 
566  using ::std::make_unsigned;
568 } //namespace std
569 } //namespace glm
570 
571 #endif
572 
574 
576 // Length type: all length functions returns a length_t type.
577 // When GLM_FORCE_SIZE_T_LENGTH is defined, length_t is a typedef of size_t otherwise
578 // length_t is a typedef of int like GLSL defines it.
579 
580 #define GLM_LENGTH_INT 1
581 #define GLM_LENGTH_SIZE_T 2
582 
583 #ifdef GLM_FORCE_SIZE_T_LENGTH
584 # define GLM_CONFIG_LENGTH_TYPE GLM_LENGTH_SIZE_T
585 #else
586 # define GLM_CONFIG_LENGTH_TYPE GLM_LENGTH_INT
587 #endif
588 
589 namespace glm
590 {
591  using std::size_t;
592 # if GLM_CONFIG_LENGTH_TYPE == GLM_LENGTH_SIZE_T
593  typedef size_t length_t;
594 # else
595  typedef int length_t;
596 # endif
597 }//namespace glm
598 
600 // constexpr
601 
602 #if GLM_HAS_CONSTEXPR
603 # define GLM_CONFIG_CONSTEXP GLM_ENABLE
604 
605  namespace glm
606  {
607  template<typename T, std::size_t N>
608  constexpr std::size_t countof(T const (&)[N])
609  {
610  return N;
611  }
612  }//namespace glm
613 # define GLM_COUNTOF(arr) glm::countof(arr)
614 #elif defined(_MSC_VER)
615 # define GLM_CONFIG_CONSTEXP GLM_DISABLE
616 
617 # define GLM_COUNTOF(arr) _countof(arr)
618 #else
619 # define GLM_CONFIG_CONSTEXP GLM_DISABLE
620 
621 # define GLM_COUNTOF(arr) sizeof(arr) / sizeof(arr[0])
622 #endif
623 
625 // uint
626 
627 namespace glm{
628 namespace detail
629 {
630  template<typename T>
631  struct is_int
632  {
633  enum test {value = 0};
634  };
635 
636  template<>
637  struct is_int<unsigned int>
638  {
639  enum test {value = ~0};
640  };
641 
642  template<>
643  struct is_int<signed int>
644  {
645  enum test {value = ~0};
646  };
647 }//namespace detail
648 
649  typedef unsigned int uint;
650 }//namespace glm
651 
653 // 64-bit int
654 
655 #if GLM_HAS_EXTENDED_INTEGER_TYPE
656 # include <cstdint>
657 #endif
658 
659 namespace glm{
660 namespace detail
661 {
662 # if GLM_HAS_EXTENDED_INTEGER_TYPE
663  typedef std::uint64_t uint64;
664  typedef std::int64_t int64;
665 # elif (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) // C99 detected, 64 bit types available
666  typedef uint64_t uint64;
667  typedef int64_t int64;
668 # elif GLM_COMPILER & GLM_COMPILER_VC
669  typedef unsigned __int64 uint64;
670  typedef signed __int64 int64;
671 # elif GLM_COMPILER & GLM_COMPILER_GCC
672 # pragma GCC diagnostic ignored "-Wlong-long"
673  __extension__ typedef unsigned long long uint64;
674  __extension__ typedef signed long long int64;
675 # elif (GLM_COMPILER & GLM_COMPILER_CLANG)
676 # pragma clang diagnostic ignored "-Wc++11-long-long"
677  typedef unsigned long long uint64;
678  typedef signed long long int64;
679 # else//unknown compiler
680  typedef unsigned long long uint64;
681  typedef signed long long int64;
682 # endif
683 }//namespace detail
684 }//namespace glm
685 
687 // make_unsigned
688 
689 #if GLM_HAS_MAKE_SIGNED
690 # include <type_traits>
691 
692 namespace glm{
693 namespace detail
694 {
695  using std::make_unsigned;
696 }//namespace detail
697 }//namespace glm
698 
699 #else
700 
701 namespace glm{
702 namespace detail
703 {
704  template<typename genType>
705  struct make_unsigned
706  {};
707 
708  template<>
709  struct make_unsigned<char>
710  {
711  typedef unsigned char type;
712  };
713 
714  template<>
715  struct make_unsigned<signed char>
716  {
717  typedef unsigned char type;
718  };
719 
720  template<>
721  struct make_unsigned<short>
722  {
723  typedef unsigned short type;
724  };
725 
726  template<>
727  struct make_unsigned<int>
728  {
729  typedef unsigned int type;
730  };
731 
732  template<>
733  struct make_unsigned<long>
734  {
735  typedef unsigned long type;
736  };
737 
738  template<>
739  struct make_unsigned<int64>
740  {
741  typedef uint64 type;
742  };
743 
744  template<>
745  struct make_unsigned<unsigned char>
746  {
747  typedef unsigned char type;
748  };
749 
750  template<>
751  struct make_unsigned<unsigned short>
752  {
753  typedef unsigned short type;
754  };
755 
756  template<>
757  struct make_unsigned<unsigned int>
758  {
759  typedef unsigned int type;
760  };
761 
762  template<>
763  struct make_unsigned<unsigned long>
764  {
765  typedef unsigned long type;
766  };
767 
768  template<>
769  struct make_unsigned<uint64>
770  {
771  typedef uint64 type;
772  };
773 }//namespace detail
774 }//namespace glm
775 #endif
776 
778 // Only use x, y, z, w as vector type components
779 
780 #ifdef GLM_FORCE_XYZW_ONLY
781 # define GLM_CONFIG_XYZW_ONLY GLM_ENABLE
782 #else
783 # define GLM_CONFIG_XYZW_ONLY GLM_DISABLE
784 #endif
785 
787 // Configure the use of defaulted initialized types
788 
789 #define GLM_CTOR_INIT_DISABLE 0
790 #define GLM_CTOR_INITIALIZER_LIST 1
791 #define GLM_CTOR_INITIALISATION 2
792 
793 #if defined(GLM_FORCE_CTOR_INIT) && GLM_HAS_INITIALIZER_LISTS
794 # define GLM_CONFIG_CTOR_INIT GLM_CTOR_INITIALIZER_LIST
795 #elif defined(GLM_FORCE_CTOR_INIT) && !GLM_HAS_INITIALIZER_LISTS
796 # define GLM_CONFIG_CTOR_INIT GLM_CTOR_INITIALISATION
797 #else
798 # define GLM_CONFIG_CTOR_INIT GLM_CTOR_INIT_DISABLE
799 #endif
800 
802 // Use SIMD instruction sets
803 
804 #if GLM_HAS_ALIGNOF && (GLM_LANG & GLM_LANG_CXXMS_FLAG) && (GLM_ARCH & GLM_ARCH_SIMD_BIT)
805 # define GLM_CONFIG_SIMD GLM_ENABLE
806 #else
807 # define GLM_CONFIG_SIMD GLM_DISABLE
808 #endif
809 
811 // Configure the use of defaulted function
812 
813 #if GLM_HAS_DEFAULTED_FUNCTIONS && GLM_CONFIG_CTOR_INIT == GLM_CTOR_INIT_DISABLE
814 # define GLM_CONFIG_DEFAULTED_FUNCTIONS GLM_ENABLE
815 # define GLM_DEFAULT = default
816 #else
817 # define GLM_CONFIG_DEFAULTED_FUNCTIONS GLM_DISABLE
818 # define GLM_DEFAULT
819 #endif
820 
822 // Configure the use of aligned gentypes
823 
824 #ifdef GLM_FORCE_ALIGNED // Legacy define
825 # define GLM_FORCE_DEFAULT_ALIGNED_GENTYPES
826 #endif
827 
828 #ifdef GLM_FORCE_DEFAULT_ALIGNED_GENTYPES
829 # define GLM_FORCE_ALIGNED_GENTYPES
830 #endif
831 
832 #if GLM_HAS_ALIGNOF && (GLM_LANG & GLM_LANG_CXXMS_FLAG) && (defined(GLM_FORCE_ALIGNED_GENTYPES) || (GLM_CONFIG_SIMD == GLM_ENABLE))
833 # define GLM_CONFIG_ALIGNED_GENTYPES GLM_ENABLE
834 #else
835 # define GLM_CONFIG_ALIGNED_GENTYPES GLM_DISABLE
836 #endif
837 
839 // Configure the use of anonymous structure as implementation detail
840 
841 #if ((GLM_CONFIG_SIMD == GLM_ENABLE) || (GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR) || (GLM_CONFIG_ALIGNED_GENTYPES == GLM_ENABLE))
842 # define GLM_CONFIG_ANONYMOUS_STRUCT GLM_ENABLE
843 #else
844 # define GLM_CONFIG_ANONYMOUS_STRUCT GLM_DISABLE
845 #endif
846 
848 // Silent warnings
849 
850 #ifdef GLM_FORCE_SILENT_WARNINGS
851 # define GLM_SILENT_WARNINGS GLM_ENABLE
852 #else
853 # define GLM_SILENT_WARNINGS GLM_DISABLE
854 #endif
855 
857 // Precision
858 
859 #define GLM_HIGHP 1
860 #define GLM_MEDIUMP 2
861 #define GLM_LOWP 3
862 
863 #if defined(GLM_FORCE_PRECISION_HIGHP_BOOL) || defined(GLM_PRECISION_HIGHP_BOOL)
864 # define GLM_CONFIG_PRECISION_BOOL GLM_HIGHP
865 #elif defined(GLM_FORCE_PRECISION_MEDIUMP_BOOL) || defined(GLM_PRECISION_MEDIUMP_BOOL)
866 # define GLM_CONFIG_PRECISION_BOOL GLM_MEDIUMP
867 #elif defined(GLM_FORCE_PRECISION_LOWP_BOOL) || defined(GLM_PRECISION_LOWP_BOOL)
868 # define GLM_CONFIG_PRECISION_BOOL GLM_LOWP
869 #else
870 # define GLM_CONFIG_PRECISION_BOOL GLM_HIGHP
871 #endif
872 
873 #if defined(GLM_FORCE_PRECISION_HIGHP_INT) || defined(GLM_PRECISION_HIGHP_INT)
874 # define GLM_CONFIG_PRECISION_INT GLM_HIGHP
875 #elif defined(GLM_FORCE_PRECISION_MEDIUMP_INT) || defined(GLM_PRECISION_MEDIUMP_INT)
876 # define GLM_CONFIG_PRECISION_INT GLM_MEDIUMP
877 #elif defined(GLM_FORCE_PRECISION_LOWP_INT) || defined(GLM_PRECISION_LOWP_INT)
878 # define GLM_CONFIG_PRECISION_INT GLM_LOWP
879 #else
880 # define GLM_CONFIG_PRECISION_INT GLM_HIGHP
881 #endif
882 
883 #if defined(GLM_FORCE_PRECISION_HIGHP_UINT) || defined(GLM_PRECISION_HIGHP_UINT)
884 # define GLM_CONFIG_PRECISION_UINT GLM_HIGHP
885 #elif defined(GLM_FORCE_PRECISION_MEDIUMP_UINT) || defined(GLM_PRECISION_MEDIUMP_UINT)
886 # define GLM_CONFIG_PRECISION_UINT GLM_MEDIUMP
887 #elif defined(GLM_FORCE_PRECISION_LOWP_UINT) || defined(GLM_PRECISION_LOWP_UINT)
888 # define GLM_CONFIG_PRECISION_UINT GLM_LOWP
889 #else
890 # define GLM_CONFIG_PRECISION_UINT GLM_HIGHP
891 #endif
892 
893 #if defined(GLM_FORCE_PRECISION_HIGHP_FLOAT) || defined(GLM_PRECISION_HIGHP_FLOAT)
894 # define GLM_CONFIG_PRECISION_FLOAT GLM_HIGHP
895 #elif defined(GLM_FORCE_PRECISION_MEDIUMP_FLOAT) || defined(GLM_PRECISION_MEDIUMP_FLOAT)
896 # define GLM_CONFIG_PRECISION_FLOAT GLM_MEDIUMP
897 #elif defined(GLM_FORCE_PRECISION_LOWP_FLOAT) || defined(GLM_PRECISION_LOWP_FLOAT)
898 # define GLM_CONFIG_PRECISION_FLOAT GLM_LOWP
899 #else
900 # define GLM_CONFIG_PRECISION_FLOAT GLM_HIGHP
901 #endif
902 
903 #if defined(GLM_FORCE_PRECISION_HIGHP_DOUBLE) || defined(GLM_PRECISION_HIGHP_DOUBLE)
904 # define GLM_CONFIG_PRECISION_DOUBLE GLM_HIGHP
905 #elif defined(GLM_FORCE_PRECISION_MEDIUMP_DOUBLE) || defined(GLM_PRECISION_MEDIUMP_DOUBLE)
906 # define GLM_CONFIG_PRECISION_DOUBLE GLM_MEDIUMP
907 #elif defined(GLM_FORCE_PRECISION_LOWP_DOUBLE) || defined(GLM_PRECISION_LOWP_DOUBLE)
908 # define GLM_CONFIG_PRECISION_DOUBLE GLM_LOWP
909 #else
910 # define GLM_CONFIG_PRECISION_DOUBLE GLM_HIGHP
911 #endif
912 
914 // Check inclusions of different versions of GLM
915 
916 #elif ((GLM_SETUP_INCLUDED != GLM_VERSION) && !defined(GLM_FORCE_IGNORE_VERSION))
917 # error "GLM error: A different version of GLM is already included. Define GLM_FORCE_IGNORE_VERSION before including GLM headers to ignore this error."
918 #elif GLM_SETUP_INCLUDED == GLM_VERSION
919 
921 // Messages
922 
923 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_MESSAGE_DISPLAYED)
924 # define GLM_MESSAGE_DISPLAYED
925 # define GLM_STR_HELPER(x) #x
926 # define GLM_STR(x) GLM_STR_HELPER(x)
927 
928  // Report GLM version
929 # pragma message (GLM_STR(GLM_VERSION_MESSAGE))
930 
931  // Report C++ language
932 # if (GLM_LANG & GLM_LANG_CXX2A_FLAG) && (GLM_LANG & GLM_LANG_EXT)
933 # pragma message("GLM: C++ 2A with extensions")
934 # elif (GLM_LANG & GLM_LANG_CXX2A_FLAG)
935 # pragma message("GLM: C++ 2A")
936 # elif (GLM_LANG & GLM_LANG_CXX17_FLAG) && (GLM_LANG & GLM_LANG_EXT)
937 # pragma message("GLM: C++ 17 with extensions")
938 # elif (GLM_LANG & GLM_LANG_CXX17_FLAG)
939 # pragma message("GLM: C++ 17")
940 # elif (GLM_LANG & GLM_LANG_CXX14_FLAG) && (GLM_LANG & GLM_LANG_EXT)
941 # pragma message("GLM: C++ 14 with extensions")
942 # elif (GLM_LANG & GLM_LANG_CXX14_FLAG)
943 # pragma message("GLM: C++ 14")
944 # elif (GLM_LANG & GLM_LANG_CXX11_FLAG) && (GLM_LANG & GLM_LANG_EXT)
945 # pragma message("GLM: C++ 11 with extensions")
946 # elif (GLM_LANG & GLM_LANG_CXX11_FLAG)
947 # pragma message("GLM: C++ 11")
948 # elif (GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_LANG & GLM_LANG_EXT)
949 # pragma message("GLM: C++ 0x with extensions")
950 # elif (GLM_LANG & GLM_LANG_CXX0X_FLAG)
951 # pragma message("GLM: C++ 0x")
952 # elif (GLM_LANG & GLM_LANG_CXX03_FLAG) && (GLM_LANG & GLM_LANG_EXT)
953 # pragma message("GLM: C++ 03 with extensions")
954 # elif (GLM_LANG & GLM_LANG_CXX03_FLAG)
955 # pragma message("GLM: C++ 03")
956 # elif (GLM_LANG & GLM_LANG_CXX98_FLAG) && (GLM_LANG & GLM_LANG_EXT)
957 # pragma message("GLM: C++ 98 with extensions")
958 # elif (GLM_LANG & GLM_LANG_CXX98_FLAG)
959 # pragma message("GLM: C++ 98")
960 # else
961 # pragma message("GLM: C++ language undetected")
962 # endif//GLM_LANG
963 
964  // Report compiler detection
965 # if GLM_COMPILER & GLM_COMPILER_CUDA
966 # pragma message("GLM: CUDA compiler detected")
967 # elif GLM_COMPILER & GLM_COMPILER_VC
968 # pragma message("GLM: Visual C++ compiler detected")
969 # elif GLM_COMPILER & GLM_COMPILER_CLANG
970 # pragma message("GLM: Clang compiler detected")
971 # elif GLM_COMPILER & GLM_COMPILER_INTEL
972 # pragma message("GLM: Intel Compiler detected")
973 # elif GLM_COMPILER & GLM_COMPILER_GCC
974 # pragma message("GLM: GCC compiler detected")
975 # else
976 # pragma message("GLM: Compiler not detected")
977 # endif
978 
979  // Report build target
980 # if (GLM_ARCH & GLM_ARCH_AVX2_BIT) && (GLM_MODEL == GLM_MODEL_64)
981 # pragma message("GLM: x86 64 bits with AVX2 instruction set build target")
982 # elif (GLM_ARCH & GLM_ARCH_AVX2_BIT) && (GLM_MODEL == GLM_MODEL_32)
983 # pragma message("GLM: x86 32 bits with AVX2 instruction set build target")
984 
985 # elif (GLM_ARCH & GLM_ARCH_AVX_BIT) && (GLM_MODEL == GLM_MODEL_64)
986 # pragma message("GLM: x86 64 bits with AVX instruction set build target")
987 # elif (GLM_ARCH & GLM_ARCH_AVX_BIT) && (GLM_MODEL == GLM_MODEL_32)
988 # pragma message("GLM: x86 32 bits with AVX instruction set build target")
989 
990 # elif (GLM_ARCH & GLM_ARCH_SSE42_BIT) && (GLM_MODEL == GLM_MODEL_64)
991 # pragma message("GLM: x86 64 bits with SSE4.2 instruction set build target")
992 # elif (GLM_ARCH & GLM_ARCH_SSE42_BIT) && (GLM_MODEL == GLM_MODEL_32)
993 # pragma message("GLM: x86 32 bits with SSE4.2 instruction set build target")
994 
995 # elif (GLM_ARCH & GLM_ARCH_SSE41_BIT) && (GLM_MODEL == GLM_MODEL_64)
996 # pragma message("GLM: x86 64 bits with SSE4.1 instruction set build target")
997 # elif (GLM_ARCH & GLM_ARCH_SSE41_BIT) && (GLM_MODEL == GLM_MODEL_32)
998 # pragma message("GLM: x86 32 bits with SSE4.1 instruction set build target")
999 
1000 # elif (GLM_ARCH & GLM_ARCH_SSSE3_BIT) && (GLM_MODEL == GLM_MODEL_64)
1001 # pragma message("GLM: x86 64 bits with SSSE3 instruction set build target")
1002 # elif (GLM_ARCH & GLM_ARCH_SSSE3_BIT) && (GLM_MODEL == GLM_MODEL_32)
1003 # pragma message("GLM: x86 32 bits with SSSE3 instruction set build target")
1004 
1005 # elif (GLM_ARCH & GLM_ARCH_SSE3_BIT) && (GLM_MODEL == GLM_MODEL_64)
1006 # pragma message("GLM: x86 64 bits with SSE3 instruction set build target")
1007 # elif (GLM_ARCH & GLM_ARCH_SSE3_BIT) && (GLM_MODEL == GLM_MODEL_32)
1008 # pragma message("GLM: x86 32 bits with SSE3 instruction set build target")
1009 
1010 # elif (GLM_ARCH & GLM_ARCH_SSE2_BIT) && (GLM_MODEL == GLM_MODEL_64)
1011 # pragma message("GLM: x86 64 bits with SSE2 instruction set build target")
1012 # elif (GLM_ARCH & GLM_ARCH_SSE2_BIT) && (GLM_MODEL == GLM_MODEL_32)
1013 # pragma message("GLM: x86 32 bits with SSE2 instruction set build target")
1014 
1015 # elif (GLM_ARCH & GLM_ARCH_X86_BIT) && (GLM_MODEL == GLM_MODEL_64)
1016 # pragma message("GLM: x86 64 bits build target")
1017 # elif (GLM_ARCH & GLM_ARCH_X86_BIT) && (GLM_MODEL == GLM_MODEL_32)
1018 # pragma message("GLM: x86 32 bits build target")
1019 
1020 # elif (GLM_ARCH & GLM_ARCH_NEON_BIT) && (GLM_MODEL == GLM_MODEL_64)
1021 # pragma message("GLM: ARM 64 bits with Neon instruction set build target")
1022 # elif (GLM_ARCH & GLM_ARCH_NEON_BIT) && (GLM_MODEL == GLM_MODEL_32)
1023 # pragma message("GLM: ARM 32 bits with Neon instruction set build target")
1024 
1025 # elif (GLM_ARCH & GLM_ARCH_ARM_BIT) && (GLM_MODEL == GLM_MODEL_64)
1026 # pragma message("GLM: ARM 64 bits build target")
1027 # elif (GLM_ARCH & GLM_ARCH_ARM_BIT) && (GLM_MODEL == GLM_MODEL_32)
1028 # pragma message("GLM: ARM 32 bits build target")
1029 
1030 # elif (GLM_ARCH & GLM_ARCH_MIPS_BIT) && (GLM_MODEL == GLM_MODEL_64)
1031 # pragma message("GLM: MIPS 64 bits build target")
1032 # elif (GLM_ARCH & GLM_ARCH_MIPS_BIT) && (GLM_MODEL == GLM_MODEL_32)
1033 # pragma message("GLM: MIPS 32 bits build target")
1034 
1035 # elif (GLM_ARCH & GLM_ARCH_PPC_BIT) && (GLM_MODEL == GLM_MODEL_64)
1036 # pragma message("GLM: PowerPC 64 bits build target")
1037 # elif (GLM_ARCH & GLM_ARCH_PPC_BIT) && (GLM_MODEL == GLM_MODEL_32)
1038 # pragma message("GLM: PowerPC 32 bits build target")
1039 # else
1040 # pragma message("GLM: Unknown build target")
1041 # endif//GLM_ARCH
1042 
1043  // Report platform name
1044 # if(GLM_PLATFORM & GLM_PLATFORM_QNXNTO)
1045 # pragma message("GLM: QNX platform detected")
1046 //# elif(GLM_PLATFORM & GLM_PLATFORM_IOS)
1047 //# pragma message("GLM: iOS platform detected")
1048 # elif(GLM_PLATFORM & GLM_PLATFORM_APPLE)
1049 # pragma message("GLM: Apple platform detected")
1050 # elif(GLM_PLATFORM & GLM_PLATFORM_WINCE)
1051 # pragma message("GLM: WinCE platform detected")
1052 # elif(GLM_PLATFORM & GLM_PLATFORM_WINDOWS)
1053 # pragma message("GLM: Windows platform detected")
1054 # elif(GLM_PLATFORM & GLM_PLATFORM_CHROME_NACL)
1055 # pragma message("GLM: Native Client detected")
1056 # elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID)
1057 # pragma message("GLM: Android platform detected")
1058 # elif(GLM_PLATFORM & GLM_PLATFORM_LINUX)
1059 # pragma message("GLM: Linux platform detected")
1060 # elif(GLM_PLATFORM & GLM_PLATFORM_UNIX)
1061 # pragma message("GLM: UNIX platform detected")
1062 # elif(GLM_PLATFORM & GLM_PLATFORM_UNKNOWN)
1063 # pragma message("GLM: platform unknown")
1064 # else
1065 # pragma message("GLM: platform not detected")
1066 # endif
1067 
1068  // Report whether only xyzw component are used
1069 # if defined GLM_FORCE_XYZW_ONLY
1070 # pragma message("GLM: GLM_FORCE_XYZW_ONLY is defined. Only x, y, z and w component are available in vector type. This define disables swizzle operators and SIMD instruction sets.")
1071 # endif
1072 
1073  // Report swizzle operator support
1074 # if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR
1075 # pragma message("GLM: GLM_FORCE_SWIZZLE is defined, swizzling operators enabled.")
1076 # elif GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_FUNCTION
1077 # pragma message("GLM: GLM_FORCE_SWIZZLE is defined, swizzling functions enabled. Enable compiler C++ language extensions to enable swizzle operators.")
1078 # else
1079 # pragma message("GLM: GLM_FORCE_SWIZZLE is undefined. swizzling functions or operators are disabled.")
1080 # endif
1081 
1082  // Report .length() type
1083 # if GLM_CONFIG_LENGTH_TYPE == GLM_LENGTH_SIZE_T
1084 # pragma message("GLM: GLM_FORCE_SIZE_T_LENGTH is defined. .length() returns a glm::length_t, a typedef of std::size_t.")
1085 # else
1086 # pragma message("GLM: GLM_FORCE_SIZE_T_LENGTH is undefined. .length() returns a glm::length_t, a typedef of int following GLSL.")
1087 # endif
1088 
1089 # if GLM_CONFIG_UNRESTRICTED_GENTYPE == GLM_ENABLE
1090 # pragma message("GLM: GLM_FORCE_UNRESTRICTED_GENTYPE is defined. Removes GLSL restrictions on valid function genTypes.")
1091 # else
1092 # pragma message("GLM: GLM_FORCE_UNRESTRICTED_GENTYPE is undefined. Follows strictly GLSL on valid function genTypes.")
1093 # endif
1094 
1095 # if GLM_SILENT_WARNINGS == GLM_ENABLE
1096 # pragma message("GLM: GLM_FORCE_SILENT_WARNINGS is defined. Ignores C++ warnings from using C++ language extensions.")
1097 # else
1098 # pragma message("GLM: GLM_FORCE_SILENT_WARNINGS is undefined. Shows C++ warnings from using C++ language extensions.")
1099 # endif
1100 
1101 # ifdef GLM_FORCE_SINGLE_ONLY
1102 # pragma message("GLM: GLM_FORCE_SINGLE_ONLY is defined. Using only single precision floating-point types.")
1103 # endif
1104 
1105 # if defined(GLM_FORCE_ALIGNED_GENTYPES) && (GLM_CONFIG_ALIGNED_GENTYPES == GLM_ENABLE)
1106 # undef GLM_FORCE_ALIGNED_GENTYPES
1107 # pragma message("GLM: GLM_FORCE_ALIGNED_GENTYPES is defined, allowing aligned types. This prevents the use of C++ constexpr.")
1108 # elif defined(GLM_FORCE_ALIGNED_GENTYPES) && (GLM_CONFIG_ALIGNED_GENTYPES == GLM_DISABLE)
1109 # undef GLM_FORCE_ALIGNED_GENTYPES
1110 # pragma message("GLM: GLM_FORCE_ALIGNED_GENTYPES is defined but is disabled. It requires C++11 and language extensions.")
1111 # endif
1112 
1113 # if defined(GLM_FORCE_DEFAULT_ALIGNED_GENTYPES)
1114 # if GLM_CONFIG_ALIGNED_GENTYPES == GLM_DISABLE
1115 # undef GLM_FORCE_DEFAULT_ALIGNED_GENTYPES
1116 # pragma message("GLM: GLM_FORCE_DEFAULT_ALIGNED_GENTYPES is defined but is disabled. It requires C++11 and language extensions.")
1117 # elif GLM_CONFIG_ALIGNED_GENTYPES == GLM_ENABLE
1118 # pragma message("GLM: GLM_FORCE_DEFAULT_ALIGNED_GENTYPES is defined. All gentypes (e.g. vec3) will be aligned and padded by default.")
1119 # endif
1120 # endif
1121 
1122 # if GLM_CONFIG_CLIP_CONTROL & GLM_CLIP_CONTROL_ZO_BIT
1123 # pragma message("GLM: GLM_FORCE_DEPTH_ZERO_TO_ONE is defined. Using zero to one depth clip space.")
1124 # else
1125 # pragma message("GLM: GLM_FORCE_DEPTH_ZERO_TO_ONE is undefined. Using negative one to one depth clip space.")
1126 # endif
1127 
1128 # if GLM_CONFIG_CLIP_CONTROL & GLM_CLIP_CONTROL_LH_BIT
1129 # pragma message("GLM: GLM_FORCE_LEFT_HANDED is defined. Using left handed coordinate system.")
1130 # else
1131 # pragma message("GLM: GLM_FORCE_LEFT_HANDED is undefined. Using right handed coordinate system.")
1132 # endif
1133 #endif//GLM_MESSAGES
1134 
1135 #endif//GLM_SETUP_INCLUDED
int64 int64_t
64 bit signed integer type.
Definition: fwd.hpp:85
int8 int8_t
8 bit signed integer type.
Definition: fwd.hpp:43
uint32 uint32_t
Default qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:129
uint16 uint16_t
Default qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:115
uint8 uint8_t
Default qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:101
uint64 uint64_t
Default qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:143
int16 int16_t
16 bit signed integer type.
Definition: fwd.hpp:57
Definition: hash.hpp:49
int32 int32_t
32 bit signed integer type.
Definition: fwd.hpp:71
detail::uint64 uint64
64 bit unsigned integer type.
detail::int64 int64
64 bit signed integer type.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00154.html ================================================ 0.9.9 API documentation: spline.hpp File Reference
0.9.9 API documentation
spline.hpp File Reference

GLM_GTX_spline More...

Go to the source code of this file.

Functions

template<typename genType >
GLM_FUNC_DECL genType catmullRom (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 Return a point from a catmull rom curve. More...
 
template<typename genType >
GLM_FUNC_DECL genType cubic (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 Return a point from a cubic curve. More...
 
template<typename genType >
GLM_FUNC_DECL genType hermite (genType const &v1, genType const &t1, genType const &v2, genType const &t2, typename genType::value_type const &s)
 Return a point from a hermite curve. More...
 

Detailed Description

GLM_GTX_spline

See also
Core features (dependence)

Definition in file spline.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00154_source.html ================================================ 0.9.9 API documentation: spline.hpp Source File
0.9.9 API documentation
spline.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependency:
16 #include "../glm.hpp"
17 #include "../gtx/optimum_pow.hpp"
18 
19 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
20 # ifndef GLM_ENABLE_EXPERIMENTAL
21 # pragma message("GLM: GLM_GTX_spline is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
22 # else
23 # pragma message("GLM: GLM_GTX_spline extension included")
24 # endif
25 #endif
26 
27 namespace glm
28 {
31 
34  template<typename genType>
35  GLM_FUNC_DECL genType catmullRom(
36  genType const& v1,
37  genType const& v2,
38  genType const& v3,
39  genType const& v4,
40  typename genType::value_type const& s);
41 
44  template<typename genType>
45  GLM_FUNC_DECL genType hermite(
46  genType const& v1,
47  genType const& t1,
48  genType const& v2,
49  genType const& t2,
50  typename genType::value_type const& s);
51 
54  template<typename genType>
55  GLM_FUNC_DECL genType cubic(
56  genType const& v1,
57  genType const& v2,
58  genType const& v3,
59  genType const& v4,
60  typename genType::value_type const& s);
61 
63 }//namespace glm
64 
65 #include "spline.inl"
GLM_FUNC_DECL genType hermite(genType const &v1, genType const &t1, genType const &v2, genType const &t2, typename genType::value_type const &s)
Return a point from a hermite curve.
GLM_FUNC_DECL genType cubic(genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
Return a point from a cubic curve.
GLM_FUNC_DECL genType catmullRom(genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
Return a point from a catmull rom curve.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00155.html ================================================ 0.9.9 API documentation: std_based_type.hpp File Reference
0.9.9 API documentation
std_based_type.hpp File Reference

GLM_GTX_std_based_type More...

Go to the source code of this file.

Typedefs

typedef vec< 1, std::size_t, defaultp > size1
 Vector type based of one std::size_t component. More...
 
typedef vec< 1, std::size_t, defaultp > size1_t
 Vector type based of one std::size_t component. More...
 
typedef vec< 2, std::size_t, defaultp > size2
 Vector type based of two std::size_t components. More...
 
typedef vec< 2, std::size_t, defaultp > size2_t
 Vector type based of two std::size_t components. More...
 
typedef vec< 3, std::size_t, defaultp > size3
 Vector type based of three std::size_t components. More...
 
typedef vec< 3, std::size_t, defaultp > size3_t
 Vector type based of three std::size_t components. More...
 
typedef vec< 4, std::size_t, defaultp > size4
 Vector type based of four std::size_t components. More...
 
typedef vec< 4, std::size_t, defaultp > size4_t
 Vector type based of four std::size_t components. More...
 

Detailed Description

GLM_GTX_std_based_type

See also
Core features (dependence)
gtx_extented_min_max (dependence)

Definition in file std_based_type.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00155_source.html ================================================ 0.9.9 API documentation: std_based_type.hpp Source File
0.9.9 API documentation
std_based_type.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependency:
17 #include "../glm.hpp"
18 #include <cstdlib>
19 
20 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
21 # ifndef GLM_ENABLE_EXPERIMENTAL
22 # pragma message("GLM: GLM_GTX_std_based_type is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
23 # else
24 # pragma message("GLM: GLM_GTX_std_based_type extension included")
25 # endif
26 #endif
27 
28 namespace glm
29 {
32 
35  typedef vec<1, std::size_t, defaultp> size1;
36 
39  typedef vec<2, std::size_t, defaultp> size2;
40 
43  typedef vec<3, std::size_t, defaultp> size3;
44 
47  typedef vec<4, std::size_t, defaultp> size4;
48 
51  typedef vec<1, std::size_t, defaultp> size1_t;
52 
55  typedef vec<2, std::size_t, defaultp> size2_t;
56 
59  typedef vec<3, std::size_t, defaultp> size3_t;
60 
63  typedef vec<4, std::size_t, defaultp> size4_t;
64 
66 }//namespace glm
67 
68 #include "std_based_type.inl"
vec< 1, std::size_t, defaultp > size1
Vector type based of one std::size_t component.
vec< 3, std::size_t, defaultp > size3_t
Vector type based of three std::size_t components.
vec< 2, std::size_t, defaultp > size2_t
Vector type based of two std::size_t components.
vec< 4, std::size_t, defaultp > size4
Vector type based of four std::size_t components.
vec< 1, std::size_t, defaultp > size1_t
Vector type based of one std::size_t component.
vec< 3, std::size_t, defaultp > size3
Vector type based of three std::size_t components.
vec< 2, std::size_t, defaultp > size2
Vector type based of two std::size_t components.
vec< 4, std::size_t, defaultp > size4_t
Vector type based of four std::size_t components.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00156.html ================================================ 0.9.9 API documentation: string_cast.hpp File Reference
0.9.9 API documentation
string_cast.hpp File Reference

GLM_GTX_string_cast More...

Go to the source code of this file.

Functions

template<typename genType >
GLM_FUNC_DECL std::string to_string (genType const &x)
 Create a string from a GLM vector or matrix typed variable. More...
 

Detailed Description

GLM_GTX_string_cast

See also
Core features (dependence)
GLM_GTX_integer (dependence)
GLM_GTX_quaternion (dependence)

Definition in file string_cast.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00156_source.html ================================================ 0.9.9 API documentation: string_cast.hpp Source File
0.9.9 API documentation
string_cast.hpp
Go to the documentation of this file.
1 
17 #pragma once
18 
19 // Dependency:
20 #include "../glm.hpp"
21 #include "../gtc/type_precision.hpp"
22 #include "../gtc/quaternion.hpp"
23 #include "../gtx/dual_quaternion.hpp"
24 #include <string>
25 #include <cmath>
26 
27 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
28 # ifndef GLM_ENABLE_EXPERIMENTAL
29 # pragma message("GLM: GLM_GTX_string_cast is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
30 # else
31 # pragma message("GLM: GLM_GTX_string_cast extension included")
32 # endif
33 #endif
34 
35 #if(GLM_COMPILER & GLM_COMPILER_CUDA)
36 # error "GLM_GTX_string_cast is not supported on CUDA compiler"
37 #endif
38 
39 namespace glm
40 {
43 
46  template<typename genType>
47  GLM_FUNC_DECL std::string to_string(genType const& x);
48 
50 }//namespace glm
51 
52 #include "string_cast.inl"
GLM_FUNC_DECL std::string to_string(genType const &x)
Create a string from a GLM vector or matrix typed variable.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00157.html ================================================ 0.9.9 API documentation: texture.hpp File Reference
0.9.9 API documentation
texture.hpp File Reference

GLM_GTX_texture More...

Go to the source code of this file.

Functions

template<length_t L, typename T , qualifier Q>
levels (vec< L, T, Q > const &Extent)
 Compute the number of mipmaps levels necessary to create a mipmap complete texture. More...
 

Detailed Description

GLM_GTX_texture

See also
Core features (dependence)

Definition in file texture.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00157_source.html ================================================ 0.9.9 API documentation: texture.hpp Source File
0.9.9 API documentation
texture.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependency:
16 #include "../glm.hpp"
17 #include "../gtc/integer.hpp"
18 #include "../gtx/component_wise.hpp"
19 
20 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
21 # ifndef GLM_ENABLE_EXPERIMENTAL
22 # pragma message("GLM: GLM_GTX_texture is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
23 # else
24 # pragma message("GLM: GLM_GTX_texture extension included")
25 # endif
26 #endif
27 
28 namespace glm
29 {
32 
39  template <length_t L, typename T, qualifier Q>
40  T levels(vec<L, T, Q> const& Extent);
41 
43 }// namespace glm
44 
45 #include "texture.inl"
46 
T levels(vec< L, T, Q > const &Extent)
Compute the number of mipmaps levels necessary to create a mipmap complete texture.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00158.html ================================================ 0.9.9 API documentation: transform.hpp File Reference
0.9.9 API documentation
transform.hpp File Reference

GLM_GTX_transform More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > rotate (T angle, vec< 3, T, Q > const &v)
 Builds a rotation 4 * 4 matrix created from an axis of 3 scalars and an angle expressed in radians. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > scale (vec< 3, T, Q > const &v)
 Transforms a matrix with a scale 4 * 4 matrix created from a vector of 3 components. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > translate (vec< 3, T, Q > const &v)
 Transforms a matrix with a translation 4 * 4 matrix created from 3 scalars. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00158_source.html ================================================ 0.9.9 API documentation: transform.hpp Source File
0.9.9 API documentation
transform.hpp
Go to the documentation of this file.
1 
16 #pragma once
17 
18 // Dependency:
19 #include "../glm.hpp"
20 #include "../gtc/matrix_transform.hpp"
21 
22 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
23 # ifndef GLM_ENABLE_EXPERIMENTAL
24 # pragma message("GLM: GLM_GTX_transform is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
25 # else
26 # pragma message("GLM: GLM_GTX_transform extension included")
27 # endif
28 #endif
29 
30 namespace glm
31 {
34 
38  template<typename T, qualifier Q>
39  GLM_FUNC_DECL mat<4, 4, T, Q> translate(
40  vec<3, T, Q> const& v);
41 
45  template<typename T, qualifier Q>
46  GLM_FUNC_DECL mat<4, 4, T, Q> rotate(
47  T angle,
48  vec<3, T, Q> const& v);
49 
53  template<typename T, qualifier Q>
54  GLM_FUNC_DECL mat<4, 4, T, Q> scale(
55  vec<3, T, Q> const& v);
56 
58 }// namespace glm
59 
60 #include "transform.inl"
GLM_FUNC_DECL mat< 4, 4, T, Q > translate(vec< 3, T, Q > const &v)
Transforms a matrix with a translation 4 * 4 matrix created from 3 scalars.
GLM_FUNC_DECL T angle(qua< T, Q > const &x)
Returns the quaternion rotation angle.
GLM_FUNC_DECL mat< 4, 4, T, Q > scale(vec< 3, T, Q > const &v)
Transforms a matrix with a scale 4 * 4 matrix created from a vector of 3 components.
GLM_FUNC_DECL mat< 4, 4, T, Q > rotate(T angle, vec< 3, T, Q > const &v)
Builds a rotation 4 * 4 matrix created from an axis of 3 scalars and an angle expressed in radians...
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00159.html ================================================ 0.9.9 API documentation: transform2.hpp File Reference
0.9.9 API documentation
transform2.hpp File Reference

GLM_GTX_transform2 More...

Go to the source code of this file.

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > proj2D (mat< 3, 3, T, Q > const &m, vec< 3, T, Q > const &normal)
 Build planar projection matrix along normal axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > proj3D (mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &normal)
 Build planar projection matrix along normal axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > scaleBias (T scale, T bias)
 Build a scale bias matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > scaleBias (mat< 4, 4, T, Q > const &m, T scale, T bias)
 Build a scale bias matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > shearX2D (mat< 3, 3, T, Q > const &m, T y)
 Transforms a matrix with a shearing on X axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > shearX3D (mat< 4, 4, T, Q > const &m, T y, T z)
 Transforms a matrix with a shearing on X axis From GLM_GTX_transform2 extension. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > shearY2D (mat< 3, 3, T, Q > const &m, T x)
 Transforms a matrix with a shearing on Y axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > shearY3D (mat< 4, 4, T, Q > const &m, T x, T z)
 Transforms a matrix with a shearing on Y axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > shearZ3D (mat< 4, 4, T, Q > const &m, T x, T y)
 Transforms a matrix with a shearing on Z axis. More...
 

Detailed Description

GLM_GTX_transform2

See also
Core features (dependence)
GLM_GTX_transform (dependence)

Definition in file transform2.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00159_source.html ================================================ 0.9.9 API documentation: transform2.hpp Source File
0.9.9 API documentation
transform2.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependency:
17 #include "../glm.hpp"
18 #include "../gtx/transform.hpp"
19 
20 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
21 # ifndef GLM_ENABLE_EXPERIMENTAL
22 # pragma message("GLM: GLM_GTX_transform2 is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
23 # else
24 # pragma message("GLM: GLM_GTX_transform2 extension included")
25 # endif
26 #endif
27 
28 namespace glm
29 {
32 
35  template<typename T, qualifier Q>
36  GLM_FUNC_DECL mat<3, 3, T, Q> shearX2D(mat<3, 3, T, Q> const& m, T y);
37 
40  template<typename T, qualifier Q>
41  GLM_FUNC_DECL mat<3, 3, T, Q> shearY2D(mat<3, 3, T, Q> const& m, T x);
42 
45  template<typename T, qualifier Q>
46  GLM_FUNC_DECL mat<4, 4, T, Q> shearX3D(mat<4, 4, T, Q> const& m, T y, T z);
47 
50  template<typename T, qualifier Q>
51  GLM_FUNC_DECL mat<4, 4, T, Q> shearY3D(mat<4, 4, T, Q> const& m, T x, T z);
52 
55  template<typename T, qualifier Q>
56  GLM_FUNC_DECL mat<4, 4, T, Q> shearZ3D(mat<4, 4, T, Q> const& m, T x, T y);
57 
58  //template<typename T> GLM_FUNC_QUALIFIER mat<4, 4, T, Q> shear(const mat<4, 4, T, Q> & m, shearPlane, planePoint, angle)
59  // Identity + tan(angle) * cross(Normal, OnPlaneVector) 0
60  // - dot(PointOnPlane, normal) * OnPlaneVector 1
61 
62  // Reflect functions seem to don't work
63  //template<typename T> mat<3, 3, T, Q> reflect2D(const mat<3, 3, T, Q> & m, const vec<3, T, Q>& normal){return reflect2DGTX(m, normal);} //!< \brief Build a reflection matrix (from GLM_GTX_transform2 extension)
64  //template<typename T> mat<4, 4, T, Q> reflect3D(const mat<4, 4, T, Q> & m, const vec<3, T, Q>& normal){return reflect3DGTX(m, normal);} //!< \brief Build a reflection matrix (from GLM_GTX_transform2 extension)
65 
68  template<typename T, qualifier Q>
69  GLM_FUNC_DECL mat<3, 3, T, Q> proj2D(mat<3, 3, T, Q> const& m, vec<3, T, Q> const& normal);
70 
73  template<typename T, qualifier Q>
74  GLM_FUNC_DECL mat<4, 4, T, Q> proj3D(mat<4, 4, T, Q> const & m, vec<3, T, Q> const& normal);
75 
78  template<typename T, qualifier Q>
79  GLM_FUNC_DECL mat<4, 4, T, Q> scaleBias(T scale, T bias);
80 
83  template<typename T, qualifier Q>
84  GLM_FUNC_DECL mat<4, 4, T, Q> scaleBias(mat<4, 4, T, Q> const& m, T scale, T bias);
85 
87 }// namespace glm
88 
89 #include "transform2.inl"
GLM_FUNC_DECL mat< 3, 3, T, Q > shearX2D(mat< 3, 3, T, Q > const &m, T y)
Transforms a matrix with a shearing on X axis.
GLM_FUNC_DECL mat< 3, 3, T, Q > shearY2D(mat< 3, 3, T, Q > const &m, T x)
Transforms a matrix with a shearing on Y axis.
GLM_FUNC_DECL mat< 4, 4, T, Q > proj3D(mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &normal)
Build planar projection matrix along normal axis.
GLM_FUNC_DECL mat< 3, 3, T, Q > proj2D(mat< 3, 3, T, Q > const &m, vec< 3, T, Q > const &normal)
Build planar projection matrix along normal axis.
GLM_FUNC_DECL mat< 4, 4, T, Q > shearZ3D(mat< 4, 4, T, Q > const &m, T x, T y)
Transforms a matrix with a shearing on Z axis.
GLM_FUNC_DECL mat< 4, 4, T, Q > scale(mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &v)
Builds a scale 4 * 4 matrix created from 3 scalars.
GLM_FUNC_DECL mat< 4, 4, T, Q > shearY3D(mat< 4, 4, T, Q > const &m, T x, T z)
Transforms a matrix with a shearing on Y axis.
GLM_FUNC_DECL mat< 4, 4, T, Q > scaleBias(mat< 4, 4, T, Q > const &m, T scale, T bias)
Build a scale bias matrix.
GLM_FUNC_DECL mat< 4, 4, T, Q > shearX3D(mat< 4, 4, T, Q > const &m, T y, T z)
Transforms a matrix with a shearing on X axis From GLM_GTX_transform2 extension.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00160.html ================================================ 0.9.9 API documentation: trigonometric.hpp File Reference
0.9.9 API documentation
trigonometric.hpp File Reference

Core features More...

Go to the source code of this file.

Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > acos (vec< L, T, Q > const &x)
 Arc cosine. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > acosh (vec< L, T, Q > const &x)
 Arc hyperbolic cosine; returns the non-negative inverse of cosh. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > asin (vec< L, T, Q > const &x)
 Arc sine. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > asinh (vec< L, T, Q > const &x)
 Arc hyperbolic sine; returns the inverse of sinh. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > atan (vec< L, T, Q > const &y, vec< L, T, Q > const &x)
 Arc tangent. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > atan (vec< L, T, Q > const &y_over_x)
 Arc tangent. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > atanh (vec< L, T, Q > const &x)
 Arc hyperbolic tangent; returns the inverse of tanh. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > cos (vec< L, T, Q > const &angle)
 The standard trigonometric cosine function. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > cosh (vec< L, T, Q > const &angle)
 Returns the hyperbolic cosine function, (exp(x) + exp(-x)) / 2. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > degrees (vec< L, T, Q > const &radians)
 Converts radians to degrees and returns the result. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > radians (vec< L, T, Q > const &degrees)
 Converts degrees to radians and returns the result. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > sin (vec< L, T, Q > const &angle)
 The standard trigonometric sine function. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > sinh (vec< L, T, Q > const &angle)
 Returns the hyperbolic sine function, (exp(x) - exp(-x)) / 2. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > tan (vec< L, T, Q > const &angle)
 The standard trigonometric tangent function. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > tanh (vec< L, T, Q > const &angle)
 Returns the hyperbolic tangent function, sinh(angle) / cosh(angle) More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00160_source.html ================================================ 0.9.9 API documentation: trigonometric.hpp Source File
0.9.9 API documentation
trigonometric.hpp
Go to the documentation of this file.
1 
19 #pragma once
20 
21 #include "detail/setup.hpp"
22 #include "detail/qualifier.hpp"
23 
24 namespace glm
25 {
28 
37  template<length_t L, typename T, qualifier Q>
38  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> radians(vec<L, T, Q> const& degrees);
39 
48  template<length_t L, typename T, qualifier Q>
49  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> degrees(vec<L, T, Q> const& radians);
50 
60  template<length_t L, typename T, qualifier Q>
61  GLM_FUNC_DECL vec<L, T, Q> sin(vec<L, T, Q> const& angle);
62 
72  template<length_t L, typename T, qualifier Q>
73  GLM_FUNC_DECL vec<L, T, Q> cos(vec<L, T, Q> const& angle);
74 
83  template<length_t L, typename T, qualifier Q>
84  GLM_FUNC_DECL vec<L, T, Q> tan(vec<L, T, Q> const& angle);
85 
96  template<length_t L, typename T, qualifier Q>
97  GLM_FUNC_DECL vec<L, T, Q> asin(vec<L, T, Q> const& x);
98 
109  template<length_t L, typename T, qualifier Q>
110  GLM_FUNC_DECL vec<L, T, Q> acos(vec<L, T, Q> const& x);
111 
124  template<length_t L, typename T, qualifier Q>
125  GLM_FUNC_DECL vec<L, T, Q> atan(vec<L, T, Q> const& y, vec<L, T, Q> const& x);
126 
136  template<length_t L, typename T, qualifier Q>
137  GLM_FUNC_DECL vec<L, T, Q> atan(vec<L, T, Q> const& y_over_x);
138 
147  template<length_t L, typename T, qualifier Q>
148  GLM_FUNC_DECL vec<L, T, Q> sinh(vec<L, T, Q> const& angle);
149 
158  template<length_t L, typename T, qualifier Q>
159  GLM_FUNC_DECL vec<L, T, Q> cosh(vec<L, T, Q> const& angle);
160 
169  template<length_t L, typename T, qualifier Q>
170  GLM_FUNC_DECL vec<L, T, Q> tanh(vec<L, T, Q> const& angle);
171 
180  template<length_t L, typename T, qualifier Q>
181  GLM_FUNC_DECL vec<L, T, Q> asinh(vec<L, T, Q> const& x);
182 
192  template<length_t L, typename T, qualifier Q>
193  GLM_FUNC_DECL vec<L, T, Q> acosh(vec<L, T, Q> const& x);
194 
204  template<length_t L, typename T, qualifier Q>
205  GLM_FUNC_DECL vec<L, T, Q> atanh(vec<L, T, Q> const& x);
206 
208 }//namespace glm
209 
210 #include "detail/func_trigonometric.inl"
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > degrees(vec< L, T, Q > const &radians)
Converts radians to degrees and returns the result.
GLM_FUNC_DECL vec< L, T, Q > cosh(vec< L, T, Q > const &angle)
Returns the hyperbolic cosine function, (exp(x) + exp(-x)) / 2.
GLM_FUNC_DECL vec< L, T, Q > acos(vec< L, T, Q > const &x)
Arc cosine.
GLM_FUNC_DECL vec< L, T, Q > sin(vec< L, T, Q > const &angle)
The standard trigonometric sine function.
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > radians(vec< L, T, Q > const &degrees)
Converts degrees to radians and returns the result.
GLM_FUNC_DECL T angle(qua< T, Q > const &x)
Returns the quaternion rotation angle.
GLM_FUNC_DECL vec< L, T, Q > asin(vec< L, T, Q > const &x)
Arc sine.
GLM_FUNC_DECL vec< L, T, Q > tanh(vec< L, T, Q > const &angle)
Returns the hyperbolic tangent function, sinh(angle) / cosh(angle)
GLM_FUNC_DECL vec< L, T, Q > sinh(vec< L, T, Q > const &angle)
Returns the hyperbolic sine function, (exp(x) - exp(-x)) / 2.
GLM_FUNC_DECL vec< L, T, Q > asinh(vec< L, T, Q > const &x)
Arc hyperbolic sine; returns the inverse of sinh.
GLM_FUNC_DECL vec< L, T, Q > atanh(vec< L, T, Q > const &x)
Arc hyperbolic tangent; returns the inverse of tanh.
GLM_FUNC_DECL vec< L, T, Q > cos(vec< L, T, Q > const &angle)
The standard trigonometric cosine function.
GLM_FUNC_DECL vec< L, T, Q > atan(vec< L, T, Q > const &y_over_x)
Arc tangent.
GLM_FUNC_DECL vec< L, T, Q > acosh(vec< L, T, Q > const &x)
Arc hyperbolic cosine; returns the non-negative inverse of cosh.
GLM_FUNC_DECL vec< L, T, Q > tan(vec< L, T, Q > const &angle)
The standard trigonometric tangent function.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00161.html ================================================ 0.9.9 API documentation: type_aligned.hpp File Reference
0.9.9 API documentation
gtc/type_aligned.hpp File Reference

GLM_GTC_type_aligned More...

Go to the source code of this file.

Typedefs

typedef aligned_highp_bvec1 aligned_bvec1
 1 component vector aligned in memory of bool values.
 
typedef aligned_highp_bvec2 aligned_bvec2
 2 components vector aligned in memory of bool values.
 
typedef aligned_highp_bvec3 aligned_bvec3
 3 components vector aligned in memory of bool values.
 
typedef aligned_highp_bvec4 aligned_bvec4
 4 components vector aligned in memory of bool values.
 
typedef aligned_highp_dmat2 aligned_dmat2
 2 by 2 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat2x2 aligned_dmat2x2
 2 by 2 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat2x3 aligned_dmat2x3
 2 by 3 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat2x4 aligned_dmat2x4
 2 by 4 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat3 aligned_dmat3
 3 by 3 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat3x2 aligned_dmat3x2
 3 by 2 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat3x3 aligned_dmat3x3
 3 by 3 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat3x4 aligned_dmat3x4
 3 by 4 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat4 aligned_dmat4
 4 by 4 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat4x2 aligned_dmat4x2
 4 by 2 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat4x3 aligned_dmat4x3
 4 by 3 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat4x4 aligned_dmat4x4
 4 by 4 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dvec1 aligned_dvec1
 1 component vector aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dvec2 aligned_dvec2
 2 components vector aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dvec3 aligned_dvec3
 3 components vector aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dvec4 aligned_dvec4
 4 components vector aligned in memory of double-precision floating-point numbers.
 
typedef vec< 1, bool, aligned_highp > aligned_highp_bvec1
 1 component vector aligned in memory of bool values.
 
typedef vec< 2, bool, aligned_highp > aligned_highp_bvec2
 2 components vector aligned in memory of bool values.
 
typedef vec< 3, bool, aligned_highp > aligned_highp_bvec3
 3 components vector aligned in memory of bool values.
 
typedef vec< 4, bool, aligned_highp > aligned_highp_bvec4
 4 components vector aligned in memory of bool values.
 
typedef mat< 2, 2, double, aligned_highp > aligned_highp_dmat2
 2 by 2 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, aligned_highp > aligned_highp_dmat2x2
 2 by 2 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, double, aligned_highp > aligned_highp_dmat2x3
 2 by 3 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, double, aligned_highp > aligned_highp_dmat2x4
 2 by 4 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, aligned_highp > aligned_highp_dmat3
 3 by 3 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, double, aligned_highp > aligned_highp_dmat3x2
 3 by 2 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, aligned_highp > aligned_highp_dmat3x3
 3 by 3 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, double, aligned_highp > aligned_highp_dmat3x4
 3 by 4 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, aligned_highp > aligned_highp_dmat4
 4 by 4 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, double, aligned_highp > aligned_highp_dmat4x2
 4 by 2 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, double, aligned_highp > aligned_highp_dmat4x3
 4 by 3 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, aligned_highp > aligned_highp_dmat4x4
 4 by 4 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 1, double, aligned_highp > aligned_highp_dvec1
 1 component vector aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 2, double, aligned_highp > aligned_highp_dvec2
 2 components vector aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 3, double, aligned_highp > aligned_highp_dvec3
 3 components vector aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 4, double, aligned_highp > aligned_highp_dvec4
 4 components vector aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 1, int, aligned_highp > aligned_highp_ivec1
 1 component vector aligned in memory of signed integer numbers.
 
typedef vec< 2, int, aligned_highp > aligned_highp_ivec2
 2 components vector aligned in memory of signed integer numbers.
 
typedef vec< 3, int, aligned_highp > aligned_highp_ivec3
 3 components vector aligned in memory of signed integer numbers.
 
typedef vec< 4, int, aligned_highp > aligned_highp_ivec4
 4 components vector aligned in memory of signed integer numbers.
 
typedef mat< 2, 2, float, aligned_highp > aligned_highp_mat2
 2 by 2 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, aligned_highp > aligned_highp_mat2x2
 2 by 2 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, float, aligned_highp > aligned_highp_mat2x3
 2 by 3 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, float, aligned_highp > aligned_highp_mat2x4
 2 by 4 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, aligned_highp > aligned_highp_mat3
 3 by 3 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, float, aligned_highp > aligned_highp_mat3x2
 3 by 2 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, aligned_highp > aligned_highp_mat3x3
 3 by 3 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, float, aligned_highp > aligned_highp_mat3x4
 3 by 4 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, aligned_highp > aligned_highp_mat4
 4 by 4 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, float, aligned_highp > aligned_highp_mat4x2
 4 by 2 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, float, aligned_highp > aligned_highp_mat4x3
 4 by 3 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, aligned_highp > aligned_highp_mat4x4
 4 by 4 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 1, uint, aligned_highp > aligned_highp_uvec1
 1 component vector aligned in memory of unsigned integer numbers.
 
typedef vec< 2, uint, aligned_highp > aligned_highp_uvec2
 2 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 3, uint, aligned_highp > aligned_highp_uvec3
 3 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 4, uint, aligned_highp > aligned_highp_uvec4
 4 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 1, float, aligned_highp > aligned_highp_vec1
 1 component vector aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 2, float, aligned_highp > aligned_highp_vec2
 2 components vector aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 3, float, aligned_highp > aligned_highp_vec3
 3 components vector aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 4, float, aligned_highp > aligned_highp_vec4
 4 components vector aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef aligned_highp_ivec1 aligned_ivec1
 1 component vector aligned in memory of signed integer numbers.
 
typedef aligned_highp_ivec2 aligned_ivec2
 2 components vector aligned in memory of signed integer numbers.
 
typedef aligned_highp_ivec3 aligned_ivec3
 3 components vector aligned in memory of signed integer numbers.
 
typedef aligned_highp_ivec4 aligned_ivec4
 4 components vector aligned in memory of signed integer numbers.
 
typedef vec< 1, bool, aligned_lowp > aligned_lowp_bvec1
 1 component vector aligned in memory of bool values.
 
typedef vec< 2, bool, aligned_lowp > aligned_lowp_bvec2
 2 components vector aligned in memory of bool values.
 
typedef vec< 3, bool, aligned_lowp > aligned_lowp_bvec3
 3 components vector aligned in memory of bool values.
 
typedef vec< 4, bool, aligned_lowp > aligned_lowp_bvec4
 4 components vector aligned in memory of bool values.
 
typedef mat< 2, 2, double, aligned_lowp > aligned_lowp_dmat2
 2 by 2 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, aligned_lowp > aligned_lowp_dmat2x2
 2 by 2 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, double, aligned_lowp > aligned_lowp_dmat2x3
 2 by 3 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, double, aligned_lowp > aligned_lowp_dmat2x4
 2 by 4 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, aligned_lowp > aligned_lowp_dmat3
 3 by 3 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, double, aligned_lowp > aligned_lowp_dmat3x2
 3 by 2 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, aligned_lowp > aligned_lowp_dmat3x3
 3 by 3 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, double, aligned_lowp > aligned_lowp_dmat3x4
 3 by 4 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, aligned_lowp > aligned_lowp_dmat4
 4 by 4 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, double, aligned_lowp > aligned_lowp_dmat4x2
 4 by 2 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, double, aligned_lowp > aligned_lowp_dmat4x3
 4 by 3 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, aligned_lowp > aligned_lowp_dmat4x4
 4 by 4 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 1, double, aligned_lowp > aligned_lowp_dvec1
 1 component vector aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 2, double, aligned_lowp > aligned_lowp_dvec2
 2 components vector aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 3, double, aligned_lowp > aligned_lowp_dvec3
 3 components vector aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 4, double, aligned_lowp > aligned_lowp_dvec4
 4 components vector aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 1, int, aligned_lowp > aligned_lowp_ivec1
 1 component vector aligned in memory of signed integer numbers.
 
typedef vec< 2, int, aligned_lowp > aligned_lowp_ivec2
 2 components vector aligned in memory of signed integer numbers.
 
typedef vec< 3, int, aligned_lowp > aligned_lowp_ivec3
 3 components vector aligned in memory of signed integer numbers.
 
typedef vec< 4, int, aligned_lowp > aligned_lowp_ivec4
 4 components vector aligned in memory of signed integer numbers.
 
typedef mat< 2, 2, float, aligned_lowp > aligned_lowp_mat2
 2 by 2 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, aligned_lowp > aligned_lowp_mat2x2
 2 by 2 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, float, aligned_lowp > aligned_lowp_mat2x3
 2 by 3 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, float, aligned_lowp > aligned_lowp_mat2x4
 2 by 4 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, aligned_lowp > aligned_lowp_mat3
 3 by 3 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, float, aligned_lowp > aligned_lowp_mat3x2
 3 by 2 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, aligned_lowp > aligned_lowp_mat3x3
 3 by 3 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, float, aligned_lowp > aligned_lowp_mat3x4
 3 by 4 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, aligned_lowp > aligned_lowp_mat4
 4 by 4 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, float, aligned_lowp > aligned_lowp_mat4x2
 4 by 2 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, float, aligned_lowp > aligned_lowp_mat4x3
 4 by 3 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, aligned_lowp > aligned_lowp_mat4x4
 4 by 4 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 1, uint, aligned_lowp > aligned_lowp_uvec1
 1 component vector aligned in memory of unsigned integer numbers.
 
typedef vec< 2, uint, aligned_lowp > aligned_lowp_uvec2
 2 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 3, uint, aligned_lowp > aligned_lowp_uvec3
 3 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 4, uint, aligned_lowp > aligned_lowp_uvec4
 4 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 1, float, aligned_lowp > aligned_lowp_vec1
 1 component vector aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 2, float, aligned_lowp > aligned_lowp_vec2
 2 components vector aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 3, float, aligned_lowp > aligned_lowp_vec3
 3 components vector aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 4, float, aligned_lowp > aligned_lowp_vec4
 4 components vector aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef aligned_highp_mat2 aligned_mat2
 2 by 2 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat2x2 aligned_mat2x2
 2 by 2 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat2x3 aligned_mat2x3
 2 by 3 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat2x4 aligned_mat2x4
 2 by 4 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat3 aligned_mat3
 3 by 3 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat3x2 aligned_mat3x2
 3 by 2 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat3x3 aligned_mat3x3
 3 by 3 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat3x4 aligned_mat3x4
 3 by 4 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat4 aligned_mat4
 4 by 4 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat4x2 aligned_mat4x2
 4 by 2 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat4x3 aligned_mat4x3
 4 by 3 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat4x4 aligned_mat4x4
 4 by 4 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef vec< 1, bool, aligned_mediump > aligned_mediump_bvec1
 1 component vector aligned in memory of bool values.
 
typedef vec< 2, bool, aligned_mediump > aligned_mediump_bvec2
 2 components vector aligned in memory of bool values.
 
typedef vec< 3, bool, aligned_mediump > aligned_mediump_bvec3
 3 components vector aligned in memory of bool values.
 
typedef vec< 4, bool, aligned_mediump > aligned_mediump_bvec4
 4 components vector aligned in memory of bool values.
 
typedef mat< 2, 2, double, aligned_mediump > aligned_mediump_dmat2
 2 by 2 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, aligned_mediump > aligned_mediump_dmat2x2
 2 by 2 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, double, aligned_mediump > aligned_mediump_dmat2x3
 2 by 3 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, double, aligned_mediump > aligned_mediump_dmat2x4
 2 by 4 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, aligned_mediump > aligned_mediump_dmat3
 3 by 3 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, double, aligned_mediump > aligned_mediump_dmat3x2
 3 by 2 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, aligned_mediump > aligned_mediump_dmat3x3
 3 by 3 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, double, aligned_mediump > aligned_mediump_dmat3x4
 3 by 4 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, aligned_mediump > aligned_mediump_dmat4
 4 by 4 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, double, aligned_mediump > aligned_mediump_dmat4x2
 4 by 2 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, double, aligned_mediump > aligned_mediump_dmat4x3
 4 by 3 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, aligned_mediump > aligned_mediump_dmat4x4
 4 by 4 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 1, double, aligned_mediump > aligned_mediump_dvec1
 1 component vector aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 2, double, aligned_mediump > aligned_mediump_dvec2
 2 components vector aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 3, double, aligned_mediump > aligned_mediump_dvec3
 3 components vector aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 4, double, aligned_mediump > aligned_mediump_dvec4
 4 components vector aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 1, int, aligned_mediump > aligned_mediump_ivec1
 1 component vector aligned in memory of signed integer numbers.
 
typedef vec< 2, int, aligned_mediump > aligned_mediump_ivec2
 2 components vector aligned in memory of signed integer numbers.
 
typedef vec< 3, int, aligned_mediump > aligned_mediump_ivec3
 3 components vector aligned in memory of signed integer numbers.
 
typedef vec< 4, int, aligned_mediump > aligned_mediump_ivec4
 4 components vector aligned in memory of signed integer numbers.
 
typedef mat< 2, 2, float, aligned_mediump > aligned_mediump_mat2
 2 by 2 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, aligned_mediump > aligned_mediump_mat2x2
 2 by 2 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, float, aligned_mediump > aligned_mediump_mat2x3
 2 by 3 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, float, aligned_mediump > aligned_mediump_mat2x4
 2 by 4 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, aligned_mediump > aligned_mediump_mat3
 3 by 3 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, float, aligned_mediump > aligned_mediump_mat3x2
 3 by 2 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, aligned_mediump > aligned_mediump_mat3x3
 3 by 3 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, float, aligned_mediump > aligned_mediump_mat3x4
 3 by 4 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, aligned_mediump > aligned_mediump_mat4
 4 by 4 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, float, aligned_mediump > aligned_mediump_mat4x2
 4 by 2 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, float, aligned_mediump > aligned_mediump_mat4x3
 4 by 3 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, aligned_mediump > aligned_mediump_mat4x4
 4 by 4 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 1, uint, aligned_mediump > aligned_mediump_uvec1
 1 component vector aligned in memory of unsigned integer numbers.
 
typedef vec< 2, uint, aligned_mediump > aligned_mediump_uvec2
 2 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 3, uint, aligned_mediump > aligned_mediump_uvec3
 3 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 4, uint, aligned_mediump > aligned_mediump_uvec4
 4 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 1, float, aligned_mediump > aligned_mediump_vec1
 1 component vector aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 2, float, aligned_mediump > aligned_mediump_vec2
 2 components vector aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 3, float, aligned_mediump > aligned_mediump_vec3
 3 components vector aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 4, float, aligned_mediump > aligned_mediump_vec4
 4 components vector aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef aligned_highp_uvec1 aligned_uvec1
 1 component vector aligned in memory of unsigned integer numbers.
 
typedef aligned_highp_uvec2 aligned_uvec2
 2 components vector aligned in memory of unsigned integer numbers.
 
typedef aligned_highp_uvec3 aligned_uvec3
 3 components vector aligned in memory of unsigned integer numbers.
 
typedef aligned_highp_uvec4 aligned_uvec4
 4 components vector aligned in memory of unsigned integer numbers.
 
typedef aligned_highp_vec1 aligned_vec1
 1 component vector aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_vec2 aligned_vec2
 2 components vector aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_vec3 aligned_vec3
 3 components vector aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_vec4 aligned_vec4
 4 components vector aligned in memory of single-precision floating-point numbers.
 
typedef packed_highp_bvec1 packed_bvec1
 1 components vector tightly packed in memory of bool values.
 
typedef packed_highp_bvec2 packed_bvec2
 2 components vector tightly packed in memory of bool values.
 
typedef packed_highp_bvec3 packed_bvec3
 3 components vector tightly packed in memory of bool values.
 
typedef packed_highp_bvec4 packed_bvec4
 4 components vector tightly packed in memory of bool values.
 
typedef packed_highp_dmat2 packed_dmat2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat2x2 packed_dmat2x2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat2x3 packed_dmat2x3
 2 by 3 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat2x4 packed_dmat2x4
 2 by 4 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat3 packed_dmat3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat3x2 packed_dmat3x2
 3 by 2 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat3x3 packed_dmat3x3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat3x4 packed_dmat3x4
 3 by 4 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat4 packed_dmat4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat4x2 packed_dmat4x2
 4 by 2 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat4x3 packed_dmat4x3
 4 by 3 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat4x4 packed_dmat4x4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dvec1 packed_dvec1
 1 component vector tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dvec2 packed_dvec2
 2 components vector tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dvec3 packed_dvec3
 3 components vector tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dvec4 packed_dvec4
 4 components vector tightly packed in memory of double-precision floating-point numbers.
 
typedef vec< 1, bool, packed_highp > packed_highp_bvec1
 1 component vector tightly packed in memory of bool values.
 
typedef vec< 2, bool, packed_highp > packed_highp_bvec2
 2 components vector tightly packed in memory of bool values.
 
typedef vec< 3, bool, packed_highp > packed_highp_bvec3
 3 components vector tightly packed in memory of bool values.
 
typedef vec< 4, bool, packed_highp > packed_highp_bvec4
 4 components vector tightly packed in memory of bool values.
 
typedef mat< 2, 2, double, packed_highp > packed_highp_dmat2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, packed_highp > packed_highp_dmat2x2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, double, packed_highp > packed_highp_dmat2x3
 2 by 3 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, double, packed_highp > packed_highp_dmat2x4
 2 by 4 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, packed_highp > packed_highp_dmat3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, double, packed_highp > packed_highp_dmat3x2
 3 by 2 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, packed_highp > packed_highp_dmat3x3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, double, packed_highp > packed_highp_dmat3x4
 3 by 4 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, packed_highp > packed_highp_dmat4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, double, packed_highp > packed_highp_dmat4x2
 4 by 2 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, double, packed_highp > packed_highp_dmat4x3
 4 by 3 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, packed_highp > packed_highp_dmat4x4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 1, double, packed_highp > packed_highp_dvec1
 1 component vector tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 2, double, packed_highp > packed_highp_dvec2
 2 components vector tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 3, double, packed_highp > packed_highp_dvec3
 3 components vector tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 4, double, packed_highp > packed_highp_dvec4
 4 components vector tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 1, int, packed_highp > packed_highp_ivec1
 1 component vector tightly packed in memory of signed integer numbers.
 
typedef vec< 2, int, packed_highp > packed_highp_ivec2
 2 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 3, int, packed_highp > packed_highp_ivec3
 3 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 4, int, packed_highp > packed_highp_ivec4
 4 components vector tightly packed in memory of signed integer numbers.
 
typedef mat< 2, 2, float, packed_highp > packed_highp_mat2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, packed_highp > packed_highp_mat2x2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, float, packed_highp > packed_highp_mat2x3
 2 by 3 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, float, packed_highp > packed_highp_mat2x4
 2 by 4 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, packed_highp > packed_highp_mat3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, float, packed_highp > packed_highp_mat3x2
 3 by 2 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, packed_highp > packed_highp_mat3x3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, float, packed_highp > packed_highp_mat3x4
 3 by 4 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, packed_highp > packed_highp_mat4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, float, packed_highp > packed_highp_mat4x2
 4 by 2 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, float, packed_highp > packed_highp_mat4x3
 4 by 3 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, packed_highp > packed_highp_mat4x4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 1, uint, packed_highp > packed_highp_uvec1
 1 component vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 2, uint, packed_highp > packed_highp_uvec2
 2 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 3, uint, packed_highp > packed_highp_uvec3
 3 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 4, uint, packed_highp > packed_highp_uvec4
 4 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 1, float, packed_highp > packed_highp_vec1
 1 component vector tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 2, float, packed_highp > packed_highp_vec2
 2 components vector tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 3, float, packed_highp > packed_highp_vec3
 3 components vector tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 4, float, packed_highp > packed_highp_vec4
 4 components vector tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef packed_highp_ivec1 packed_ivec1
 1 component vector tightly packed in memory of signed integer numbers.
 
typedef packed_highp_ivec2 packed_ivec2
 2 components vector tightly packed in memory of signed integer numbers.
 
typedef packed_highp_ivec3 packed_ivec3
 3 components vector tightly packed in memory of signed integer numbers.
 
typedef packed_highp_ivec4 packed_ivec4
 4 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 1, bool, packed_lowp > packed_lowp_bvec1
 1 component vector tightly packed in memory of bool values.
 
typedef vec< 2, bool, packed_lowp > packed_lowp_bvec2
 2 components vector tightly packed in memory of bool values.
 
typedef vec< 3, bool, packed_lowp > packed_lowp_bvec3
 3 components vector tightly packed in memory of bool values.
 
typedef vec< 4, bool, packed_lowp > packed_lowp_bvec4
 4 components vector tightly packed in memory of bool values.
 
typedef mat< 2, 2, double, packed_lowp > packed_lowp_dmat2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, packed_lowp > packed_lowp_dmat2x2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, double, packed_lowp > packed_lowp_dmat2x3
 2 by 3 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, double, packed_lowp > packed_lowp_dmat2x4
 2 by 4 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, packed_lowp > packed_lowp_dmat3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, double, packed_lowp > packed_lowp_dmat3x2
 3 by 2 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, packed_lowp > packed_lowp_dmat3x3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, double, packed_lowp > packed_lowp_dmat3x4
 3 by 4 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, packed_lowp > packed_lowp_dmat4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, double, packed_lowp > packed_lowp_dmat4x2
 4 by 2 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, double, packed_lowp > packed_lowp_dmat4x3
 4 by 3 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, packed_lowp > packed_lowp_dmat4x4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 1, double, packed_lowp > packed_lowp_dvec1
 1 component vector tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 2, double, packed_lowp > packed_lowp_dvec2
 2 components vector tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 3, double, packed_lowp > packed_lowp_dvec3
 3 components vector tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 4, double, packed_lowp > packed_lowp_dvec4
 4 components vector tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 1, int, packed_lowp > packed_lowp_ivec1
 1 component vector tightly packed in memory of signed integer numbers.
 
typedef vec< 2, int, packed_lowp > packed_lowp_ivec2
 2 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 3, int, packed_lowp > packed_lowp_ivec3
 3 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 4, int, packed_lowp > packed_lowp_ivec4
 4 components vector tightly packed in memory of signed integer numbers.
 
typedef mat< 2, 2, float, packed_lowp > packed_lowp_mat2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, packed_lowp > packed_lowp_mat2x2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, float, packed_lowp > packed_lowp_mat2x3
 2 by 3 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, float, packed_lowp > packed_lowp_mat2x4
 2 by 4 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, packed_lowp > packed_lowp_mat3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, float, packed_lowp > packed_lowp_mat3x2
 3 by 2 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, packed_lowp > packed_lowp_mat3x3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, float, packed_lowp > packed_lowp_mat3x4
 3 by 4 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, packed_lowp > packed_lowp_mat4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, float, packed_lowp > packed_lowp_mat4x2
 4 by 2 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, float, packed_lowp > packed_lowp_mat4x3
 4 by 3 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, packed_lowp > packed_lowp_mat4x4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 1, uint, packed_lowp > packed_lowp_uvec1
 1 component vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 2, uint, packed_lowp > packed_lowp_uvec2
 2 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 3, uint, packed_lowp > packed_lowp_uvec3
 3 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 4, uint, packed_lowp > packed_lowp_uvec4
 4 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 1, float, packed_lowp > packed_lowp_vec1
 1 component vector tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 2, float, packed_lowp > packed_lowp_vec2
 2 components vector tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 3, float, packed_lowp > packed_lowp_vec3
 3 components vector tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 4, float, packed_lowp > packed_lowp_vec4
 4 components vector tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef packed_highp_mat2 packed_mat2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat2x2 packed_mat2x2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat2x3 packed_mat2x3
 2 by 3 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat2x4 packed_mat2x4
 2 by 4 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat3 packed_mat3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat3x2 packed_mat3x2
 3 by 2 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat3x3 packed_mat3x3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat3x4 packed_mat3x4
 3 by 4 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat4 packed_mat4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat4x2 packed_mat4x2
 4 by 2 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat4x3 packed_mat4x3
 4 by 3 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat4x4 packed_mat4x4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef vec< 1, bool, packed_mediump > packed_mediump_bvec1
 1 component vector tightly packed in memory of bool values.
 
typedef vec< 2, bool, packed_mediump > packed_mediump_bvec2
 2 components vector tightly packed in memory of bool values.
 
typedef vec< 3, bool, packed_mediump > packed_mediump_bvec3
 3 components vector tightly packed in memory of bool values.
 
typedef vec< 4, bool, packed_mediump > packed_mediump_bvec4
 4 components vector tightly packed in memory of bool values.
 
typedef mat< 2, 2, double, packed_mediump > packed_mediump_dmat2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, packed_mediump > packed_mediump_dmat2x2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, double, packed_mediump > packed_mediump_dmat2x3
 2 by 3 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, double, packed_mediump > packed_mediump_dmat2x4
 2 by 4 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, packed_mediump > packed_mediump_dmat3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, double, packed_mediump > packed_mediump_dmat3x2
 3 by 2 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, packed_mediump > packed_mediump_dmat3x3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, double, packed_mediump > packed_mediump_dmat3x4
 3 by 4 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, packed_mediump > packed_mediump_dmat4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, double, packed_mediump > packed_mediump_dmat4x2
 4 by 2 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, double, packed_mediump > packed_mediump_dmat4x3
 4 by 3 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, packed_mediump > packed_mediump_dmat4x4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 1, double, packed_mediump > packed_mediump_dvec1
 1 component vector tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 2, double, packed_mediump > packed_mediump_dvec2
 2 components vector tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 3, double, packed_mediump > packed_mediump_dvec3
 3 components vector tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 4, double, packed_mediump > packed_mediump_dvec4
 4 components vector tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 1, int, packed_mediump > packed_mediump_ivec1
 1 component vector tightly packed in memory of signed integer numbers.
 
typedef vec< 2, int, packed_mediump > packed_mediump_ivec2
 2 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 3, int, packed_mediump > packed_mediump_ivec3
 3 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 4, int, packed_mediump > packed_mediump_ivec4
 4 components vector tightly packed in memory of signed integer numbers.
 
typedef mat< 2, 2, float, packed_mediump > packed_mediump_mat2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, packed_mediump > packed_mediump_mat2x2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, float, packed_mediump > packed_mediump_mat2x3
 2 by 3 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, float, packed_mediump > packed_mediump_mat2x4
 2 by 4 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, packed_mediump > packed_mediump_mat3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, float, packed_mediump > packed_mediump_mat3x2
 3 by 2 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, packed_mediump > packed_mediump_mat3x3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, float, packed_mediump > packed_mediump_mat3x4
 3 by 4 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, packed_mediump > packed_mediump_mat4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, float, packed_mediump > packed_mediump_mat4x2
 4 by 2 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, float, packed_mediump > packed_mediump_mat4x3
 4 by 3 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, packed_mediump > packed_mediump_mat4x4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 1, uint, packed_mediump > packed_mediump_uvec1
 1 component vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 2, uint, packed_mediump > packed_mediump_uvec2
 2 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 3, uint, packed_mediump > packed_mediump_uvec3
 3 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 4, uint, packed_mediump > packed_mediump_uvec4
 4 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 1, float, packed_mediump > packed_mediump_vec1
 1 component vector tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 2, float, packed_mediump > packed_mediump_vec2
 2 components vector tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 3, float, packed_mediump > packed_mediump_vec3
 3 components vector tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 4, float, packed_mediump > packed_mediump_vec4
 4 components vector tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef packed_highp_uvec1 packed_uvec1
 1 component vector tightly packed in memory of unsigned integer numbers.
 
typedef packed_highp_uvec2 packed_uvec2
 2 components vector tightly packed in memory of unsigned integer numbers.
 
typedef packed_highp_uvec3 packed_uvec3
 3 components vector tightly packed in memory of unsigned integer numbers.
 
typedef packed_highp_uvec4 packed_uvec4
 4 components vector tightly packed in memory of unsigned integer numbers.
 
typedef packed_highp_vec1 packed_vec1
 1 component vector tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_vec2 packed_vec2
 2 components vector tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_vec3 packed_vec3
 3 components vector tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_vec4 packed_vec4
 4 components vector tightly packed in memory of single-precision floating-point numbers.
 

Detailed Description

GLM_GTC_type_aligned

See also
Core features (dependence)

Definition in file gtc/type_aligned.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00161_source.html ================================================ 0.9.9 API documentation: type_aligned.hpp Source File
0.9.9 API documentation
gtc/type_aligned.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 #if (GLM_CONFIG_ALIGNED_GENTYPES == GLM_DISABLE)
16 # error "GLM: Aligned gentypes require to enable C++ language extensions. Define GLM_FORCE_ALIGNED_GENTYPES before including GLM headers to use aligned types."
17 #endif
18 
19 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
20 # pragma message("GLM: GLM_GTC_type_aligned extension included")
21 #endif
22 
23 #include "../mat4x4.hpp"
24 #include "../mat4x3.hpp"
25 #include "../mat4x2.hpp"
26 #include "../mat3x4.hpp"
27 #include "../mat3x3.hpp"
28 #include "../mat3x2.hpp"
29 #include "../mat2x4.hpp"
30 #include "../mat2x3.hpp"
31 #include "../mat2x2.hpp"
32 #include "../gtc/vec1.hpp"
33 #include "../vec2.hpp"
34 #include "../vec3.hpp"
35 #include "../vec4.hpp"
36 
37 namespace glm
38 {
41 
42  // -- *vec1 --
43 
45  typedef vec<1, float, aligned_highp> aligned_highp_vec1;
46 
48  typedef vec<1, float, aligned_mediump> aligned_mediump_vec1;
49 
51  typedef vec<1, float, aligned_lowp> aligned_lowp_vec1;
52 
54  typedef vec<1, double, aligned_highp> aligned_highp_dvec1;
55 
57  typedef vec<1, double, aligned_mediump> aligned_mediump_dvec1;
58 
60  typedef vec<1, double, aligned_lowp> aligned_lowp_dvec1;
61 
63  typedef vec<1, int, aligned_highp> aligned_highp_ivec1;
64 
66  typedef vec<1, int, aligned_mediump> aligned_mediump_ivec1;
67 
69  typedef vec<1, int, aligned_lowp> aligned_lowp_ivec1;
70 
72  typedef vec<1, uint, aligned_highp> aligned_highp_uvec1;
73 
75  typedef vec<1, uint, aligned_mediump> aligned_mediump_uvec1;
76 
78  typedef vec<1, uint, aligned_lowp> aligned_lowp_uvec1;
79 
81  typedef vec<1, bool, aligned_highp> aligned_highp_bvec1;
82 
84  typedef vec<1, bool, aligned_mediump> aligned_mediump_bvec1;
85 
87  typedef vec<1, bool, aligned_lowp> aligned_lowp_bvec1;
88 
90  typedef vec<1, float, packed_highp> packed_highp_vec1;
91 
93  typedef vec<1, float, packed_mediump> packed_mediump_vec1;
94 
96  typedef vec<1, float, packed_lowp> packed_lowp_vec1;
97 
99  typedef vec<1, double, packed_highp> packed_highp_dvec1;
100 
102  typedef vec<1, double, packed_mediump> packed_mediump_dvec1;
103 
105  typedef vec<1, double, packed_lowp> packed_lowp_dvec1;
106 
108  typedef vec<1, int, packed_highp> packed_highp_ivec1;
109 
111  typedef vec<1, int, packed_mediump> packed_mediump_ivec1;
112 
114  typedef vec<1, int, packed_lowp> packed_lowp_ivec1;
115 
117  typedef vec<1, uint, packed_highp> packed_highp_uvec1;
118 
120  typedef vec<1, uint, packed_mediump> packed_mediump_uvec1;
121 
123  typedef vec<1, uint, packed_lowp> packed_lowp_uvec1;
124 
126  typedef vec<1, bool, packed_highp> packed_highp_bvec1;
127 
129  typedef vec<1, bool, packed_mediump> packed_mediump_bvec1;
130 
132  typedef vec<1, bool, packed_lowp> packed_lowp_bvec1;
133 
134  // -- *vec2 --
135 
137  typedef vec<2, float, aligned_highp> aligned_highp_vec2;
138 
140  typedef vec<2, float, aligned_mediump> aligned_mediump_vec2;
141 
143  typedef vec<2, float, aligned_lowp> aligned_lowp_vec2;
144 
146  typedef vec<2, double, aligned_highp> aligned_highp_dvec2;
147 
149  typedef vec<2, double, aligned_mediump> aligned_mediump_dvec2;
150 
152  typedef vec<2, double, aligned_lowp> aligned_lowp_dvec2;
153 
155  typedef vec<2, int, aligned_highp> aligned_highp_ivec2;
156 
158  typedef vec<2, int, aligned_mediump> aligned_mediump_ivec2;
159 
161  typedef vec<2, int, aligned_lowp> aligned_lowp_ivec2;
162 
164  typedef vec<2, uint, aligned_highp> aligned_highp_uvec2;
165 
167  typedef vec<2, uint, aligned_mediump> aligned_mediump_uvec2;
168 
170  typedef vec<2, uint, aligned_lowp> aligned_lowp_uvec2;
171 
173  typedef vec<2, bool, aligned_highp> aligned_highp_bvec2;
174 
176  typedef vec<2, bool, aligned_mediump> aligned_mediump_bvec2;
177 
179  typedef vec<2, bool, aligned_lowp> aligned_lowp_bvec2;
180 
182  typedef vec<2, float, packed_highp> packed_highp_vec2;
183 
185  typedef vec<2, float, packed_mediump> packed_mediump_vec2;
186 
188  typedef vec<2, float, packed_lowp> packed_lowp_vec2;
189 
191  typedef vec<2, double, packed_highp> packed_highp_dvec2;
192 
194  typedef vec<2, double, packed_mediump> packed_mediump_dvec2;
195 
197  typedef vec<2, double, packed_lowp> packed_lowp_dvec2;
198 
200  typedef vec<2, int, packed_highp> packed_highp_ivec2;
201 
203  typedef vec<2, int, packed_mediump> packed_mediump_ivec2;
204 
206  typedef vec<2, int, packed_lowp> packed_lowp_ivec2;
207 
209  typedef vec<2, uint, packed_highp> packed_highp_uvec2;
210 
212  typedef vec<2, uint, packed_mediump> packed_mediump_uvec2;
213 
215  typedef vec<2, uint, packed_lowp> packed_lowp_uvec2;
216 
218  typedef vec<2, bool, packed_highp> packed_highp_bvec2;
219 
221  typedef vec<2, bool, packed_mediump> packed_mediump_bvec2;
222 
224  typedef vec<2, bool, packed_lowp> packed_lowp_bvec2;
225 
226  // -- *vec3 --
227 
229  typedef vec<3, float, aligned_highp> aligned_highp_vec3;
230 
232  typedef vec<3, float, aligned_mediump> aligned_mediump_vec3;
233 
235  typedef vec<3, float, aligned_lowp> aligned_lowp_vec3;
236 
238  typedef vec<3, double, aligned_highp> aligned_highp_dvec3;
239 
241  typedef vec<3, double, aligned_mediump> aligned_mediump_dvec3;
242 
244  typedef vec<3, double, aligned_lowp> aligned_lowp_dvec3;
245 
247  typedef vec<3, int, aligned_highp> aligned_highp_ivec3;
248 
250  typedef vec<3, int, aligned_mediump> aligned_mediump_ivec3;
251 
253  typedef vec<3, int, aligned_lowp> aligned_lowp_ivec3;
254 
256  typedef vec<3, uint, aligned_highp> aligned_highp_uvec3;
257 
259  typedef vec<3, uint, aligned_mediump> aligned_mediump_uvec3;
260 
262  typedef vec<3, uint, aligned_lowp> aligned_lowp_uvec3;
263 
265  typedef vec<3, bool, aligned_highp> aligned_highp_bvec3;
266 
268  typedef vec<3, bool, aligned_mediump> aligned_mediump_bvec3;
269 
271  typedef vec<3, bool, aligned_lowp> aligned_lowp_bvec3;
272 
274  typedef vec<3, float, packed_highp> packed_highp_vec3;
275 
277  typedef vec<3, float, packed_mediump> packed_mediump_vec3;
278 
280  typedef vec<3, float, packed_lowp> packed_lowp_vec3;
281 
283  typedef vec<3, double, packed_highp> packed_highp_dvec3;
284 
286  typedef vec<3, double, packed_mediump> packed_mediump_dvec3;
287 
289  typedef vec<3, double, packed_lowp> packed_lowp_dvec3;
290 
292  typedef vec<3, int, packed_highp> packed_highp_ivec3;
293 
295  typedef vec<3, int, packed_mediump> packed_mediump_ivec3;
296 
298  typedef vec<3, int, packed_lowp> packed_lowp_ivec3;
299 
301  typedef vec<3, uint, packed_highp> packed_highp_uvec3;
302 
304  typedef vec<3, uint, packed_mediump> packed_mediump_uvec3;
305 
307  typedef vec<3, uint, packed_lowp> packed_lowp_uvec3;
308 
310  typedef vec<3, bool, packed_highp> packed_highp_bvec3;
311 
313  typedef vec<3, bool, packed_mediump> packed_mediump_bvec3;
314 
316  typedef vec<3, bool, packed_lowp> packed_lowp_bvec3;
317 
318  // -- *vec4 --
319 
321  typedef vec<4, float, aligned_highp> aligned_highp_vec4;
322 
324  typedef vec<4, float, aligned_mediump> aligned_mediump_vec4;
325 
327  typedef vec<4, float, aligned_lowp> aligned_lowp_vec4;
328 
330  typedef vec<4, double, aligned_highp> aligned_highp_dvec4;
331 
333  typedef vec<4, double, aligned_mediump> aligned_mediump_dvec4;
334 
336  typedef vec<4, double, aligned_lowp> aligned_lowp_dvec4;
337 
339  typedef vec<4, int, aligned_highp> aligned_highp_ivec4;
340 
342  typedef vec<4, int, aligned_mediump> aligned_mediump_ivec4;
343 
345  typedef vec<4, int, aligned_lowp> aligned_lowp_ivec4;
346 
348  typedef vec<4, uint, aligned_highp> aligned_highp_uvec4;
349 
351  typedef vec<4, uint, aligned_mediump> aligned_mediump_uvec4;
352 
354  typedef vec<4, uint, aligned_lowp> aligned_lowp_uvec4;
355 
357  typedef vec<4, bool, aligned_highp> aligned_highp_bvec4;
358 
360  typedef vec<4, bool, aligned_mediump> aligned_mediump_bvec4;
361 
363  typedef vec<4, bool, aligned_lowp> aligned_lowp_bvec4;
364 
366  typedef vec<4, float, packed_highp> packed_highp_vec4;
367 
369  typedef vec<4, float, packed_mediump> packed_mediump_vec4;
370 
372  typedef vec<4, float, packed_lowp> packed_lowp_vec4;
373 
375  typedef vec<4, double, packed_highp> packed_highp_dvec4;
376 
378  typedef vec<4, double, packed_mediump> packed_mediump_dvec4;
379 
381  typedef vec<4, double, packed_lowp> packed_lowp_dvec4;
382 
384  typedef vec<4, int, packed_highp> packed_highp_ivec4;
385 
387  typedef vec<4, int, packed_mediump> packed_mediump_ivec4;
388 
390  typedef vec<4, int, packed_lowp> packed_lowp_ivec4;
391 
393  typedef vec<4, uint, packed_highp> packed_highp_uvec4;
394 
396  typedef vec<4, uint, packed_mediump> packed_mediump_uvec4;
397 
399  typedef vec<4, uint, packed_lowp> packed_lowp_uvec4;
400 
402  typedef vec<4, bool, packed_highp> packed_highp_bvec4;
403 
405  typedef vec<4, bool, packed_mediump> packed_mediump_bvec4;
406 
408  typedef vec<4, bool, packed_lowp> packed_lowp_bvec4;
409 
410  // -- *mat2 --
411 
413  typedef mat<2, 2, float, aligned_highp> aligned_highp_mat2;
414 
416  typedef mat<2, 2, float, aligned_mediump> aligned_mediump_mat2;
417 
419  typedef mat<2, 2, float, aligned_lowp> aligned_lowp_mat2;
420 
422  typedef mat<2, 2, double, aligned_highp> aligned_highp_dmat2;
423 
425  typedef mat<2, 2, double, aligned_mediump> aligned_mediump_dmat2;
426 
428  typedef mat<2, 2, double, aligned_lowp> aligned_lowp_dmat2;
429 
431  typedef mat<2, 2, float, packed_highp> packed_highp_mat2;
432 
434  typedef mat<2, 2, float, packed_mediump> packed_mediump_mat2;
435 
437  typedef mat<2, 2, float, packed_lowp> packed_lowp_mat2;
438 
440  typedef mat<2, 2, double, packed_highp> packed_highp_dmat2;
441 
443  typedef mat<2, 2, double, packed_mediump> packed_mediump_dmat2;
444 
446  typedef mat<2, 2, double, packed_lowp> packed_lowp_dmat2;
447 
448  // -- *mat3 --
449 
451  typedef mat<3, 3, float, aligned_highp> aligned_highp_mat3;
452 
454  typedef mat<3, 3, float, aligned_mediump> aligned_mediump_mat3;
455 
457  typedef mat<3, 3, float, aligned_lowp> aligned_lowp_mat3;
458 
460  typedef mat<3, 3, double, aligned_highp> aligned_highp_dmat3;
461 
463  typedef mat<3, 3, double, aligned_mediump> aligned_mediump_dmat3;
464 
466  typedef mat<3, 3, double, aligned_lowp> aligned_lowp_dmat3;
467 
469  typedef mat<3, 3, float, packed_highp> packed_highp_mat3;
470 
472  typedef mat<3, 3, float, packed_mediump> packed_mediump_mat3;
473 
475  typedef mat<3, 3, float, packed_lowp> packed_lowp_mat3;
476 
478  typedef mat<3, 3, double, packed_highp> packed_highp_dmat3;
479 
481  typedef mat<3, 3, double, packed_mediump> packed_mediump_dmat3;
482 
484  typedef mat<3, 3, double, packed_lowp> packed_lowp_dmat3;
485 
486  // -- *mat4 --
487 
489  typedef mat<4, 4, float, aligned_highp> aligned_highp_mat4;
490 
492  typedef mat<4, 4, float, aligned_mediump> aligned_mediump_mat4;
493 
495  typedef mat<4, 4, float, aligned_lowp> aligned_lowp_mat4;
496 
498  typedef mat<4, 4, double, aligned_highp> aligned_highp_dmat4;
499 
501  typedef mat<4, 4, double, aligned_mediump> aligned_mediump_dmat4;
502 
504  typedef mat<4, 4, double, aligned_lowp> aligned_lowp_dmat4;
505 
507  typedef mat<4, 4, float, packed_highp> packed_highp_mat4;
508 
510  typedef mat<4, 4, float, packed_mediump> packed_mediump_mat4;
511 
513  typedef mat<4, 4, float, packed_lowp> packed_lowp_mat4;
514 
516  typedef mat<4, 4, double, packed_highp> packed_highp_dmat4;
517 
519  typedef mat<4, 4, double, packed_mediump> packed_mediump_dmat4;
520 
522  typedef mat<4, 4, double, packed_lowp> packed_lowp_dmat4;
523 
524  // -- *mat2x2 --
525 
527  typedef mat<2, 2, float, aligned_highp> aligned_highp_mat2x2;
528 
530  typedef mat<2, 2, float, aligned_mediump> aligned_mediump_mat2x2;
531 
533  typedef mat<2, 2, float, aligned_lowp> aligned_lowp_mat2x2;
534 
536  typedef mat<2, 2, double, aligned_highp> aligned_highp_dmat2x2;
537 
539  typedef mat<2, 2, double, aligned_mediump> aligned_mediump_dmat2x2;
540 
542  typedef mat<2, 2, double, aligned_lowp> aligned_lowp_dmat2x2;
543 
545  typedef mat<2, 2, float, packed_highp> packed_highp_mat2x2;
546 
548  typedef mat<2, 2, float, packed_mediump> packed_mediump_mat2x2;
549 
551  typedef mat<2, 2, float, packed_lowp> packed_lowp_mat2x2;
552 
554  typedef mat<2, 2, double, packed_highp> packed_highp_dmat2x2;
555 
557  typedef mat<2, 2, double, packed_mediump> packed_mediump_dmat2x2;
558 
560  typedef mat<2, 2, double, packed_lowp> packed_lowp_dmat2x2;
561 
562  // -- *mat2x3 --
563 
565  typedef mat<2, 3, float, aligned_highp> aligned_highp_mat2x3;
566 
568  typedef mat<2, 3, float, aligned_mediump> aligned_mediump_mat2x3;
569 
571  typedef mat<2, 3, float, aligned_lowp> aligned_lowp_mat2x3;
572 
574  typedef mat<2, 3, double, aligned_highp> aligned_highp_dmat2x3;
575 
577  typedef mat<2, 3, double, aligned_mediump> aligned_mediump_dmat2x3;
578 
580  typedef mat<2, 3, double, aligned_lowp> aligned_lowp_dmat2x3;
581 
583  typedef mat<2, 3, float, packed_highp> packed_highp_mat2x3;
584 
586  typedef mat<2, 3, float, packed_mediump> packed_mediump_mat2x3;
587 
589  typedef mat<2, 3, float, packed_lowp> packed_lowp_mat2x3;
590 
592  typedef mat<2, 3, double, packed_highp> packed_highp_dmat2x3;
593 
595  typedef mat<2, 3, double, packed_mediump> packed_mediump_dmat2x3;
596 
598  typedef mat<2, 3, double, packed_lowp> packed_lowp_dmat2x3;
599 
600  // -- *mat2x4 --
601 
603  typedef mat<2, 4, float, aligned_highp> aligned_highp_mat2x4;
604 
606  typedef mat<2, 4, float, aligned_mediump> aligned_mediump_mat2x4;
607 
609  typedef mat<2, 4, float, aligned_lowp> aligned_lowp_mat2x4;
610 
612  typedef mat<2, 4, double, aligned_highp> aligned_highp_dmat2x4;
613 
615  typedef mat<2, 4, double, aligned_mediump> aligned_mediump_dmat2x4;
616 
618  typedef mat<2, 4, double, aligned_lowp> aligned_lowp_dmat2x4;
619 
621  typedef mat<2, 4, float, packed_highp> packed_highp_mat2x4;
622 
624  typedef mat<2, 4, float, packed_mediump> packed_mediump_mat2x4;
625 
627  typedef mat<2, 4, float, packed_lowp> packed_lowp_mat2x4;
628 
630  typedef mat<2, 4, double, packed_highp> packed_highp_dmat2x4;
631 
633  typedef mat<2, 4, double, packed_mediump> packed_mediump_dmat2x4;
634 
636  typedef mat<2, 4, double, packed_lowp> packed_lowp_dmat2x4;
637 
638  // -- *mat3x2 --
639 
641  typedef mat<3, 2, float, aligned_highp> aligned_highp_mat3x2;
642 
644  typedef mat<3, 2, float, aligned_mediump> aligned_mediump_mat3x2;
645 
647  typedef mat<3, 2, float, aligned_lowp> aligned_lowp_mat3x2;
648 
650  typedef mat<3, 2, double, aligned_highp> aligned_highp_dmat3x2;
651 
653  typedef mat<3, 2, double, aligned_mediump> aligned_mediump_dmat3x2;
654 
656  typedef mat<3, 2, double, aligned_lowp> aligned_lowp_dmat3x2;
657 
659  typedef mat<3, 2, float, packed_highp> packed_highp_mat3x2;
660 
662  typedef mat<3, 2, float, packed_mediump> packed_mediump_mat3x2;
663 
665  typedef mat<3, 2, float, packed_lowp> packed_lowp_mat3x2;
666 
668  typedef mat<3, 2, double, packed_highp> packed_highp_dmat3x2;
669 
671  typedef mat<3, 2, double, packed_mediump> packed_mediump_dmat3x2;
672 
674  typedef mat<3, 2, double, packed_lowp> packed_lowp_dmat3x2;
675 
676  // -- *mat3x3 --
677 
679  typedef mat<3, 3, float, aligned_highp> aligned_highp_mat3x3;
680 
682  typedef mat<3, 3, float, aligned_mediump> aligned_mediump_mat3x3;
683 
685  typedef mat<3, 3, float, aligned_lowp> aligned_lowp_mat3x3;
686 
688  typedef mat<3, 3, double, aligned_highp> aligned_highp_dmat3x3;
689 
691  typedef mat<3, 3, double, aligned_mediump> aligned_mediump_dmat3x3;
692 
694  typedef mat<3, 3, double, aligned_lowp> aligned_lowp_dmat3x3;
695 
697  typedef mat<3, 3, float, packed_highp> packed_highp_mat3x3;
698 
700  typedef mat<3, 3, float, packed_mediump> packed_mediump_mat3x3;
701 
703  typedef mat<3, 3, float, packed_lowp> packed_lowp_mat3x3;
704 
706  typedef mat<3, 3, double, packed_highp> packed_highp_dmat3x3;
707 
709  typedef mat<3, 3, double, packed_mediump> packed_mediump_dmat3x3;
710 
712  typedef mat<3, 3, double, packed_lowp> packed_lowp_dmat3x3;
713 
714  // -- *mat3x4 --
715 
717  typedef mat<3, 4, float, aligned_highp> aligned_highp_mat3x4;
718 
720  typedef mat<3, 4, float, aligned_mediump> aligned_mediump_mat3x4;
721 
723  typedef mat<3, 4, float, aligned_lowp> aligned_lowp_mat3x4;
724 
726  typedef mat<3, 4, double, aligned_highp> aligned_highp_dmat3x4;
727 
729  typedef mat<3, 4, double, aligned_mediump> aligned_mediump_dmat3x4;
730 
732  typedef mat<3, 4, double, aligned_lowp> aligned_lowp_dmat3x4;
733 
735  typedef mat<3, 4, float, packed_highp> packed_highp_mat3x4;
736 
738  typedef mat<3, 4, float, packed_mediump> packed_mediump_mat3x4;
739 
741  typedef mat<3, 4, float, packed_lowp> packed_lowp_mat3x4;
742 
744  typedef mat<3, 4, double, packed_highp> packed_highp_dmat3x4;
745 
747  typedef mat<3, 4, double, packed_mediump> packed_mediump_dmat3x4;
748 
750  typedef mat<3, 4, double, packed_lowp> packed_lowp_dmat3x4;
751 
752  // -- *mat4x2 --
753 
755  typedef mat<4, 2, float, aligned_highp> aligned_highp_mat4x2;
756 
758  typedef mat<4, 2, float, aligned_mediump> aligned_mediump_mat4x2;
759 
761  typedef mat<4, 2, float, aligned_lowp> aligned_lowp_mat4x2;
762 
764  typedef mat<4, 2, double, aligned_highp> aligned_highp_dmat4x2;
765 
767  typedef mat<4, 2, double, aligned_mediump> aligned_mediump_dmat4x2;
768 
770  typedef mat<4, 2, double, aligned_lowp> aligned_lowp_dmat4x2;
771 
773  typedef mat<4, 2, float, packed_highp> packed_highp_mat4x2;
774 
776  typedef mat<4, 2, float, packed_mediump> packed_mediump_mat4x2;
777 
779  typedef mat<4, 2, float, packed_lowp> packed_lowp_mat4x2;
780 
782  typedef mat<4, 2, double, packed_highp> packed_highp_dmat4x2;
783 
785  typedef mat<4, 2, double, packed_mediump> packed_mediump_dmat4x2;
786 
788  typedef mat<4, 2, double, packed_lowp> packed_lowp_dmat4x2;
789 
790  // -- *mat4x3 --
791 
793  typedef mat<4, 3, float, aligned_highp> aligned_highp_mat4x3;
794 
796  typedef mat<4, 3, float, aligned_mediump> aligned_mediump_mat4x3;
797 
799  typedef mat<4, 3, float, aligned_lowp> aligned_lowp_mat4x3;
800 
802  typedef mat<4, 3, double, aligned_highp> aligned_highp_dmat4x3;
803 
805  typedef mat<4, 3, double, aligned_mediump> aligned_mediump_dmat4x3;
806 
808  typedef mat<4, 3, double, aligned_lowp> aligned_lowp_dmat4x3;
809 
811  typedef mat<4, 3, float, packed_highp> packed_highp_mat4x3;
812 
814  typedef mat<4, 3, float, packed_mediump> packed_mediump_mat4x3;
815 
817  typedef mat<4, 3, float, packed_lowp> packed_lowp_mat4x3;
818 
820  typedef mat<4, 3, double, packed_highp> packed_highp_dmat4x3;
821 
823  typedef mat<4, 3, double, packed_mediump> packed_mediump_dmat4x3;
824 
826  typedef mat<4, 3, double, packed_lowp> packed_lowp_dmat4x3;
827 
828  // -- *mat4x4 --
829 
831  typedef mat<4, 4, float, aligned_highp> aligned_highp_mat4x4;
832 
834  typedef mat<4, 4, float, aligned_mediump> aligned_mediump_mat4x4;
835 
837  typedef mat<4, 4, float, aligned_lowp> aligned_lowp_mat4x4;
838 
840  typedef mat<4, 4, double, aligned_highp> aligned_highp_dmat4x4;
841 
843  typedef mat<4, 4, double, aligned_mediump> aligned_mediump_dmat4x4;
844 
846  typedef mat<4, 4, double, aligned_lowp> aligned_lowp_dmat4x4;
847 
849  typedef mat<4, 4, float, packed_highp> packed_highp_mat4x4;
850 
852  typedef mat<4, 4, float, packed_mediump> packed_mediump_mat4x4;
853 
855  typedef mat<4, 4, float, packed_lowp> packed_lowp_mat4x4;
856 
858  typedef mat<4, 4, double, packed_highp> packed_highp_dmat4x4;
859 
861  typedef mat<4, 4, double, packed_mediump> packed_mediump_dmat4x4;
862 
864  typedef mat<4, 4, double, packed_lowp> packed_lowp_dmat4x4;
865 
866  // -- default --
867 
868 #if(defined(GLM_PRECISION_LOWP_FLOAT))
869  typedef aligned_lowp_vec1 aligned_vec1;
870  typedef aligned_lowp_vec2 aligned_vec2;
871  typedef aligned_lowp_vec3 aligned_vec3;
872  typedef aligned_lowp_vec4 aligned_vec4;
873  typedef packed_lowp_vec1 packed_vec1;
874  typedef packed_lowp_vec2 packed_vec2;
875  typedef packed_lowp_vec3 packed_vec3;
876  typedef packed_lowp_vec4 packed_vec4;
877 
878  typedef aligned_lowp_mat2 aligned_mat2;
879  typedef aligned_lowp_mat3 aligned_mat3;
880  typedef aligned_lowp_mat4 aligned_mat4;
881  typedef packed_lowp_mat2 packed_mat2;
882  typedef packed_lowp_mat3 packed_mat3;
883  typedef packed_lowp_mat4 packed_mat4;
884 
885  typedef aligned_lowp_mat2x2 aligned_mat2x2;
886  typedef aligned_lowp_mat2x3 aligned_mat2x3;
887  typedef aligned_lowp_mat2x4 aligned_mat2x4;
888  typedef aligned_lowp_mat3x2 aligned_mat3x2;
889  typedef aligned_lowp_mat3x3 aligned_mat3x3;
890  typedef aligned_lowp_mat3x4 aligned_mat3x4;
891  typedef aligned_lowp_mat4x2 aligned_mat4x2;
892  typedef aligned_lowp_mat4x3 aligned_mat4x3;
893  typedef aligned_lowp_mat4x4 aligned_mat4x4;
894  typedef packed_lowp_mat2x2 packed_mat2x2;
895  typedef packed_lowp_mat2x3 packed_mat2x3;
896  typedef packed_lowp_mat2x4 packed_mat2x4;
897  typedef packed_lowp_mat3x2 packed_mat3x2;
898  typedef packed_lowp_mat3x3 packed_mat3x3;
899  typedef packed_lowp_mat3x4 packed_mat3x4;
900  typedef packed_lowp_mat4x2 packed_mat4x2;
901  typedef packed_lowp_mat4x3 packed_mat4x3;
902  typedef packed_lowp_mat4x4 packed_mat4x4;
903 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
904  typedef aligned_mediump_vec1 aligned_vec1;
905  typedef aligned_mediump_vec2 aligned_vec2;
906  typedef aligned_mediump_vec3 aligned_vec3;
907  typedef aligned_mediump_vec4 aligned_vec4;
908  typedef packed_mediump_vec1 packed_vec1;
909  typedef packed_mediump_vec2 packed_vec2;
910  typedef packed_mediump_vec3 packed_vec3;
911  typedef packed_mediump_vec4 packed_vec4;
912 
913  typedef aligned_mediump_mat2 aligned_mat2;
914  typedef aligned_mediump_mat3 aligned_mat3;
915  typedef aligned_mediump_mat4 aligned_mat4;
916  typedef packed_mediump_mat2 packed_mat2;
917  typedef packed_mediump_mat3 packed_mat3;
918  typedef packed_mediump_mat4 packed_mat4;
919 
920  typedef aligned_mediump_mat2x2 aligned_mat2x2;
921  typedef aligned_mediump_mat2x3 aligned_mat2x3;
922  typedef aligned_mediump_mat2x4 aligned_mat2x4;
923  typedef aligned_mediump_mat3x2 aligned_mat3x2;
924  typedef aligned_mediump_mat3x3 aligned_mat3x3;
925  typedef aligned_mediump_mat3x4 aligned_mat3x4;
926  typedef aligned_mediump_mat4x2 aligned_mat4x2;
927  typedef aligned_mediump_mat4x3 aligned_mat4x3;
928  typedef aligned_mediump_mat4x4 aligned_mat4x4;
929  typedef packed_mediump_mat2x2 packed_mat2x2;
930  typedef packed_mediump_mat2x3 packed_mat2x3;
931  typedef packed_mediump_mat2x4 packed_mat2x4;
932  typedef packed_mediump_mat3x2 packed_mat3x2;
933  typedef packed_mediump_mat3x3 packed_mat3x3;
934  typedef packed_mediump_mat3x4 packed_mat3x4;
935  typedef packed_mediump_mat4x2 packed_mat4x2;
936  typedef packed_mediump_mat4x3 packed_mat4x3;
937  typedef packed_mediump_mat4x4 packed_mat4x4;
938 #else //defined(GLM_PRECISION_HIGHP_FLOAT)
939  typedef aligned_highp_vec1 aligned_vec1;
941 
943  typedef aligned_highp_vec2 aligned_vec2;
944 
946  typedef aligned_highp_vec3 aligned_vec3;
947 
949  typedef aligned_highp_vec4 aligned_vec4;
950 
952  typedef packed_highp_vec1 packed_vec1;
953 
955  typedef packed_highp_vec2 packed_vec2;
956 
958  typedef packed_highp_vec3 packed_vec3;
959 
961  typedef packed_highp_vec4 packed_vec4;
962 
964  typedef aligned_highp_mat2 aligned_mat2;
965 
967  typedef aligned_highp_mat3 aligned_mat3;
968 
970  typedef aligned_highp_mat4 aligned_mat4;
971 
973  typedef packed_highp_mat2 packed_mat2;
974 
976  typedef packed_highp_mat3 packed_mat3;
977 
979  typedef packed_highp_mat4 packed_mat4;
980 
982  typedef aligned_highp_mat2x2 aligned_mat2x2;
983 
985  typedef aligned_highp_mat2x3 aligned_mat2x3;
986 
988  typedef aligned_highp_mat2x4 aligned_mat2x4;
989 
991  typedef aligned_highp_mat3x2 aligned_mat3x2;
992 
994  typedef aligned_highp_mat3x3 aligned_mat3x3;
995 
997  typedef aligned_highp_mat3x4 aligned_mat3x4;
998 
1000  typedef aligned_highp_mat4x2 aligned_mat4x2;
1001 
1003  typedef aligned_highp_mat4x3 aligned_mat4x3;
1004 
1006  typedef aligned_highp_mat4x4 aligned_mat4x4;
1007 
1009  typedef packed_highp_mat2x2 packed_mat2x2;
1010 
1012  typedef packed_highp_mat2x3 packed_mat2x3;
1013 
1015  typedef packed_highp_mat2x4 packed_mat2x4;
1016 
1018  typedef packed_highp_mat3x2 packed_mat3x2;
1019 
1021  typedef packed_highp_mat3x3 packed_mat3x3;
1022 
1024  typedef packed_highp_mat3x4 packed_mat3x4;
1025 
1027  typedef packed_highp_mat4x2 packed_mat4x2;
1028 
1030  typedef packed_highp_mat4x3 packed_mat4x3;
1031 
1033  typedef packed_highp_mat4x4 packed_mat4x4;
1034 #endif//GLM_PRECISION
1035 
1036 #if(defined(GLM_PRECISION_LOWP_DOUBLE))
1037  typedef aligned_lowp_dvec1 aligned_dvec1;
1038  typedef aligned_lowp_dvec2 aligned_dvec2;
1039  typedef aligned_lowp_dvec3 aligned_dvec3;
1040  typedef aligned_lowp_dvec4 aligned_dvec4;
1041  typedef packed_lowp_dvec1 packed_dvec1;
1042  typedef packed_lowp_dvec2 packed_dvec2;
1043  typedef packed_lowp_dvec3 packed_dvec3;
1044  typedef packed_lowp_dvec4 packed_dvec4;
1045 
1046  typedef aligned_lowp_dmat2 aligned_dmat2;
1047  typedef aligned_lowp_dmat3 aligned_dmat3;
1048  typedef aligned_lowp_dmat4 aligned_dmat4;
1049  typedef packed_lowp_dmat2 packed_dmat2;
1050  typedef packed_lowp_dmat3 packed_dmat3;
1051  typedef packed_lowp_dmat4 packed_dmat4;
1052 
1053  typedef aligned_lowp_dmat2x2 aligned_dmat2x2;
1054  typedef aligned_lowp_dmat2x3 aligned_dmat2x3;
1055  typedef aligned_lowp_dmat2x4 aligned_dmat2x4;
1056  typedef aligned_lowp_dmat3x2 aligned_dmat3x2;
1057  typedef aligned_lowp_dmat3x3 aligned_dmat3x3;
1058  typedef aligned_lowp_dmat3x4 aligned_dmat3x4;
1059  typedef aligned_lowp_dmat4x2 aligned_dmat4x2;
1060  typedef aligned_lowp_dmat4x3 aligned_dmat4x3;
1061  typedef aligned_lowp_dmat4x4 aligned_dmat4x4;
1062  typedef packed_lowp_dmat2x2 packed_dmat2x2;
1063  typedef packed_lowp_dmat2x3 packed_dmat2x3;
1064  typedef packed_lowp_dmat2x4 packed_dmat2x4;
1065  typedef packed_lowp_dmat3x2 packed_dmat3x2;
1066  typedef packed_lowp_dmat3x3 packed_dmat3x3;
1067  typedef packed_lowp_dmat3x4 packed_dmat3x4;
1068  typedef packed_lowp_dmat4x2 packed_dmat4x2;
1069  typedef packed_lowp_dmat4x3 packed_dmat4x3;
1070  typedef packed_lowp_dmat4x4 packed_dmat4x4;
1071 #elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE))
1072  typedef aligned_mediump_dvec1 aligned_dvec1;
1073  typedef aligned_mediump_dvec2 aligned_dvec2;
1074  typedef aligned_mediump_dvec3 aligned_dvec3;
1075  typedef aligned_mediump_dvec4 aligned_dvec4;
1076  typedef packed_mediump_dvec1 packed_dvec1;
1077  typedef packed_mediump_dvec2 packed_dvec2;
1078  typedef packed_mediump_dvec3 packed_dvec3;
1079  typedef packed_mediump_dvec4 packed_dvec4;
1080 
1081  typedef aligned_mediump_dmat2 aligned_dmat2;
1082  typedef aligned_mediump_dmat3 aligned_dmat3;
1083  typedef aligned_mediump_dmat4 aligned_dmat4;
1084  typedef packed_mediump_dmat2 packed_dmat2;
1085  typedef packed_mediump_dmat3 packed_dmat3;
1086  typedef packed_mediump_dmat4 packed_dmat4;
1087 
1088  typedef aligned_mediump_dmat2x2 aligned_dmat2x2;
1089  typedef aligned_mediump_dmat2x3 aligned_dmat2x3;
1090  typedef aligned_mediump_dmat2x4 aligned_dmat2x4;
1091  typedef aligned_mediump_dmat3x2 aligned_dmat3x2;
1092  typedef aligned_mediump_dmat3x3 aligned_dmat3x3;
1093  typedef aligned_mediump_dmat3x4 aligned_dmat3x4;
1094  typedef aligned_mediump_dmat4x2 aligned_dmat4x2;
1095  typedef aligned_mediump_dmat4x3 aligned_dmat4x3;
1096  typedef aligned_mediump_dmat4x4 aligned_dmat4x4;
1097  typedef packed_mediump_dmat2x2 packed_dmat2x2;
1098  typedef packed_mediump_dmat2x3 packed_dmat2x3;
1099  typedef packed_mediump_dmat2x4 packed_dmat2x4;
1100  typedef packed_mediump_dmat3x2 packed_dmat3x2;
1101  typedef packed_mediump_dmat3x3 packed_dmat3x3;
1102  typedef packed_mediump_dmat3x4 packed_dmat3x4;
1103  typedef packed_mediump_dmat4x2 packed_dmat4x2;
1104  typedef packed_mediump_dmat4x3 packed_dmat4x3;
1105  typedef packed_mediump_dmat4x4 packed_dmat4x4;
1106 #else //defined(GLM_PRECISION_HIGHP_DOUBLE)
1107  typedef aligned_highp_dvec1 aligned_dvec1;
1109 
1111  typedef aligned_highp_dvec2 aligned_dvec2;
1112 
1114  typedef aligned_highp_dvec3 aligned_dvec3;
1115 
1117  typedef aligned_highp_dvec4 aligned_dvec4;
1118 
1120  typedef packed_highp_dvec1 packed_dvec1;
1121 
1123  typedef packed_highp_dvec2 packed_dvec2;
1124 
1126  typedef packed_highp_dvec3 packed_dvec3;
1127 
1129  typedef packed_highp_dvec4 packed_dvec4;
1130 
1132  typedef aligned_highp_dmat2 aligned_dmat2;
1133 
1135  typedef aligned_highp_dmat3 aligned_dmat3;
1136 
1138  typedef aligned_highp_dmat4 aligned_dmat4;
1139 
1141  typedef packed_highp_dmat2 packed_dmat2;
1142 
1144  typedef packed_highp_dmat3 packed_dmat3;
1145 
1147  typedef packed_highp_dmat4 packed_dmat4;
1148 
1150  typedef aligned_highp_dmat2x2 aligned_dmat2x2;
1151 
1153  typedef aligned_highp_dmat2x3 aligned_dmat2x3;
1154 
1156  typedef aligned_highp_dmat2x4 aligned_dmat2x4;
1157 
1159  typedef aligned_highp_dmat3x2 aligned_dmat3x2;
1160 
1162  typedef aligned_highp_dmat3x3 aligned_dmat3x3;
1163 
1165  typedef aligned_highp_dmat3x4 aligned_dmat3x4;
1166 
1168  typedef aligned_highp_dmat4x2 aligned_dmat4x2;
1169 
1171  typedef aligned_highp_dmat4x3 aligned_dmat4x3;
1172 
1174  typedef aligned_highp_dmat4x4 aligned_dmat4x4;
1175 
1177  typedef packed_highp_dmat2x2 packed_dmat2x2;
1178 
1180  typedef packed_highp_dmat2x3 packed_dmat2x3;
1181 
1183  typedef packed_highp_dmat2x4 packed_dmat2x4;
1184 
1186  typedef packed_highp_dmat3x2 packed_dmat3x2;
1187 
1189  typedef packed_highp_dmat3x3 packed_dmat3x3;
1190 
1192  typedef packed_highp_dmat3x4 packed_dmat3x4;
1193 
1195  typedef packed_highp_dmat4x2 packed_dmat4x2;
1196 
1198  typedef packed_highp_dmat4x3 packed_dmat4x3;
1199 
1201  typedef packed_highp_dmat4x4 packed_dmat4x4;
1202 #endif//GLM_PRECISION
1203 
1204 #if(defined(GLM_PRECISION_LOWP_INT))
1205  typedef aligned_lowp_ivec1 aligned_ivec1;
1206  typedef aligned_lowp_ivec2 aligned_ivec2;
1207  typedef aligned_lowp_ivec3 aligned_ivec3;
1208  typedef aligned_lowp_ivec4 aligned_ivec4;
1209 #elif(defined(GLM_PRECISION_MEDIUMP_INT))
1210  typedef aligned_mediump_ivec1 aligned_ivec1;
1211  typedef aligned_mediump_ivec2 aligned_ivec2;
1212  typedef aligned_mediump_ivec3 aligned_ivec3;
1213  typedef aligned_mediump_ivec4 aligned_ivec4;
1214 #else //defined(GLM_PRECISION_HIGHP_INT)
1215  typedef aligned_highp_ivec1 aligned_ivec1;
1217 
1219  typedef aligned_highp_ivec2 aligned_ivec2;
1220 
1222  typedef aligned_highp_ivec3 aligned_ivec3;
1223 
1225  typedef aligned_highp_ivec4 aligned_ivec4;
1226 
1228  typedef packed_highp_ivec1 packed_ivec1;
1229 
1231  typedef packed_highp_ivec2 packed_ivec2;
1232 
1234  typedef packed_highp_ivec3 packed_ivec3;
1235 
1237  typedef packed_highp_ivec4 packed_ivec4;
1238 #endif//GLM_PRECISION
1239 
1240  // -- Unsigned integer definition --
1241 
1242 #if(defined(GLM_PRECISION_LOWP_UINT))
1243  typedef aligned_lowp_uvec1 aligned_uvec1;
1244  typedef aligned_lowp_uvec2 aligned_uvec2;
1245  typedef aligned_lowp_uvec3 aligned_uvec3;
1246  typedef aligned_lowp_uvec4 aligned_uvec4;
1247 #elif(defined(GLM_PRECISION_MEDIUMP_UINT))
1248  typedef aligned_mediump_uvec1 aligned_uvec1;
1249  typedef aligned_mediump_uvec2 aligned_uvec2;
1250  typedef aligned_mediump_uvec3 aligned_uvec3;
1251  typedef aligned_mediump_uvec4 aligned_uvec4;
1252 #else //defined(GLM_PRECISION_HIGHP_UINT)
1253  typedef aligned_highp_uvec1 aligned_uvec1;
1255 
1257  typedef aligned_highp_uvec2 aligned_uvec2;
1258 
1260  typedef aligned_highp_uvec3 aligned_uvec3;
1261 
1263  typedef aligned_highp_uvec4 aligned_uvec4;
1264 
1266  typedef packed_highp_uvec1 packed_uvec1;
1267 
1269  typedef packed_highp_uvec2 packed_uvec2;
1270 
1272  typedef packed_highp_uvec3 packed_uvec3;
1273 
1275  typedef packed_highp_uvec4 packed_uvec4;
1276 #endif//GLM_PRECISION
1277 
1278 #if(defined(GLM_PRECISION_LOWP_BOOL))
1279  typedef aligned_lowp_bvec1 aligned_bvec1;
1280  typedef aligned_lowp_bvec2 aligned_bvec2;
1281  typedef aligned_lowp_bvec3 aligned_bvec3;
1282  typedef aligned_lowp_bvec4 aligned_bvec4;
1283 #elif(defined(GLM_PRECISION_MEDIUMP_BOOL))
1284  typedef aligned_mediump_bvec1 aligned_bvec1;
1285  typedef aligned_mediump_bvec2 aligned_bvec2;
1286  typedef aligned_mediump_bvec3 aligned_bvec3;
1287  typedef aligned_mediump_bvec4 aligned_bvec4;
1288 #else //defined(GLM_PRECISION_HIGHP_BOOL)
1289  typedef aligned_highp_bvec1 aligned_bvec1;
1291 
1293  typedef aligned_highp_bvec2 aligned_bvec2;
1294 
1296  typedef aligned_highp_bvec3 aligned_bvec3;
1297 
1299  typedef aligned_highp_bvec4 aligned_bvec4;
1300 
1302  typedef packed_highp_bvec1 packed_bvec1;
1303 
1305  typedef packed_highp_bvec2 packed_bvec2;
1306 
1308  typedef packed_highp_bvec3 packed_bvec3;
1309 
1311  typedef packed_highp_bvec4 packed_bvec4;
1312 #endif//GLM_PRECISION
1313 
1315 }//namespace glm
packed_highp_uvec3 packed_uvec3
3 components vector tightly packed in memory of unsigned integer numbers.
packed_highp_mat2x2 packed_mat2x2
2 by 2 matrix tightly packed in memory of single-precision floating-point numbers.
mat< 2, 4, float, aligned_lowp > aligned_lowp_mat2x4
2 by 4 matrix aligned in memory of single-precision floating-point numbers using low precision arithm...
vec< 4, bool, aligned_lowp > aligned_lowp_bvec4
4 components vector aligned in memory of bool values.
vec< 4, double, packed_highp > packed_highp_dvec4
4 components vector tightly packed in memory of double-precision floating-point numbers using high pr...
packed_highp_dmat2x3 packed_dmat2x3
2 by 3 matrix tightly packed in memory of double-precision floating-point numbers.
vec< 3, bool, packed_lowp > packed_lowp_bvec3
3 components vector tightly packed in memory of bool values.
packed_highp_mat4 packed_mat4
4 by 4 matrix tightly packed in memory of single-precision floating-point numbers.
aligned_highp_uvec2 aligned_uvec2
2 components vector aligned in memory of unsigned integer numbers.
vec< 2, bool, aligned_lowp > aligned_lowp_bvec2
2 components vector aligned in memory of bool values.
vec< 3, int, packed_highp > packed_highp_ivec3
3 components vector tightly packed in memory of signed integer numbers.
mat< 4, 2, double, packed_highp > packed_highp_dmat4x2
4 by 2 matrix tightly packed in memory of double-precision floating-point numbers using high precisio...
packed_highp_dmat2 packed_dmat2
2 by 2 matrix tightly packed in memory of double-precision floating-point numbers.
mat< 3, 3, double, packed_highp > packed_highp_dmat3
3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using high precisio...
mat< 4, 3, float, aligned_lowp > aligned_lowp_mat4x3
4 by 3 matrix aligned in memory of single-precision floating-point numbers using low precision arithm...
mat< 2, 4, double, packed_highp > packed_highp_dmat2x4
2 by 4 matrix tightly packed in memory of double-precision floating-point numbers using high precisio...
vec< 2, int, aligned_mediump > aligned_mediump_ivec2
2 components vector aligned in memory of signed integer numbers.
mat< 4, 3, float, packed_mediump > packed_mediump_mat4x3
4 by 3 matrix tightly packed in memory of single-precision floating-point numbers using medium precis...
packed_highp_ivec3 packed_ivec3
3 components vector tightly packed in memory of signed integer numbers.
mat< 3, 4, double, aligned_highp > aligned_highp_dmat3x4
3 by 4 matrix aligned in memory of double-precision floating-point numbers using high precision arith...
mat< 3, 3, double, packed_mediump > packed_mediump_dmat3x3
3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using medium precis...
packed_highp_mat2 packed_mat2
2 by 2 matrix tightly packed in memory of single-precision floating-point numbers.
mat< 3, 4, double, packed_lowp > packed_lowp_dmat3x4
3 by 4 matrix tightly packed in memory of double-precision floating-point numbers using low precision...
vec< 2, float, aligned_mediump > aligned_mediump_vec2
2 components vector aligned in memory of single-precision floating-point numbers using medium precisi...
mat< 4, 4, float, aligned_lowp > aligned_lowp_mat4x4
4 by 4 matrix aligned in memory of single-precision floating-point numbers using low precision arithm...
packed_highp_mat3 packed_mat3
3 by 3 matrix tightly packed in memory of single-precision floating-point numbers.
packed_highp_dmat4 packed_dmat4
4 by 4 matrix tightly packed in memory of double-precision floating-point numbers.
packed_highp_vec4 packed_vec4
4 components vector tightly packed in memory of single-precision floating-point numbers.
vec< 4, float, aligned_highp > aligned_highp_vec4
4 components vector aligned in memory of single-precision floating-point numbers using high precision...
mat< 4, 4, double, packed_highp > packed_highp_dmat4x4
4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using high precisio...
vec< 1, double, aligned_mediump > aligned_mediump_dvec1
1 component vector aligned in memory of double-precision floating-point numbers using medium precisio...
mat< 3, 3, double, aligned_highp > aligned_highp_dmat3x3
3 by 3 matrix aligned in memory of double-precision floating-point numbers using high precision arith...
packed_highp_dvec3 packed_dvec3
3 components vector tightly packed in memory of double-precision floating-point numbers.
vec< 1, double, packed_mediump > packed_mediump_dvec1
1 component vector tightly packed in memory of double-precision floating-point numbers using medium p...
packed_highp_uvec1 packed_uvec1
1 component vector tightly packed in memory of unsigned integer numbers.
mat< 3, 4, float, packed_lowp > packed_lowp_mat3x4
3 by 4 matrix tightly packed in memory of single-precision floating-point numbers using low precision...
vec< 1, uint, aligned_lowp > aligned_lowp_uvec1
1 component vector aligned in memory of unsigned integer numbers.
mat< 2, 4, double, packed_lowp > packed_lowp_dmat2x4
2 by 4 matrix tightly packed in memory of double-precision floating-point numbers using low precision...
aligned_highp_ivec3 aligned_ivec3
3 components vector aligned in memory of signed integer numbers.
mat< 3, 4, double, packed_highp > packed_highp_dmat3x4
3 by 4 matrix tightly packed in memory of double-precision floating-point numbers using high precisio...
packed_highp_vec2 packed_vec2
2 components vector tightly packed in memory of single-precision floating-point numbers.
vec< 1, uint, packed_highp > packed_highp_uvec1
1 component vector tightly packed in memory of unsigned integer numbers.
mat< 2, 2, float, packed_lowp > packed_lowp_mat2x2
2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using low precision...
vec< 1, bool, packed_highp > packed_highp_bvec1
1 component vector tightly packed in memory of bool values.
aligned_highp_bvec4 aligned_bvec4
4 components vector aligned in memory of bool values.
aligned_highp_vec3 aligned_vec3
3 components vector aligned in memory of single-precision floating-point numbers. ...
mat< 3, 3, double, packed_lowp > packed_lowp_dmat3x3
3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using low precision...
aligned_highp_uvec3 aligned_uvec3
3 components vector aligned in memory of unsigned integer numbers.
mat< 4, 2, double, aligned_mediump > aligned_mediump_dmat4x2
4 by 2 matrix aligned in memory of double-precision floating-point numbers using medium precision ari...
mat< 3, 3, float, aligned_highp > aligned_highp_mat3
3 by 3 matrix aligned in memory of single-precision floating-point numbers using high precision arith...
vec< 2, uint, packed_mediump > packed_mediump_uvec2
2 components vector tightly packed in memory of unsigned integer numbers.
vec< 3, float, aligned_highp > aligned_highp_vec3
3 components vector aligned in memory of single-precision floating-point numbers using high precision...
aligned_highp_mat4x3 aligned_mat4x3
4 by 3 matrix tightly aligned in memory of single-precision floating-point numbers.
vec< 4, int, aligned_lowp > aligned_lowp_ivec4
4 components vector aligned in memory of signed integer numbers.
mat< 2, 2, float, aligned_highp > aligned_highp_mat2
2 by 2 matrix aligned in memory of single-precision floating-point numbers using high precision arith...
packed_highp_vec1 packed_vec1
1 component vector tightly packed in memory of single-precision floating-point numbers.
vec< 2, int, aligned_lowp > aligned_lowp_ivec2
2 components vector aligned in memory of signed integer numbers.
mat< 4, 2, double, packed_lowp > packed_lowp_dmat4x2
4 by 2 matrix tightly packed in memory of double-precision floating-point numbers using low precision...
aligned_highp_dvec3 aligned_dvec3
3 components vector aligned in memory of double-precision floating-point numbers. ...
vec< 1, float, packed_lowp > packed_lowp_vec1
1 component vector tightly packed in memory of single-precision floating-point numbers using low prec...
vec< 3, bool, packed_mediump > packed_mediump_bvec3
3 components vector tightly packed in memory of bool values.
aligned_highp_dvec1 aligned_dvec1
1 component vector aligned in memory of double-precision floating-point numbers.
packed_highp_uvec4 packed_uvec4
4 components vector tightly packed in memory of unsigned integer numbers.
packed_highp_dmat3 packed_dmat3
3 by 3 matrix tightly packed in memory of double-precision floating-point numbers.
vec< 2, float, aligned_highp > aligned_highp_vec2
2 components vector aligned in memory of single-precision floating-point numbers using high precision...
mat< 2, 2, double, aligned_highp > aligned_highp_dmat2x2
2 by 2 matrix aligned in memory of double-precision floating-point numbers using high precision arith...
vec< 3, uint, aligned_lowp > aligned_lowp_uvec3
3 components vector aligned in memory of unsigned integer numbers.
vec< 1, double, aligned_lowp > aligned_lowp_dvec1
1 component vector aligned in memory of double-precision floating-point numbers using low precision a...
vec< 1, float, aligned_mediump > aligned_mediump_vec1
1 component vector aligned in memory of single-precision floating-point numbers using medium precisio...
mat< 4, 3, double, packed_lowp > packed_lowp_dmat4x3
4 by 3 matrix tightly packed in memory of double-precision floating-point numbers using low precision...
mat< 3, 4, double, aligned_lowp > aligned_lowp_dmat3x4
3 by 4 matrix aligned in memory of double-precision floating-point numbers using low precision arithm...
mat< 4, 2, float, packed_highp > packed_highp_mat4x2
4 by 2 matrix tightly packed in memory of single-precision floating-point numbers using high precisio...
mat< 3, 2, float, aligned_mediump > aligned_mediump_mat3x2
3 by 2 matrix aligned in memory of single-precision floating-point numbers using medium precision ari...
mat< 4, 3, float, aligned_mediump > aligned_mediump_mat4x3
4 by 3 matrix aligned in memory of single-precision floating-point numbers using medium precision ari...
vec< 3, double, aligned_lowp > aligned_lowp_dvec3
3 components vector aligned in memory of double-precision floating-point numbers using low precision ...
mat< 2, 2, float, packed_mediump > packed_mediump_mat2
2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using medium precis...
packed_highp_mat3x3 packed_mat3x3
3 by 3 matrix tightly packed in memory of single-precision floating-point numbers.
vec< 1, double, packed_highp > packed_highp_dvec1
1 component vector tightly packed in memory of double-precision floating-point numbers using high pre...
mat< 3, 2, double, aligned_lowp > aligned_lowp_dmat3x2
3 by 2 matrix aligned in memory of double-precision floating-point numbers using low precision arithm...
mat< 3, 3, float, packed_mediump > packed_mediump_mat3
3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using medium precis...
mat< 2, 2, float, aligned_lowp > aligned_lowp_mat2
2 by 2 matrix aligned in memory of single-precision floating-point numbers using low precision arithm...
packed_highp_dmat4x4 packed_dmat4x4
4 by 4 matrix tightly packed in memory of double-precision floating-point numbers.
mat< 2, 3, double, aligned_lowp > aligned_lowp_dmat2x3
2 by 3 matrix aligned in memory of double-precision floating-point numbers using low precision arithm...
mat< 4, 4, float, packed_lowp > packed_lowp_mat4
4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using low precision...
vec< 1, float, packed_highp > packed_highp_vec1
1 component vector tightly packed in memory of single-precision floating-point numbers using high pre...
mat< 2, 3, float, aligned_mediump > aligned_mediump_mat2x3
2 by 3 matrix aligned in memory of single-precision floating-point numbers using medium precision ari...
mat< 2, 2, float, packed_highp > packed_highp_mat2x2
2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using high precisio...
vec< 2, bool, aligned_mediump > aligned_mediump_bvec2
2 components vector aligned in memory of bool values.
mat< 2, 2, double, packed_lowp > packed_lowp_dmat2
2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using low precision...
mat< 2, 2, double, aligned_mediump > aligned_mediump_dmat2
2 by 2 matrix aligned in memory of double-precision floating-point numbers using medium precision ari...
vec< 4, float, packed_mediump > packed_mediump_vec4
4 components vector tightly packed in memory of single-precision floating-point numbers using medium ...
aligned_highp_dmat4x2 aligned_dmat4x2
4 by 2 matrix tightly aligned in memory of double-precision floating-point numbers.
mat< 4, 4, double, packed_lowp > packed_lowp_dmat4x4
4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using low precision...
mat< 2, 2, double, packed_highp > packed_highp_dmat2x2
2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using high precisio...
mat< 3, 3, float, packed_lowp > packed_lowp_mat3x3
3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using low precision...
mat< 4, 3, float, packed_highp > packed_highp_mat4x3
4 by 3 matrix tightly packed in memory of single-precision floating-point numbers using high precisio...
mat< 3, 3, float, aligned_mediump > aligned_mediump_mat3
3 by 3 matrix aligned in memory of single-precision floating-point numbers using medium precision ari...
mat< 4, 3, double, aligned_highp > aligned_highp_dmat4x3
4 by 3 matrix aligned in memory of double-precision floating-point numbers using high precision arith...
vec< 1, bool, aligned_lowp > aligned_lowp_bvec1
1 component vector aligned in memory of bool values.
aligned_highp_mat2 aligned_mat2
2 by 2 matrix tightly aligned in memory of single-precision floating-point numbers.
mat< 4, 4, double, aligned_mediump > aligned_mediump_dmat4x4
4 by 4 matrix aligned in memory of double-precision floating-point numbers using medium precision ari...
vec< 3, int, aligned_mediump > aligned_mediump_ivec3
3 components vector aligned in memory of signed integer numbers.
aligned_highp_bvec3 aligned_bvec3
3 components vector aligned in memory of bool values.
packed_highp_uvec2 packed_uvec2
2 components vector tightly packed in memory of unsigned integer numbers.
vec< 4, double, aligned_lowp > aligned_lowp_dvec4
4 components vector aligned in memory of double-precision floating-point numbers using low precision ...
mat< 3, 3, double, aligned_lowp > aligned_lowp_dmat3
3 by 3 matrix aligned in memory of double-precision floating-point numbers using low precision arithm...
mat< 4, 4, float, packed_mediump > packed_mediump_mat4x4
4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using medium precis...
vec< 4, uint, aligned_highp > aligned_highp_uvec4
4 components vector aligned in memory of unsigned integer numbers.
mat< 4, 3, double, packed_highp > packed_highp_dmat4x3
4 by 3 matrix tightly packed in memory of double-precision floating-point numbers using high precisio...
mat< 4, 3, float, packed_lowp > packed_lowp_mat4x3
4 by 3 matrix tightly packed in memory of single-precision floating-point numbers using low precision...
vec< 2, float, aligned_lowp > aligned_lowp_vec2
2 components vector aligned in memory of single-precision floating-point numbers using low precision ...
vec< 1, int, packed_lowp > packed_lowp_ivec1
1 component vector tightly packed in memory of signed integer numbers.
vec< 3, bool, aligned_lowp > aligned_lowp_bvec3
3 components vector aligned in memory of bool values.
mat< 4, 4, double, aligned_mediump > aligned_mediump_dmat4
4 by 4 matrix aligned in memory of double-precision floating-point numbers using medium precision ari...
mat< 2, 4, float, packed_mediump > packed_mediump_mat2x4
2 by 4 matrix tightly packed in memory of single-precision floating-point numbers using medium precis...
mat< 4, 4, double, packed_highp > packed_highp_dmat4
4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using high precisio...
mat< 4, 2, float, aligned_mediump > aligned_mediump_mat4x2
4 by 2 matrix aligned in memory of single-precision floating-point numbers using medium precision ari...
mat< 3, 4, float, packed_mediump > packed_mediump_mat3x4
3 by 4 matrix tightly packed in memory of single-precision floating-point numbers using medium precis...
vec< 3, uint, packed_highp > packed_highp_uvec3
3 components vector tightly packed in memory of unsigned integer numbers.
aligned_highp_dmat2x2 aligned_dmat2x2
2 by 2 matrix tightly aligned in memory of double-precision floating-point numbers.
mat< 2, 2, double, packed_mediump > packed_mediump_dmat2
2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using medium precis...
mat< 3, 4, float, packed_highp > packed_highp_mat3x4
3 by 4 matrix tightly packed in memory of single-precision floating-point numbers using high precisio...
packed_highp_mat3x4 packed_mat3x4
3 by 4 matrix tightly packed in memory of single-precision floating-point numbers.
mat< 2, 4, double, packed_mediump > packed_mediump_dmat2x4
2 by 4 matrix tightly packed in memory of double-precision floating-point numbers using medium precis...
vec< 1, uint, packed_mediump > packed_mediump_uvec1
1 component vector tightly packed in memory of unsigned integer numbers.
mat< 4, 4, double, aligned_lowp > aligned_lowp_dmat4
4 by 4 matrix aligned in memory of double-precision floating-point numbers using low precision arithm...
packed_highp_mat4x3 packed_mat4x3
4 by 3 matrix tightly packed in memory of single-precision floating-point numbers.
vec< 4, int, packed_lowp > packed_lowp_ivec4
4 components vector tightly packed in memory of signed integer numbers.
vec< 4, int, packed_mediump > packed_mediump_ivec4
4 components vector tightly packed in memory of signed integer numbers.
vec< 2, double, aligned_mediump > aligned_mediump_dvec2
2 components vector aligned in memory of double-precision floating-point numbers using medium precisi...
packed_highp_ivec2 packed_ivec2
2 components vector tightly packed in memory of signed integer numbers.
aligned_highp_ivec1 aligned_ivec1
1 component vector aligned in memory of signed integer numbers.
vec< 3, int, packed_mediump > packed_mediump_ivec3
3 components vector tightly packed in memory of signed integer numbers.
vec< 3, uint, packed_lowp > packed_lowp_uvec3
3 components vector tightly packed in memory of unsigned integer numbers.
packed_highp_dmat4x2 packed_dmat4x2
4 by 2 matrix tightly packed in memory of double-precision floating-point numbers.
vec< 4, bool, aligned_mediump > aligned_mediump_bvec4
4 components vector aligned in memory of bool values.
vec< 2, bool, aligned_highp > aligned_highp_bvec2
2 components vector aligned in memory of bool values.
vec< 4, float, packed_lowp > packed_lowp_vec4
4 components vector tightly packed in memory of single-precision floating-point numbers using low pre...
vec< 4, double, aligned_highp > aligned_highp_dvec4
4 components vector aligned in memory of double-precision floating-point numbers using high precision...
mat< 2, 3, double, packed_highp > packed_highp_dmat2x3
2 by 3 matrix tightly packed in memory of double-precision floating-point numbers using high precisio...
mat< 2, 2, float, aligned_mediump > aligned_mediump_mat2
2 by 2 matrix aligned in memory of single-precision floating-point numbers using medium precision ari...
mat< 2, 4, double, aligned_mediump > aligned_mediump_dmat2x4
2 by 4 matrix aligned in memory of double-precision floating-point numbers using medium precision ari...
vec< 4, bool, packed_lowp > packed_lowp_bvec4
4 components vector tightly packed in memory of bool values.
vec< 2, double, packed_mediump > packed_mediump_dvec2
2 components vector tightly packed in memory of double-precision floating-point numbers using medium ...
vec< 2, double, aligned_highp > aligned_highp_dvec2
2 components vector aligned in memory of double-precision floating-point numbers using high precision...
mat< 2, 4, double, aligned_lowp > aligned_lowp_dmat2x4
2 by 4 matrix aligned in memory of double-precision floating-point numbers using low precision arithm...
aligned_highp_mat2x3 aligned_mat2x3
2 by 3 matrix tightly aligned in memory of single-precision floating-point numbers.
mat< 2, 2, float, packed_lowp > packed_lowp_mat2
2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using low precision...
vec< 4, int, aligned_mediump > aligned_mediump_ivec4
4 components vector aligned in memory of signed integer numbers.
vec< 2, bool, packed_lowp > packed_lowp_bvec2
2 components vector tightly packed in memory of bool values.
vec< 2, int, packed_highp > packed_highp_ivec2
2 components vector tightly packed in memory of signed integer numbers.
packed_highp_dmat3x4 packed_dmat3x4
3 by 4 matrix tightly packed in memory of double-precision floating-point numbers.
mat< 3, 3, double, packed_mediump > packed_mediump_dmat3
3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using medium precis...
mat< 4, 3, double, aligned_lowp > aligned_lowp_dmat4x3
4 by 3 matrix aligned in memory of double-precision floating-point numbers using low precision arithm...
mat< 4, 4, double, aligned_highp > aligned_highp_dmat4x4
4 by 4 matrix aligned in memory of double-precision floating-point numbers using high precision arith...
mat< 4, 2, double, packed_mediump > packed_mediump_dmat4x2
4 by 2 matrix tightly packed in memory of double-precision floating-point numbers using medium precis...
packed_highp_mat4x4 packed_mat4x4
4 by 4 matrix tightly packed in memory of single-precision floating-point numbers.
mat< 4, 4, float, packed_highp > packed_highp_mat4
4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using high precisio...
mat< 4, 4, double, aligned_highp > aligned_highp_dmat4
4 by 4 matrix aligned in memory of double-precision floating-point numbers using high precision arith...
mat< 3, 2, double, aligned_highp > aligned_highp_dmat3x2
3 by 2 matrix aligned in memory of double-precision floating-point numbers using high precision arith...
vec< 1, double, packed_lowp > packed_lowp_dvec1
1 component vector tightly packed in memory of double-precision floating-point numbers using low prec...
mat< 4, 4, float, aligned_lowp > aligned_lowp_mat4
4 by 4 matrix aligned in memory of single-precision floating-point numbers using low precision arithm...
vec< 3, uint, packed_mediump > packed_mediump_uvec3
3 components vector tightly packed in memory of unsigned integer numbers.
aligned_highp_dmat4x3 aligned_dmat4x3
4 by 3 matrix tightly aligned in memory of double-precision floating-point numbers.
mat< 4, 2, double, aligned_lowp > aligned_lowp_dmat4x2
4 by 2 matrix aligned in memory of double-precision floating-point numbers using low precision arithm...
mat< 2, 3, double, packed_mediump > packed_mediump_dmat2x3
2 by 3 matrix tightly packed in memory of double-precision floating-point numbers using medium precis...
mat< 4, 2, double, aligned_highp > aligned_highp_dmat4x2
4 by 2 matrix aligned in memory of double-precision floating-point numbers using high precision arith...
aligned_highp_mat3x4 aligned_mat3x4
3 by 4 matrix tightly aligned in memory of single-precision floating-point numbers.
mat< 4, 4, double, aligned_lowp > aligned_lowp_dmat4x4
4 by 4 matrix aligned in memory of double-precision floating-point numbers using low precision arithm...
mat< 4, 4, float, aligned_mediump > aligned_mediump_mat4x4
4 by 4 matrix aligned in memory of single-precision floating-point numbers using medium precision ari...
aligned_highp_mat4 aligned_mat4
4 by 4 matrix tightly aligned in memory of single-precision floating-point numbers.
mat< 2, 2, double, packed_lowp > packed_lowp_dmat2x2
2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using low precision...
vec< 2, int, packed_mediump > packed_mediump_ivec2
2 components vector tightly packed in memory of signed integer numbers.
packed_highp_dmat3x2 packed_dmat3x2
3 by 2 matrix tightly packed in memory of double-precision floating-point numbers.
mat< 4, 4, double, packed_mediump > packed_mediump_dmat4
4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using medium precis...
vec< 3, float, aligned_lowp > aligned_lowp_vec3
3 components vector aligned in memory of single-precision floating-point numbers using low precision ...
mat< 2, 4, float, packed_highp > packed_highp_mat2x4
2 by 4 matrix tightly packed in memory of single-precision floating-point numbers using high precisio...
mat< 2, 3, float, aligned_highp > aligned_highp_mat2x3
2 by 3 matrix aligned in memory of single-precision floating-point numbers using high precision arith...
mat< 3, 3, float, packed_mediump > packed_mediump_mat3x3
3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using medium precis...
vec< 4, float, packed_highp > packed_highp_vec4
4 components vector tightly packed in memory of single-precision floating-point numbers using high pr...
aligned_highp_uvec1 aligned_uvec1
1 component vector aligned in memory of unsigned integer numbers.
mat< 4, 4, float, aligned_highp > aligned_highp_mat4x4
4 by 4 matrix aligned in memory of single-precision floating-point numbers using high precision arith...
mat< 4, 2, float, packed_mediump > packed_mediump_mat4x2
4 by 2 matrix tightly packed in memory of single-precision floating-point numbers using medium precis...
mat< 3, 2, float, aligned_lowp > aligned_lowp_mat3x2
3 by 2 matrix aligned in memory of single-precision floating-point numbers using low precision arithm...
mat< 3, 3, float, packed_lowp > packed_lowp_mat3
3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using low precision...
vec< 4, bool, packed_highp > packed_highp_bvec4
4 components vector tightly packed in memory of bool values.
aligned_highp_vec1 aligned_vec1
1 component vector aligned in memory of single-precision floating-point numbers.
packed_highp_vec3 packed_vec3
3 components vector tightly packed in memory of single-precision floating-point numbers.
packed_highp_mat2x3 packed_mat2x3
2 by 3 matrix tightly packed in memory of single-precision floating-point numbers.
vec< 3, bool, aligned_mediump > aligned_mediump_bvec3
3 components vector aligned in memory of bool values.
vec< 1, uint, aligned_mediump > aligned_mediump_uvec1
1 component vector aligned in memory of unsigned integer numbers.
aligned_highp_bvec2 aligned_bvec2
2 components vector aligned in memory of bool values.
packed_highp_dmat2x2 packed_dmat2x2
2 by 2 matrix tightly packed in memory of double-precision floating-point numbers.
mat< 4, 2, float, packed_lowp > packed_lowp_mat4x2
4 by 2 matrix tightly packed in memory of single-precision floating-point numbers using low precision...
packed_highp_dmat2x4 packed_dmat2x4
2 by 4 matrix tightly packed in memory of double-precision floating-point numbers.
vec< 3, uint, aligned_highp > aligned_highp_uvec3
3 components vector aligned in memory of unsigned integer numbers.
vec< 2, bool, packed_mediump > packed_mediump_bvec2
2 components vector tightly packed in memory of bool values.
aligned_highp_bvec1 aligned_bvec1
1 component vector aligned in memory of bool values.
aligned_highp_mat3x2 aligned_mat3x2
3 by 2 matrix tightly aligned in memory of single-precision floating-point numbers.
vec< 1, int, aligned_lowp > aligned_lowp_ivec1
1 component vector aligned in memory of signed integer numbers.
mat< 3, 3, double, aligned_mediump > aligned_mediump_dmat3x3
3 by 3 matrix aligned in memory of double-precision floating-point numbers using medium precision ari...
mat< 3, 2, float, packed_lowp > packed_lowp_mat3x2
3 by 2 matrix tightly packed in memory of single-precision floating-point numbers using low precision...
mat< 2, 3, float, packed_highp > packed_highp_mat2x3
2 by 3 matrix tightly packed in memory of single-precision floating-point numbers using high precisio...
mat< 4, 4, float, packed_lowp > packed_lowp_mat4x4
4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using low precision...
aligned_highp_uvec4 aligned_uvec4
4 components vector aligned in memory of unsigned integer numbers.
packed_highp_bvec2 packed_bvec2
2 components vector tightly packed in memory of bool values.
mat< 3, 3, float, aligned_highp > aligned_highp_mat3x3
3 by 3 matrix aligned in memory of single-precision floating-point numbers using high precision arith...
packed_highp_bvec4 packed_bvec4
4 components vector tightly packed in memory of bool values.
aligned_highp_ivec4 aligned_ivec4
4 components vector aligned in memory of signed integer numbers.
mat< 3, 3, float, packed_highp > packed_highp_mat3x3
3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using high precisio...
vec< 4, int, packed_highp > packed_highp_ivec4
4 components vector tightly packed in memory of signed integer numbers.
packed_highp_mat3x2 packed_mat3x2
3 by 2 matrix tightly packed in memory of single-precision floating-point numbers.
vec< 2, uint, aligned_highp > aligned_highp_uvec2
2 components vector aligned in memory of unsigned integer numbers.
aligned_highp_dmat3 aligned_dmat3
3 by 3 matrix tightly aligned in memory of double-precision floating-point numbers.
vec< 3, int, aligned_highp > aligned_highp_ivec3
3 components vector aligned in memory of signed integer numbers.
mat< 2, 2, double, aligned_lowp > aligned_lowp_dmat2x2
2 by 2 matrix aligned in memory of double-precision floating-point numbers using low precision arithm...
mat< 3, 2, float, aligned_highp > aligned_highp_mat3x2
3 by 2 matrix aligned in memory of single-precision floating-point numbers using high precision arith...
vec< 1, uint, aligned_highp > aligned_highp_uvec1
1 component vector aligned in memory of unsigned integer numbers.
aligned_highp_mat2x4 aligned_mat2x4
2 by 4 matrix tightly aligned in memory of single-precision floating-point numbers.
mat< 4, 4, float, aligned_mediump > aligned_mediump_mat4
4 by 4 matrix aligned in memory of single-precision floating-point numbers using medium precision ari...
packed_highp_dvec1 packed_dvec1
1 component vector tightly packed in memory of double-precision floating-point numbers.
aligned_highp_dmat2x4 aligned_dmat2x4
2 by 4 matrix tightly aligned in memory of double-precision floating-point numbers.
mat< 2, 2, double, packed_mediump > packed_mediump_dmat2x2
2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using medium precis...
vec< 3, double, packed_lowp > packed_lowp_dvec3
3 components vector tightly packed in memory of double-precision floating-point numbers using low pre...
vec< 4, uint, aligned_lowp > aligned_lowp_uvec4
4 components vector aligned in memory of unsigned integer numbers.
vec< 4, uint, packed_highp > packed_highp_uvec4
4 components vector tightly packed in memory of unsigned integer numbers.
mat< 2, 4, float, packed_lowp > packed_lowp_mat2x4
2 by 4 matrix tightly packed in memory of single-precision floating-point numbers using low precision...
aligned_highp_vec2 aligned_vec2
2 components vector aligned in memory of single-precision floating-point numbers. ...
aligned_highp_mat2x2 aligned_mat2x2
2 by 2 matrix tightly aligned in memory of single-precision floating-point numbers.
mat< 3, 3, double, packed_lowp > packed_lowp_dmat3
3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using low precision...
aligned_highp_dmat3x3 aligned_dmat3x3
3 by 3 matrix tightly aligned in memory of double-precision floating-point numbers.
vec< 2, double, packed_highp > packed_highp_dvec2
2 components vector tightly packed in memory of double-precision floating-point numbers using high pr...
mat< 2, 2, double, aligned_mediump > aligned_mediump_dmat2x2
2 by 2 matrix aligned in memory of double-precision floating-point numbers using medium precision ari...
vec< 1, uint, packed_lowp > packed_lowp_uvec1
1 component vector tightly packed in memory of unsigned integer numbers.
vec< 2, uint, packed_lowp > packed_lowp_uvec2
2 components vector tightly packed in memory of unsigned integer numbers.
packed_highp_dmat4x3 packed_dmat4x3
4 by 3 matrix tightly packed in memory of double-precision floating-point numbers.
mat< 3, 3, double, aligned_lowp > aligned_lowp_dmat3x3
3 by 3 matrix aligned in memory of double-precision floating-point numbers using low precision arithm...
mat< 3, 3, float, packed_highp > packed_highp_mat3
3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using high precisio...
aligned_highp_dmat2x3 aligned_dmat2x3
2 by 3 matrix tightly aligned in memory of double-precision floating-point numbers.
mat< 2, 2, float, aligned_mediump > aligned_mediump_mat2x2
2 by 2 matrix aligned in memory of single-precision floating-point numbers using medium precision ari...
mat< 2, 2, float, aligned_lowp > aligned_lowp_mat2x2
2 by 2 matrix aligned in memory of single-precision floating-point numbers using low precision arithm...
vec< 1, bool, packed_mediump > packed_mediump_bvec1
1 component vector tightly packed in memory of bool values.
mat< 4, 4, double, packed_lowp > packed_lowp_dmat4
4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using low precision...
packed_highp_ivec1 packed_ivec1
1 component vector tightly packed in memory of signed integer numbers.
vec< 1, bool, packed_lowp > packed_lowp_bvec1
1 component vector tightly packed in memory of bool values.
aligned_highp_dmat3x2 aligned_dmat3x2
3 by 2 matrix tightly aligned in memory of double-precision floating-point numbers.
mat< 3, 2, double, packed_highp > packed_highp_dmat3x2
3 by 2 matrix tightly packed in memory of double-precision floating-point numbers using high precisio...
aligned_highp_ivec2 aligned_ivec2
2 components vector aligned in memory of signed integer numbers.
aligned_highp_dmat4x4 aligned_dmat4x4
4 by 4 matrix tightly aligned in memory of double-precision floating-point numbers.
mat< 3, 3, double, packed_highp > packed_highp_dmat3x3
3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using high precisio...
vec< 4, bool, aligned_highp > aligned_highp_bvec4
4 components vector aligned in memory of bool values.
vec< 4, bool, packed_mediump > packed_mediump_bvec4
4 components vector tightly packed in memory of bool values.
mat< 2, 2, float, packed_highp > packed_highp_mat2
2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using high precisio...
packed_highp_mat2x4 packed_mat2x4
2 by 4 matrix tightly packed in memory of single-precision floating-point numbers.
mat< 4, 2, float, aligned_lowp > aligned_lowp_mat4x2
4 by 2 matrix aligned in memory of single-precision floating-point numbers using low precision arithm...
vec< 1, bool, aligned_mediump > aligned_mediump_bvec1
1 component vector aligned in memory of bool values.
mat< 2, 4, double, aligned_highp > aligned_highp_dmat2x4
2 by 4 matrix aligned in memory of double-precision floating-point numbers using high precision arith...
mat< 3, 3, float, aligned_mediump > aligned_mediump_mat3x3
3 by 3 matrix aligned in memory of single-precision floating-point numbers using medium precision ari...
mat< 4, 4, float, packed_mediump > packed_mediump_mat4
4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using medium precis...
vec< 1, float, packed_mediump > packed_mediump_vec1
1 component vector tightly packed in memory of single-precision floating-point numbers using medium p...
aligned_highp_mat4x4 aligned_mat4x4
4 by 4 matrix tightly aligned in memory of single-precision floating-point numbers.
aligned_highp_mat4x2 aligned_mat4x2
4 by 2 matrix tightly aligned in memory of single-precision floating-point numbers.
vec< 3, float, packed_highp > packed_highp_vec3
3 components vector tightly packed in memory of single-precision floating-point numbers using high pr...
aligned_highp_dvec4 aligned_dvec4
4 components vector aligned in memory of double-precision floating-point numbers. ...
vec< 1, int, aligned_highp > aligned_highp_ivec1
1 component vector aligned in memory of signed integer numbers.
mat< 3, 3, float, aligned_lowp > aligned_lowp_mat3
3 by 3 matrix aligned in memory of single-precision floating-point numbers using low precision arithm...
mat< 2, 2, double, aligned_highp > aligned_highp_dmat2
2 by 2 matrix aligned in memory of double-precision floating-point numbers using high precision arith...
aligned_highp_dmat3x4 aligned_dmat3x4
3 by 4 matrix tightly aligned in memory of double-precision floating-point numbers.
packed_highp_bvec3 packed_bvec3
3 components vector tightly packed in memory of bool values.
mat< 4, 4, float, packed_highp > packed_highp_mat4x4
4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using high precisio...
vec< 3, float, packed_mediump > packed_mediump_vec3
3 components vector tightly packed in memory of single-precision floating-point numbers using medium ...
vec< 2, uint, aligned_lowp > aligned_lowp_uvec2
2 components vector aligned in memory of unsigned integer numbers.
vec< 1, bool, aligned_highp > aligned_highp_bvec1
1 component vector aligned in memory of bool values.
vec< 2, bool, packed_highp > packed_highp_bvec2
2 components vector tightly packed in memory of bool values.
vec< 1, int, packed_highp > packed_highp_ivec1
1 component vector tightly packed in memory of signed integer numbers.
mat< 2, 4, float, aligned_highp > aligned_highp_mat2x4
2 by 4 matrix aligned in memory of single-precision floating-point numbers using high precision arith...
vec< 2, int, packed_lowp > packed_lowp_ivec2
2 components vector tightly packed in memory of signed integer numbers.
vec< 3, double, packed_highp > packed_highp_dvec3
3 components vector tightly packed in memory of double-precision floating-point numbers using high pr...
vec< 2, int, aligned_highp > aligned_highp_ivec2
2 components vector aligned in memory of signed integer numbers.
aligned_highp_dmat2 aligned_dmat2
2 by 2 matrix tightly aligned in memory of double-precision floating-point numbers.
mat< 3, 2, double, packed_mediump > packed_mediump_dmat3x2
3 by 2 matrix tightly packed in memory of double-precision floating-point numbers using medium precis...
vec< 3, uint, aligned_mediump > aligned_mediump_uvec3
3 components vector aligned in memory of unsigned integer numbers.
vec< 4, double, packed_lowp > packed_lowp_dvec4
4 components vector tightly packed in memory of double-precision floating-point numbers using low pre...
vec< 3, double, packed_mediump > packed_mediump_dvec3
3 components vector tightly packed in memory of double-precision floating-point numbers using medium ...
mat< 2, 3, double, aligned_mediump > aligned_mediump_dmat2x3
2 by 3 matrix aligned in memory of double-precision floating-point numbers using medium precision ari...
vec< 3, int, aligned_lowp > aligned_lowp_ivec3
3 components vector aligned in memory of signed integer numbers.
mat< 2, 2, float, aligned_highp > aligned_highp_mat2x2
2 by 2 matrix aligned in memory of single-precision floating-point numbers using high precision arith...
mat< 4, 3, float, aligned_highp > aligned_highp_mat4x3
4 by 3 matrix aligned in memory of single-precision floating-point numbers using high precision arith...
vec< 3, bool, aligned_highp > aligned_highp_bvec3
3 components vector aligned in memory of bool values.
vec< 3, float, packed_lowp > packed_lowp_vec3
3 components vector tightly packed in memory of single-precision floating-point numbers using low pre...
vec< 2, uint, aligned_mediump > aligned_mediump_uvec2
2 components vector aligned in memory of unsigned integer numbers.
vec< 1, int, packed_mediump > packed_mediump_ivec1
1 component vector tightly packed in memory of signed integer numbers.
mat< 3, 3, double, aligned_highp > aligned_highp_dmat3
3 by 3 matrix aligned in memory of double-precision floating-point numbers using high precision arith...
vec< 4, uint, packed_mediump > packed_mediump_uvec4
4 components vector tightly packed in memory of unsigned integer numbers.
mat< 3, 2, double, aligned_mediump > aligned_mediump_dmat3x2
3 by 2 matrix aligned in memory of double-precision floating-point numbers using medium precision ari...
mat< 3, 4, double, aligned_mediump > aligned_mediump_dmat3x4
3 by 4 matrix aligned in memory of double-precision floating-point numbers using medium precision ari...
mat< 4, 3, double, packed_mediump > packed_mediump_dmat4x3
4 by 3 matrix tightly packed in memory of double-precision floating-point numbers using medium precis...
vec< 2, uint, packed_highp > packed_highp_uvec2
2 components vector tightly packed in memory of unsigned integer numbers.
vec< 4, uint, aligned_mediump > aligned_mediump_uvec4
4 components vector aligned in memory of unsigned integer numbers.
vec< 4, double, packed_mediump > packed_mediump_dvec4
4 components vector tightly packed in memory of double-precision floating-point numbers using medium ...
aligned_highp_vec4 aligned_vec4
4 components vector aligned in memory of single-precision floating-point numbers. ...
vec< 4, int, aligned_highp > aligned_highp_ivec4
4 components vector aligned in memory of signed integer numbers.
vec< 2, double, aligned_lowp > aligned_lowp_dvec2
2 components vector aligned in memory of double-precision floating-point numbers using low precision ...
packed_highp_bvec1 packed_bvec1
1 components vector tightly packed in memory of bool values.
mat< 2, 3, float, packed_lowp > packed_lowp_mat2x3
2 by 3 matrix tightly packed in memory of single-precision floating-point numbers using low precision...
vec< 1, float, aligned_lowp > aligned_lowp_vec1
1 component vector aligned in memory of single-precision floating-point numbers using low precision a...
vec< 2, float, packed_lowp > packed_lowp_vec2
2 components vector tightly packed in memory of single-precision floating-point numbers using low pre...
vec< 1, double, aligned_highp > aligned_highp_dvec1
1 component vector aligned in memory of double-precision floating-point numbers using high precision ...
mat< 2, 3, float, packed_mediump > packed_mediump_mat2x3
2 by 3 matrix tightly packed in memory of single-precision floating-point numbers using medium precis...
mat< 3, 2, float, packed_mediump > packed_mediump_mat3x2
3 by 2 matrix tightly packed in memory of single-precision floating-point numbers using medium precis...
vec< 4, float, aligned_mediump > aligned_mediump_vec4
4 components vector aligned in memory of single-precision floating-point numbers using medium precisi...
packed_highp_dvec4 packed_dvec4
4 components vector tightly packed in memory of double-precision floating-point numbers.
vec< 4, double, aligned_mediump > aligned_mediump_dvec4
4 components vector aligned in memory of double-precision floating-point numbers using medium precisi...
mat< 4, 4, double, packed_mediump > packed_mediump_dmat4x4
4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using medium precis...
mat< 3, 4, double, packed_mediump > packed_mediump_dmat3x4
3 by 4 matrix tightly packed in memory of double-precision floating-point numbers using medium precis...
mat< 3, 4, float, aligned_highp > aligned_highp_mat3x4
3 by 4 matrix aligned in memory of single-precision floating-point numbers using high precision arith...
mat< 4, 4, float, aligned_highp > aligned_highp_mat4
4 by 4 matrix aligned in memory of single-precision floating-point numbers using high precision arith...
mat< 2, 3, double, packed_lowp > packed_lowp_dmat2x3
2 by 3 matrix tightly packed in memory of double-precision floating-point numbers using low precision...
mat< 3, 4, float, aligned_mediump > aligned_mediump_mat3x4
3 by 4 matrix aligned in memory of single-precision floating-point numbers using medium precision ari...
packed_highp_dmat3x3 packed_dmat3x3
3 by 3 matrix tightly packed in memory of double-precision floating-point numbers.
aligned_highp_mat3x3 aligned_mat3x3
3 by 3 matrix tightly aligned in memory of single-precision floating-point numbers.
vec< 3, int, packed_lowp > packed_lowp_ivec3
3 components vector tightly packed in memory of signed integer numbers.
aligned_highp_dmat4 aligned_dmat4
4 by 4 matrix tightly aligned in memory of double-precision floating-point numbers.
mat< 4, 2, float, aligned_highp > aligned_highp_mat4x2
4 by 2 matrix aligned in memory of single-precision floating-point numbers using high precision arith...
vec< 2, float, packed_highp > packed_highp_vec2
2 components vector tightly packed in memory of single-precision floating-point numbers using high pr...
mat< 2, 2, double, aligned_lowp > aligned_lowp_dmat2
2 by 2 matrix aligned in memory of double-precision floating-point numbers using low precision arithm...
vec< 4, uint, packed_lowp > packed_lowp_uvec4
4 components vector tightly packed in memory of unsigned integer numbers.
packed_highp_ivec4 packed_ivec4
4 components vector tightly packed in memory of signed integer numbers.
packed_highp_dvec2 packed_dvec2
2 components vector tightly packed in memory of double-precision floating-point numbers.
mat< 3, 3, float, aligned_lowp > aligned_lowp_mat3x3
3 by 3 matrix aligned in memory of single-precision floating-point numbers using low precision arithm...
mat< 3, 2, double, packed_lowp > packed_lowp_dmat3x2
3 by 2 matrix tightly packed in memory of double-precision floating-point numbers using low precision...
mat< 3, 2, float, packed_highp > packed_highp_mat3x2
3 by 2 matrix tightly packed in memory of single-precision floating-point numbers using high precisio...
mat< 3, 3, double, aligned_mediump > aligned_mediump_dmat3
3 by 3 matrix aligned in memory of double-precision floating-point numbers using medium precision ari...
mat< 2, 3, float, aligned_lowp > aligned_lowp_mat2x3
2 by 3 matrix aligned in memory of single-precision floating-point numbers using low precision arithm...
vec< 1, int, aligned_mediump > aligned_mediump_ivec1
1 component vector aligned in memory of signed integer numbers.
mat< 2, 2, double, packed_highp > packed_highp_dmat2
2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using high precisio...
vec< 2, float, packed_mediump > packed_mediump_vec2
2 components vector tightly packed in memory of single-precision floating-point numbers using medium ...
aligned_highp_mat3 aligned_mat3
3 by 3 matrix tightly aligned in memory of single-precision floating-point numbers.
mat< 4, 3, double, aligned_mediump > aligned_mediump_dmat4x3
4 by 3 matrix aligned in memory of double-precision floating-point numbers using medium precision ari...
mat< 2, 2, float, packed_mediump > packed_mediump_mat2x2
2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using medium precis...
mat< 2, 3, double, aligned_highp > aligned_highp_dmat2x3
2 by 3 matrix aligned in memory of double-precision floating-point numbers using high precision arith...
aligned_highp_dvec2 aligned_dvec2
2 components vector aligned in memory of double-precision floating-point numbers. ...
mat< 3, 4, float, aligned_lowp > aligned_lowp_mat3x4
3 by 4 matrix aligned in memory of single-precision floating-point numbers using low precision arithm...
packed_highp_mat4x2 packed_mat4x2
4 by 2 matrix tightly packed in memory of single-precision floating-point numbers.
vec< 4, float, aligned_lowp > aligned_lowp_vec4
4 components vector aligned in memory of single-precision floating-point numbers using low precision ...
vec< 3, bool, packed_highp > packed_highp_bvec3
3 components vector tightly packed in memory of bool values.
vec< 2, double, packed_lowp > packed_lowp_dvec2
2 components vector tightly packed in memory of double-precision floating-point numbers using low pre...
vec< 3, double, aligned_mediump > aligned_mediump_dvec3
3 components vector aligned in memory of double-precision floating-point numbers using medium precisi...
vec< 3, float, aligned_mediump > aligned_mediump_vec3
3 components vector aligned in memory of single-precision floating-point numbers using medium precisi...
mat< 2, 4, float, aligned_mediump > aligned_mediump_mat2x4
2 by 4 matrix aligned in memory of single-precision floating-point numbers using medium precision ari...
Definition: common.hpp:20
vec< 3, double, aligned_highp > aligned_highp_dvec3
3 components vector aligned in memory of double-precision floating-point numbers using high precision...
vec< 1, float, aligned_highp > aligned_highp_vec1
1 component vector aligned in memory of single-precision floating-point numbers using high precision ...
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00162.html ================================================ 0.9.9 API documentation: type_aligned.hpp File Reference
0.9.9 API documentation
gtx/type_aligned.hpp File Reference

GLM_GTX_type_aligned More...

Go to the source code of this file.

Functions

 GLM_ALIGNED_TYPEDEF (lowp_int8, aligned_lowp_int8, 1)
 Low qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_int16, aligned_lowp_int16, 2)
 Low qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_int32, aligned_lowp_int32, 4)
 Low qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_int64, aligned_lowp_int64, 8)
 Low qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_int8_t, aligned_lowp_int8_t, 1)
 Low qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_int16_t, aligned_lowp_int16_t, 2)
 Low qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_int32_t, aligned_lowp_int32_t, 4)
 Low qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_int64_t, aligned_lowp_int64_t, 8)
 Low qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_i8, aligned_lowp_i8, 1)
 Low qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_i16, aligned_lowp_i16, 2)
 Low qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_i32, aligned_lowp_i32, 4)
 Low qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_i64, aligned_lowp_i64, 8)
 Low qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_int8, aligned_mediump_int8, 1)
 Medium qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_int16, aligned_mediump_int16, 2)
 Medium qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_int32, aligned_mediump_int32, 4)
 Medium qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_int64, aligned_mediump_int64, 8)
 Medium qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_int8_t, aligned_mediump_int8_t, 1)
 Medium qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_int16_t, aligned_mediump_int16_t, 2)
 Medium qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_int32_t, aligned_mediump_int32_t, 4)
 Medium qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_int64_t, aligned_mediump_int64_t, 8)
 Medium qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_i8, aligned_mediump_i8, 1)
 Medium qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_i16, aligned_mediump_i16, 2)
 Medium qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_i32, aligned_mediump_i32, 4)
 Medium qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_i64, aligned_mediump_i64, 8)
 Medium qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_int8, aligned_highp_int8, 1)
 High qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_int16, aligned_highp_int16, 2)
 High qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_int32, aligned_highp_int32, 4)
 High qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_int64, aligned_highp_int64, 8)
 High qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_int8_t, aligned_highp_int8_t, 1)
 High qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_int16_t, aligned_highp_int16_t, 2)
 High qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_int32_t, aligned_highp_int32_t, 4)
 High qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_int64_t, aligned_highp_int64_t, 8)
 High qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_i8, aligned_highp_i8, 1)
 High qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_i16, aligned_highp_i16, 2)
 High qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_i32, aligned_highp_i32, 4)
 High qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_i64, aligned_highp_i64, 8)
 High qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (int8, aligned_int8, 1)
 Default qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (int16, aligned_int16, 2)
 Default qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (int32, aligned_int32, 4)
 Default qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (int64, aligned_int64, 8)
 Default qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (int8_t, aligned_int8_t, 1)
 Default qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (int16_t, aligned_int16_t, 2)
 Default qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (int32_t, aligned_int32_t, 4)
 Default qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (int64_t, aligned_int64_t, 8)
 Default qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (i8, aligned_i8, 1)
 Default qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (i16, aligned_i16, 2)
 Default qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (i32, aligned_i32, 4)
 Default qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (i64, aligned_i64, 8)
 Default qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (ivec1, aligned_ivec1, 4)
 Default qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (ivec2, aligned_ivec2, 8)
 Default qualifier 32 bit signed integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (ivec3, aligned_ivec3, 16)
 Default qualifier 32 bit signed integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (ivec4, aligned_ivec4, 16)
 Default qualifier 32 bit signed integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i8vec1, aligned_i8vec1, 1)
 Default qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (i8vec2, aligned_i8vec2, 2)
 Default qualifier 8 bit signed integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i8vec3, aligned_i8vec3, 4)
 Default qualifier 8 bit signed integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i8vec4, aligned_i8vec4, 4)
 Default qualifier 8 bit signed integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i16vec1, aligned_i16vec1, 2)
 Default qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (i16vec2, aligned_i16vec2, 4)
 Default qualifier 16 bit signed integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i16vec3, aligned_i16vec3, 8)
 Default qualifier 16 bit signed integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i16vec4, aligned_i16vec4, 8)
 Default qualifier 16 bit signed integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i32vec1, aligned_i32vec1, 4)
 Default qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (i32vec2, aligned_i32vec2, 8)
 Default qualifier 32 bit signed integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i32vec3, aligned_i32vec3, 16)
 Default qualifier 32 bit signed integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i32vec4, aligned_i32vec4, 16)
 Default qualifier 32 bit signed integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i64vec1, aligned_i64vec1, 8)
 Default qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (i64vec2, aligned_i64vec2, 16)
 Default qualifier 64 bit signed integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i64vec3, aligned_i64vec3, 32)
 Default qualifier 64 bit signed integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i64vec4, aligned_i64vec4, 32)
 Default qualifier 64 bit signed integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_uint8, aligned_lowp_uint8, 1)
 Low qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_uint16, aligned_lowp_uint16, 2)
 Low qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_uint32, aligned_lowp_uint32, 4)
 Low qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_uint64, aligned_lowp_uint64, 8)
 Low qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_uint8_t, aligned_lowp_uint8_t, 1)
 Low qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_uint16_t, aligned_lowp_uint16_t, 2)
 Low qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_uint32_t, aligned_lowp_uint32_t, 4)
 Low qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_uint64_t, aligned_lowp_uint64_t, 8)
 Low qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_u8, aligned_lowp_u8, 1)
 Low qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_u16, aligned_lowp_u16, 2)
 Low qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_u32, aligned_lowp_u32, 4)
 Low qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_u64, aligned_lowp_u64, 8)
 Low qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_uint8, aligned_mediump_uint8, 1)
 Medium qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_uint16, aligned_mediump_uint16, 2)
 Medium qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_uint32, aligned_mediump_uint32, 4)
 Medium qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_uint64, aligned_mediump_uint64, 8)
 Medium qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_uint8_t, aligned_mediump_uint8_t, 1)
 Medium qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_uint16_t, aligned_mediump_uint16_t, 2)
 Medium qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_uint32_t, aligned_mediump_uint32_t, 4)
 Medium qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_uint64_t, aligned_mediump_uint64_t, 8)
 Medium qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_u8, aligned_mediump_u8, 1)
 Medium qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_u16, aligned_mediump_u16, 2)
 Medium qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_u32, aligned_mediump_u32, 4)
 Medium qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_u64, aligned_mediump_u64, 8)
 Medium qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_uint8, aligned_highp_uint8, 1)
 High qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_uint16, aligned_highp_uint16, 2)
 High qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_uint32, aligned_highp_uint32, 4)
 High qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_uint64, aligned_highp_uint64, 8)
 High qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_uint8_t, aligned_highp_uint8_t, 1)
 High qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_uint16_t, aligned_highp_uint16_t, 2)
 High qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_uint32_t, aligned_highp_uint32_t, 4)
 High qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_uint64_t, aligned_highp_uint64_t, 8)
 High qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_u8, aligned_highp_u8, 1)
 High qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_u16, aligned_highp_u16, 2)
 High qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_u32, aligned_highp_u32, 4)
 High qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_u64, aligned_highp_u64, 8)
 High qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uint8, aligned_uint8, 1)
 Default qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uint16, aligned_uint16, 2)
 Default qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uint32, aligned_uint32, 4)
 Default qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uint64, aligned_uint64, 8)
 Default qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uint8_t, aligned_uint8_t, 1)
 Default qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uint16_t, aligned_uint16_t, 2)
 Default qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uint32_t, aligned_uint32_t, 4)
 Default qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uint64_t, aligned_uint64_t, 8)
 Default qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (u8, aligned_u8, 1)
 Default qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (u16, aligned_u16, 2)
 Default qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (u32, aligned_u32, 4)
 Default qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (u64, aligned_u64, 8)
 Default qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uvec1, aligned_uvec1, 4)
 Default qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uvec2, aligned_uvec2, 8)
 Default qualifier 32 bit unsigned integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (uvec3, aligned_uvec3, 16)
 Default qualifier 32 bit unsigned integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (uvec4, aligned_uvec4, 16)
 Default qualifier 32 bit unsigned integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u8vec1, aligned_u8vec1, 1)
 Default qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (u8vec2, aligned_u8vec2, 2)
 Default qualifier 8 bit unsigned integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u8vec3, aligned_u8vec3, 4)
 Default qualifier 8 bit unsigned integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u8vec4, aligned_u8vec4, 4)
 Default qualifier 8 bit unsigned integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u16vec1, aligned_u16vec1, 2)
 Default qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (u16vec2, aligned_u16vec2, 4)
 Default qualifier 16 bit unsigned integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u16vec3, aligned_u16vec3, 8)
 Default qualifier 16 bit unsigned integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u16vec4, aligned_u16vec4, 8)
 Default qualifier 16 bit unsigned integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u32vec1, aligned_u32vec1, 4)
 Default qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (u32vec2, aligned_u32vec2, 8)
 Default qualifier 32 bit unsigned integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u32vec3, aligned_u32vec3, 16)
 Default qualifier 32 bit unsigned integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u32vec4, aligned_u32vec4, 16)
 Default qualifier 32 bit unsigned integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u64vec1, aligned_u64vec1, 8)
 Default qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (u64vec2, aligned_u64vec2, 16)
 Default qualifier 64 bit unsigned integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u64vec3, aligned_u64vec3, 32)
 Default qualifier 64 bit unsigned integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u64vec4, aligned_u64vec4, 32)
 Default qualifier 64 bit unsigned integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (float32, aligned_float32, 4)
 32 bit single-qualifier floating-point aligned scalar. More...
 
 GLM_ALIGNED_TYPEDEF (float32_t, aligned_float32_t, 4)
 32 bit single-qualifier floating-point aligned scalar. More...
 
 GLM_ALIGNED_TYPEDEF (float32, aligned_f32, 4)
 32 bit single-qualifier floating-point aligned scalar. More...
 
 GLM_ALIGNED_TYPEDEF (float64, aligned_float64, 8)
 64 bit double-qualifier floating-point aligned scalar. More...
 
 GLM_ALIGNED_TYPEDEF (float64_t, aligned_float64_t, 8)
 64 bit double-qualifier floating-point aligned scalar. More...
 
 GLM_ALIGNED_TYPEDEF (float64, aligned_f64, 8)
 64 bit double-qualifier floating-point aligned scalar. More...
 
 GLM_ALIGNED_TYPEDEF (vec1, aligned_vec1, 4)
 Single-qualifier floating-point aligned vector of 1 component. More...
 
 GLM_ALIGNED_TYPEDEF (vec2, aligned_vec2, 8)
 Single-qualifier floating-point aligned vector of 2 components. More...
 
 GLM_ALIGNED_TYPEDEF (vec3, aligned_vec3, 16)
 Single-qualifier floating-point aligned vector of 3 components. More...
 
 GLM_ALIGNED_TYPEDEF (vec4, aligned_vec4, 16)
 Single-qualifier floating-point aligned vector of 4 components. More...
 
 GLM_ALIGNED_TYPEDEF (fvec1, aligned_fvec1, 4)
 Single-qualifier floating-point aligned vector of 1 component. More...
 
 GLM_ALIGNED_TYPEDEF (fvec2, aligned_fvec2, 8)
 Single-qualifier floating-point aligned vector of 2 components. More...
 
 GLM_ALIGNED_TYPEDEF (fvec3, aligned_fvec3, 16)
 Single-qualifier floating-point aligned vector of 3 components. More...
 
 GLM_ALIGNED_TYPEDEF (fvec4, aligned_fvec4, 16)
 Single-qualifier floating-point aligned vector of 4 components. More...
 
 GLM_ALIGNED_TYPEDEF (f32vec1, aligned_f32vec1, 4)
 Single-qualifier floating-point aligned vector of 1 component. More...
 
 GLM_ALIGNED_TYPEDEF (f32vec2, aligned_f32vec2, 8)
 Single-qualifier floating-point aligned vector of 2 components. More...
 
 GLM_ALIGNED_TYPEDEF (f32vec3, aligned_f32vec3, 16)
 Single-qualifier floating-point aligned vector of 3 components. More...
 
 GLM_ALIGNED_TYPEDEF (f32vec4, aligned_f32vec4, 16)
 Single-qualifier floating-point aligned vector of 4 components. More...
 
 GLM_ALIGNED_TYPEDEF (dvec1, aligned_dvec1, 8)
 Double-qualifier floating-point aligned vector of 1 component. More...
 
 GLM_ALIGNED_TYPEDEF (dvec2, aligned_dvec2, 16)
 Double-qualifier floating-point aligned vector of 2 components. More...
 
 GLM_ALIGNED_TYPEDEF (dvec3, aligned_dvec3, 32)
 Double-qualifier floating-point aligned vector of 3 components. More...
 
 GLM_ALIGNED_TYPEDEF (dvec4, aligned_dvec4, 32)
 Double-qualifier floating-point aligned vector of 4 components. More...
 
 GLM_ALIGNED_TYPEDEF (f64vec1, aligned_f64vec1, 8)
 Double-qualifier floating-point aligned vector of 1 component. More...
 
 GLM_ALIGNED_TYPEDEF (f64vec2, aligned_f64vec2, 16)
 Double-qualifier floating-point aligned vector of 2 components. More...
 
 GLM_ALIGNED_TYPEDEF (f64vec3, aligned_f64vec3, 32)
 Double-qualifier floating-point aligned vector of 3 components. More...
 
 GLM_ALIGNED_TYPEDEF (f64vec4, aligned_f64vec4, 32)
 Double-qualifier floating-point aligned vector of 4 components. More...
 
 GLM_ALIGNED_TYPEDEF (mat2, aligned_mat2, 16)
 Single-qualifier floating-point aligned 1x1 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (mat3, aligned_mat3, 16)
 Single-qualifier floating-point aligned 3x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (mat4, aligned_mat4, 16)
 Single-qualifier floating-point aligned 4x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat2x2, aligned_fmat2, 16)
 Single-qualifier floating-point aligned 1x1 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat3x3, aligned_fmat3, 16)
 Single-qualifier floating-point aligned 3x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat4x4, aligned_fmat4, 16)
 Single-qualifier floating-point aligned 4x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat2x2, aligned_fmat2x2, 16)
 Single-qualifier floating-point aligned 1x1 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat2x3, aligned_fmat2x3, 16)
 Single-qualifier floating-point aligned 2x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat2x4, aligned_fmat2x4, 16)
 Single-qualifier floating-point aligned 2x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat3x2, aligned_fmat3x2, 16)
 Single-qualifier floating-point aligned 3x2 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat3x3, aligned_fmat3x3, 16)
 Single-qualifier floating-point aligned 3x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat3x4, aligned_fmat3x4, 16)
 Single-qualifier floating-point aligned 3x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat4x2, aligned_fmat4x2, 16)
 Single-qualifier floating-point aligned 4x2 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat4x3, aligned_fmat4x3, 16)
 Single-qualifier floating-point aligned 4x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat4x4, aligned_fmat4x4, 16)
 Single-qualifier floating-point aligned 4x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat2x2, aligned_f32mat2, 16)
 Single-qualifier floating-point aligned 1x1 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat3x3, aligned_f32mat3, 16)
 Single-qualifier floating-point aligned 3x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat4x4, aligned_f32mat4, 16)
 Single-qualifier floating-point aligned 4x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat2x2, aligned_f32mat2x2, 16)
 Single-qualifier floating-point aligned 1x1 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat2x3, aligned_f32mat2x3, 16)
 Single-qualifier floating-point aligned 2x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat2x4, aligned_f32mat2x4, 16)
 Single-qualifier floating-point aligned 2x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat3x2, aligned_f32mat3x2, 16)
 Single-qualifier floating-point aligned 3x2 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat3x3, aligned_f32mat3x3, 16)
 Single-qualifier floating-point aligned 3x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat3x4, aligned_f32mat3x4, 16)
 Single-qualifier floating-point aligned 3x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat4x2, aligned_f32mat4x2, 16)
 Single-qualifier floating-point aligned 4x2 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat4x3, aligned_f32mat4x3, 16)
 Single-qualifier floating-point aligned 4x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat4x4, aligned_f32mat4x4, 16)
 Single-qualifier floating-point aligned 4x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat2x2, aligned_f64mat2, 32)
 Double-qualifier floating-point aligned 1x1 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat3x3, aligned_f64mat3, 32)
 Double-qualifier floating-point aligned 3x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat4x4, aligned_f64mat4, 32)
 Double-qualifier floating-point aligned 4x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat2x2, aligned_f64mat2x2, 32)
 Double-qualifier floating-point aligned 1x1 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat2x3, aligned_f64mat2x3, 32)
 Double-qualifier floating-point aligned 2x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat2x4, aligned_f64mat2x4, 32)
 Double-qualifier floating-point aligned 2x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat3x2, aligned_f64mat3x2, 32)
 Double-qualifier floating-point aligned 3x2 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat3x3, aligned_f64mat3x3, 32)
 Double-qualifier floating-point aligned 3x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat3x4, aligned_f64mat3x4, 32)
 Double-qualifier floating-point aligned 3x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat4x2, aligned_f64mat4x2, 32)
 Double-qualifier floating-point aligned 4x2 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat4x3, aligned_f64mat4x3, 32)
 Double-qualifier floating-point aligned 4x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat4x4, aligned_f64mat4x4, 32)
 Double-qualifier floating-point aligned 4x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (quat, aligned_quat, 16)
 Single-qualifier floating-point aligned quaternion. More...
 
 GLM_ALIGNED_TYPEDEF (quat, aligned_fquat, 16)
 Single-qualifier floating-point aligned quaternion. More...
 
 GLM_ALIGNED_TYPEDEF (dquat, aligned_dquat, 32)
 Double-qualifier floating-point aligned quaternion. More...
 
 GLM_ALIGNED_TYPEDEF (f32quat, aligned_f32quat, 16)
 Single-qualifier floating-point aligned quaternion. More...
 
 GLM_ALIGNED_TYPEDEF (f64quat, aligned_f64quat, 32)
 Double-qualifier floating-point aligned quaternion. More...
 

Detailed Description

GLM_GTX_type_aligned

See also
Core features (dependence)
GLM_GTC_quaternion (dependence)

Definition in file gtx/type_aligned.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00162_source.html ================================================ 0.9.9 API documentation: type_aligned.hpp Source File
0.9.9 API documentation
gtx/type_aligned.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependency:
17 #include "../gtc/type_precision.hpp"
18 #include "../gtc/quaternion.hpp"
19 
20 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
21 # ifndef GLM_ENABLE_EXPERIMENTAL
22 # pragma message("GLM: GLM_GTX_type_aligned is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
23 # else
24 # pragma message("GLM: GLM_GTX_type_aligned extension included")
25 # endif
26 #endif
27 
28 namespace glm
29 {
31  // Signed int vector types
32 
35 
38  GLM_ALIGNED_TYPEDEF(lowp_int8, aligned_lowp_int8, 1);
39 
42  GLM_ALIGNED_TYPEDEF(lowp_int16, aligned_lowp_int16, 2);
43 
46  GLM_ALIGNED_TYPEDEF(lowp_int32, aligned_lowp_int32, 4);
47 
50  GLM_ALIGNED_TYPEDEF(lowp_int64, aligned_lowp_int64, 8);
51 
52 
55  GLM_ALIGNED_TYPEDEF(lowp_int8_t, aligned_lowp_int8_t, 1);
56 
59  GLM_ALIGNED_TYPEDEF(lowp_int16_t, aligned_lowp_int16_t, 2);
60 
63  GLM_ALIGNED_TYPEDEF(lowp_int32_t, aligned_lowp_int32_t, 4);
64 
67  GLM_ALIGNED_TYPEDEF(lowp_int64_t, aligned_lowp_int64_t, 8);
68 
69 
72  GLM_ALIGNED_TYPEDEF(lowp_i8, aligned_lowp_i8, 1);
73 
76  GLM_ALIGNED_TYPEDEF(lowp_i16, aligned_lowp_i16, 2);
77 
80  GLM_ALIGNED_TYPEDEF(lowp_i32, aligned_lowp_i32, 4);
81 
84  GLM_ALIGNED_TYPEDEF(lowp_i64, aligned_lowp_i64, 8);
85 
86 
89  GLM_ALIGNED_TYPEDEF(mediump_int8, aligned_mediump_int8, 1);
90 
93  GLM_ALIGNED_TYPEDEF(mediump_int16, aligned_mediump_int16, 2);
94 
97  GLM_ALIGNED_TYPEDEF(mediump_int32, aligned_mediump_int32, 4);
98 
101  GLM_ALIGNED_TYPEDEF(mediump_int64, aligned_mediump_int64, 8);
102 
103 
106  GLM_ALIGNED_TYPEDEF(mediump_int8_t, aligned_mediump_int8_t, 1);
107 
110  GLM_ALIGNED_TYPEDEF(mediump_int16_t, aligned_mediump_int16_t, 2);
111 
114  GLM_ALIGNED_TYPEDEF(mediump_int32_t, aligned_mediump_int32_t, 4);
115 
118  GLM_ALIGNED_TYPEDEF(mediump_int64_t, aligned_mediump_int64_t, 8);
119 
120 
123  GLM_ALIGNED_TYPEDEF(mediump_i8, aligned_mediump_i8, 1);
124 
127  GLM_ALIGNED_TYPEDEF(mediump_i16, aligned_mediump_i16, 2);
128 
131  GLM_ALIGNED_TYPEDEF(mediump_i32, aligned_mediump_i32, 4);
132 
135  GLM_ALIGNED_TYPEDEF(mediump_i64, aligned_mediump_i64, 8);
136 
137 
140  GLM_ALIGNED_TYPEDEF(highp_int8, aligned_highp_int8, 1);
141 
144  GLM_ALIGNED_TYPEDEF(highp_int16, aligned_highp_int16, 2);
145 
148  GLM_ALIGNED_TYPEDEF(highp_int32, aligned_highp_int32, 4);
149 
152  GLM_ALIGNED_TYPEDEF(highp_int64, aligned_highp_int64, 8);
153 
154 
157  GLM_ALIGNED_TYPEDEF(highp_int8_t, aligned_highp_int8_t, 1);
158 
161  GLM_ALIGNED_TYPEDEF(highp_int16_t, aligned_highp_int16_t, 2);
162 
165  GLM_ALIGNED_TYPEDEF(highp_int32_t, aligned_highp_int32_t, 4);
166 
169  GLM_ALIGNED_TYPEDEF(highp_int64_t, aligned_highp_int64_t, 8);
170 
171 
174  GLM_ALIGNED_TYPEDEF(highp_i8, aligned_highp_i8, 1);
175 
178  GLM_ALIGNED_TYPEDEF(highp_i16, aligned_highp_i16, 2);
179 
182  GLM_ALIGNED_TYPEDEF(highp_i32, aligned_highp_i32, 4);
183 
186  GLM_ALIGNED_TYPEDEF(highp_i64, aligned_highp_i64, 8);
187 
188 
191  GLM_ALIGNED_TYPEDEF(int8, aligned_int8, 1);
192 
195  GLM_ALIGNED_TYPEDEF(int16, aligned_int16, 2);
196 
199  GLM_ALIGNED_TYPEDEF(int32, aligned_int32, 4);
200 
203  GLM_ALIGNED_TYPEDEF(int64, aligned_int64, 8);
204 
205 
208  GLM_ALIGNED_TYPEDEF(int8_t, aligned_int8_t, 1);
209 
212  GLM_ALIGNED_TYPEDEF(int16_t, aligned_int16_t, 2);
213 
216  GLM_ALIGNED_TYPEDEF(int32_t, aligned_int32_t, 4);
217 
220  GLM_ALIGNED_TYPEDEF(int64_t, aligned_int64_t, 8);
221 
222 
225  GLM_ALIGNED_TYPEDEF(i8, aligned_i8, 1);
226 
229  GLM_ALIGNED_TYPEDEF(i16, aligned_i16, 2);
230 
233  GLM_ALIGNED_TYPEDEF(i32, aligned_i32, 4);
234 
237  GLM_ALIGNED_TYPEDEF(i64, aligned_i64, 8);
238 
239 
243 
247 
251 
255 
256 
259  GLM_ALIGNED_TYPEDEF(i8vec1, aligned_i8vec1, 1);
260 
263  GLM_ALIGNED_TYPEDEF(i8vec2, aligned_i8vec2, 2);
264 
267  GLM_ALIGNED_TYPEDEF(i8vec3, aligned_i8vec3, 4);
268 
271  GLM_ALIGNED_TYPEDEF(i8vec4, aligned_i8vec4, 4);
272 
273 
276  GLM_ALIGNED_TYPEDEF(i16vec1, aligned_i16vec1, 2);
277 
280  GLM_ALIGNED_TYPEDEF(i16vec2, aligned_i16vec2, 4);
281 
284  GLM_ALIGNED_TYPEDEF(i16vec3, aligned_i16vec3, 8);
285 
288  GLM_ALIGNED_TYPEDEF(i16vec4, aligned_i16vec4, 8);
289 
290 
293  GLM_ALIGNED_TYPEDEF(i32vec1, aligned_i32vec1, 4);
294 
297  GLM_ALIGNED_TYPEDEF(i32vec2, aligned_i32vec2, 8);
298 
301  GLM_ALIGNED_TYPEDEF(i32vec3, aligned_i32vec3, 16);
302 
305  GLM_ALIGNED_TYPEDEF(i32vec4, aligned_i32vec4, 16);
306 
307 
310  GLM_ALIGNED_TYPEDEF(i64vec1, aligned_i64vec1, 8);
311 
314  GLM_ALIGNED_TYPEDEF(i64vec2, aligned_i64vec2, 16);
315 
318  GLM_ALIGNED_TYPEDEF(i64vec3, aligned_i64vec3, 32);
319 
322  GLM_ALIGNED_TYPEDEF(i64vec4, aligned_i64vec4, 32);
323 
324 
326  // Unsigned int vector types
327 
330  GLM_ALIGNED_TYPEDEF(lowp_uint8, aligned_lowp_uint8, 1);
331 
334  GLM_ALIGNED_TYPEDEF(lowp_uint16, aligned_lowp_uint16, 2);
335 
338  GLM_ALIGNED_TYPEDEF(lowp_uint32, aligned_lowp_uint32, 4);
339 
342  GLM_ALIGNED_TYPEDEF(lowp_uint64, aligned_lowp_uint64, 8);
343 
344 
347  GLM_ALIGNED_TYPEDEF(lowp_uint8_t, aligned_lowp_uint8_t, 1);
348 
351  GLM_ALIGNED_TYPEDEF(lowp_uint16_t, aligned_lowp_uint16_t, 2);
352 
355  GLM_ALIGNED_TYPEDEF(lowp_uint32_t, aligned_lowp_uint32_t, 4);
356 
359  GLM_ALIGNED_TYPEDEF(lowp_uint64_t, aligned_lowp_uint64_t, 8);
360 
361 
364  GLM_ALIGNED_TYPEDEF(lowp_u8, aligned_lowp_u8, 1);
365 
368  GLM_ALIGNED_TYPEDEF(lowp_u16, aligned_lowp_u16, 2);
369 
372  GLM_ALIGNED_TYPEDEF(lowp_u32, aligned_lowp_u32, 4);
373 
376  GLM_ALIGNED_TYPEDEF(lowp_u64, aligned_lowp_u64, 8);
377 
378 
381  GLM_ALIGNED_TYPEDEF(mediump_uint8, aligned_mediump_uint8, 1);
382 
385  GLM_ALIGNED_TYPEDEF(mediump_uint16, aligned_mediump_uint16, 2);
386 
389  GLM_ALIGNED_TYPEDEF(mediump_uint32, aligned_mediump_uint32, 4);
390 
393  GLM_ALIGNED_TYPEDEF(mediump_uint64, aligned_mediump_uint64, 8);
394 
395 
398  GLM_ALIGNED_TYPEDEF(mediump_uint8_t, aligned_mediump_uint8_t, 1);
399 
402  GLM_ALIGNED_TYPEDEF(mediump_uint16_t, aligned_mediump_uint16_t, 2);
403 
406  GLM_ALIGNED_TYPEDEF(mediump_uint32_t, aligned_mediump_uint32_t, 4);
407 
410  GLM_ALIGNED_TYPEDEF(mediump_uint64_t, aligned_mediump_uint64_t, 8);
411 
412 
415  GLM_ALIGNED_TYPEDEF(mediump_u8, aligned_mediump_u8, 1);
416 
419  GLM_ALIGNED_TYPEDEF(mediump_u16, aligned_mediump_u16, 2);
420 
423  GLM_ALIGNED_TYPEDEF(mediump_u32, aligned_mediump_u32, 4);
424 
427  GLM_ALIGNED_TYPEDEF(mediump_u64, aligned_mediump_u64, 8);
428 
429 
432  GLM_ALIGNED_TYPEDEF(highp_uint8, aligned_highp_uint8, 1);
433 
436  GLM_ALIGNED_TYPEDEF(highp_uint16, aligned_highp_uint16, 2);
437 
440  GLM_ALIGNED_TYPEDEF(highp_uint32, aligned_highp_uint32, 4);
441 
444  GLM_ALIGNED_TYPEDEF(highp_uint64, aligned_highp_uint64, 8);
445 
446 
449  GLM_ALIGNED_TYPEDEF(highp_uint8_t, aligned_highp_uint8_t, 1);
450 
453  GLM_ALIGNED_TYPEDEF(highp_uint16_t, aligned_highp_uint16_t, 2);
454 
457  GLM_ALIGNED_TYPEDEF(highp_uint32_t, aligned_highp_uint32_t, 4);
458 
461  GLM_ALIGNED_TYPEDEF(highp_uint64_t, aligned_highp_uint64_t, 8);
462 
463 
466  GLM_ALIGNED_TYPEDEF(highp_u8, aligned_highp_u8, 1);
467 
470  GLM_ALIGNED_TYPEDEF(highp_u16, aligned_highp_u16, 2);
471 
474  GLM_ALIGNED_TYPEDEF(highp_u32, aligned_highp_u32, 4);
475 
478  GLM_ALIGNED_TYPEDEF(highp_u64, aligned_highp_u64, 8);
479 
480 
483  GLM_ALIGNED_TYPEDEF(uint8, aligned_uint8, 1);
484 
487  GLM_ALIGNED_TYPEDEF(uint16, aligned_uint16, 2);
488 
491  GLM_ALIGNED_TYPEDEF(uint32, aligned_uint32, 4);
492 
495  GLM_ALIGNED_TYPEDEF(uint64, aligned_uint64, 8);
496 
497 
500  GLM_ALIGNED_TYPEDEF(uint8_t, aligned_uint8_t, 1);
501 
504  GLM_ALIGNED_TYPEDEF(uint16_t, aligned_uint16_t, 2);
505 
508  GLM_ALIGNED_TYPEDEF(uint32_t, aligned_uint32_t, 4);
509 
512  GLM_ALIGNED_TYPEDEF(uint64_t, aligned_uint64_t, 8);
513 
514 
517  GLM_ALIGNED_TYPEDEF(u8, aligned_u8, 1);
518 
521  GLM_ALIGNED_TYPEDEF(u16, aligned_u16, 2);
522 
525  GLM_ALIGNED_TYPEDEF(u32, aligned_u32, 4);
526 
529  GLM_ALIGNED_TYPEDEF(u64, aligned_u64, 8);
530 
531 
535 
539 
543 
547 
548 
551  GLM_ALIGNED_TYPEDEF(u8vec1, aligned_u8vec1, 1);
552 
555  GLM_ALIGNED_TYPEDEF(u8vec2, aligned_u8vec2, 2);
556 
559  GLM_ALIGNED_TYPEDEF(u8vec3, aligned_u8vec3, 4);
560 
563  GLM_ALIGNED_TYPEDEF(u8vec4, aligned_u8vec4, 4);
564 
565 
568  GLM_ALIGNED_TYPEDEF(u16vec1, aligned_u16vec1, 2);
569 
572  GLM_ALIGNED_TYPEDEF(u16vec2, aligned_u16vec2, 4);
573 
576  GLM_ALIGNED_TYPEDEF(u16vec3, aligned_u16vec3, 8);
577 
580  GLM_ALIGNED_TYPEDEF(u16vec4, aligned_u16vec4, 8);
581 
582 
585  GLM_ALIGNED_TYPEDEF(u32vec1, aligned_u32vec1, 4);
586 
589  GLM_ALIGNED_TYPEDEF(u32vec2, aligned_u32vec2, 8);
590 
593  GLM_ALIGNED_TYPEDEF(u32vec3, aligned_u32vec3, 16);
594 
597  GLM_ALIGNED_TYPEDEF(u32vec4, aligned_u32vec4, 16);
598 
599 
602  GLM_ALIGNED_TYPEDEF(u64vec1, aligned_u64vec1, 8);
603 
606  GLM_ALIGNED_TYPEDEF(u64vec2, aligned_u64vec2, 16);
607 
610  GLM_ALIGNED_TYPEDEF(u64vec3, aligned_u64vec3, 32);
611 
614  GLM_ALIGNED_TYPEDEF(u64vec4, aligned_u64vec4, 32);
615 
616 
618  // Float vector types
619 
622  GLM_ALIGNED_TYPEDEF(float32, aligned_float32, 4);
623 
626  GLM_ALIGNED_TYPEDEF(float32_t, aligned_float32_t, 4);
627 
630  GLM_ALIGNED_TYPEDEF(float32, aligned_f32, 4);
631 
632 # ifndef GLM_FORCE_SINGLE_ONLY
633 
636  GLM_ALIGNED_TYPEDEF(float64, aligned_float64, 8);
637 
640  GLM_ALIGNED_TYPEDEF(float64_t, aligned_float64_t, 8);
641 
644  GLM_ALIGNED_TYPEDEF(float64, aligned_f64, 8);
645 
646 # endif//GLM_FORCE_SINGLE_ONLY
647 
648 
652 
656 
660 
664 
665 
668  GLM_ALIGNED_TYPEDEF(fvec1, aligned_fvec1, 4);
669 
672  GLM_ALIGNED_TYPEDEF(fvec2, aligned_fvec2, 8);
673 
676  GLM_ALIGNED_TYPEDEF(fvec3, aligned_fvec3, 16);
677 
680  GLM_ALIGNED_TYPEDEF(fvec4, aligned_fvec4, 16);
681 
682 
685  GLM_ALIGNED_TYPEDEF(f32vec1, aligned_f32vec1, 4);
686 
689  GLM_ALIGNED_TYPEDEF(f32vec2, aligned_f32vec2, 8);
690 
693  GLM_ALIGNED_TYPEDEF(f32vec3, aligned_f32vec3, 16);
694 
697  GLM_ALIGNED_TYPEDEF(f32vec4, aligned_f32vec4, 16);
698 
699 
703 
707 
711 
715 
716 
717 # ifndef GLM_FORCE_SINGLE_ONLY
718 
721  GLM_ALIGNED_TYPEDEF(f64vec1, aligned_f64vec1, 8);
722 
725  GLM_ALIGNED_TYPEDEF(f64vec2, aligned_f64vec2, 16);
726 
729  GLM_ALIGNED_TYPEDEF(f64vec3, aligned_f64vec3, 32);
730 
733  GLM_ALIGNED_TYPEDEF(f64vec4, aligned_f64vec4, 32);
734 
735 # endif//GLM_FORCE_SINGLE_ONLY
736 
738  // Float matrix types
739 
742  //typedef detail::tmat1<f32> mat1;
743 
747 
751 
755 
756 
759  //typedef detail::tmat1x1<f32> mat1;
760 
764 
768 
772 
773 
776  //typedef detail::tmat1x1<f32> fmat1;
777 
780  GLM_ALIGNED_TYPEDEF(fmat2x2, aligned_fmat2, 16);
781 
784  GLM_ALIGNED_TYPEDEF(fmat3x3, aligned_fmat3, 16);
785 
788  GLM_ALIGNED_TYPEDEF(fmat4x4, aligned_fmat4, 16);
789 
790 
793  //typedef f32 fmat1x1;
794 
797  GLM_ALIGNED_TYPEDEF(fmat2x2, aligned_fmat2x2, 16);
798 
801  GLM_ALIGNED_TYPEDEF(fmat2x3, aligned_fmat2x3, 16);
802 
805  GLM_ALIGNED_TYPEDEF(fmat2x4, aligned_fmat2x4, 16);
806 
809  GLM_ALIGNED_TYPEDEF(fmat3x2, aligned_fmat3x2, 16);
810 
813  GLM_ALIGNED_TYPEDEF(fmat3x3, aligned_fmat3x3, 16);
814 
817  GLM_ALIGNED_TYPEDEF(fmat3x4, aligned_fmat3x4, 16);
818 
821  GLM_ALIGNED_TYPEDEF(fmat4x2, aligned_fmat4x2, 16);
822 
825  GLM_ALIGNED_TYPEDEF(fmat4x3, aligned_fmat4x3, 16);
826 
829  GLM_ALIGNED_TYPEDEF(fmat4x4, aligned_fmat4x4, 16);
830 
831 
834  //typedef detail::tmat1x1<f32, defaultp> f32mat1;
835 
838  GLM_ALIGNED_TYPEDEF(f32mat2x2, aligned_f32mat2, 16);
839 
842  GLM_ALIGNED_TYPEDEF(f32mat3x3, aligned_f32mat3, 16);
843 
846  GLM_ALIGNED_TYPEDEF(f32mat4x4, aligned_f32mat4, 16);
847 
848 
851  //typedef f32 f32mat1x1;
852 
855  GLM_ALIGNED_TYPEDEF(f32mat2x2, aligned_f32mat2x2, 16);
856 
859  GLM_ALIGNED_TYPEDEF(f32mat2x3, aligned_f32mat2x3, 16);
860 
863  GLM_ALIGNED_TYPEDEF(f32mat2x4, aligned_f32mat2x4, 16);
864 
867  GLM_ALIGNED_TYPEDEF(f32mat3x2, aligned_f32mat3x2, 16);
868 
871  GLM_ALIGNED_TYPEDEF(f32mat3x3, aligned_f32mat3x3, 16);
872 
875  GLM_ALIGNED_TYPEDEF(f32mat3x4, aligned_f32mat3x4, 16);
876 
879  GLM_ALIGNED_TYPEDEF(f32mat4x2, aligned_f32mat4x2, 16);
880 
883  GLM_ALIGNED_TYPEDEF(f32mat4x3, aligned_f32mat4x3, 16);
884 
887  GLM_ALIGNED_TYPEDEF(f32mat4x4, aligned_f32mat4x4, 16);
888 
889 
890 # ifndef GLM_FORCE_SINGLE_ONLY
891 
894  //typedef detail::tmat1x1<f64, defaultp> f64mat1;
895 
898  GLM_ALIGNED_TYPEDEF(f64mat2x2, aligned_f64mat2, 32);
899 
902  GLM_ALIGNED_TYPEDEF(f64mat3x3, aligned_f64mat3, 32);
903 
906  GLM_ALIGNED_TYPEDEF(f64mat4x4, aligned_f64mat4, 32);
907 
908 
911  //typedef f64 f64mat1x1;
912 
915  GLM_ALIGNED_TYPEDEF(f64mat2x2, aligned_f64mat2x2, 32);
916 
919  GLM_ALIGNED_TYPEDEF(f64mat2x3, aligned_f64mat2x3, 32);
920 
923  GLM_ALIGNED_TYPEDEF(f64mat2x4, aligned_f64mat2x4, 32);
924 
927  GLM_ALIGNED_TYPEDEF(f64mat3x2, aligned_f64mat3x2, 32);
928 
931  GLM_ALIGNED_TYPEDEF(f64mat3x3, aligned_f64mat3x3, 32);
932 
935  GLM_ALIGNED_TYPEDEF(f64mat3x4, aligned_f64mat3x4, 32);
936 
939  GLM_ALIGNED_TYPEDEF(f64mat4x2, aligned_f64mat4x2, 32);
940 
943  GLM_ALIGNED_TYPEDEF(f64mat4x3, aligned_f64mat4x3, 32);
944 
947  GLM_ALIGNED_TYPEDEF(f64mat4x4, aligned_f64mat4x4, 32);
948 
949 # endif//GLM_FORCE_SINGLE_ONLY
950 
951 
953  // Quaternion types
954 
957  GLM_ALIGNED_TYPEDEF(quat, aligned_quat, 16);
958 
961  GLM_ALIGNED_TYPEDEF(quat, aligned_fquat, 16);
962 
965  GLM_ALIGNED_TYPEDEF(dquat, aligned_dquat, 32);
966 
969  GLM_ALIGNED_TYPEDEF(f32quat, aligned_f32quat, 16);
970 
971 # ifndef GLM_FORCE_SINGLE_ONLY
972 
975  GLM_ALIGNED_TYPEDEF(f64quat, aligned_f64quat, 32);
976 
977 # endif//GLM_FORCE_SINGLE_ONLY
978 
980 }//namespace glm
981 
982 #include "type_aligned.inl"
mat< 4, 4, float, defaultp > mat4x4
4 columns of 4 components matrix of single-precision floating-point numbers.
uint64 highp_u64
High qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:133
vec< 3, f32, defaultp > f32vec3
Single-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:463
mat< 2, 2, float, defaultp > mat2x2
2 columns of 2 components matrix of single-precision floating-point numbers.
uint32 mediump_uint32_t
Medium qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:127
aligned_highp_uvec2 aligned_uvec2
2 components vector aligned in memory of unsigned integer numbers.
uint64 lowp_uint64
Low qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:136
vec< 1, f32, defaultp > f32vec1
Single-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:461
uint8 lowp_u8
Low qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:89
uint32 u32
Default qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:120
vec< 1, i32, defaultp > i32vec1
32 bit signed integer scalar type.
Definition: fwd.hpp:277
uint16 highp_uint16
High qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:110
mat< 3, 4, f64, defaultp > f64mat3x4
Double-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:787
vec< 3, i16, defaultp > i16vec3
16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:259
uint32 lowp_uint32_t
Low qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:126
uint32 mediump_uint32
Medium qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:123
uint64 highp_uint64
High qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:138
uint32 lowp_uint32
Low qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:122
vec< 2, float, defaultp > vec2
2 components vector of single-precision floating-point numbers.
vec< 4, i64, defaultp > i64vec4
64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:300
vec< 3, u16, defaultp > u16vec3
Default qualifier 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:361
aligned_highp_ivec3 aligned_ivec3
3 components vector aligned in memory of signed integer numbers.
vec< 2, i8, defaultp > i8vec2
8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:238
aligned_highp_vec3 aligned_vec3
3 components vector aligned in memory of single-precision floating-point numbers. ...
vec< 3, unsigned int, defaultp > uvec3
3 components vector of unsigned integer numbers.
aligned_highp_uvec3 aligned_uvec3
3 components vector aligned in memory of unsigned integer numbers.
int64 highp_int64
High qualifier 64 bit signed integer type.
Definition: fwd.hpp:80
int16 lowp_int16_t
Low qualifier 16 bit signed integer type.
Definition: fwd.hpp:54
mat< 4, 2, f32, defaultp > f32mat4x2
Single-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:702
uint32 mediump_u32
Medium qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:118
GLM_ALIGNED_TYPEDEF(f64quat, aligned_f64quat, 32)
Double-qualifier floating-point aligned quaternion.
aligned_highp_dvec3 aligned_dvec3
3 components vector aligned in memory of double-precision floating-point numbers. ...
aligned_highp_dvec1 aligned_dvec1
1 component vector aligned in memory of double-precision floating-point numbers.
vec< 3, int, defaultp > ivec3
3 components vector of signed integer numbers.
Definition: vector_int3.hpp:15
vec< 3, u64, defaultp > u64vec3
Default qualifier 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:401
uint8 lowp_uint8
Low qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:94
uint64 lowp_u64
Low qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:131
int8 mediump_int8
Medium qualifier 8 bit signed integer type.
Definition: fwd.hpp:37
int64 lowp_int64
Low qualifier 64 bit signed integer type.
Definition: fwd.hpp:78
vec< 2, u64, defaultp > u64vec2
Default qualifier 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:400
mat< 3, 4, f32, defaultp > f32mat3x4
Single-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:707
uint64 u64
Default qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:134
vec< 1, f64, defaultp > f64vec1
Double-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:501
vec< 1, i16, defaultp > i16vec1
16 bit signed integer scalar type.
Definition: fwd.hpp:257
double float64
Double-qualifier floating-point scalar.
Definition: fwd.hpp:171
mat< 4, 2, f32, defaultp > fmat4x2
Single-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:662
mat< 3, 4, f32, defaultp > fmat3x4
Single-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:667
mat< 2, 4, f32, defaultp > f32mat2x4
Single-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:706
vec< 4, i16, defaultp > i16vec4
16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:260
uint8 lowp_uint8_t
Low qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:98
uint32 highp_uint32_t
High qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:128
mat< 3, 3, f32, defaultp > fmat3x3
Single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:664
mat< 2, 3, f32, defaultp > f32mat2x3
Single-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:703
int16 mediump_int16
Medium qualifier 16 bit signed integer type.
Definition: fwd.hpp:51
uint16 mediump_u16
Medium qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:104
qua< f64, defaultp > f64quat
Double-qualifier floating-point quaternion.
Definition: fwd.hpp:815
qua< double, defaultp > dquat
Quaternion of double-precision floating-point numbers.
vec< 1, u64, defaultp > u64vec1
Default qualifier 64 bit unsigned integer scalar type.
Definition: fwd.hpp:399
int64 int64_t
64 bit signed integer type.
Definition: fwd.hpp:85
aligned_highp_mat2 aligned_mat2
2 by 2 matrix tightly aligned in memory of single-precision floating-point numbers.
vec< 1, u8, defaultp > u8vec1
Default qualifier 8 bit unsigned integer scalar type.
Definition: fwd.hpp:339
vec< 4, u8, defaultp > u8vec4
Default qualifier 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:342
int8 int8_t
8 bit signed integer type.
Definition: fwd.hpp:43
int32 i32
32 bit signed integer type.
Definition: fwd.hpp:62
mat< 2, 2, f64, defaultp > f64mat2x2
Double-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:780
vec< 4, i8, defaultp > i8vec4
8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:240
int32 highp_int32
High qualifier 32 bit signed integer type.
Definition: fwd.hpp:66
uint32 highp_u32
High qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:119
int32 highp_i32
High qualifier 32 bit signed integer type.
Definition: fwd.hpp:61
vec< 4, int, defaultp > ivec4
4 components vector of signed integer numbers.
Definition: vector_int4.hpp:15
vec< 4, u64, defaultp > u64vec4
Default qualifier 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:402
vec< 4, f32, defaultp > f32vec4
Single-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:464
mat< 2, 3, f64, defaultp > f64mat2x3
Double-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:783
uint32 highp_uint32
High qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:124
mat< 3, 2, f64, defaultp > f64mat3x2
Double-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:781
vec< 1, u32, defaultp > u32vec1
Default qualifier 32 bit unsigned integer scalar type.
Definition: fwd.hpp:379
mat< 3, 3, f64, defaultp > f64mat3x3
Double-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:784
uint8 highp_uint8
High qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:96
int8 highp_i8
High qualifier 8 bit signed integer type.
Definition: fwd.hpp:33
int8 mediump_i8
Medium qualifier 8 bit signed integer type.
Definition: fwd.hpp:32
int64 highp_int64_t
High qualifier 64 bit signed integer type.
Definition: fwd.hpp:84
mat< 4, 4, f32, defaultp > f32mat4x4
Single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:708
float float32_t
Default 32 bit single-qualifier floating-point scalar.
Definition: fwd.hpp:160
mat< 2, 2, f32, defaultp > f32mat2x2
Single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:700
uint32 uint32_t
Default qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:129
aligned_highp_ivec1 aligned_ivec1
1 component vector aligned in memory of signed integer numbers.
vec< 4, float, defaultp > vec4
4 components vector of single-precision floating-point numbers.
uint8 u8
Default qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:92
float float32
Single-qualifier floating-point scalar.
Definition: fwd.hpp:155
vec< 4, f32, defaultp > fvec4
Single-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:444
vec< 1, u16, defaultp > u16vec1
Default qualifier 16 bit unsigned integer scalar type.
Definition: fwd.hpp:359
vec< 1, double, defaultp > dvec1
1 components vector of double-precision floating-point numbers.
vec< 1, i8, defaultp > i8vec1
8 bit signed integer scalar type.
Definition: fwd.hpp:237
vec< 2, i32, defaultp > i32vec2
32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:278
uint8 highp_uint8_t
High qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:100
uint64 mediump_uint64
Medium qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:137
int32 highp_int32_t
32 bit signed integer type.
Definition: fwd.hpp:70
vec< 3, f64, defaultp > f64vec3
Double-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:503
mat< 2, 4, f64, defaultp > f64mat2x4
Double-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:786
mat< 3, 3, float, defaultp > mat3x3
3 columns of 3 components matrix of single-precision floating-point numbers.
uint64 mediump_u64
Medium qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:132
vec< 2, unsigned int, defaultp > uvec2
2 components vector of unsigned integer numbers.
uint16 lowp_u16
Low qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:103
vec< 1, unsigned int, defaultp > uvec1
1 component vector of unsigned integer numbers.
int16 highp_i16
High qualifier 16 bit signed integer type.
Definition: fwd.hpp:47
int8 highp_int8
High qualifier 8 bit signed integer type.
Definition: fwd.hpp:38
mat< 4, 4, f64, defaultp > f64mat4x4
Double-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:788
mat< 4, 3, f32, defaultp > fmat4x3
Single-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:665
vec< 3, f32, defaultp > fvec3
Single-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:443
vec< 2, i16, defaultp > i16vec2
16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:258
mat< 4, 3, f32, defaultp > f32mat4x3
Single-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:705
int16 lowp_i16
Low qualifier 16 bit signed integer type.
Definition: fwd.hpp:45
vec< 1, float, defaultp > vec1
1 components vector of single-precision floating-point numbers.
aligned_highp_mat4 aligned_mat4
4 by 4 matrix tightly aligned in memory of single-precision floating-point numbers.
double float64_t
Default 64 bit double-qualifier floating-point scalar.
Definition: fwd.hpp:176
int16 lowp_int16
Low qualifier 16 bit signed integer type.
Definition: fwd.hpp:50
aligned_highp_uvec1 aligned_uvec1
1 component vector aligned in memory of unsigned integer numbers.
int64 lowp_int64_t
Low qualifier 64 bit signed integer type.
Definition: fwd.hpp:82
uint16 uint16_t
Default qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:115
aligned_highp_vec1 aligned_vec1
1 component vector aligned in memory of single-precision floating-point numbers.
int32 lowp_int32
Low qualifier 32 bit signed integer type.
Definition: fwd.hpp:64
uint8 uint8_t
Default qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:101
int32 mediump_int32_t
Medium qualifier 32 bit signed integer type.
Definition: fwd.hpp:69
mat< 3, 3, f32, defaultp > f32mat3x3
Single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:704
uint8 highp_u8
High qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:91
uint8 mediump_uint8
Medium qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:95
aligned_highp_uvec4 aligned_uvec4
4 components vector aligned in memory of unsigned integer numbers.
int64 mediump_int64_t
Medium qualifier 64 bit signed integer type.
Definition: fwd.hpp:83
aligned_highp_ivec4 aligned_ivec4
4 components vector aligned in memory of signed integer numbers.
int8 highp_int8_t
High qualifier 8 bit signed integer type.
Definition: fwd.hpp:42
mat< 3, 2, f32, defaultp > f32mat3x2
Single-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:701
vec< 4, i32, defaultp > i32vec4
32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:280
vec< 3, u32, defaultp > u32vec3
Default qualifier 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:381
vec< 2, u8, defaultp > u8vec2
Default qualifier 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:340
int16 mediump_i16
Medium qualifier 16 bit signed integer type.
Definition: fwd.hpp:46
vec< 3, i8, defaultp > i8vec3
8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:239
aligned_highp_vec2 aligned_vec2
2 components vector aligned in memory of single-precision floating-point numbers. ...
mat< 4, 4, float, defaultp > mat4
4 columns of 4 components matrix of single-precision floating-point numbers.
aligned_highp_mat2x2 aligned_mat2x2
2 by 2 matrix tightly aligned in memory of single-precision floating-point numbers.
uint16 mediump_uint16_t
Medium qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:113
vec< 3, u8, defaultp > u8vec3
Default qualifier 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:341
int64 mediump_int64
Medium qualifier 64 bit signed integer type.
Definition: fwd.hpp:79
uint64 uint64_t
Default qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:143
vec< 3, i32, defaultp > i32vec3
32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:279
uint16 lowp_uint16_t
Low qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:112
vec< 2, double, defaultp > dvec2
2 components vector of double-precision floating-point numbers.
uint16 lowp_uint16
Low qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:108
vec< 4, f64, defaultp > f64vec4
Double-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:504
int32 lowp_i32
Low qualifier 32 bit signed integer type.
Definition: fwd.hpp:59
vec< 3, float, defaultp > vec3
3 components vector of single-precision floating-point numbers.
int64 mediump_i64
Medium qualifier 64 bit signed integer type.
Definition: fwd.hpp:74
vec< 2, f32, defaultp > fvec2
Single-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:442
aligned_highp_ivec2 aligned_ivec2
2 components vector aligned in memory of signed integer numbers.
int16 int16_t
16 bit signed integer type.
Definition: fwd.hpp:57
int64 highp_i64
High qualifier 64 bit signed integer type.
Definition: fwd.hpp:75
int32 int32_t
32 bit signed integer type.
Definition: fwd.hpp:71
vec< 2, f64, defaultp > f64vec2
Double-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:502
vec< 4, unsigned int, defaultp > uvec4
4 components vector of unsigned integer numbers.
uint64 lowp_uint64_t
Low qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:140
detail::uint64 uint64
64 bit unsigned integer type.
int16 highp_int16
High qualifier 16 bit signed integer type.
Definition: fwd.hpp:52
aligned_highp_mat4x4 aligned_mat4x4
4 by 4 matrix tightly aligned in memory of single-precision floating-point numbers.
mat< 2, 4, f32, defaultp > fmat2x4
Single-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:666
int32 mediump_i32
Medium qualifier 32 bit signed integer type.
Definition: fwd.hpp:60
aligned_highp_dvec4 aligned_dvec4
4 components vector aligned in memory of double-precision floating-point numbers. ...
uint64 highp_uint64_t
High qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:142
vec< 4, u32, defaultp > u32vec4
Default qualifier 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:382
qua< f32, defaultp > f32quat
Single-qualifier floating-point quaternion.
Definition: fwd.hpp:805
detail::int64 int64
64 bit signed integer type.
mat< 4, 2, f64, defaultp > f64mat4x2
Double-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:782
mat< 2, 3, f32, defaultp > fmat2x3
Single-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:663
uint16 u16
Default qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:106
int64 lowp_i64
Low qualifier 64 bit signed integer type.
Definition: fwd.hpp:73
vec< 2, int, defaultp > ivec2
2 components vector of signed integer numbers.
Definition: vector_int2.hpp:15
int8 mediump_int8_t
Medium qualifier 8 bit signed integer type.
Definition: fwd.hpp:41
int16 highp_int16_t
High qualifier 16 bit signed integer type.
Definition: fwd.hpp:56
vec< 1, i64, defaultp > i64vec1
64 bit signed integer scalar type.
Definition: fwd.hpp:297
aligned_highp_vec4 aligned_vec4
4 components vector aligned in memory of single-precision floating-point numbers. ...
uint32 lowp_u32
Low qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:117
vec< 1, int, defaultp > ivec1
1 component vector of signed integer numbers.
Definition: vector_int1.hpp:28
uint16 highp_u16
High qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:105
vec< 1, f32, defaultp > fvec1
Single-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:441
int32 lowp_int32_t
Low qualifier 32 bit signed integer type.
Definition: fwd.hpp:68
vec< 2, f32, defaultp > f32vec2
Single-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:462
mat< 2, 2, f32, defaultp > fmat2x2
Single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:660
int8 lowp_int8
Low qualifier 8 bit signed integer type.
Definition: fwd.hpp:36
vec< 3, double, defaultp > dvec3
3 components vector of double-precision floating-point numbers.
int8 lowp_int8_t
Low qualifier 8 bit signed integer type.
Definition: fwd.hpp:40
aligned_highp_mat3x3 aligned_mat3x3
3 by 3 matrix tightly aligned in memory of single-precision floating-point numbers.
mat< 4, 3, f64, defaultp > f64mat4x3
Double-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:785
int64 i64
64 bit signed integer type.
Definition: fwd.hpp:76
vec< 2, u32, defaultp > u32vec2
Default qualifier 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:380
qua< float, defaultp > quat
Quaternion of single-precision floating-point numbers.
int32 mediump_int32
Medium qualifier 32 bit signed integer type.
Definition: fwd.hpp:65
vec< 2, i64, defaultp > i64vec2
64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:298
int16 i16
16 bit signed integer type.
Definition: fwd.hpp:48
vec< 4, double, defaultp > dvec4
4 components vector of double-precision floating-point numbers.
mat< 4, 4, f32, defaultp > fmat4x4
Single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:668
mat< 2, 2, float, defaultp > mat2
2 columns of 2 components matrix of single-precision floating-point numbers.
aligned_highp_mat3 aligned_mat3
3 by 3 matrix tightly aligned in memory of single-precision floating-point numbers.
mat< 3, 2, f32, defaultp > fmat3x2
Single-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:661
vec< 4, u16, defaultp > u16vec4
Default qualifier 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:362
vec< 2, u16, defaultp > u16vec2
Default qualifier 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:360
uint8 mediump_u8
Medium qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:90
aligned_highp_dvec2 aligned_dvec2
2 components vector aligned in memory of double-precision floating-point numbers. ...
int16 mediump_int16_t
Medium qualifier 16 bit signed integer type.
Definition: fwd.hpp:55
int8 lowp_i8
Low qualifier 8 bit signed integer type.
Definition: fwd.hpp:31
vec< 3, i64, defaultp > i64vec3
64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:299
mat< 3, 3, float, defaultp > mat3
3 columns of 3 components matrix of single-precision floating-point numbers.
uint16 highp_uint16_t
High qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:114
int8 i8
8 bit signed integer type.
Definition: fwd.hpp:34
uint64 mediump_uint64_t
Medium qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:141
uint8 mediump_uint8_t
Medium qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:99
Definition: common.hpp:20
uint16 mediump_uint16
Medium qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:109
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00163_source.html ================================================ 0.9.9 API documentation: type_float.hpp Source File
0.9.9 API documentation
type_float.hpp
1 #pragma once
2 
3 #include "setup.hpp"
4 
5 #if GLM_COMPILER == GLM_COMPILER_VC12
6 # pragma warning(push)
7 # pragma warning(disable: 4512) // assignment operator could not be generated
8 #endif
9 
10 namespace glm{
11 namespace detail
12 {
13  template <typename T>
14  union float_t
15  {};
16 
17  // https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/
18  template <>
19  union float_t<float>
20  {
21  typedef int int_type;
22  typedef float float_type;
23 
24  GLM_CONSTEXPR float_t(float_type Num = 0.0f) : f(Num) {}
25 
26  GLM_CONSTEXPR float_t& operator=(float_t const& x)
27  {
28  f = x.f;
29  return *this;
30  }
31 
32  // Portable extraction of components.
33  GLM_CONSTEXPR bool negative() const { return i < 0; }
34  GLM_CONSTEXPR int_type mantissa() const { return i & ((1 << 23) - 1); }
35  GLM_CONSTEXPR int_type exponent() const { return (i >> 23) & ((1 << 8) - 1); }
36 
37  int_type i;
38  float_type f;
39  };
40 
41  template <>
42  union float_t<double>
43  {
44  typedef detail::int64 int_type;
45  typedef double float_type;
46 
47  GLM_CONSTEXPR float_t(float_type Num = static_cast<float_type>(0)) : f(Num) {}
48 
49  GLM_CONSTEXPR float_t& operator=(float_t const& x)
50  {
51  f = x.f;
52  return *this;
53  }
54 
55  // Portable extraction of components.
56  GLM_CONSTEXPR bool negative() const { return i < 0; }
57  GLM_CONSTEXPR int_type mantissa() const { return i & ((int_type(1) << 52) - 1); }
58  GLM_CONSTEXPR int_type exponent() const { return (i >> 52) & ((int_type(1) << 11) - 1); }
59 
60  int_type i;
61  float_type f;
62  };
63 }//namespace detail
64 }//namespace glm
65 
66 #if GLM_COMPILER == GLM_COMPILER_VC12
67 # pragma warning(pop)
68 #endif
detail::int64 int64
64 bit signed integer type.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00164_source.html ================================================ 0.9.9 API documentation: type_half.hpp Source File
0.9.9 API documentation
type_half.hpp
1 #pragma once
2 
3 #include "setup.hpp"
4 
5 namespace glm{
6 namespace detail
7 {
8  typedef short hdata;
9 
10  GLM_FUNC_DECL float toFloat32(hdata value);
11  GLM_FUNC_DECL hdata toFloat16(float const& value);
12 
13 }//namespace detail
14 }//namespace glm
15 
16 #include "type_half.inl"
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00165.html ================================================ 0.9.9 API documentation: type_mat2x2.hpp File Reference
0.9.9 API documentation
type_mat2x2.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00165_source.html ================================================ 0.9.9 API documentation: type_mat2x2.hpp Source File
0.9.9 API documentation
type_mat2x2.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 
6 #include "type_vec2.hpp"
7 #include <limits>
8 #include <cstddef>
9 
10 namespace glm
11 {
12  template<typename T, qualifier Q>
13  struct mat<2, 2, T, Q>
14  {
15  typedef vec<2, T, Q> col_type;
16  typedef vec<2, T, Q> row_type;
17  typedef mat<2, 2, T, Q> type;
18  typedef mat<2, 2, T, Q> transpose_type;
19  typedef T value_type;
20 
21  private:
22  col_type value[2];
23 
24  public:
25  // -- Accesses --
26 
27  typedef length_t length_type;
28  GLM_FUNC_DECL static GLM_CONSTEXPR length_type length() { return 2; }
29 
30  GLM_FUNC_DECL col_type & operator[](length_type i);
31  GLM_FUNC_DECL GLM_CONSTEXPR col_type const& operator[](length_type i) const;
32 
33  // -- Constructors --
34 
35  GLM_FUNC_DECL GLM_CONSTEXPR mat() GLM_DEFAULT;
36  template<qualifier P>
37  GLM_FUNC_DECL GLM_CONSTEXPR mat(mat<2, 2, T, P> const& m);
38 
39  GLM_FUNC_DECL explicit GLM_CONSTEXPR mat(T scalar);
40  GLM_FUNC_DECL GLM_CONSTEXPR mat(
41  T const& x1, T const& y1,
42  T const& x2, T const& y2);
43  GLM_FUNC_DECL GLM_CONSTEXPR mat(
44  col_type const& v1,
45  col_type const& v2);
46 
47  // -- Conversions --
48 
49  template<typename U, typename V, typename M, typename N>
50  GLM_FUNC_DECL GLM_CONSTEXPR mat(
51  U const& x1, V const& y1,
52  M const& x2, N const& y2);
53 
54  template<typename U, typename V>
55  GLM_FUNC_DECL GLM_CONSTEXPR mat(
56  vec<2, U, Q> const& v1,
57  vec<2, V, Q> const& v2);
58 
59  // -- Matrix conversions --
60 
61  template<typename U, qualifier P>
62  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 2, U, P> const& m);
63 
64  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 3, T, Q> const& x);
65  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 4, T, Q> const& x);
66  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 3, T, Q> const& x);
67  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 2, T, Q> const& x);
68  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 4, T, Q> const& x);
69  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 2, T, Q> const& x);
70  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 4, T, Q> const& x);
71  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 3, T, Q> const& x);
72 
73  // -- Unary arithmetic operators --
74 
75  template<typename U>
76  GLM_FUNC_DECL mat<2, 2, T, Q> & operator=(mat<2, 2, U, Q> const& m);
77  template<typename U>
78  GLM_FUNC_DECL mat<2, 2, T, Q> & operator+=(U s);
79  template<typename U>
80  GLM_FUNC_DECL mat<2, 2, T, Q> & operator+=(mat<2, 2, U, Q> const& m);
81  template<typename U>
82  GLM_FUNC_DECL mat<2, 2, T, Q> & operator-=(U s);
83  template<typename U>
84  GLM_FUNC_DECL mat<2, 2, T, Q> & operator-=(mat<2, 2, U, Q> const& m);
85  template<typename U>
86  GLM_FUNC_DECL mat<2, 2, T, Q> & operator*=(U s);
87  template<typename U>
88  GLM_FUNC_DECL mat<2, 2, T, Q> & operator*=(mat<2, 2, U, Q> const& m);
89  template<typename U>
90  GLM_FUNC_DECL mat<2, 2, T, Q> & operator/=(U s);
91  template<typename U>
92  GLM_FUNC_DECL mat<2, 2, T, Q> & operator/=(mat<2, 2, U, Q> const& m);
93 
94  // -- Increment and decrement operators --
95 
96  GLM_FUNC_DECL mat<2, 2, T, Q> & operator++ ();
97  GLM_FUNC_DECL mat<2, 2, T, Q> & operator-- ();
98  GLM_FUNC_DECL mat<2, 2, T, Q> operator++(int);
99  GLM_FUNC_DECL mat<2, 2, T, Q> operator--(int);
100  };
101 
102  // -- Unary operators --
103 
104  template<typename T, qualifier Q>
105  GLM_FUNC_DECL mat<2, 2, T, Q> operator+(mat<2, 2, T, Q> const& m);
106 
107  template<typename T, qualifier Q>
108  GLM_FUNC_DECL mat<2, 2, T, Q> operator-(mat<2, 2, T, Q> const& m);
109 
110  // -- Binary operators --
111 
112  template<typename T, qualifier Q>
113  GLM_FUNC_DECL mat<2, 2, T, Q> operator+(mat<2, 2, T, Q> const& m, T scalar);
114 
115  template<typename T, qualifier Q>
116  GLM_FUNC_DECL mat<2, 2, T, Q> operator+(T scalar, mat<2, 2, T, Q> const& m);
117 
118  template<typename T, qualifier Q>
119  GLM_FUNC_DECL mat<2, 2, T, Q> operator+(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2);
120 
121  template<typename T, qualifier Q>
122  GLM_FUNC_DECL mat<2, 2, T, Q> operator-(mat<2, 2, T, Q> const& m, T scalar);
123 
124  template<typename T, qualifier Q>
125  GLM_FUNC_DECL mat<2, 2, T, Q> operator-(T scalar, mat<2, 2, T, Q> const& m);
126 
127  template<typename T, qualifier Q>
128  GLM_FUNC_DECL mat<2, 2, T, Q> operator-(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2);
129 
130  template<typename T, qualifier Q>
131  GLM_FUNC_DECL mat<2, 2, T, Q> operator*(mat<2, 2, T, Q> const& m, T scalar);
132 
133  template<typename T, qualifier Q>
134  GLM_FUNC_DECL mat<2, 2, T, Q> operator*(T scalar, mat<2, 2, T, Q> const& m);
135 
136  template<typename T, qualifier Q>
137  GLM_FUNC_DECL typename mat<2, 2, T, Q>::col_type operator*(mat<2, 2, T, Q> const& m, typename mat<2, 2, T, Q>::row_type const& v);
138 
139  template<typename T, qualifier Q>
140  GLM_FUNC_DECL typename mat<2, 2, T, Q>::row_type operator*(typename mat<2, 2, T, Q>::col_type const& v, mat<2, 2, T, Q> const& m);
141 
142  template<typename T, qualifier Q>
143  GLM_FUNC_DECL mat<2, 2, T, Q> operator*(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2);
144 
145  template<typename T, qualifier Q>
146  GLM_FUNC_DECL mat<3, 2, T, Q> operator*(mat<2, 2, T, Q> const& m1, mat<3, 2, T, Q> const& m2);
147 
148  template<typename T, qualifier Q>
149  GLM_FUNC_DECL mat<4, 2, T, Q> operator*(mat<2, 2, T, Q> const& m1, mat<4, 2, T, Q> const& m2);
150 
151  template<typename T, qualifier Q>
152  GLM_FUNC_DECL mat<2, 2, T, Q> operator/(mat<2, 2, T, Q> const& m, T scalar);
153 
154  template<typename T, qualifier Q>
155  GLM_FUNC_DECL mat<2, 2, T, Q> operator/(T scalar, mat<2, 2, T, Q> const& m);
156 
157  template<typename T, qualifier Q>
158  GLM_FUNC_DECL typename mat<2, 2, T, Q>::col_type operator/(mat<2, 2, T, Q> const& m, typename mat<2, 2, T, Q>::row_type const& v);
159 
160  template<typename T, qualifier Q>
161  GLM_FUNC_DECL typename mat<2, 2, T, Q>::row_type operator/(typename mat<2, 2, T, Q>::col_type const& v, mat<2, 2, T, Q> const& m);
162 
163  template<typename T, qualifier Q>
164  GLM_FUNC_DECL mat<2, 2, T, Q> operator/(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2);
165 
166  // -- Boolean operators --
167 
168  template<typename T, qualifier Q>
169  GLM_FUNC_DECL bool operator==(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2);
170 
171  template<typename T, qualifier Q>
172  GLM_FUNC_DECL bool operator!=(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2);
173 } //namespace glm
174 
175 #ifndef GLM_EXTERNAL_TEMPLATE
176 #include "type_mat2x2.inl"
177 #endif
Core features
GLM_FUNC_DECL T length(qua< T, Q > const &q)
Returns the norm of a quaternions.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00166.html ================================================ 0.9.9 API documentation: type_mat2x3.hpp File Reference
0.9.9 API documentation
type_mat2x3.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00166_source.html ================================================ 0.9.9 API documentation: type_mat2x3.hpp Source File
0.9.9 API documentation
type_mat2x3.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 
6 #include "type_vec2.hpp"
7 #include "type_vec3.hpp"
8 #include <limits>
9 #include <cstddef>
10 
11 namespace glm
12 {
13  template<typename T, qualifier Q>
14  struct mat<2, 3, T, Q>
15  {
16  typedef vec<3, T, Q> col_type;
17  typedef vec<2, T, Q> row_type;
18  typedef mat<2, 3, T, Q> type;
19  typedef mat<3, 2, T, Q> transpose_type;
20  typedef T value_type;
21 
22  private:
23  col_type value[2];
24 
25  public:
26  // -- Accesses --
27 
28  typedef length_t length_type;
29  GLM_FUNC_DECL static GLM_CONSTEXPR length_type length() { return 2; }
30 
31  GLM_FUNC_DECL col_type & operator[](length_type i);
32  GLM_FUNC_DECL GLM_CONSTEXPR col_type const& operator[](length_type i) const;
33 
34  // -- Constructors --
35 
36  GLM_FUNC_DECL GLM_CONSTEXPR mat() GLM_DEFAULT;
37  template<qualifier P>
38  GLM_FUNC_DECL GLM_CONSTEXPR mat(mat<2, 3, T, P> const& m);
39 
40  GLM_FUNC_DECL explicit GLM_CONSTEXPR mat(T scalar);
41  GLM_FUNC_DECL GLM_CONSTEXPR mat(
42  T x0, T y0, T z0,
43  T x1, T y1, T z1);
44  GLM_FUNC_DECL GLM_CONSTEXPR mat(
45  col_type const& v0,
46  col_type const& v1);
47 
48  // -- Conversions --
49 
50  template<typename X1, typename Y1, typename Z1, typename X2, typename Y2, typename Z2>
51  GLM_FUNC_DECL GLM_CONSTEXPR mat(
52  X1 x1, Y1 y1, Z1 z1,
53  X2 x2, Y2 y2, Z2 z2);
54 
55  template<typename U, typename V>
56  GLM_FUNC_DECL GLM_CONSTEXPR mat(
57  vec<3, U, Q> const& v1,
58  vec<3, V, Q> const& v2);
59 
60  // -- Matrix conversions --
61 
62  template<typename U, qualifier P>
63  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 3, U, P> const& m);
64 
65  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 2, T, Q> const& x);
66  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 3, T, Q> const& x);
67  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 4, T, Q> const& x);
68  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 4, T, Q> const& x);
69  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 2, T, Q> const& x);
70  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 4, T, Q> const& x);
71  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 2, T, Q> const& x);
72  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 3, T, Q> const& x);
73 
74  // -- Unary arithmetic operators --
75 
76  template<typename U>
77  GLM_FUNC_DECL mat<2, 3, T, Q> & operator=(mat<2, 3, U, Q> const& m);
78  template<typename U>
79  GLM_FUNC_DECL mat<2, 3, T, Q> & operator+=(U s);
80  template<typename U>
81  GLM_FUNC_DECL mat<2, 3, T, Q> & operator+=(mat<2, 3, U, Q> const& m);
82  template<typename U>
83  GLM_FUNC_DECL mat<2, 3, T, Q> & operator-=(U s);
84  template<typename U>
85  GLM_FUNC_DECL mat<2, 3, T, Q> & operator-=(mat<2, 3, U, Q> const& m);
86  template<typename U>
87  GLM_FUNC_DECL mat<2, 3, T, Q> & operator*=(U s);
88  template<typename U>
89  GLM_FUNC_DECL mat<2, 3, T, Q> & operator/=(U s);
90 
91  // -- Increment and decrement operators --
92 
93  GLM_FUNC_DECL mat<2, 3, T, Q> & operator++ ();
94  GLM_FUNC_DECL mat<2, 3, T, Q> & operator-- ();
95  GLM_FUNC_DECL mat<2, 3, T, Q> operator++(int);
96  GLM_FUNC_DECL mat<2, 3, T, Q> operator--(int);
97  };
98 
99  // -- Unary operators --
100 
101  template<typename T, qualifier Q>
102  GLM_FUNC_DECL mat<2, 3, T, Q> operator+(mat<2, 3, T, Q> const& m);
103 
104  template<typename T, qualifier Q>
105  GLM_FUNC_DECL mat<2, 3, T, Q> operator-(mat<2, 3, T, Q> const& m);
106 
107  // -- Binary operators --
108 
109  template<typename T, qualifier Q>
110  GLM_FUNC_DECL mat<2, 3, T, Q> operator+(mat<2, 3, T, Q> const& m, T scalar);
111 
112  template<typename T, qualifier Q>
113  GLM_FUNC_DECL mat<2, 3, T, Q> operator+(mat<2, 3, T, Q> const& m1, mat<2, 3, T, Q> const& m2);
114 
115  template<typename T, qualifier Q>
116  GLM_FUNC_DECL mat<2, 3, T, Q> operator-(mat<2, 3, T, Q> const& m, T scalar);
117 
118  template<typename T, qualifier Q>
119  GLM_FUNC_DECL mat<2, 3, T, Q> operator-(mat<2, 3, T, Q> const& m1, mat<2, 3, T, Q> const& m2);
120 
121  template<typename T, qualifier Q>
122  GLM_FUNC_DECL mat<2, 3, T, Q> operator*(mat<2, 3, T, Q> const& m, T scalar);
123 
124  template<typename T, qualifier Q>
125  GLM_FUNC_DECL mat<2, 3, T, Q> operator*(T scalar, mat<2, 3, T, Q> const& m);
126 
127  template<typename T, qualifier Q>
128  GLM_FUNC_DECL typename mat<2, 3, T, Q>::col_type operator*(mat<2, 3, T, Q> const& m, typename mat<2, 3, T, Q>::row_type const& v);
129 
130  template<typename T, qualifier Q>
131  GLM_FUNC_DECL typename mat<2, 3, T, Q>::row_type operator*(typename mat<2, 3, T, Q>::col_type const& v, mat<2, 3, T, Q> const& m);
132 
133  template<typename T, qualifier Q>
134  GLM_FUNC_DECL mat<2, 3, T, Q> operator*(mat<2, 3, T, Q> const& m1, mat<2, 2, T, Q> const& m2);
135 
136  template<typename T, qualifier Q>
137  GLM_FUNC_DECL mat<3, 3, T, Q> operator*(mat<2, 3, T, Q> const& m1, mat<3, 2, T, Q> const& m2);
138 
139  template<typename T, qualifier Q>
140  GLM_FUNC_DECL mat<4, 3, T, Q> operator*(mat<2, 3, T, Q> const& m1, mat<4, 2, T, Q> const& m2);
141 
142  template<typename T, qualifier Q>
143  GLM_FUNC_DECL mat<2, 3, T, Q> operator/(mat<2, 3, T, Q> const& m, T scalar);
144 
145  template<typename T, qualifier Q>
146  GLM_FUNC_DECL mat<2, 3, T, Q> operator/(T scalar, mat<2, 3, T, Q> const& m);
147 
148  // -- Boolean operators --
149 
150  template<typename T, qualifier Q>
151  GLM_FUNC_DECL bool operator==(mat<2, 3, T, Q> const& m1, mat<2, 3, T, Q> const& m2);
152 
153  template<typename T, qualifier Q>
154  GLM_FUNC_DECL bool operator!=(mat<2, 3, T, Q> const& m1, mat<2, 3, T, Q> const& m2);
155 }//namespace glm
156 
157 #ifndef GLM_EXTERNAL_TEMPLATE
158 #include "type_mat2x3.inl"
159 #endif
Core features
GLM_FUNC_DECL T length(qua< T, Q > const &q)
Returns the norm of a quaternions.
Core features
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00167.html ================================================ 0.9.9 API documentation: type_mat2x4.hpp File Reference
0.9.9 API documentation
type_mat2x4.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00167_source.html ================================================ 0.9.9 API documentation: type_mat2x4.hpp Source File
0.9.9 API documentation
type_mat2x4.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 
6 #include "type_vec2.hpp"
7 #include "type_vec4.hpp"
8 #include <limits>
9 #include <cstddef>
10 
11 namespace glm
12 {
13  template<typename T, qualifier Q>
14  struct mat<2, 4, T, Q>
15  {
16  typedef vec<4, T, Q> col_type;
17  typedef vec<2, T, Q> row_type;
18  typedef mat<2, 4, T, Q> type;
19  typedef mat<4, 2, T, Q> transpose_type;
20  typedef T value_type;
21 
22  private:
23  col_type value[2];
24 
25  public:
26  // -- Accesses --
27 
28  typedef length_t length_type;
29  GLM_FUNC_DECL static GLM_CONSTEXPR length_type length() { return 2; }
30 
31  GLM_FUNC_DECL col_type & operator[](length_type i);
32  GLM_FUNC_DECL GLM_CONSTEXPR col_type const& operator[](length_type i) const;
33 
34  // -- Constructors --
35 
36  GLM_FUNC_DECL GLM_CONSTEXPR mat() GLM_DEFAULT;
37  template<qualifier P>
38  GLM_FUNC_DECL GLM_CONSTEXPR mat(mat<2, 4, T, P> const& m);
39 
40  GLM_FUNC_DECL explicit GLM_CONSTEXPR mat(T scalar);
41  GLM_FUNC_DECL GLM_CONSTEXPR mat(
42  T x0, T y0, T z0, T w0,
43  T x1, T y1, T z1, T w1);
44  GLM_FUNC_DECL GLM_CONSTEXPR mat(
45  col_type const& v0,
46  col_type const& v1);
47 
48  // -- Conversions --
49 
50  template<
51  typename X1, typename Y1, typename Z1, typename W1,
52  typename X2, typename Y2, typename Z2, typename W2>
53  GLM_FUNC_DECL GLM_CONSTEXPR mat(
54  X1 x1, Y1 y1, Z1 z1, W1 w1,
55  X2 x2, Y2 y2, Z2 z2, W2 w2);
56 
57  template<typename U, typename V>
58  GLM_FUNC_DECL GLM_CONSTEXPR mat(
59  vec<4, U, Q> const& v1,
60  vec<4, V, Q> const& v2);
61 
62  // -- Matrix conversions --
63 
64  template<typename U, qualifier P>
65  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 4, U, P> const& m);
66 
67  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 2, T, Q> const& x);
68  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 3, T, Q> const& x);
69  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 4, T, Q> const& x);
70  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 3, T, Q> const& x);
71  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 2, T, Q> const& x);
72  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 4, T, Q> const& x);
73  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 2, T, Q> const& x);
74  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 3, T, Q> const& x);
75 
76  // -- Unary arithmetic operators --
77 
78  template<typename U>
79  GLM_FUNC_DECL mat<2, 4, T, Q> & operator=(mat<2, 4, U, Q> const& m);
80  template<typename U>
81  GLM_FUNC_DECL mat<2, 4, T, Q> & operator+=(U s);
82  template<typename U>
83  GLM_FUNC_DECL mat<2, 4, T, Q> & operator+=(mat<2, 4, U, Q> const& m);
84  template<typename U>
85  GLM_FUNC_DECL mat<2, 4, T, Q> & operator-=(U s);
86  template<typename U>
87  GLM_FUNC_DECL mat<2, 4, T, Q> & operator-=(mat<2, 4, U, Q> const& m);
88  template<typename U>
89  GLM_FUNC_DECL mat<2, 4, T, Q> & operator*=(U s);
90  template<typename U>
91  GLM_FUNC_DECL mat<2, 4, T, Q> & operator/=(U s);
92 
93  // -- Increment and decrement operators --
94 
95  GLM_FUNC_DECL mat<2, 4, T, Q> & operator++ ();
96  GLM_FUNC_DECL mat<2, 4, T, Q> & operator-- ();
97  GLM_FUNC_DECL mat<2, 4, T, Q> operator++(int);
98  GLM_FUNC_DECL mat<2, 4, T, Q> operator--(int);
99  };
100 
101  // -- Unary operators --
102 
103  template<typename T, qualifier Q>
104  GLM_FUNC_DECL mat<2, 4, T, Q> operator+(mat<2, 4, T, Q> const& m);
105 
106  template<typename T, qualifier Q>
107  GLM_FUNC_DECL mat<2, 4, T, Q> operator-(mat<2, 4, T, Q> const& m);
108 
109  // -- Binary operators --
110 
111  template<typename T, qualifier Q>
112  GLM_FUNC_DECL mat<2, 4, T, Q> operator+(mat<2, 4, T, Q> const& m, T scalar);
113 
114  template<typename T, qualifier Q>
115  GLM_FUNC_DECL mat<2, 4, T, Q> operator+(mat<2, 4, T, Q> const& m1, mat<2, 4, T, Q> const& m2);
116 
117  template<typename T, qualifier Q>
118  GLM_FUNC_DECL mat<2, 4, T, Q> operator-(mat<2, 4, T, Q> const& m, T scalar);
119 
120  template<typename T, qualifier Q>
121  GLM_FUNC_DECL mat<2, 4, T, Q> operator-(mat<2, 4, T, Q> const& m1, mat<2, 4, T, Q> const& m2);
122 
123  template<typename T, qualifier Q>
124  GLM_FUNC_DECL mat<2, 4, T, Q> operator*(mat<2, 4, T, Q> const& m, T scalar);
125 
126  template<typename T, qualifier Q>
127  GLM_FUNC_DECL mat<2, 4, T, Q> operator*(T scalar, mat<2, 4, T, Q> const& m);
128 
129  template<typename T, qualifier Q>
130  GLM_FUNC_DECL typename mat<2, 4, T, Q>::col_type operator*(mat<2, 4, T, Q> const& m, typename mat<2, 4, T, Q>::row_type const& v);
131 
132  template<typename T, qualifier Q>
133  GLM_FUNC_DECL typename mat<2, 4, T, Q>::row_type operator*(typename mat<2, 4, T, Q>::col_type const& v, mat<2, 4, T, Q> const& m);
134 
135  template<typename T, qualifier Q>
136  GLM_FUNC_DECL mat<4, 4, T, Q> operator*(mat<2, 4, T, Q> const& m1, mat<4, 2, T, Q> const& m2);
137 
138  template<typename T, qualifier Q>
139  GLM_FUNC_DECL mat<2, 4, T, Q> operator*(mat<2, 4, T, Q> const& m1, mat<2, 2, T, Q> const& m2);
140 
141  template<typename T, qualifier Q>
142  GLM_FUNC_DECL mat<3, 4, T, Q> operator*(mat<2, 4, T, Q> const& m1, mat<3, 2, T, Q> const& m2);
143 
144  template<typename T, qualifier Q>
145  GLM_FUNC_DECL mat<2, 4, T, Q> operator/(mat<2, 4, T, Q> const& m, T scalar);
146 
147  template<typename T, qualifier Q>
148  GLM_FUNC_DECL mat<2, 4, T, Q> operator/(T scalar, mat<2, 4, T, Q> const& m);
149 
150  // -- Boolean operators --
151 
152  template<typename T, qualifier Q>
153  GLM_FUNC_DECL bool operator==(mat<2, 4, T, Q> const& m1, mat<2, 4, T, Q> const& m2);
154 
155  template<typename T, qualifier Q>
156  GLM_FUNC_DECL bool operator!=(mat<2, 4, T, Q> const& m1, mat<2, 4, T, Q> const& m2);
157 }//namespace glm
158 
159 #ifndef GLM_EXTERNAL_TEMPLATE
160 #include "type_mat2x4.inl"
161 #endif
Core features
GLM_FUNC_DECL T length(qua< T, Q > const &q)
Returns the norm of a quaternions.
Core features
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00168.html ================================================ 0.9.9 API documentation: type_mat3x2.hpp File Reference
0.9.9 API documentation
type_mat3x2.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00168_source.html ================================================ 0.9.9 API documentation: type_mat3x2.hpp Source File
0.9.9 API documentation
type_mat3x2.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 
6 #include "type_vec2.hpp"
7 #include "type_vec3.hpp"
8 #include <limits>
9 #include <cstddef>
10 
11 namespace glm
12 {
13  template<typename T, qualifier Q>
14  struct mat<3, 2, T, Q>
15  {
16  typedef vec<2, T, Q> col_type;
17  typedef vec<3, T, Q> row_type;
18  typedef mat<3, 2, T, Q> type;
19  typedef mat<2, 3, T, Q> transpose_type;
20  typedef T value_type;
21 
22  private:
23  col_type value[3];
24 
25  public:
26  // -- Accesses --
27 
28  typedef length_t length_type;
29  GLM_FUNC_DECL static GLM_CONSTEXPR length_type length() { return 3; }
30 
31  GLM_FUNC_DECL col_type & operator[](length_type i);
32  GLM_FUNC_DECL GLM_CONSTEXPR col_type const& operator[](length_type i) const;
33 
34  // -- Constructors --
35 
36  GLM_FUNC_DECL GLM_CONSTEXPR mat() GLM_DEFAULT;
37  template<qualifier P>
38  GLM_FUNC_DECL GLM_CONSTEXPR mat(mat<3, 2, T, P> const& m);
39 
40  GLM_FUNC_DECL explicit GLM_CONSTEXPR mat(T scalar);
41  GLM_FUNC_DECL GLM_CONSTEXPR mat(
42  T x0, T y0,
43  T x1, T y1,
44  T x2, T y2);
45  GLM_FUNC_DECL GLM_CONSTEXPR mat(
46  col_type const& v0,
47  col_type const& v1,
48  col_type const& v2);
49 
50  // -- Conversions --
51 
52  template<
53  typename X1, typename Y1,
54  typename X2, typename Y2,
55  typename X3, typename Y3>
56  GLM_FUNC_DECL GLM_CONSTEXPR mat(
57  X1 x1, Y1 y1,
58  X2 x2, Y2 y2,
59  X3 x3, Y3 y3);
60 
61  template<typename V1, typename V2, typename V3>
62  GLM_FUNC_DECL GLM_CONSTEXPR mat(
63  vec<2, V1, Q> const& v1,
64  vec<2, V2, Q> const& v2,
65  vec<2, V3, Q> const& v3);
66 
67  // -- Matrix conversions --
68 
69  template<typename U, qualifier P>
70  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 2, U, P> const& m);
71 
72  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 2, T, Q> const& x);
73  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 3, T, Q> const& x);
74  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 4, T, Q> const& x);
75  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 3, T, Q> const& x);
76  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 4, T, Q> const& x);
77  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 4, T, Q> const& x);
78  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 2, T, Q> const& x);
79  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 3, T, Q> const& x);
80 
81  // -- Unary arithmetic operators --
82 
83  template<typename U>
84  GLM_FUNC_DECL mat<3, 2, T, Q> & operator=(mat<3, 2, U, Q> const& m);
85  template<typename U>
86  GLM_FUNC_DECL mat<3, 2, T, Q> & operator+=(U s);
87  template<typename U>
88  GLM_FUNC_DECL mat<3, 2, T, Q> & operator+=(mat<3, 2, U, Q> const& m);
89  template<typename U>
90  GLM_FUNC_DECL mat<3, 2, T, Q> & operator-=(U s);
91  template<typename U>
92  GLM_FUNC_DECL mat<3, 2, T, Q> & operator-=(mat<3, 2, U, Q> const& m);
93  template<typename U>
94  GLM_FUNC_DECL mat<3, 2, T, Q> & operator*=(U s);
95  template<typename U>
96  GLM_FUNC_DECL mat<3, 2, T, Q> & operator/=(U s);
97 
98  // -- Increment and decrement operators --
99 
100  GLM_FUNC_DECL mat<3, 2, T, Q> & operator++ ();
101  GLM_FUNC_DECL mat<3, 2, T, Q> & operator-- ();
102  GLM_FUNC_DECL mat<3, 2, T, Q> operator++(int);
103  GLM_FUNC_DECL mat<3, 2, T, Q> operator--(int);
104  };
105 
106  // -- Unary operators --
107 
108  template<typename T, qualifier Q>
109  GLM_FUNC_DECL mat<3, 2, T, Q> operator+(mat<3, 2, T, Q> const& m);
110 
111  template<typename T, qualifier Q>
112  GLM_FUNC_DECL mat<3, 2, T, Q> operator-(mat<3, 2, T, Q> const& m);
113 
114  // -- Binary operators --
115 
116  template<typename T, qualifier Q>
117  GLM_FUNC_DECL mat<3, 2, T, Q> operator+(mat<3, 2, T, Q> const& m, T scalar);
118 
119  template<typename T, qualifier Q>
120  GLM_FUNC_DECL mat<3, 2, T, Q> operator+(mat<3, 2, T, Q> const& m1, mat<3, 2, T, Q> const& m2);
121 
122  template<typename T, qualifier Q>
123  GLM_FUNC_DECL mat<3, 2, T, Q> operator-(mat<3, 2, T, Q> const& m, T scalar);
124 
125  template<typename T, qualifier Q>
126  GLM_FUNC_DECL mat<3, 2, T, Q> operator-(mat<3, 2, T, Q> const& m1, mat<3, 2, T, Q> const& m2);
127 
128  template<typename T, qualifier Q>
129  GLM_FUNC_DECL mat<3, 2, T, Q> operator*(mat<3, 2, T, Q> const& m, T scalar);
130 
131  template<typename T, qualifier Q>
132  GLM_FUNC_DECL mat<3, 2, T, Q> operator*(T scalar, mat<3, 2, T, Q> const& m);
133 
134  template<typename T, qualifier Q>
135  GLM_FUNC_DECL typename mat<3, 2, T, Q>::col_type operator*(mat<3, 2, T, Q> const& m, typename mat<3, 2, T, Q>::row_type const& v);
136 
137  template<typename T, qualifier Q>
138  GLM_FUNC_DECL typename mat<3, 2, T, Q>::row_type operator*(typename mat<3, 2, T, Q>::col_type const& v, mat<3, 2, T, Q> const& m);
139 
140  template<typename T, qualifier Q>
141  GLM_FUNC_DECL mat<2, 2, T, Q> operator*(mat<3, 2, T, Q> const& m1, mat<2, 3, T, Q> const& m2);
142 
143  template<typename T, qualifier Q>
144  GLM_FUNC_DECL mat<3, 2, T, Q> operator*(mat<3, 2, T, Q> const& m1, mat<3, 3, T, Q> const& m2);
145 
146  template<typename T, qualifier Q>
147  GLM_FUNC_DECL mat<4, 2, T, Q> operator*(mat<3, 2, T, Q> const& m1, mat<4, 3, T, Q> const& m2);
148 
149  template<typename T, qualifier Q>
150  GLM_FUNC_DECL mat<3, 2, T, Q> operator/(mat<3, 2, T, Q> const& m, T scalar);
151 
152  template<typename T, qualifier Q>
153  GLM_FUNC_DECL mat<3, 2, T, Q> operator/(T scalar, mat<3, 2, T, Q> const& m);
154 
155  // -- Boolean operators --
156 
157  template<typename T, qualifier Q>
158  GLM_FUNC_DECL bool operator==(mat<3, 2, T, Q> const& m1, mat<3, 2, T, Q> const& m2);
159 
160  template<typename T, qualifier Q>
161  GLM_FUNC_DECL bool operator!=(mat<3, 2, T, Q> const& m1, mat<3, 2, T, Q> const& m2);
162 
163 }//namespace glm
164 
165 #ifndef GLM_EXTERNAL_TEMPLATE
166 #include "type_mat3x2.inl"
167 #endif
Core features
GLM_FUNC_DECL T length(qua< T, Q > const &q)
Returns the norm of a quaternions.
Core features
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00169.html ================================================ 0.9.9 API documentation: type_mat3x3.hpp File Reference
0.9.9 API documentation
type_mat3x3.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00169_source.html ================================================ 0.9.9 API documentation: type_mat3x3.hpp Source File
0.9.9 API documentation
type_mat3x3.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 
6 #include "type_vec3.hpp"
7 #include <limits>
8 #include <cstddef>
9 
10 namespace glm
11 {
12  template<typename T, qualifier Q>
13  struct mat<3, 3, T, Q>
14  {
15  typedef vec<3, T, Q> col_type;
16  typedef vec<3, T, Q> row_type;
17  typedef mat<3, 3, T, Q> type;
18  typedef mat<3, 3, T, Q> transpose_type;
19  typedef T value_type;
20 
21  private:
22  col_type value[3];
23 
24  public:
25  // -- Accesses --
26 
27  typedef length_t length_type;
28  GLM_FUNC_DECL static GLM_CONSTEXPR length_type length() { return 3; }
29 
30  GLM_FUNC_DECL col_type & operator[](length_type i);
31  GLM_FUNC_DECL GLM_CONSTEXPR col_type const& operator[](length_type i) const;
32 
33  // -- Constructors --
34 
35  GLM_FUNC_DECL GLM_CONSTEXPR mat() GLM_DEFAULT;
36  template<qualifier P>
37  GLM_FUNC_DECL GLM_CONSTEXPR mat(mat<3, 3, T, P> const& m);
38 
39  GLM_FUNC_DECL explicit GLM_CONSTEXPR mat(T scalar);
40  GLM_FUNC_DECL GLM_CONSTEXPR mat(
41  T x0, T y0, T z0,
42  T x1, T y1, T z1,
43  T x2, T y2, T z2);
44  GLM_FUNC_DECL GLM_CONSTEXPR mat(
45  col_type const& v0,
46  col_type const& v1,
47  col_type const& v2);
48 
49  // -- Conversions --
50 
51  template<
52  typename X1, typename Y1, typename Z1,
53  typename X2, typename Y2, typename Z2,
54  typename X3, typename Y3, typename Z3>
55  GLM_FUNC_DECL GLM_CONSTEXPR mat(
56  X1 x1, Y1 y1, Z1 z1,
57  X2 x2, Y2 y2, Z2 z2,
58  X3 x3, Y3 y3, Z3 z3);
59 
60  template<typename V1, typename V2, typename V3>
61  GLM_FUNC_DECL GLM_CONSTEXPR mat(
62  vec<3, V1, Q> const& v1,
63  vec<3, V2, Q> const& v2,
64  vec<3, V3, Q> const& v3);
65 
66  // -- Matrix conversions --
67 
68  template<typename U, qualifier P>
69  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 3, U, P> const& m);
70 
71  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 2, T, Q> const& x);
72  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 4, T, Q> const& x);
73  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 3, T, Q> const& x);
74  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 2, T, Q> const& x);
75  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 4, T, Q> const& x);
76  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 2, T, Q> const& x);
77  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 4, T, Q> const& x);
78  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 3, T, Q> const& x);
79 
80  // -- Unary arithmetic operators --
81 
82  template<typename U>
83  GLM_FUNC_DECL mat<3, 3, T, Q> & operator=(mat<3, 3, U, Q> const& m);
84  template<typename U>
85  GLM_FUNC_DECL mat<3, 3, T, Q> & operator+=(U s);
86  template<typename U>
87  GLM_FUNC_DECL mat<3, 3, T, Q> & operator+=(mat<3, 3, U, Q> const& m);
88  template<typename U>
89  GLM_FUNC_DECL mat<3, 3, T, Q> & operator-=(U s);
90  template<typename U>
91  GLM_FUNC_DECL mat<3, 3, T, Q> & operator-=(mat<3, 3, U, Q> const& m);
92  template<typename U>
93  GLM_FUNC_DECL mat<3, 3, T, Q> & operator*=(U s);
94  template<typename U>
95  GLM_FUNC_DECL mat<3, 3, T, Q> & operator*=(mat<3, 3, U, Q> const& m);
96  template<typename U>
97  GLM_FUNC_DECL mat<3, 3, T, Q> & operator/=(U s);
98  template<typename U>
99  GLM_FUNC_DECL mat<3, 3, T, Q> & operator/=(mat<3, 3, U, Q> const& m);
100 
101  // -- Increment and decrement operators --
102 
103  GLM_FUNC_DECL mat<3, 3, T, Q> & operator++();
104  GLM_FUNC_DECL mat<3, 3, T, Q> & operator--();
105  GLM_FUNC_DECL mat<3, 3, T, Q> operator++(int);
106  GLM_FUNC_DECL mat<3, 3, T, Q> operator--(int);
107  };
108 
109  // -- Unary operators --
110 
111  template<typename T, qualifier Q>
112  GLM_FUNC_DECL mat<3, 3, T, Q> operator+(mat<3, 3, T, Q> const& m);
113 
114  template<typename T, qualifier Q>
115  GLM_FUNC_DECL mat<3, 3, T, Q> operator-(mat<3, 3, T, Q> const& m);
116 
117  // -- Binary operators --
118 
119  template<typename T, qualifier Q>
120  GLM_FUNC_DECL mat<3, 3, T, Q> operator+(mat<3, 3, T, Q> const& m, T scalar);
121 
122  template<typename T, qualifier Q>
123  GLM_FUNC_DECL mat<3, 3, T, Q> operator+(T scalar, mat<3, 3, T, Q> const& m);
124 
125  template<typename T, qualifier Q>
126  GLM_FUNC_DECL mat<3, 3, T, Q> operator+(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2);
127 
128  template<typename T, qualifier Q>
129  GLM_FUNC_DECL mat<3, 3, T, Q> operator-(mat<3, 3, T, Q> const& m, T scalar);
130 
131  template<typename T, qualifier Q>
132  GLM_FUNC_DECL mat<3, 3, T, Q> operator-(T scalar, mat<3, 3, T, Q> const& m);
133 
134  template<typename T, qualifier Q>
135  GLM_FUNC_DECL mat<3, 3, T, Q> operator-(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2);
136 
137  template<typename T, qualifier Q>
138  GLM_FUNC_DECL mat<3, 3, T, Q> operator*(mat<3, 3, T, Q> const& m, T scalar);
139 
140  template<typename T, qualifier Q>
141  GLM_FUNC_DECL mat<3, 3, T, Q> operator*(T scalar, mat<3, 3, T, Q> const& m);
142 
143  template<typename T, qualifier Q>
144  GLM_FUNC_DECL typename mat<3, 3, T, Q>::col_type operator*(mat<3, 3, T, Q> const& m, typename mat<3, 3, T, Q>::row_type const& v);
145 
146  template<typename T, qualifier Q>
147  GLM_FUNC_DECL typename mat<3, 3, T, Q>::row_type operator*(typename mat<3, 3, T, Q>::col_type const& v, mat<3, 3, T, Q> const& m);
148 
149  template<typename T, qualifier Q>
150  GLM_FUNC_DECL mat<3, 3, T, Q> operator*(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2);
151 
152  template<typename T, qualifier Q>
153  GLM_FUNC_DECL mat<2, 3, T, Q> operator*(mat<3, 3, T, Q> const& m1, mat<2, 3, T, Q> const& m2);
154 
155  template<typename T, qualifier Q>
156  GLM_FUNC_DECL mat<4, 3, T, Q> operator*(mat<3, 3, T, Q> const& m1, mat<4, 3, T, Q> const& m2);
157 
158  template<typename T, qualifier Q>
159  GLM_FUNC_DECL mat<3, 3, T, Q> operator/(mat<3, 3, T, Q> const& m, T scalar);
160 
161  template<typename T, qualifier Q>
162  GLM_FUNC_DECL mat<3, 3, T, Q> operator/(T scalar, mat<3, 3, T, Q> const& m);
163 
164  template<typename T, qualifier Q>
165  GLM_FUNC_DECL typename mat<3, 3, T, Q>::col_type operator/(mat<3, 3, T, Q> const& m, typename mat<3, 3, T, Q>::row_type const& v);
166 
167  template<typename T, qualifier Q>
168  GLM_FUNC_DECL typename mat<3, 3, T, Q>::row_type operator/(typename mat<3, 3, T, Q>::col_type const& v, mat<3, 3, T, Q> const& m);
169 
170  template<typename T, qualifier Q>
171  GLM_FUNC_DECL mat<3, 3, T, Q> operator/(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2);
172 
173  // -- Boolean operators --
174 
175  template<typename T, qualifier Q>
176  GLM_FUNC_DECL GLM_CONSTEXPR bool operator==(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2);
177 
178  template<typename T, qualifier Q>
179  GLM_FUNC_DECL bool operator!=(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2);
180 }//namespace glm
181 
182 #ifndef GLM_EXTERNAL_TEMPLATE
183 #include "type_mat3x3.inl"
184 #endif
GLM_FUNC_DECL T length(qua< T, Q > const &q)
Returns the norm of a quaternions.
Core features
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00170.html ================================================ 0.9.9 API documentation: type_mat3x4.hpp File Reference
0.9.9 API documentation
type_mat3x4.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00170_source.html ================================================ 0.9.9 API documentation: type_mat3x4.hpp Source File
0.9.9 API documentation
type_mat3x4.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 
6 #include "type_vec3.hpp"
7 #include "type_vec4.hpp"
8 #include <limits>
9 #include <cstddef>
10 
11 namespace glm
12 {
13  template<typename T, qualifier Q>
14  struct mat<3, 4, T, Q>
15  {
16  typedef vec<4, T, Q> col_type;
17  typedef vec<3, T, Q> row_type;
18  typedef mat<3, 4, T, Q> type;
19  typedef mat<4, 3, T, Q> transpose_type;
20  typedef T value_type;
21 
22  private:
23  col_type value[3];
24 
25  public:
26  // -- Accesses --
27 
28  typedef length_t length_type;
29  GLM_FUNC_DECL static GLM_CONSTEXPR length_type length() { return 3; }
30 
31  GLM_FUNC_DECL col_type & operator[](length_type i);
32  GLM_FUNC_DECL GLM_CONSTEXPR col_type const& operator[](length_type i) const;
33 
34  // -- Constructors --
35 
36  GLM_FUNC_DECL GLM_CONSTEXPR mat() GLM_DEFAULT;
37  template<qualifier P>
38  GLM_FUNC_DECL GLM_CONSTEXPR mat(mat<3, 4, T, P> const& m);
39 
40  GLM_FUNC_DECL explicit GLM_CONSTEXPR mat(T scalar);
41  GLM_FUNC_DECL GLM_CONSTEXPR mat(
42  T x0, T y0, T z0, T w0,
43  T x1, T y1, T z1, T w1,
44  T x2, T y2, T z2, T w2);
45  GLM_FUNC_DECL GLM_CONSTEXPR mat(
46  col_type const& v0,
47  col_type const& v1,
48  col_type const& v2);
49 
50  // -- Conversions --
51 
52  template<
53  typename X1, typename Y1, typename Z1, typename W1,
54  typename X2, typename Y2, typename Z2, typename W2,
55  typename X3, typename Y3, typename Z3, typename W3>
56  GLM_FUNC_DECL GLM_CONSTEXPR mat(
57  X1 x1, Y1 y1, Z1 z1, W1 w1,
58  X2 x2, Y2 y2, Z2 z2, W2 w2,
59  X3 x3, Y3 y3, Z3 z3, W3 w3);
60 
61  template<typename V1, typename V2, typename V3>
62  GLM_FUNC_DECL GLM_CONSTEXPR mat(
63  vec<4, V1, Q> const& v1,
64  vec<4, V2, Q> const& v2,
65  vec<4, V3, Q> const& v3);
66 
67  // -- Matrix conversions --
68 
69  template<typename U, qualifier P>
70  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 4, U, P> const& m);
71 
72  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 2, T, Q> const& x);
73  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 3, T, Q> const& x);
74  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 4, T, Q> const& x);
75  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 3, T, Q> const& x);
76  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 2, T, Q> const& x);
77  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 4, T, Q> const& x);
78  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 2, T, Q> const& x);
79  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 3, T, Q> const& x);
80 
81  // -- Unary arithmetic operators --
82 
83  template<typename U>
84  GLM_FUNC_DECL mat<3, 4, T, Q> & operator=(mat<3, 4, U, Q> const& m);
85  template<typename U>
86  GLM_FUNC_DECL mat<3, 4, T, Q> & operator+=(U s);
87  template<typename U>
88  GLM_FUNC_DECL mat<3, 4, T, Q> & operator+=(mat<3, 4, U, Q> const& m);
89  template<typename U>
90  GLM_FUNC_DECL mat<3, 4, T, Q> & operator-=(U s);
91  template<typename U>
92  GLM_FUNC_DECL mat<3, 4, T, Q> & operator-=(mat<3, 4, U, Q> const& m);
93  template<typename U>
94  GLM_FUNC_DECL mat<3, 4, T, Q> & operator*=(U s);
95  template<typename U>
96  GLM_FUNC_DECL mat<3, 4, T, Q> & operator/=(U s);
97 
98  // -- Increment and decrement operators --
99 
100  GLM_FUNC_DECL mat<3, 4, T, Q> & operator++();
101  GLM_FUNC_DECL mat<3, 4, T, Q> & operator--();
102  GLM_FUNC_DECL mat<3, 4, T, Q> operator++(int);
103  GLM_FUNC_DECL mat<3, 4, T, Q> operator--(int);
104  };
105 
106  // -- Unary operators --
107 
108  template<typename T, qualifier Q>
109  GLM_FUNC_DECL mat<3, 4, T, Q> operator+(mat<3, 4, T, Q> const& m);
110 
111  template<typename T, qualifier Q>
112  GLM_FUNC_DECL mat<3, 4, T, Q> operator-(mat<3, 4, T, Q> const& m);
113 
114  // -- Binary operators --
115 
116  template<typename T, qualifier Q>
117  GLM_FUNC_DECL mat<3, 4, T, Q> operator+(mat<3, 4, T, Q> const& m, T scalar);
118 
119  template<typename T, qualifier Q>
120  GLM_FUNC_DECL mat<3, 4, T, Q> operator+(mat<3, 4, T, Q> const& m1, mat<3, 4, T, Q> const& m2);
121 
122  template<typename T, qualifier Q>
123  GLM_FUNC_DECL mat<3, 4, T, Q> operator-(mat<3, 4, T, Q> const& m, T scalar);
124 
125  template<typename T, qualifier Q>
126  GLM_FUNC_DECL mat<3, 4, T, Q> operator-(mat<3, 4, T, Q> const& m1, mat<3, 4, T, Q> const& m2);
127 
128  template<typename T, qualifier Q>
129  GLM_FUNC_DECL mat<3, 4, T, Q> operator*(mat<3, 4, T, Q> const& m, T scalar);
130 
131  template<typename T, qualifier Q>
132  GLM_FUNC_DECL mat<3, 4, T, Q> operator*(T scalar, mat<3, 4, T, Q> const& m);
133 
134  template<typename T, qualifier Q>
135  GLM_FUNC_DECL typename mat<3, 4, T, Q>::col_type operator*(mat<3, 4, T, Q> const& m, typename mat<3, 4, T, Q>::row_type const& v);
136 
137  template<typename T, qualifier Q>
138  GLM_FUNC_DECL typename mat<3, 4, T, Q>::row_type operator*(typename mat<3, 4, T, Q>::col_type const& v, mat<3, 4, T, Q> const& m);
139 
140  template<typename T, qualifier Q>
141  GLM_FUNC_DECL mat<4, 4, T, Q> operator*(mat<3, 4, T, Q> const& m1, mat<4, 3, T, Q> const& m2);
142 
143  template<typename T, qualifier Q>
144  GLM_FUNC_DECL mat<2, 4, T, Q> operator*(mat<3, 4, T, Q> const& m1, mat<2, 3, T, Q> const& m2);
145 
146  template<typename T, qualifier Q>
147  GLM_FUNC_DECL mat<3, 4, T, Q> operator*(mat<3, 4, T, Q> const& m1, mat<3, 3, T, Q> const& m2);
148 
149  template<typename T, qualifier Q>
150  GLM_FUNC_DECL mat<3, 4, T, Q> operator/(mat<3, 4, T, Q> const& m, T scalar);
151 
152  template<typename T, qualifier Q>
153  GLM_FUNC_DECL mat<3, 4, T, Q> operator/(T scalar, mat<3, 4, T, Q> const& m);
154 
155  // -- Boolean operators --
156 
157  template<typename T, qualifier Q>
158  GLM_FUNC_DECL bool operator==(mat<3, 4, T, Q> const& m1, mat<3, 4, T, Q> const& m2);
159 
160  template<typename T, qualifier Q>
161  GLM_FUNC_DECL bool operator!=(mat<3, 4, T, Q> const& m1, mat<3, 4, T, Q> const& m2);
162 }//namespace glm
163 
164 #ifndef GLM_EXTERNAL_TEMPLATE
165 #include "type_mat3x4.inl"
166 #endif
GLM_FUNC_DECL T length(qua< T, Q > const &q)
Returns the norm of a quaternions.
Core features
Core features
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00171.html ================================================ 0.9.9 API documentation: type_mat4x2.hpp File Reference
0.9.9 API documentation
type_mat4x2.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00171_source.html ================================================ 0.9.9 API documentation: type_mat4x2.hpp Source File
0.9.9 API documentation
type_mat4x2.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 
6 #include "type_vec2.hpp"
7 #include "type_vec4.hpp"
8 #include <limits>
9 #include <cstddef>
10 
11 namespace glm
12 {
13  template<typename T, qualifier Q>
14  struct mat<4, 2, T, Q>
15  {
16  typedef vec<2, T, Q> col_type;
17  typedef vec<4, T, Q> row_type;
18  typedef mat<4, 2, T, Q> type;
19  typedef mat<2, 4, T, Q> transpose_type;
20  typedef T value_type;
21 
22  private:
23  col_type value[4];
24 
25  public:
26  // -- Accesses --
27 
28  typedef length_t length_type;
29  GLM_FUNC_DECL static GLM_CONSTEXPR length_type length() { return 4; }
30 
31  GLM_FUNC_DECL col_type & operator[](length_type i);
32  GLM_FUNC_DECL GLM_CONSTEXPR col_type const& operator[](length_type i) const;
33 
34  // -- Constructors --
35 
36  GLM_FUNC_DECL GLM_CONSTEXPR mat() GLM_DEFAULT;
37  template<qualifier P>
38  GLM_FUNC_DECL GLM_CONSTEXPR mat(mat<4, 2, T, P> const& m);
39 
40  GLM_FUNC_DECL explicit GLM_CONSTEXPR mat(T scalar);
41  GLM_FUNC_DECL GLM_CONSTEXPR mat(
42  T x0, T y0,
43  T x1, T y1,
44  T x2, T y2,
45  T x3, T y3);
46  GLM_FUNC_DECL GLM_CONSTEXPR mat(
47  col_type const& v0,
48  col_type const& v1,
49  col_type const& v2,
50  col_type const& v3);
51 
52  // -- Conversions --
53 
54  template<
55  typename X0, typename Y0,
56  typename X1, typename Y1,
57  typename X2, typename Y2,
58  typename X3, typename Y3>
59  GLM_FUNC_DECL GLM_CONSTEXPR mat(
60  X0 x0, Y0 y0,
61  X1 x1, Y1 y1,
62  X2 x2, Y2 y2,
63  X3 x3, Y3 y3);
64 
65  template<typename V1, typename V2, typename V3, typename V4>
66  GLM_FUNC_DECL GLM_CONSTEXPR mat(
67  vec<2, V1, Q> const& v1,
68  vec<2, V2, Q> const& v2,
69  vec<2, V3, Q> const& v3,
70  vec<2, V4, Q> const& v4);
71 
72  // -- Matrix conversions --
73 
74  template<typename U, qualifier P>
75  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 2, U, P> const& m);
76 
77  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 2, T, Q> const& x);
78  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 3, T, Q> const& x);
79  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 4, T, Q> const& x);
80  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 3, T, Q> const& x);
81  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 2, T, Q> const& x);
82  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 4, T, Q> const& x);
83  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 3, T, Q> const& x);
84  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 4, T, Q> const& x);
85 
86  // -- Unary arithmetic operators --
87 
88  template<typename U>
89  GLM_FUNC_DECL mat<4, 2, T, Q> & operator=(mat<4, 2, U, Q> const& m);
90  template<typename U>
91  GLM_FUNC_DECL mat<4, 2, T, Q> & operator+=(U s);
92  template<typename U>
93  GLM_FUNC_DECL mat<4, 2, T, Q> & operator+=(mat<4, 2, U, Q> const& m);
94  template<typename U>
95  GLM_FUNC_DECL mat<4, 2, T, Q> & operator-=(U s);
96  template<typename U>
97  GLM_FUNC_DECL mat<4, 2, T, Q> & operator-=(mat<4, 2, U, Q> const& m);
98  template<typename U>
99  GLM_FUNC_DECL mat<4, 2, T, Q> & operator*=(U s);
100  template<typename U>
101  GLM_FUNC_DECL mat<4, 2, T, Q> & operator/=(U s);
102 
103  // -- Increment and decrement operators --
104 
105  GLM_FUNC_DECL mat<4, 2, T, Q> & operator++ ();
106  GLM_FUNC_DECL mat<4, 2, T, Q> & operator-- ();
107  GLM_FUNC_DECL mat<4, 2, T, Q> operator++(int);
108  GLM_FUNC_DECL mat<4, 2, T, Q> operator--(int);
109  };
110 
111  // -- Unary operators --
112 
113  template<typename T, qualifier Q>
114  GLM_FUNC_DECL mat<4, 2, T, Q> operator+(mat<4, 2, T, Q> const& m);
115 
116  template<typename T, qualifier Q>
117  GLM_FUNC_DECL mat<4, 2, T, Q> operator-(mat<4, 2, T, Q> const& m);
118 
119  // -- Binary operators --
120 
121  template<typename T, qualifier Q>
122  GLM_FUNC_DECL mat<4, 2, T, Q> operator+(mat<4, 2, T, Q> const& m, T scalar);
123 
124  template<typename T, qualifier Q>
125  GLM_FUNC_DECL mat<4, 2, T, Q> operator+(mat<4, 2, T, Q> const& m1, mat<4, 2, T, Q> const& m2);
126 
127  template<typename T, qualifier Q>
128  GLM_FUNC_DECL mat<4, 2, T, Q> operator-(mat<4, 2, T, Q> const& m, T scalar);
129 
130  template<typename T, qualifier Q>
131  GLM_FUNC_DECL mat<4, 2, T, Q> operator-(mat<4, 2, T, Q> const& m1, mat<4, 2, T, Q> const& m2);
132 
133  template<typename T, qualifier Q>
134  GLM_FUNC_DECL mat<4, 2, T, Q> operator*(mat<4, 2, T, Q> const& m, T scalar);
135 
136  template<typename T, qualifier Q>
137  GLM_FUNC_DECL mat<4, 2, T, Q> operator*(T scalar, mat<4, 2, T, Q> const& m);
138 
139  template<typename T, qualifier Q>
140  GLM_FUNC_DECL typename mat<4, 2, T, Q>::col_type operator*(mat<4, 2, T, Q> const& m, typename mat<4, 2, T, Q>::row_type const& v);
141 
142  template<typename T, qualifier Q>
143  GLM_FUNC_DECL typename mat<4, 2, T, Q>::row_type operator*(typename mat<4, 2, T, Q>::col_type const& v, mat<4, 2, T, Q> const& m);
144 
145  template<typename T, qualifier Q>
146  GLM_FUNC_DECL mat<2, 2, T, Q> operator*(mat<4, 2, T, Q> const& m1, mat<2, 4, T, Q> const& m2);
147 
148  template<typename T, qualifier Q>
149  GLM_FUNC_DECL mat<3, 2, T, Q> operator*(mat<4, 2, T, Q> const& m1, mat<3, 4, T, Q> const& m2);
150 
151  template<typename T, qualifier Q>
152  GLM_FUNC_DECL mat<4, 2, T, Q> operator*(mat<4, 2, T, Q> const& m1, mat<4, 4, T, Q> const& m2);
153 
154  template<typename T, qualifier Q>
155  GLM_FUNC_DECL mat<4, 2, T, Q> operator/(mat<4, 2, T, Q> const& m, T scalar);
156 
157  template<typename T, qualifier Q>
158  GLM_FUNC_DECL mat<4, 2, T, Q> operator/(T scalar, mat<4, 2, T, Q> const& m);
159 
160  // -- Boolean operators --
161 
162  template<typename T, qualifier Q>
163  GLM_FUNC_DECL bool operator==(mat<4, 2, T, Q> const& m1, mat<4, 2, T, Q> const& m2);
164 
165  template<typename T, qualifier Q>
166  GLM_FUNC_DECL bool operator!=(mat<4, 2, T, Q> const& m1, mat<4, 2, T, Q> const& m2);
167 }//namespace glm
168 
169 #ifndef GLM_EXTERNAL_TEMPLATE
170 #include "type_mat4x2.inl"
171 #endif
Core features
GLM_FUNC_DECL T length(qua< T, Q > const &q)
Returns the norm of a quaternions.
Core features
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00172.html ================================================ 0.9.9 API documentation: type_mat4x3.hpp File Reference
0.9.9 API documentation
type_mat4x3.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00172_source.html ================================================ 0.9.9 API documentation: type_mat4x3.hpp Source File
0.9.9 API documentation
type_mat4x3.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 
6 #include "type_vec3.hpp"
7 #include "type_vec4.hpp"
8 #include <limits>
9 #include <cstddef>
10 
11 namespace glm
12 {
13  template<typename T, qualifier Q>
14  struct mat<4, 3, T, Q>
15  {
16  typedef vec<3, T, Q> col_type;
17  typedef vec<4, T, Q> row_type;
18  typedef mat<4, 3, T, Q> type;
19  typedef mat<3, 4, T, Q> transpose_type;
20  typedef T value_type;
21 
22  private:
23  col_type value[4];
24 
25  public:
26  // -- Accesses --
27 
28  typedef length_t length_type;
29  GLM_FUNC_DECL static GLM_CONSTEXPR length_type length() { return 4; }
30 
31  GLM_FUNC_DECL col_type & operator[](length_type i);
32  GLM_FUNC_DECL GLM_CONSTEXPR col_type const& operator[](length_type i) const;
33 
34  // -- Constructors --
35 
36  GLM_FUNC_DECL GLM_CONSTEXPR mat() GLM_DEFAULT;
37  template<qualifier P>
38  GLM_FUNC_DECL GLM_CONSTEXPR mat(mat<4, 3, T, P> const& m);
39 
40  GLM_FUNC_DECL explicit GLM_CONSTEXPR mat(T const& x);
41  GLM_FUNC_DECL GLM_CONSTEXPR mat(
42  T const& x0, T const& y0, T const& z0,
43  T const& x1, T const& y1, T const& z1,
44  T const& x2, T const& y2, T const& z2,
45  T const& x3, T const& y3, T const& z3);
46  GLM_FUNC_DECL GLM_CONSTEXPR mat(
47  col_type const& v0,
48  col_type const& v1,
49  col_type const& v2,
50  col_type const& v3);
51 
52  // -- Conversions --
53 
54  template<
55  typename X1, typename Y1, typename Z1,
56  typename X2, typename Y2, typename Z2,
57  typename X3, typename Y3, typename Z3,
58  typename X4, typename Y4, typename Z4>
59  GLM_FUNC_DECL GLM_CONSTEXPR mat(
60  X1 const& x1, Y1 const& y1, Z1 const& z1,
61  X2 const& x2, Y2 const& y2, Z2 const& z2,
62  X3 const& x3, Y3 const& y3, Z3 const& z3,
63  X4 const& x4, Y4 const& y4, Z4 const& z4);
64 
65  template<typename V1, typename V2, typename V3, typename V4>
66  GLM_FUNC_DECL GLM_CONSTEXPR mat(
67  vec<3, V1, Q> const& v1,
68  vec<3, V2, Q> const& v2,
69  vec<3, V3, Q> const& v3,
70  vec<3, V4, Q> const& v4);
71 
72  // -- Matrix conversions --
73 
74  template<typename U, qualifier P>
75  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 3, U, P> const& m);
76 
77  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 2, T, Q> const& x);
78  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 3, T, Q> const& x);
79  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 4, T, Q> const& x);
80  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 3, T, Q> const& x);
81  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 2, T, Q> const& x);
82  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 4, T, Q> const& x);
83  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 2, T, Q> const& x);
84  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 4, T, Q> const& x);
85 
86  // -- Unary arithmetic operators --
87 
88  template<typename U>
89  GLM_FUNC_DECL mat<4, 3, T, Q> & operator=(mat<4, 3, U, Q> const& m);
90  template<typename U>
91  GLM_FUNC_DECL mat<4, 3, T, Q> & operator+=(U s);
92  template<typename U>
93  GLM_FUNC_DECL mat<4, 3, T, Q> & operator+=(mat<4, 3, U, Q> const& m);
94  template<typename U>
95  GLM_FUNC_DECL mat<4, 3, T, Q> & operator-=(U s);
96  template<typename U>
97  GLM_FUNC_DECL mat<4, 3, T, Q> & operator-=(mat<4, 3, U, Q> const& m);
98  template<typename U>
99  GLM_FUNC_DECL mat<4, 3, T, Q> & operator*=(U s);
100  template<typename U>
101  GLM_FUNC_DECL mat<4, 3, T, Q> & operator/=(U s);
102 
103  // -- Increment and decrement operators --
104 
105  GLM_FUNC_DECL mat<4, 3, T, Q>& operator++();
106  GLM_FUNC_DECL mat<4, 3, T, Q>& operator--();
107  GLM_FUNC_DECL mat<4, 3, T, Q> operator++(int);
108  GLM_FUNC_DECL mat<4, 3, T, Q> operator--(int);
109  };
110 
111  // -- Unary operators --
112 
113  template<typename T, qualifier Q>
114  GLM_FUNC_DECL mat<4, 3, T, Q> operator+(mat<4, 3, T, Q> const& m);
115 
116  template<typename T, qualifier Q>
117  GLM_FUNC_DECL mat<4, 3, T, Q> operator-(mat<4, 3, T, Q> const& m);
118 
119  // -- Binary operators --
120 
121  template<typename T, qualifier Q>
122  GLM_FUNC_DECL mat<4, 3, T, Q> operator+(mat<4, 3, T, Q> const& m, T const& s);
123 
124  template<typename T, qualifier Q>
125  GLM_FUNC_DECL mat<4, 3, T, Q> operator+(mat<4, 3, T, Q> const& m1, mat<4, 3, T, Q> const& m2);
126 
127  template<typename T, qualifier Q>
128  GLM_FUNC_DECL mat<4, 3, T, Q> operator-(mat<4, 3, T, Q> const& m, T const& s);
129 
130  template<typename T, qualifier Q>
131  GLM_FUNC_DECL mat<4, 3, T, Q> operator-(mat<4, 3, T, Q> const& m1, mat<4, 3, T, Q> const& m2);
132 
133  template<typename T, qualifier Q>
134  GLM_FUNC_DECL mat<4, 3, T, Q> operator*(mat<4, 3, T, Q> const& m, T const& s);
135 
136  template<typename T, qualifier Q>
137  GLM_FUNC_DECL mat<4, 3, T, Q> operator*(T const& s, mat<4, 3, T, Q> const& m);
138 
139  template<typename T, qualifier Q>
140  GLM_FUNC_DECL typename mat<4, 3, T, Q>::col_type operator*(mat<4, 3, T, Q> const& m, typename mat<4, 3, T, Q>::row_type const& v);
141 
142  template<typename T, qualifier Q>
143  GLM_FUNC_DECL typename mat<4, 3, T, Q>::row_type operator*(typename mat<4, 3, T, Q>::col_type const& v, mat<4, 3, T, Q> const& m);
144 
145  template<typename T, qualifier Q>
146  GLM_FUNC_DECL mat<2, 3, T, Q> operator*(mat<4, 3, T, Q> const& m1, mat<2, 4, T, Q> const& m2);
147 
148  template<typename T, qualifier Q>
149  GLM_FUNC_DECL mat<3, 3, T, Q> operator*(mat<4, 3, T, Q> const& m1, mat<3, 4, T, Q> const& m2);
150 
151  template<typename T, qualifier Q>
152  GLM_FUNC_DECL mat<4, 3, T, Q> operator*(mat<4, 3, T, Q> const& m1, mat<4, 4, T, Q> const& m2);
153 
154  template<typename T, qualifier Q>
155  GLM_FUNC_DECL mat<4, 3, T, Q> operator/(mat<4, 3, T, Q> const& m, T const& s);
156 
157  template<typename T, qualifier Q>
158  GLM_FUNC_DECL mat<4, 3, T, Q> operator/(T const& s, mat<4, 3, T, Q> const& m);
159 
160  // -- Boolean operators --
161 
162  template<typename T, qualifier Q>
163  GLM_FUNC_DECL bool operator==(mat<4, 3, T, Q> const& m1, mat<4, 3, T, Q> const& m2);
164 
165  template<typename T, qualifier Q>
166  GLM_FUNC_DECL bool operator!=(mat<4, 3, T, Q> const& m1, mat<4, 3, T, Q> const& m2);
167 }//namespace glm
168 
169 #ifndef GLM_EXTERNAL_TEMPLATE
170 #include "type_mat4x3.inl"
171 #endif //GLM_EXTERNAL_TEMPLATE
GLM_FUNC_DECL T length(qua< T, Q > const &q)
Returns the norm of a quaternions.
Core features
Core features
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00173.html ================================================ 0.9.9 API documentation: type_mat4x4.hpp File Reference
0.9.9 API documentation
type_mat4x4.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00173_source.html ================================================ 0.9.9 API documentation: type_mat4x4.hpp Source File
0.9.9 API documentation
type_mat4x4.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 
6 #include "type_vec4.hpp"
7 #include <limits>
8 #include <cstddef>
9 
10 namespace glm
11 {
12  template<typename T, qualifier Q>
13  struct mat<4, 4, T, Q>
14  {
15  typedef vec<4, T, Q> col_type;
16  typedef vec<4, T, Q> row_type;
17  typedef mat<4, 4, T, Q> type;
18  typedef mat<4, 4, T, Q> transpose_type;
19  typedef T value_type;
20 
21  private:
22  col_type value[4];
23 
24  public:
25  // -- Accesses --
26 
27  typedef length_t length_type;
28  GLM_FUNC_DECL static GLM_CONSTEXPR length_type length(){return 4;}
29 
30  GLM_FUNC_DECL col_type & operator[](length_type i);
31  GLM_FUNC_DECL GLM_CONSTEXPR col_type const& operator[](length_type i) const;
32 
33  // -- Constructors --
34 
35  GLM_FUNC_DECL GLM_CONSTEXPR mat() GLM_DEFAULT;
36  template<qualifier P>
37  GLM_FUNC_DECL GLM_CONSTEXPR mat(mat<4, 4, T, P> const& m);
38 
39  GLM_FUNC_DECL explicit GLM_CONSTEXPR mat(T const& x);
40  GLM_FUNC_DECL GLM_CONSTEXPR mat(
41  T const& x0, T const& y0, T const& z0, T const& w0,
42  T const& x1, T const& y1, T const& z1, T const& w1,
43  T const& x2, T const& y2, T const& z2, T const& w2,
44  T const& x3, T const& y3, T const& z3, T const& w3);
45  GLM_FUNC_DECL GLM_CONSTEXPR mat(
46  col_type const& v0,
47  col_type const& v1,
48  col_type const& v2,
49  col_type const& v3);
50 
51  // -- Conversions --
52 
53  template<
54  typename X1, typename Y1, typename Z1, typename W1,
55  typename X2, typename Y2, typename Z2, typename W2,
56  typename X3, typename Y3, typename Z3, typename W3,
57  typename X4, typename Y4, typename Z4, typename W4>
58  GLM_FUNC_DECL GLM_CONSTEXPR mat(
59  X1 const& x1, Y1 const& y1, Z1 const& z1, W1 const& w1,
60  X2 const& x2, Y2 const& y2, Z2 const& z2, W2 const& w2,
61  X3 const& x3, Y3 const& y3, Z3 const& z3, W3 const& w3,
62  X4 const& x4, Y4 const& y4, Z4 const& z4, W4 const& w4);
63 
64  template<typename V1, typename V2, typename V3, typename V4>
65  GLM_FUNC_DECL GLM_CONSTEXPR mat(
66  vec<4, V1, Q> const& v1,
67  vec<4, V2, Q> const& v2,
68  vec<4, V3, Q> const& v3,
69  vec<4, V4, Q> const& v4);
70 
71  // -- Matrix conversions --
72 
73  template<typename U, qualifier P>
74  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 4, U, P> const& m);
75 
76  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 2, T, Q> const& x);
77  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 3, T, Q> const& x);
78  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 3, T, Q> const& x);
79  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 2, T, Q> const& x);
80  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 4, T, Q> const& x);
81  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 2, T, Q> const& x);
82  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 4, T, Q> const& x);
83  GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 3, T, Q> const& x);
84 
85  // -- Unary arithmetic operators --
86 
87  template<typename U>
88  GLM_FUNC_DECL mat<4, 4, T, Q> & operator=(mat<4, 4, U, Q> const& m);
89  template<typename U>
90  GLM_FUNC_DECL mat<4, 4, T, Q> & operator+=(U s);
91  template<typename U>
92  GLM_FUNC_DECL mat<4, 4, T, Q> & operator+=(mat<4, 4, U, Q> const& m);
93  template<typename U>
94  GLM_FUNC_DECL mat<4, 4, T, Q> & operator-=(U s);
95  template<typename U>
96  GLM_FUNC_DECL mat<4, 4, T, Q> & operator-=(mat<4, 4, U, Q> const& m);
97  template<typename U>
98  GLM_FUNC_DECL mat<4, 4, T, Q> & operator*=(U s);
99  template<typename U>
100  GLM_FUNC_DECL mat<4, 4, T, Q> & operator*=(mat<4, 4, U, Q> const& m);
101  template<typename U>
102  GLM_FUNC_DECL mat<4, 4, T, Q> & operator/=(U s);
103  template<typename U>
104  GLM_FUNC_DECL mat<4, 4, T, Q> & operator/=(mat<4, 4, U, Q> const& m);
105 
106  // -- Increment and decrement operators --
107 
108  GLM_FUNC_DECL mat<4, 4, T, Q> & operator++();
109  GLM_FUNC_DECL mat<4, 4, T, Q> & operator--();
110  GLM_FUNC_DECL mat<4, 4, T, Q> operator++(int);
111  GLM_FUNC_DECL mat<4, 4, T, Q> operator--(int);
112  };
113 
114  // -- Unary operators --
115 
116  template<typename T, qualifier Q>
117  GLM_FUNC_DECL mat<4, 4, T, Q> operator+(mat<4, 4, T, Q> const& m);
118 
119  template<typename T, qualifier Q>
120  GLM_FUNC_DECL mat<4, 4, T, Q> operator-(mat<4, 4, T, Q> const& m);
121 
122  // -- Binary operators --
123 
124  template<typename T, qualifier Q>
125  GLM_FUNC_DECL mat<4, 4, T, Q> operator+(mat<4, 4, T, Q> const& m, T const& s);
126 
127  template<typename T, qualifier Q>
128  GLM_FUNC_DECL mat<4, 4, T, Q> operator+(T const& s, mat<4, 4, T, Q> const& m);
129 
130  template<typename T, qualifier Q>
131  GLM_FUNC_DECL mat<4, 4, T, Q> operator+(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2);
132 
133  template<typename T, qualifier Q>
134  GLM_FUNC_DECL mat<4, 4, T, Q> operator-(mat<4, 4, T, Q> const& m, T const& s);
135 
136  template<typename T, qualifier Q>
137  GLM_FUNC_DECL mat<4, 4, T, Q> operator-(T const& s, mat<4, 4, T, Q> const& m);
138 
139  template<typename T, qualifier Q>
140  GLM_FUNC_DECL mat<4, 4, T, Q> operator-(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2);
141 
142  template<typename T, qualifier Q>
143  GLM_FUNC_DECL mat<4, 4, T, Q> operator*(mat<4, 4, T, Q> const& m, T const& s);
144 
145  template<typename T, qualifier Q>
146  GLM_FUNC_DECL mat<4, 4, T, Q> operator*(T const& s, mat<4, 4, T, Q> const& m);
147 
148  template<typename T, qualifier Q>
149  GLM_FUNC_DECL typename mat<4, 4, T, Q>::col_type operator*(mat<4, 4, T, Q> const& m, typename mat<4, 4, T, Q>::row_type const& v);
150 
151  template<typename T, qualifier Q>
152  GLM_FUNC_DECL typename mat<4, 4, T, Q>::row_type operator*(typename mat<4, 4, T, Q>::col_type const& v, mat<4, 4, T, Q> const& m);
153 
154  template<typename T, qualifier Q>
155  GLM_FUNC_DECL mat<2, 4, T, Q> operator*(mat<4, 4, T, Q> const& m1, mat<2, 4, T, Q> const& m2);
156 
157  template<typename T, qualifier Q>
158  GLM_FUNC_DECL mat<3, 4, T, Q> operator*(mat<4, 4, T, Q> const& m1, mat<3, 4, T, Q> const& m2);
159 
160  template<typename T, qualifier Q>
161  GLM_FUNC_DECL mat<4, 4, T, Q> operator*(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2);
162 
163  template<typename T, qualifier Q>
164  GLM_FUNC_DECL mat<4, 4, T, Q> operator/(mat<4, 4, T, Q> const& m, T const& s);
165 
166  template<typename T, qualifier Q>
167  GLM_FUNC_DECL mat<4, 4, T, Q> operator/(T const& s, mat<4, 4, T, Q> const& m);
168 
169  template<typename T, qualifier Q>
170  GLM_FUNC_DECL typename mat<4, 4, T, Q>::col_type operator/(mat<4, 4, T, Q> const& m, typename mat<4, 4, T, Q>::row_type const& v);
171 
172  template<typename T, qualifier Q>
173  GLM_FUNC_DECL typename mat<4, 4, T, Q>::row_type operator/(typename mat<4, 4, T, Q>::col_type const& v, mat<4, 4, T, Q> const& m);
174 
175  template<typename T, qualifier Q>
176  GLM_FUNC_DECL mat<4, 4, T, Q> operator/(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2);
177 
178  // -- Boolean operators --
179 
180  template<typename T, qualifier Q>
181  GLM_FUNC_DECL bool operator==(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2);
182 
183  template<typename T, qualifier Q>
184  GLM_FUNC_DECL bool operator!=(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2);
185 }//namespace glm
186 
187 #ifndef GLM_EXTERNAL_TEMPLATE
188 #include "type_mat4x4.inl"
189 #endif//GLM_EXTERNAL_TEMPLATE
GLM_FUNC_DECL T length(qua< T, Q > const &q)
Returns the norm of a quaternions.
Core features
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00174.html ================================================ 0.9.9 API documentation: type_precision.hpp File Reference
0.9.9 API documentation
type_precision.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00174_source.html ================================================ 0.9.9 API documentation: type_precision.hpp Source File
0.9.9 API documentation
type_precision.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependency:
17 #include "../gtc/quaternion.hpp"
18 #include "../gtc/vec1.hpp"
19 #include "../ext/scalar_int_sized.hpp"
20 #include "../ext/scalar_uint_sized.hpp"
21 #include "../detail/type_vec2.hpp"
22 #include "../detail/type_vec3.hpp"
23 #include "../detail/type_vec4.hpp"
24 #include "../detail/type_mat2x2.hpp"
25 #include "../detail/type_mat2x3.hpp"
26 #include "../detail/type_mat2x4.hpp"
27 #include "../detail/type_mat3x2.hpp"
28 #include "../detail/type_mat3x3.hpp"
29 #include "../detail/type_mat3x4.hpp"
30 #include "../detail/type_mat4x2.hpp"
31 #include "../detail/type_mat4x3.hpp"
32 #include "../detail/type_mat4x4.hpp"
33 
34 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
35 # pragma message("GLM: GLM_GTC_type_precision extension included")
36 #endif
37 
38 namespace glm
39 {
41  // Signed int vector types
42 
45 
48  typedef detail::int8 lowp_int8;
49 
52  typedef detail::int16 lowp_int16;
53 
56  typedef detail::int32 lowp_int32;
57 
60  typedef detail::int64 lowp_int64;
61 
64  typedef detail::int8 lowp_int8_t;
65 
68  typedef detail::int16 lowp_int16_t;
69 
72  typedef detail::int32 lowp_int32_t;
73 
77 
80  typedef detail::int8 lowp_i8;
81 
84  typedef detail::int16 lowp_i16;
85 
88  typedef detail::int32 lowp_i32;
89 
92  typedef detail::int64 lowp_i64;
93 
96  typedef detail::int8 mediump_int8;
97 
100  typedef detail::int16 mediump_int16;
101 
104  typedef detail::int32 mediump_int32;
105 
109 
112  typedef detail::int8 mediump_int8_t;
113 
116  typedef detail::int16 mediump_int16_t;
117 
120  typedef detail::int32 mediump_int32_t;
121 
125 
128  typedef detail::int8 mediump_i8;
129 
132  typedef detail::int16 mediump_i16;
133 
136  typedef detail::int32 mediump_i32;
137 
140  typedef detail::int64 mediump_i64;
141 
144  typedef detail::int8 highp_int8;
145 
148  typedef detail::int16 highp_int16;
149 
152  typedef detail::int32 highp_int32;
153 
156  typedef detail::int64 highp_int64;
157 
160  typedef detail::int8 highp_int8_t;
161 
164  typedef detail::int16 highp_int16_t;
165 
168  typedef detail::int32 highp_int32_t;
169 
173 
176  typedef detail::int8 highp_i8;
177 
180  typedef detail::int16 highp_i16;
181 
184  typedef detail::int32 highp_i32;
185 
188  typedef detail::int64 highp_i64;
189 
190 
191 #if GLM_HAS_EXTENDED_INTEGER_TYPE
192  using std::int8_t;
193  using std::int16_t;
194  using std::int32_t;
195  using std::int64_t;
196 #else
197  typedef detail::int8 int8_t;
200 
203  typedef detail::int16 int16_t;
204 
207  typedef detail::int32 int32_t;
208 
211  typedef detail::int64 int64_t;
212 #endif
213 
216  typedef detail::int8 i8;
217 
220  typedef detail::int16 i16;
221 
224  typedef detail::int32 i32;
225 
228  typedef detail::int64 i64;
229 
230 
231 
234  typedef vec<1, i8, lowp> lowp_i8vec1;
235 
238  typedef vec<2, i8, lowp> lowp_i8vec2;
239 
242  typedef vec<3, i8, lowp> lowp_i8vec3;
243 
246  typedef vec<4, i8, lowp> lowp_i8vec4;
247 
248 
251  typedef vec<1, i8, mediump> mediump_i8vec1;
252 
255  typedef vec<2, i8, mediump> mediump_i8vec2;
256 
259  typedef vec<3, i8, mediump> mediump_i8vec3;
260 
263  typedef vec<4, i8, mediump> mediump_i8vec4;
264 
265 
268  typedef vec<1, i8, highp> highp_i8vec1;
269 
272  typedef vec<2, i8, highp> highp_i8vec2;
273 
276  typedef vec<3, i8, highp> highp_i8vec3;
277 
280  typedef vec<4, i8, highp> highp_i8vec4;
281 
282 
283 
286  typedef vec<1, i8, defaultp> i8vec1;
287 
290  typedef vec<2, i8, defaultp> i8vec2;
291 
294  typedef vec<3, i8, defaultp> i8vec3;
295 
298  typedef vec<4, i8, defaultp> i8vec4;
299 
300 
301 
302 
303 
306  typedef vec<1, i16, lowp> lowp_i16vec1;
307 
310  typedef vec<2, i16, lowp> lowp_i16vec2;
311 
314  typedef vec<3, i16, lowp> lowp_i16vec3;
315 
318  typedef vec<4, i16, lowp> lowp_i16vec4;
319 
320 
323  typedef vec<1, i16, mediump> mediump_i16vec1;
324 
327  typedef vec<2, i16, mediump> mediump_i16vec2;
328 
331  typedef vec<3, i16, mediump> mediump_i16vec3;
332 
335  typedef vec<4, i16, mediump> mediump_i16vec4;
336 
337 
340  typedef vec<1, i16, highp> highp_i16vec1;
341 
344  typedef vec<2, i16, highp> highp_i16vec2;
345 
348  typedef vec<3, i16, highp> highp_i16vec3;
349 
352  typedef vec<4, i16, highp> highp_i16vec4;
353 
354 
355 
356 
359  typedef vec<1, i16, defaultp> i16vec1;
360 
363  typedef vec<2, i16, defaultp> i16vec2;
364 
367  typedef vec<3, i16, defaultp> i16vec3;
368 
371  typedef vec<4, i16, defaultp> i16vec4;
372 
373 
374 
377  typedef vec<1, i32, lowp> lowp_i32vec1;
378 
381  typedef vec<2, i32, lowp> lowp_i32vec2;
382 
385  typedef vec<3, i32, lowp> lowp_i32vec3;
386 
389  typedef vec<4, i32, lowp> lowp_i32vec4;
390 
391 
394  typedef vec<1, i32, mediump> mediump_i32vec1;
395 
398  typedef vec<2, i32, mediump> mediump_i32vec2;
399 
402  typedef vec<3, i32, mediump> mediump_i32vec3;
403 
406  typedef vec<4, i32, mediump> mediump_i32vec4;
407 
408 
411  typedef vec<1, i32, highp> highp_i32vec1;
412 
415  typedef vec<2, i32, highp> highp_i32vec2;
416 
419  typedef vec<3, i32, highp> highp_i32vec3;
420 
423  typedef vec<4, i32, highp> highp_i32vec4;
424 
425 
428  typedef vec<1, i32, defaultp> i32vec1;
429 
432  typedef vec<2, i32, defaultp> i32vec2;
433 
436  typedef vec<3, i32, defaultp> i32vec3;
437 
440  typedef vec<4, i32, defaultp> i32vec4;
441 
442 
443 
444 
447  typedef vec<1, i64, lowp> lowp_i64vec1;
448 
451  typedef vec<2, i64, lowp> lowp_i64vec2;
452 
455  typedef vec<3, i64, lowp> lowp_i64vec3;
456 
459  typedef vec<4, i64, lowp> lowp_i64vec4;
460 
461 
464  typedef vec<1, i64, mediump> mediump_i64vec1;
465 
468  typedef vec<2, i64, mediump> mediump_i64vec2;
469 
472  typedef vec<3, i64, mediump> mediump_i64vec3;
473 
476  typedef vec<4, i64, mediump> mediump_i64vec4;
477 
478 
481  typedef vec<1, i64, highp> highp_i64vec1;
482 
485  typedef vec<2, i64, highp> highp_i64vec2;
486 
489  typedef vec<3, i64, highp> highp_i64vec3;
490 
493  typedef vec<4, i64, highp> highp_i64vec4;
494 
495 
498  typedef vec<1, i64, defaultp> i64vec1;
499 
502  typedef vec<2, i64, defaultp> i64vec2;
503 
506  typedef vec<3, i64, defaultp> i64vec3;
507 
510  typedef vec<4, i64, defaultp> i64vec4;
511 
512 
514  // Unsigned int vector types
515 
518  typedef detail::uint8 lowp_uint8;
519 
522  typedef detail::uint16 lowp_uint16;
523 
526  typedef detail::uint32 lowp_uint32;
527 
530  typedef detail::uint64 lowp_uint64;
531 
534  typedef detail::uint8 lowp_uint8_t;
535 
538  typedef detail::uint16 lowp_uint16_t;
539 
542  typedef detail::uint32 lowp_uint32_t;
543 
547 
550  typedef detail::uint8 lowp_u8;
551 
554  typedef detail::uint16 lowp_u16;
555 
558  typedef detail::uint32 lowp_u32;
559 
562  typedef detail::uint64 lowp_u64;
563 
566  typedef detail::uint8 mediump_uint8;
567 
570  typedef detail::uint16 mediump_uint16;
571 
574  typedef detail::uint32 mediump_uint32;
575 
579 
582  typedef detail::uint8 mediump_uint8_t;
583 
586  typedef detail::uint16 mediump_uint16_t;
587 
590  typedef detail::uint32 mediump_uint32_t;
591 
595 
598  typedef detail::uint8 mediump_u8;
599 
602  typedef detail::uint16 mediump_u16;
603 
606  typedef detail::uint32 mediump_u32;
607 
610  typedef detail::uint64 mediump_u64;
611 
614  typedef detail::uint8 highp_uint8;
615 
618  typedef detail::uint16 highp_uint16;
619 
622  typedef detail::uint32 highp_uint32;
623 
627 
630  typedef detail::uint8 highp_uint8_t;
631 
634  typedef detail::uint16 highp_uint16_t;
635 
638  typedef detail::uint32 highp_uint32_t;
639 
643 
646  typedef detail::uint8 highp_u8;
647 
650  typedef detail::uint16 highp_u16;
651 
654  typedef detail::uint32 highp_u32;
655 
658  typedef detail::uint64 highp_u64;
659 
660 #if GLM_HAS_EXTENDED_INTEGER_TYPE
661  using std::uint8_t;
662  using std::uint16_t;
663  using std::uint32_t;
664  using std::uint64_t;
665 #else
666  typedef detail::uint8 uint8_t;
669 
672  typedef detail::uint16 uint16_t;
673 
676  typedef detail::uint32 uint32_t;
677 
680  typedef detail::uint64 uint64_t;
681 #endif
682 
685  typedef detail::uint8 u8;
686 
689  typedef detail::uint16 u16;
690 
693  typedef detail::uint32 u32;
694 
697  typedef detail::uint64 u64;
698 
699 
700 
701 
702 
704  // Float vector types
705 
708  typedef float float32;
709 
712  typedef double float64;
713 
716  typedef float32 lowp_float32;
717 
720  typedef float64 lowp_float64;
721 
724  typedef float32 lowp_float32_t;
725 
728  typedef float64 lowp_float64_t;
729 
732  typedef float32 lowp_f32;
733 
736  typedef float64 lowp_f64;
737 
740  typedef float32 lowp_float32;
741 
744  typedef float64 lowp_float64;
745 
748  typedef float32 lowp_float32_t;
749 
752  typedef float64 lowp_float64_t;
753 
756  typedef float32 lowp_f32;
757 
760  typedef float64 lowp_f64;
761 
762 
765  typedef float32 lowp_float32;
766 
769  typedef float64 lowp_float64;
770 
773  typedef float32 lowp_float32_t;
774 
777  typedef float64 lowp_float64_t;
778 
781  typedef float32 lowp_f32;
782 
785  typedef float64 lowp_f64;
786 
787 
790  typedef float32 mediump_float32;
791 
794  typedef float64 mediump_float64;
795 
798  typedef float32 mediump_float32_t;
799 
802  typedef float64 mediump_float64_t;
803 
806  typedef float32 mediump_f32;
807 
810  typedef float64 mediump_f64;
811 
812 
815  typedef float32 highp_float32;
816 
819  typedef float64 highp_float64;
820 
823  typedef float32 highp_float32_t;
824 
827  typedef float64 highp_float64_t;
828 
831  typedef float32 highp_f32;
832 
835  typedef float64 highp_f64;
836 
837 
838 #if(defined(GLM_PRECISION_LOWP_FLOAT))
839  typedef lowp_float32_t float32_t;
842 
845  typedef lowp_float64_t float64_t;
846 
849  typedef lowp_f32 f32;
850 
853  typedef lowp_f64 f64;
854 
855 #elif(defined(GLM_PRECISION_MEDIUMP_FLOAT))
856  typedef mediump_float32 float32_t;
859 
862  typedef mediump_float64 float64_t;
863 
866  typedef mediump_float32 f32;
867 
870  typedef mediump_float64 f64;
871 
872 #else//(defined(GLM_PRECISION_HIGHP_FLOAT))
873 
876  typedef highp_float32_t float32_t;
877 
880  typedef highp_float64_t float64_t;
881 
884  typedef highp_float32_t f32;
885 
888  typedef highp_float64_t f64;
889 #endif
890 
891 
894  typedef vec<1, float, lowp> lowp_fvec1;
895 
898  typedef vec<2, float, lowp> lowp_fvec2;
899 
902  typedef vec<3, float, lowp> lowp_fvec3;
903 
906  typedef vec<4, float, lowp> lowp_fvec4;
907 
908 
911  typedef vec<1, float, mediump> mediump_fvec1;
912 
915  typedef vec<2, float, mediump> mediump_fvec2;
916 
919  typedef vec<3, float, mediump> mediump_fvec3;
920 
923  typedef vec<4, float, mediump> mediump_fvec4;
924 
925 
928  typedef vec<1, float, highp> highp_fvec1;
929 
932  typedef vec<2, float, highp> highp_fvec2;
933 
936  typedef vec<3, float, highp> highp_fvec3;
937 
940  typedef vec<4, float, highp> highp_fvec4;
941 
942 
945  typedef vec<1, f32, lowp> lowp_f32vec1;
946 
949  typedef vec<2, f32, lowp> lowp_f32vec2;
950 
953  typedef vec<3, f32, lowp> lowp_f32vec3;
954 
957  typedef vec<4, f32, lowp> lowp_f32vec4;
958 
961  typedef vec<1, f32, mediump> mediump_f32vec1;
962 
965  typedef vec<2, f32, mediump> mediump_f32vec2;
966 
969  typedef vec<3, f32, mediump> mediump_f32vec3;
970 
973  typedef vec<4, f32, mediump> mediump_f32vec4;
974 
977  typedef vec<1, f32, highp> highp_f32vec1;
978 
981  typedef vec<2, f32, highp> highp_f32vec2;
982 
985  typedef vec<3, f32, highp> highp_f32vec3;
986 
989  typedef vec<4, f32, highp> highp_f32vec4;
990 
991 
994  typedef vec<1, f64, lowp> lowp_f64vec1;
995 
998  typedef vec<2, f64, lowp> lowp_f64vec2;
999 
1002  typedef vec<3, f64, lowp> lowp_f64vec3;
1003 
1006  typedef vec<4, f64, lowp> lowp_f64vec4;
1007 
1010  typedef vec<1, f64, mediump> mediump_f64vec1;
1011 
1014  typedef vec<2, f64, mediump> mediump_f64vec2;
1015 
1018  typedef vec<3, f64, mediump> mediump_f64vec3;
1019 
1022  typedef vec<4, f64, mediump> mediump_f64vec4;
1023 
1026  typedef vec<1, f64, highp> highp_f64vec1;
1027 
1030  typedef vec<2, f64, highp> highp_f64vec2;
1031 
1034  typedef vec<3, f64, highp> highp_f64vec3;
1035 
1038  typedef vec<4, f64, highp> highp_f64vec4;
1039 
1040 
1041 
1043  // Float matrix types
1044 
1047  //typedef lowp_f32 lowp_fmat1x1;
1048 
1051  typedef mat<2, 2, f32, lowp> lowp_fmat2x2;
1052 
1055  typedef mat<2, 3, f32, lowp> lowp_fmat2x3;
1056 
1059  typedef mat<2, 4, f32, lowp> lowp_fmat2x4;
1060 
1063  typedef mat<3, 2, f32, lowp> lowp_fmat3x2;
1064 
1067  typedef mat<3, 3, f32, lowp> lowp_fmat3x3;
1068 
1071  typedef mat<3, 4, f32, lowp> lowp_fmat3x4;
1072 
1075  typedef mat<4, 2, f32, lowp> lowp_fmat4x2;
1076 
1079  typedef mat<4, 3, f32, lowp> lowp_fmat4x3;
1080 
1083  typedef mat<4, 4, f32, lowp> lowp_fmat4x4;
1084 
1087  //typedef lowp_fmat1x1 lowp_fmat1;
1088 
1091  typedef lowp_fmat2x2 lowp_fmat2;
1092 
1095  typedef lowp_fmat3x3 lowp_fmat3;
1096 
1099  typedef lowp_fmat4x4 lowp_fmat4;
1100 
1101 
1104  //typedef mediump_f32 mediump_fmat1x1;
1105 
1108  typedef mat<2, 2, f32, mediump> mediump_fmat2x2;
1109 
1112  typedef mat<2, 3, f32, mediump> mediump_fmat2x3;
1113 
1116  typedef mat<2, 4, f32, mediump> mediump_fmat2x4;
1117 
1120  typedef mat<3, 2, f32, mediump> mediump_fmat3x2;
1121 
1124  typedef mat<3, 3, f32, mediump> mediump_fmat3x3;
1125 
1128  typedef mat<3, 4, f32, mediump> mediump_fmat3x4;
1129 
1132  typedef mat<4, 2, f32, mediump> mediump_fmat4x2;
1133 
1136  typedef mat<4, 3, f32, mediump> mediump_fmat4x3;
1137 
1140  typedef mat<4, 4, f32, mediump> mediump_fmat4x4;
1141 
1144  //typedef mediump_fmat1x1 mediump_fmat1;
1145 
1148  typedef mediump_fmat2x2 mediump_fmat2;
1149 
1152  typedef mediump_fmat3x3 mediump_fmat3;
1153 
1156  typedef mediump_fmat4x4 mediump_fmat4;
1157 
1158 
1161  //typedef highp_f32 highp_fmat1x1;
1162 
1165  typedef mat<2, 2, f32, highp> highp_fmat2x2;
1166 
1169  typedef mat<2, 3, f32, highp> highp_fmat2x3;
1170 
1173  typedef mat<2, 4, f32, highp> highp_fmat2x4;
1174 
1177  typedef mat<3, 2, f32, highp> highp_fmat3x2;
1178 
1181  typedef mat<3, 3, f32, highp> highp_fmat3x3;
1182 
1185  typedef mat<3, 4, f32, highp> highp_fmat3x4;
1186 
1189  typedef mat<4, 2, f32, highp> highp_fmat4x2;
1190 
1193  typedef mat<4, 3, f32, highp> highp_fmat4x3;
1194 
1197  typedef mat<4, 4, f32, highp> highp_fmat4x4;
1198 
1201  //typedef highp_fmat1x1 highp_fmat1;
1202 
1205  typedef highp_fmat2x2 highp_fmat2;
1206 
1209  typedef highp_fmat3x3 highp_fmat3;
1210 
1213  typedef highp_fmat4x4 highp_fmat4;
1214 
1215 
1218  //typedef f32 lowp_f32mat1x1;
1219 
1222  typedef mat<2, 2, f32, lowp> lowp_f32mat2x2;
1223 
1226  typedef mat<2, 3, f32, lowp> lowp_f32mat2x3;
1227 
1230  typedef mat<2, 4, f32, lowp> lowp_f32mat2x4;
1231 
1234  typedef mat<3, 2, f32, lowp> lowp_f32mat3x2;
1235 
1238  typedef mat<3, 3, f32, lowp> lowp_f32mat3x3;
1239 
1242  typedef mat<3, 4, f32, lowp> lowp_f32mat3x4;
1243 
1246  typedef mat<4, 2, f32, lowp> lowp_f32mat4x2;
1247 
1250  typedef mat<4, 3, f32, lowp> lowp_f32mat4x3;
1251 
1254  typedef mat<4, 4, f32, lowp> lowp_f32mat4x4;
1255 
1258  //typedef detail::tmat1x1<f32, lowp> lowp_f32mat1;
1259 
1262  typedef lowp_f32mat2x2 lowp_f32mat2;
1263 
1266  typedef lowp_f32mat3x3 lowp_f32mat3;
1267 
1270  typedef lowp_f32mat4x4 lowp_f32mat4;
1271 
1272 
1275  //typedef f32 mediump_f32mat1x1;
1276 
1279  typedef mat<2, 2, f32, mediump> mediump_f32mat2x2;
1280 
1283  typedef mat<2, 3, f32, mediump> mediump_f32mat2x3;
1284 
1287  typedef mat<2, 4, f32, mediump> mediump_f32mat2x4;
1288 
1291  typedef mat<3, 2, f32, mediump> mediump_f32mat3x2;
1292 
1295  typedef mat<3, 3, f32, mediump> mediump_f32mat3x3;
1296 
1299  typedef mat<3, 4, f32, mediump> mediump_f32mat3x4;
1300 
1303  typedef mat<4, 2, f32, mediump> mediump_f32mat4x2;
1304 
1307  typedef mat<4, 3, f32, mediump> mediump_f32mat4x3;
1308 
1311  typedef mat<4, 4, f32, mediump> mediump_f32mat4x4;
1312 
1315  //typedef detail::tmat1x1<f32, mediump> f32mat1;
1316 
1319  typedef mediump_f32mat2x2 mediump_f32mat2;
1320 
1323  typedef mediump_f32mat3x3 mediump_f32mat3;
1324 
1327  typedef mediump_f32mat4x4 mediump_f32mat4;
1328 
1329 
1332  //typedef f32 highp_f32mat1x1;
1333 
1336  typedef mat<2, 2, f32, highp> highp_f32mat2x2;
1337 
1340  typedef mat<2, 3, f32, highp> highp_f32mat2x3;
1341 
1344  typedef mat<2, 4, f32, highp> highp_f32mat2x4;
1345 
1348  typedef mat<3, 2, f32, highp> highp_f32mat3x2;
1349 
1352  typedef mat<3, 3, f32, highp> highp_f32mat3x3;
1353 
1356  typedef mat<3, 4, f32, highp> highp_f32mat3x4;
1357 
1360  typedef mat<4, 2, f32, highp> highp_f32mat4x2;
1361 
1364  typedef mat<4, 3, f32, highp> highp_f32mat4x3;
1365 
1368  typedef mat<4, 4, f32, highp> highp_f32mat4x4;
1369 
1372  //typedef detail::tmat1x1<f32, highp> f32mat1;
1373 
1376  typedef highp_f32mat2x2 highp_f32mat2;
1377 
1380  typedef highp_f32mat3x3 highp_f32mat3;
1381 
1384  typedef highp_f32mat4x4 highp_f32mat4;
1385 
1386 
1389  //typedef f64 lowp_f64mat1x1;
1390 
1393  typedef mat<2, 2, f64, lowp> lowp_f64mat2x2;
1394 
1397  typedef mat<2, 3, f64, lowp> lowp_f64mat2x3;
1398 
1401  typedef mat<2, 4, f64, lowp> lowp_f64mat2x4;
1402 
1405  typedef mat<3, 2, f64, lowp> lowp_f64mat3x2;
1406 
1409  typedef mat<3, 3, f64, lowp> lowp_f64mat3x3;
1410 
1413  typedef mat<3, 4, f64, lowp> lowp_f64mat3x4;
1414 
1417  typedef mat<4, 2, f64, lowp> lowp_f64mat4x2;
1418 
1421  typedef mat<4, 3, f64, lowp> lowp_f64mat4x3;
1422 
1425  typedef mat<4, 4, f64, lowp> lowp_f64mat4x4;
1426 
1429  //typedef lowp_f64mat1x1 lowp_f64mat1;
1430 
1433  typedef lowp_f64mat2x2 lowp_f64mat2;
1434 
1437  typedef lowp_f64mat3x3 lowp_f64mat3;
1438 
1441  typedef lowp_f64mat4x4 lowp_f64mat4;
1442 
1443 
1446  //typedef f64 Highp_f64mat1x1;
1447 
1450  typedef mat<2, 2, f64, mediump> mediump_f64mat2x2;
1451 
1454  typedef mat<2, 3, f64, mediump> mediump_f64mat2x3;
1455 
1458  typedef mat<2, 4, f64, mediump> mediump_f64mat2x4;
1459 
1462  typedef mat<3, 2, f64, mediump> mediump_f64mat3x2;
1463 
1466  typedef mat<3, 3, f64, mediump> mediump_f64mat3x3;
1467 
1470  typedef mat<3, 4, f64, mediump> mediump_f64mat3x4;
1471 
1474  typedef mat<4, 2, f64, mediump> mediump_f64mat4x2;
1475 
1478  typedef mat<4, 3, f64, mediump> mediump_f64mat4x3;
1479 
1482  typedef mat<4, 4, f64, mediump> mediump_f64mat4x4;
1483 
1486  //typedef mediump_f64mat1x1 mediump_f64mat1;
1487 
1490  typedef mediump_f64mat2x2 mediump_f64mat2;
1491 
1494  typedef mediump_f64mat3x3 mediump_f64mat3;
1495 
1498  typedef mediump_f64mat4x4 mediump_f64mat4;
1499 
1502  //typedef f64 highp_f64mat1x1;
1503 
1506  typedef mat<2, 2, f64, highp> highp_f64mat2x2;
1507 
1510  typedef mat<2, 3, f64, highp> highp_f64mat2x3;
1511 
1514  typedef mat<2, 4, f64, highp> highp_f64mat2x4;
1515 
1518  typedef mat<3, 2, f64, highp> highp_f64mat3x2;
1519 
1522  typedef mat<3, 3, f64, highp> highp_f64mat3x3;
1523 
1526  typedef mat<3, 4, f64, highp> highp_f64mat3x4;
1527 
1530  typedef mat<4, 2, f64, highp> highp_f64mat4x2;
1531 
1534  typedef mat<4, 3, f64, highp> highp_f64mat4x3;
1535 
1538  typedef mat<4, 4, f64, highp> highp_f64mat4x4;
1539 
1542  //typedef highp_f64mat1x1 highp_f64mat1;
1543 
1546  typedef highp_f64mat2x2 highp_f64mat2;
1547 
1550  typedef highp_f64mat3x3 highp_f64mat3;
1551 
1554  typedef highp_f64mat4x4 highp_f64mat4;
1555 
1556 
1557 
1558 
1561  typedef vec<1, u8, lowp> lowp_u8vec1;
1562 
1565  typedef vec<2, u8, lowp> lowp_u8vec2;
1566 
1569  typedef vec<3, u8, lowp> lowp_u8vec3;
1570 
1573  typedef vec<4, u8, lowp> lowp_u8vec4;
1574 
1575 
1578  typedef vec<1, u8, mediump> mediump_u8vec1;
1579 
1582  typedef vec<2, u8, mediump> mediump_u8vec2;
1583 
1586  typedef vec<3, u8, mediump> mediump_u8vec3;
1587 
1590  typedef vec<4, u8, mediump> mediump_u8vec4;
1591 
1592 
1595  typedef vec<1, u8, highp> highp_u8vec1;
1596 
1599  typedef vec<2, u8, highp> highp_u8vec2;
1600 
1603  typedef vec<3, u8, highp> highp_u8vec3;
1604 
1607  typedef vec<4, u8, highp> highp_u8vec4;
1608 
1609 
1610 
1613  typedef vec<1, u8, defaultp> u8vec1;
1614 
1617  typedef vec<2, u8, defaultp> u8vec2;
1618 
1621  typedef vec<3, u8, defaultp> u8vec3;
1622 
1625  typedef vec<4, u8, defaultp> u8vec4;
1626 
1627 
1628 
1629 
1632  typedef vec<1, u16, lowp> lowp_u16vec1;
1633 
1636  typedef vec<2, u16, lowp> lowp_u16vec2;
1637 
1640  typedef vec<3, u16, lowp> lowp_u16vec3;
1641 
1644  typedef vec<4, u16, lowp> lowp_u16vec4;
1645 
1646 
1649  typedef vec<1, u16, mediump> mediump_u16vec1;
1650 
1653  typedef vec<2, u16, mediump> mediump_u16vec2;
1654 
1657  typedef vec<3, u16, mediump> mediump_u16vec3;
1658 
1661  typedef vec<4, u16, mediump> mediump_u16vec4;
1662 
1663 
1666  typedef vec<1, u16, highp> highp_u16vec1;
1667 
1670  typedef vec<2, u16, highp> highp_u16vec2;
1671 
1674  typedef vec<3, u16, highp> highp_u16vec3;
1675 
1678  typedef vec<4, u16, highp> highp_u16vec4;
1679 
1680 
1681 
1682 
1685  typedef vec<1, u16, defaultp> u16vec1;
1686 
1689  typedef vec<2, u16, defaultp> u16vec2;
1690 
1693  typedef vec<3, u16, defaultp> u16vec3;
1694 
1697  typedef vec<4, u16, defaultp> u16vec4;
1698 
1699 
1700 
1703  typedef vec<1, u32, lowp> lowp_u32vec1;
1704 
1707  typedef vec<2, u32, lowp> lowp_u32vec2;
1708 
1711  typedef vec<3, u32, lowp> lowp_u32vec3;
1712 
1715  typedef vec<4, u32, lowp> lowp_u32vec4;
1716 
1717 
1720  typedef vec<1, u32, mediump> mediump_u32vec1;
1721 
1724  typedef vec<2, u32, mediump> mediump_u32vec2;
1725 
1728  typedef vec<3, u32, mediump> mediump_u32vec3;
1729 
1732  typedef vec<4, u32, mediump> mediump_u32vec4;
1733 
1734 
1737  typedef vec<1, u32, highp> highp_u32vec1;
1738 
1741  typedef vec<2, u32, highp> highp_u32vec2;
1742 
1745  typedef vec<3, u32, highp> highp_u32vec3;
1746 
1749  typedef vec<4, u32, highp> highp_u32vec4;
1750 
1751 
1752 
1755  typedef vec<1, u32, defaultp> u32vec1;
1756 
1759  typedef vec<2, u32, defaultp> u32vec2;
1760 
1763  typedef vec<3, u32, defaultp> u32vec3;
1764 
1767  typedef vec<4, u32, defaultp> u32vec4;
1768 
1769 
1770 
1771 
1774  typedef vec<1, u64, lowp> lowp_u64vec1;
1775 
1778  typedef vec<2, u64, lowp> lowp_u64vec2;
1779 
1782  typedef vec<3, u64, lowp> lowp_u64vec3;
1783 
1786  typedef vec<4, u64, lowp> lowp_u64vec4;
1787 
1788 
1791  typedef vec<1, u64, mediump> mediump_u64vec1;
1792 
1795  typedef vec<2, u64, mediump> mediump_u64vec2;
1796 
1799  typedef vec<3, u64, mediump> mediump_u64vec3;
1800 
1803  typedef vec<4, u64, mediump> mediump_u64vec4;
1804 
1805 
1808  typedef vec<1, u64, highp> highp_u64vec1;
1809 
1812  typedef vec<2, u64, highp> highp_u64vec2;
1813 
1816  typedef vec<3, u64, highp> highp_u64vec3;
1817 
1820  typedef vec<4, u64, highp> highp_u64vec4;
1821 
1822 
1823 
1824 
1827  typedef vec<1, u64, defaultp> u64vec1;
1828 
1831  typedef vec<2, u64, defaultp> u64vec2;
1832 
1835  typedef vec<3, u64, defaultp> u64vec3;
1836 
1839  typedef vec<4, u64, defaultp> u64vec4;
1840 
1841 
1843  // Float vector types
1844 
1847  typedef float32 float32_t;
1848 
1851  typedef float32 f32;
1852 
1853 # ifndef GLM_FORCE_SINGLE_ONLY
1854 
1857  typedef float64 float64_t;
1858 
1861  typedef float64 f64;
1862 # endif//GLM_FORCE_SINGLE_ONLY
1863 
1866  typedef vec<1, float, defaultp> fvec1;
1867 
1870  typedef vec<2, float, defaultp> fvec2;
1871 
1874  typedef vec<3, float, defaultp> fvec3;
1875 
1878  typedef vec<4, float, defaultp> fvec4;
1879 
1880 
1883  typedef vec<1, f32, defaultp> f32vec1;
1884 
1887  typedef vec<2, f32, defaultp> f32vec2;
1888 
1891  typedef vec<3, f32, defaultp> f32vec3;
1892 
1895  typedef vec<4, f32, defaultp> f32vec4;
1896 
1897 # ifndef GLM_FORCE_SINGLE_ONLY
1898  typedef vec<1, f64, defaultp> f64vec1;
1901 
1904  typedef vec<2, f64, defaultp> f64vec2;
1905 
1908  typedef vec<3, f64, defaultp> f64vec3;
1909 
1912  typedef vec<4, f64, defaultp> f64vec4;
1913 # endif//GLM_FORCE_SINGLE_ONLY
1914 
1915 
1917  // Float matrix types
1918 
1921  //typedef detail::tmat1x1<f32> fmat1;
1922 
1925  typedef mat<2, 2, f32, defaultp> fmat2;
1926 
1929  typedef mat<3, 3, f32, defaultp> fmat3;
1930 
1933  typedef mat<4, 4, f32, defaultp> fmat4;
1934 
1935 
1938  //typedef f32 fmat1x1;
1939 
1942  typedef mat<2, 2, f32, defaultp> fmat2x2;
1943 
1946  typedef mat<2, 3, f32, defaultp> fmat2x3;
1947 
1950  typedef mat<2, 4, f32, defaultp> fmat2x4;
1951 
1954  typedef mat<3, 2, f32, defaultp> fmat3x2;
1955 
1958  typedef mat<3, 3, f32, defaultp> fmat3x3;
1959 
1962  typedef mat<3, 4, f32, defaultp> fmat3x4;
1963 
1966  typedef mat<4, 2, f32, defaultp> fmat4x2;
1967 
1970  typedef mat<4, 3, f32, defaultp> fmat4x3;
1971 
1974  typedef mat<4, 4, f32, defaultp> fmat4x4;
1975 
1976 
1979  //typedef detail::tmat1x1<f32, defaultp> f32mat1;
1980 
1983  typedef mat<2, 2, f32, defaultp> f32mat2;
1984 
1987  typedef mat<3, 3, f32, defaultp> f32mat3;
1988 
1991  typedef mat<4, 4, f32, defaultp> f32mat4;
1992 
1993 
1996  //typedef f32 f32mat1x1;
1997 
2000  typedef mat<2, 2, f32, defaultp> f32mat2x2;
2001 
2004  typedef mat<2, 3, f32, defaultp> f32mat2x3;
2005 
2008  typedef mat<2, 4, f32, defaultp> f32mat2x4;
2009 
2012  typedef mat<3, 2, f32, defaultp> f32mat3x2;
2013 
2016  typedef mat<3, 3, f32, defaultp> f32mat3x3;
2017 
2020  typedef mat<3, 4, f32, defaultp> f32mat3x4;
2021 
2024  typedef mat<4, 2, f32, defaultp> f32mat4x2;
2025 
2028  typedef mat<4, 3, f32, defaultp> f32mat4x3;
2029 
2032  typedef mat<4, 4, f32, defaultp> f32mat4x4;
2033 
2034 
2035 # ifndef GLM_FORCE_SINGLE_ONLY
2036 
2039  //typedef detail::tmat1x1<f64, defaultp> f64mat1;
2040 
2043  typedef mat<2, 2, f64, defaultp> f64mat2;
2044 
2047  typedef mat<3, 3, f64, defaultp> f64mat3;
2048 
2051  typedef mat<4, 4, f64, defaultp> f64mat4;
2052 
2053 
2056  //typedef f64 f64mat1x1;
2057 
2060  typedef mat<2, 2, f64, defaultp> f64mat2x2;
2061 
2064  typedef mat<2, 3, f64, defaultp> f64mat2x3;
2065 
2068  typedef mat<2, 4, f64, defaultp> f64mat2x4;
2069 
2072  typedef mat<3, 2, f64, defaultp> f64mat3x2;
2073 
2076  typedef mat<3, 3, f64, defaultp> f64mat3x3;
2077 
2080  typedef mat<3, 4, f64, defaultp> f64mat3x4;
2081 
2084  typedef mat<4, 2, f64, defaultp> f64mat4x2;
2085 
2088  typedef mat<4, 3, f64, defaultp> f64mat4x3;
2089 
2092  typedef mat<4, 4, f64, defaultp> f64mat4x4;
2093 
2094 # endif//GLM_FORCE_SINGLE_ONLY
2095 
2097  // Quaternion types
2098 
2101  typedef qua<f32, defaultp> f32quat;
2102 
2105  typedef qua<f32, lowp> lowp_f32quat;
2106 
2109  typedef qua<f64, lowp> lowp_f64quat;
2110 
2113  typedef qua<f32, mediump> mediump_f32quat;
2114 
2115 # ifndef GLM_FORCE_SINGLE_ONLY
2116 
2119  typedef qua<f64, mediump> mediump_f64quat;
2120 
2123  typedef qua<f32, highp> highp_f32quat;
2124 
2127  typedef qua<f64, highp> highp_f64quat;
2128 
2131  typedef qua<f64, defaultp> f64quat;
2132 
2133 # endif//GLM_FORCE_SINGLE_ONLY
2134 
2136 }//namespace glm
2137 
2138 #include "type_precision.inl"
vec< 1, u16, highp > highp_u16vec1
High qualifier 16 bit unsigned integer scalar type.
Definition: fwd.hpp:354
mat< 4, 2, f32, highp > highp_f32mat4x2
High single-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:696
uint64 highp_u64
High qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:133
vec< 1, f64, mediump > mediump_f64vec1
Medium double-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:491
vec< 3, f32, defaultp > f32vec3
Single-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:463
mat< 2, 2, f32, mediump > mediump_fmat2
Medium single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:528
double highp_float64_t
High 64 bit double-qualifier floating-point scalar.
Definition: fwd.hpp:175
mat< 4, 4, f64, defaultp > f64mat4
Double-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:586
mat< 2, 2, f64, defaultp > f64mat2
Double-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:584
mat< 4, 3, f32, mediump > mediump_fmat4x3
Medium single-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:647
mat< 3, 3, f32, mediump > mediump_f32mat3
Medium single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:545
uint32 mediump_uint32_t
Medium qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:127
uint64 lowp_uint64
Low qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:136
mat< 2, 2, f32, mediump > mediump_fmat2x2
Medium single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:640
vec< 1, f32, defaultp > f32vec1
Single-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:461
mat< 4, 4, f32, highp > highp_f32mat4
High single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:550
double highp_float64
High 64 bit double-qualifier floating-point scalar.
Definition: fwd.hpp:170
uint8 lowp_u8
Low qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:89
uint32 u32
Default qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:120
mat< 3, 3, f64, defaultp > f64mat3
Double-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:585
double lowp_float64
Low 64 bit double-qualifier floating-point scalar.
Definition: fwd.hpp:168
vec< 1, i32, defaultp > i32vec1
32 bit signed integer scalar type.
Definition: fwd.hpp:277
uint16 highp_uint16
High qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:110
mat< 2, 4, f64, mediump > mediump_f64mat2x4
Medium double-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:762
vec< 4, i64, highp > highp_i64vec4
High qualifier 64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:295
mat< 3, 4, f64, defaultp > f64mat3x4
Double-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:787
mat< 2, 2, f32, defaultp > fmat2
Single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:536
vec< 3, i16, defaultp > i16vec3
16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:259
uint32 lowp_uint32_t
Low qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:126
vec< 2, float, lowp > lowp_fvec2
Low single-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:427
uint32 mediump_uint32
Medium qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:123
mat< 4, 4, f32, mediump > mediump_fmat4
Medium single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:530
uint64 highp_uint64
High qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:138
mat< 2, 2, f32, lowp > lowp_fmat2
Low single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:524
uint32 lowp_uint32
Low qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:122
vec< 3, float, lowp > lowp_fvec3
Low single-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:428
vec< 2, float, mediump > mediump_fvec2
Medium Single-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:432
mat< 3, 4, f32, lowp > lowp_fmat3x4
Low single-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:635
mat< 2, 2, f64, lowp > lowp_f64mat2x2
Low double-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:750
vec< 4, i64, defaultp > i64vec4
64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:300
vec< 3, u16, defaultp > u16vec3
Default qualifier 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:361
vec< 1, u64, lowp > lowp_u64vec1
Low qualifier 64 bit unsigned integer scalar type.
Definition: fwd.hpp:384
vec< 1, u16, mediump > mediump_u16vec1
Medium qualifier 16 bit unsigned integer scalar type.
Definition: fwd.hpp:349
vec< 2, i8, defaultp > i8vec2
8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:238
mat< 2, 3, f64, mediump > mediump_f64mat2x3
Medium double-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:761
vec< 4, u32, lowp > lowp_u32vec4
Low qualifier 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:367
vec< 4, f32, highp > highp_f32vec4
High single-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:459
vec< 1, f32, lowp > lowp_f32vec1
Low single-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:446
mat< 2, 3, f32, highp > highp_f32mat2x3
High single-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:691
int64 highp_int64
High qualifier 64 bit signed integer type.
Definition: fwd.hpp:80
vec< 2, i32, mediump > mediump_i32vec2
Medium qualifier 32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:268
mat< 4, 4, f64, lowp > lowp_f64mat4
Low double-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:574
mat< 4, 4, f32, defaultp > fmat4
Single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:538
mat< 3, 4, f32, mediump > mediump_fmat3x4
Medium single-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:645
int16 lowp_int16_t
Low qualifier 16 bit signed integer type.
Definition: fwd.hpp:54
vec< 4, i32, highp > highp_i32vec4
High qualifier 32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:275
mat< 4, 2, f32, defaultp > f32mat4x2
Single-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:702
mat< 3, 2, f32, highp > highp_fmat3x2
High single-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:653
mat< 2, 3, f32, mediump > mediump_fmat2x3
Medium single-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:641
uint32 mediump_u32
Medium qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:118
mat< 3, 2, f32, lowp > lowp_fmat3x2
Low single-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:633
mat< 4, 2, f64, mediump > mediump_f64mat4x2
Medium double-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:766
vec< 2, u16, highp > highp_u16vec2
High qualifier 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:355
vec< 1, f64, highp > highp_f64vec1
High double-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:496
vec< 2, i16, mediump > mediump_i16vec2
Medium qualifier 16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:248
mat< 2, 4, f32, highp > highp_fmat2x4
High single-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:652
vec< 3, u64, defaultp > u64vec3
Default qualifier 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:401
uint8 lowp_uint8
Low qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:94
mat< 3, 2, f32, lowp > lowp_f32mat3x2
Low single-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:673
uint64 lowp_u64
Low qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:131
vec< 3, i64, highp > highp_i64vec3
High qualifier 64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:294
int8 mediump_int8
Medium qualifier 8 bit signed integer type.
Definition: fwd.hpp:37
int64 lowp_int64
Low qualifier 64 bit signed integer type.
Definition: fwd.hpp:78
mat< 4, 2, f32, mediump > mediump_f32mat4x2
Medium single-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:686
vec< 3, f64, lowp > lowp_f64vec3
Low double-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:488
vec< 2, u64, defaultp > u64vec2
Default qualifier 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:400
vec< 3, i64, lowp > lowp_i64vec3
Low qualifier 64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:284
vec< 2, i8, mediump > mediump_i8vec2
Medium qualifier 8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:228
mat< 3, 4, f32, defaultp > f32mat3x4
Single-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:707
vec< 3, i16, highp > highp_i16vec3
High qualifier 16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:254
vec< 3, i16, mediump > mediump_i16vec3
Medium qualifier 16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:249
uint64 u64
Default qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:134
vec< 1, f64, defaultp > f64vec1
Double-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:501
mat< 3, 2, f32, mediump > mediump_fmat3x2
Medium single-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:643
vec< 1, i64, mediump > mediump_i64vec1
Medium qualifier 64 bit signed integer scalar type.
Definition: fwd.hpp:287
vec< 1, i16, defaultp > i16vec1
16 bit signed integer scalar type.
Definition: fwd.hpp:257
mat< 3, 3, f64, lowp > lowp_f64mat3x3
Low double-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:754
vec< 2, f64, lowp > lowp_f64vec2
Low double-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:487
mat< 2, 3, f32, highp > highp_fmat2x3
High single-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:651
mat< 3, 3, f64, lowp > lowp_f64mat3
Low double-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:573
mat< 4, 3, f32, lowp > lowp_f32mat4x3
Low single-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:677
vec< 3, u64, mediump > mediump_u64vec3
Medium qualifier 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:391
double mediump_float64
Medium 64 bit double-qualifier floating-point scalar.
Definition: fwd.hpp:169
double float64
Double-qualifier floating-point scalar.
Definition: fwd.hpp:171
vec< 2, i16, highp > highp_i16vec2
High qualifier 16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:253
mat< 4, 2, f32, defaultp > fmat4x2
Single-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:662
mat< 2, 3, f64, lowp > lowp_f64mat2x3
Low double-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:751
mat< 3, 4, f32, defaultp > fmat3x4
Single-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:667
vec< 3, u32, lowp > lowp_u32vec3
Low qualifier 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:366
mat< 2, 4, f32, defaultp > f32mat2x4
Single-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:706
vec< 4, float, lowp > lowp_fvec4
Low single-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:429
vec< 4, f32, mediump > mediump_f32vec4
Medium single-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:454
vec< 4, i16, defaultp > i16vec4
16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:260
uint8 lowp_uint8_t
Low qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:98
uint32 highp_uint32_t
High qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:128
mat< 3, 3, f32, defaultp > fmat3x3
Single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:664
mat< 3, 4, f64, mediump > mediump_f64mat3x4
Medium double-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:765
mat< 2, 3, f32, lowp > lowp_fmat2x3
Low single-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:631
vec< 1, u32, lowp > lowp_u32vec1
Low qualifier 32 bit unsigned integer scalar type.
Definition: fwd.hpp:364
mat< 2, 3, f32, defaultp > f32mat2x3
Single-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:703
vec< 1, i32, mediump > mediump_i32vec1
Medium qualifier 32 bit signed integer scalar type.
Definition: fwd.hpp:267
vec< 4, u16, highp > highp_u16vec4
High qualifier 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:357
vec< 1, i32, lowp > lowp_i32vec1
Low qualifier 32 bit signed integer scalar type.
Definition: fwd.hpp:262
vec< 1, i64, lowp > lowp_i64vec1
Low qualifier 64 bit signed integer scalar type.
Definition: fwd.hpp:282
vec< 1, u32, highp > highp_u32vec1
High qualifier 32 bit unsigned integer scalar type.
Definition: fwd.hpp:374
int16 mediump_int16
Medium qualifier 16 bit signed integer type.
Definition: fwd.hpp:51
uint16 mediump_u16
Medium qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:104
qua< f64, defaultp > f64quat
Double-qualifier floating-point quaternion.
Definition: fwd.hpp:815
vec< 3, f64, mediump > mediump_f64vec3
Medium double-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:493
vec< 1, u64, defaultp > u64vec1
Default qualifier 64 bit unsigned integer scalar type.
Definition: fwd.hpp:399
int64 int64_t
64 bit signed integer type.
Definition: fwd.hpp:85
vec< 1, u8, defaultp > u8vec1
Default qualifier 8 bit unsigned integer scalar type.
Definition: fwd.hpp:339
vec< 1, i8, highp > highp_i8vec1
High qualifier 8 bit signed integer scalar type.
Definition: fwd.hpp:232
vec< 4, u8, defaultp > u8vec4
Default qualifier 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:342
int8 int8_t
8 bit signed integer type.
Definition: fwd.hpp:43
int32 i32
32 bit signed integer type.
Definition: fwd.hpp:62
vec< 1, u32, mediump > mediump_u32vec1
Medium qualifier 32 bit unsigned integer scalar type.
Definition: fwd.hpp:369
mat< 2, 2, f64, defaultp > f64mat2x2
Double-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:780
mat< 2, 2, f32, lowp > lowp_f32mat2x2
Low single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:670
vec< 4, f32, lowp > lowp_f32vec4
Low single-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:449
vec< 3, float, highp > highp_fvec3
High Single-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:438
mat< 4, 2, f64, lowp > lowp_f64mat4x2
Low double-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:756
mat< 3, 3, f32, mediump > mediump_fmat3x3
Medium single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:644
vec< 1, i64, highp > highp_i64vec1
High qualifier 64 bit signed integer scalar type.
Definition: fwd.hpp:292
vec< 4, i8, defaultp > i8vec4
8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:240
int32 highp_int32
High qualifier 32 bit signed integer type.
Definition: fwd.hpp:66
mat< 2, 3, f32, mediump > mediump_f32mat2x3
Medium single-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:681
mat< 3, 2, f64, lowp > lowp_f64mat3x2
Low double-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:753
uint32 highp_u32
High qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:119
int32 highp_i32
High qualifier 32 bit signed integer type.
Definition: fwd.hpp:61
vec< 4, u64, defaultp > u64vec4
Default qualifier 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:402
vec< 4, f32, defaultp > f32vec4
Single-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:464
mat< 2, 3, f64, defaultp > f64mat2x3
Double-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:783
mat< 4, 4, f64, mediump > mediump_f64mat4x4
Medium double-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:768
vec< 4, u16, lowp > lowp_u16vec4
Low qualifier 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:347
uint32 highp_uint32
High qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:124
mat< 4, 4, f32, lowp > lowp_f32mat4
Low single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:542
mat< 3, 2, f64, defaultp > f64mat3x2
Double-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:781
float mediump_float32
Medium 32 bit single-qualifier floating-point scalar.
Definition: fwd.hpp:153
vec< 1, u32, defaultp > u32vec1
Default qualifier 32 bit unsigned integer scalar type.
Definition: fwd.hpp:379
vec< 4, f64, mediump > mediump_f64vec4
Medium double-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:494
mat< 3, 3, f64, defaultp > f64mat3x3
Double-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:784
float highp_float32
High 32 bit single-qualifier floating-point scalar.
Definition: fwd.hpp:154
uint8 highp_uint8
High qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:96
int8 highp_i8
High qualifier 8 bit signed integer type.
Definition: fwd.hpp:33
mat< 2, 4, f64, lowp > lowp_f64mat2x4
Low double-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:752
mat< 3, 4, f64, lowp > lowp_f64mat3x4
Low double-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:755
int8 mediump_i8
Medium qualifier 8 bit signed integer type.
Definition: fwd.hpp:32
int64 highp_int64_t
High qualifier 64 bit signed integer type.
Definition: fwd.hpp:84
mat< 4, 4, f32, defaultp > f32mat4x4
Single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:708
float float32_t
Default 32 bit single-qualifier floating-point scalar.
Definition: fwd.hpp:160
mat< 2, 2, f32, defaultp > f32mat2x2
Single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:700
vec< 2, i64, lowp > lowp_i64vec2
Low qualifier 64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:283
mat< 2, 4, f32, lowp > lowp_f32mat2x4
Low single-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:672
uint32 uint32_t
Default qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:129
mat< 3, 3, f32, highp > highp_f32mat3
High single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:549
mat< 3, 3, f64, mediump > mediump_f64mat3x3
Medium double-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:764
uint8 u8
Default qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:92
vec< 3, i32, highp > highp_i32vec3
High qualifier 32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:274
float float32
Single-qualifier floating-point scalar.
Definition: fwd.hpp:155
vec< 4, f32, defaultp > fvec4
Single-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:444
vec< 1, i32, highp > highp_i32vec1
High qualifier 32 bit signed integer scalar type.
Definition: fwd.hpp:272
mat< 3, 3, f32, lowp > lowp_f32mat3
Low single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:541
vec< 1, u16, defaultp > u16vec1
Default qualifier 16 bit unsigned integer scalar type.
Definition: fwd.hpp:359
vec< 1, i8, defaultp > i8vec1
8 bit signed integer scalar type.
Definition: fwd.hpp:237
vec< 3, i32, mediump > mediump_i32vec3
Medium qualifier 32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:269
vec< 2, i32, defaultp > i32vec2
32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:278
vec< 2, i16, lowp > lowp_i16vec2
Low qualifier 16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:243
vec< 2, u64, mediump > mediump_u64vec2
Medium qualifier 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:390
vec< 4, u8, lowp > lowp_u8vec4
Low qualifier 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:327
mat< 3, 3, f32, highp > highp_f32mat3x3
High single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:694
vec< 1, u8, highp > highp_u8vec1
High qualifier 8 bit unsigned integer scalar type.
Definition: fwd.hpp:334
uint8 highp_uint8_t
High qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:100
vec< 4, u32, mediump > mediump_u32vec4
Medium qualifier 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:372
mat< 2, 2, f32, highp > highp_f32mat2x2
High single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:690
vec< 4, f64, highp > highp_f64vec4
High double-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:499
vec< 3, u8, lowp > lowp_u8vec3
Low qualifier 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:326
float highp_f32
High 32 bit single-qualifier floating-point scalar.
Definition: fwd.hpp:149
uint64 mediump_uint64
Medium qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:137
int32 highp_int32_t
32 bit signed integer type.
Definition: fwd.hpp:70
vec< 3, f64, defaultp > f64vec3
Double-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:503
mat< 2, 3, f32, lowp > lowp_f32mat2x3
Low single-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:671
vec< 3, u16, mediump > mediump_u16vec3
Medium qualifier 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:351
mat< 2, 4, f64, defaultp > f64mat2x4
Double-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:786
mat< 3, 3, f32, defaultp > f32mat3
Single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:553
mat< 2, 2, f64, mediump > mediump_f64mat2x2
Medium double-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:760
uint64 mediump_u64
Medium qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:132
vec< 4, i16, highp > highp_i16vec4
High qualifier 16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:255
mat< 4, 4, f32, lowp > lowp_fmat4
Low single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:526
vec< 2, u32, mediump > mediump_u32vec2
Medium qualifier 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:370
vec< 3, u64, highp > highp_u64vec3
High qualifier 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:396
uint16 lowp_u16
Low qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:103
vec< 3, i16, lowp > lowp_i16vec3
Low qualifier 16 bit signed integer vector of 3 components type.
Definition: fwd.hpp:244
vec< 3, u16, lowp > lowp_u16vec3
Low qualifier 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:346
vec< 3, f32, lowp > lowp_f32vec3
Low single-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:448
mat< 4, 4, f32, highp > highp_fmat4
High single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:534
mat< 3, 3, f32, lowp > lowp_fmat3
Low single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:525
int16 highp_i16
High qualifier 16 bit signed integer type.
Definition: fwd.hpp:47
qua< f32, mediump > mediump_f32quat
Medium single-qualifier floating-point quaternion.
Definition: fwd.hpp:803
int8 highp_int8
High qualifier 8 bit signed integer type.
Definition: fwd.hpp:38
mat< 4, 4, f64, defaultp > f64mat4x4
Double-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:788
mat< 4, 3, f32, defaultp > fmat4x3
Single-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:665
mat< 2, 4, f32, lowp > lowp_fmat2x4
Low single-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:632
mat< 3, 3, f64, highp > highp_f64mat3
High double-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:581
vec< 3, i8, mediump > mediump_i8vec3
Medium qualifier 8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:229
vec< 1, f32, highp > highp_f32vec1
High single-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:456
vec< 3, i8, lowp > lowp_i8vec3
Low qualifier 8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:224
mat< 4, 3, f64, lowp > lowp_f64mat4x3
Low double-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:757
vec< 4, u64, highp > highp_u64vec4
High qualifier 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:397
vec< 3, f32, defaultp > fvec3
Single-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:443
vec< 2, i16, defaultp > i16vec2
16 bit signed integer vector of 2 components type.
Definition: fwd.hpp:258
mat< 4, 3, f32, defaultp > f32mat4x3
Single-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:705
mat< 2, 2, f32, defaultp > f32mat2
Single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:552
vec< 2, u16, mediump > mediump_u16vec2
Medium qualifier 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:350
mat< 2, 4, f32, mediump > mediump_fmat2x4
Medium single-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:642
mat< 4, 4, f32, lowp > lowp_f32mat4x4
Low single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:678
vec< 2, u8, lowp > lowp_u8vec2
Low qualifier 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:325
mat< 3, 3, f64, mediump > mediump_f64mat3
Medium double-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:577
int16 lowp_i16
Low qualifier 16 bit signed integer type.
Definition: fwd.hpp:45
mat< 3, 4, f32, highp > highp_fmat3x4
High single-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:655
double float64_t
Default 64 bit double-qualifier floating-point scalar.
Definition: fwd.hpp:176
mat< 4, 4, f64, highp > highp_f64mat4x4
High double-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:778
mat< 4, 3, f32, mediump > mediump_f32mat4x3
Medium single-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:687
int16 lowp_int16
Low qualifier 16 bit signed integer type.
Definition: fwd.hpp:50
mat< 3, 3, f32, mediump > mediump_fmat3
Medium single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:529
mat< 4, 4, f32, highp > highp_f32mat4x4
High single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:698
int64 lowp_int64_t
Low qualifier 64 bit signed integer type.
Definition: fwd.hpp:82
uint16 uint16_t
Default qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:115
vec< 2, f64, highp > highp_f64vec2
High double-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:497
vec< 2, u64, lowp > lowp_u64vec2
Low qualifier 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:385
mat< 3, 3, f32, defaultp > fmat3
Single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:537
mat< 3, 2, f32, mediump > mediump_f32mat3x2
Medium single-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:683
mat< 4, 2, f32, lowp > lowp_f32mat4x2
Low single-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:676
int32 lowp_int32
Low qualifier 32 bit signed integer type.
Definition: fwd.hpp:64
vec< 4, i64, mediump > mediump_i64vec4
Medium qualifier 64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:290
uint8 uint8_t
Default qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:101
vec< 1, i8, mediump > mediump_i8vec1
Medium qualifier 8 bit signed integer scalar type.
Definition: fwd.hpp:227
int32 mediump_int32_t
Medium qualifier 32 bit signed integer type.
Definition: fwd.hpp:69
float highp_float32_t
High 32 bit single-qualifier floating-point scalar.
Definition: fwd.hpp:159
mat< 3, 3, f32, defaultp > f32mat3x3
Single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:704
uint8 highp_u8
High qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:91
uint8 mediump_uint8
Medium qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:95
mat< 4, 2, f32, highp > highp_fmat4x2
High single-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:656
vec< 2, f32, highp > highp_f32vec2
High single-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:457
int64 mediump_int64_t
Medium qualifier 64 bit signed integer type.
Definition: fwd.hpp:83
vec< 3, u64, lowp > lowp_u64vec3
Low qualifier 64 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:386
mat< 2, 2, f64, highp > highp_f64mat2x2
High double-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:770
vec< 3, u32, highp > highp_u32vec3
High qualifier 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:376
int8 highp_int8_t
High qualifier 8 bit signed integer type.
Definition: fwd.hpp:42
qua< f32, lowp > lowp_f32quat
Low single-qualifier floating-point quaternion.
Definition: fwd.hpp:802
vec< 4, i32, lowp > lowp_i32vec4
Low qualifier 32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:265
vec< 1, i16, highp > highp_i16vec1
High qualifier 16 bit signed integer scalar type.
Definition: fwd.hpp:252
mat< 4, 4, f32, lowp > lowp_fmat4x4
Low single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:638
mat< 3, 2, f32, defaultp > f32mat3x2
Single-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:701
mat< 3, 3, f32, lowp > lowp_f32mat3x3
Low single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:674
vec< 2, i8, lowp > lowp_i8vec2
Low qualifier 8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:223
vec< 4, i32, defaultp > i32vec4
32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:280
mat< 2, 2, f32, highp > highp_f32mat2
High single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:548
float lowp_f32
Low 32 bit single-qualifier floating-point scalar.
Definition: fwd.hpp:147
vec< 4, u16, mediump > mediump_u16vec4
Medium qualifier 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:352
vec< 3, u32, defaultp > u32vec3
Default qualifier 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:381
vec< 2, u8, defaultp > u8vec2
Default qualifier 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:340
int16 mediump_i16
Medium qualifier 16 bit signed integer type.
Definition: fwd.hpp:46
vec< 2, u64, highp > highp_u64vec2
High qualifier 64 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:395
vec< 3, i8, defaultp > i8vec3
8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:239
mat< 2, 2, f32, mediump > mediump_f32mat2x2
High single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:680
uint16 mediump_uint16_t
Medium qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:113
mat< 4, 3, f64, mediump > mediump_f64mat4x3
Medium double-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:767
vec< 3, u8, defaultp > u8vec3
Default qualifier 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:341
double highp_f64
High 64 bit double-qualifier floating-point scalar.
Definition: fwd.hpp:165
vec< 3, float, mediump > mediump_fvec3
Medium Single-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:433
int64 mediump_int64
Medium qualifier 64 bit signed integer type.
Definition: fwd.hpp:79
vec< 4, u64, mediump > mediump_u64vec4
Medium qualifier 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:392
uint64 uint64_t
Default qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:143
vec< 2, u32, highp > highp_u32vec2
High qualifier 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:375
vec< 1, float, highp > highp_fvec1
High single-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:436
vec< 4, i64, lowp > lowp_i64vec4
Low qualifier 64 bit signed integer vector of 4 components type.
Definition: fwd.hpp:285
vec< 3, i32, defaultp > i32vec3
32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:279
mat< 2, 4, f32, highp > highp_f32mat2x4
High single-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:692
vec< 1, i8, lowp > lowp_i8vec1
Low qualifier 8 bit signed integer scalar type.
Definition: fwd.hpp:222
mat< 2, 2, f64, highp > highp_f64mat2
High double-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:580
uint16 lowp_uint16_t
Low qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:112
mat< 3, 2, f64, highp > highp_f64mat3x2
High double-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:773
vec< 3, u32, mediump > mediump_u32vec3
Medium qualifier 32 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:371
uint16 lowp_uint16
Low qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:108
vec< 3, u8, highp > highp_u8vec3
High qualifier 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:336
vec< 4, f64, defaultp > f64vec4
Double-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:504
vec< 2, i8, highp > highp_i8vec2
High qualifier 8 bit signed integer vector of 2 components type.
Definition: fwd.hpp:233
vec< 3, i32, lowp > lowp_i32vec3
Low qualifier 32 bit signed integer vector of 3 components type.
Definition: fwd.hpp:264
int32 lowp_i32
Low qualifier 32 bit signed integer type.
Definition: fwd.hpp:59
mat< 4, 4, f32, mediump > mediump_fmat4x4
Medium single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:648
int64 mediump_i64
Medium qualifier 64 bit signed integer type.
Definition: fwd.hpp:74
vec< 4, i16, lowp > lowp_i16vec4
Low qualifier 16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:245
mat< 4, 3, f64, highp > highp_f64mat4x3
High double-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:777
vec< 2, u8, highp > highp_u8vec2
High qualifier 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:335
vec< 3, i8, highp > highp_i8vec3
High qualifier 8 bit signed integer vector of 3 components type.
Definition: fwd.hpp:234
vec< 3, f64, highp > highp_f64vec3
High double-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:498
vec< 2, f32, defaultp > fvec2
Single-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:442
vec< 4, f64, lowp > lowp_f64vec4
Low double-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:489
vec< 3, f32, mediump > mediump_f32vec3
Medium single-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:453
double lowp_f64
Low 64 bit double-qualifier floating-point scalar.
Definition: fwd.hpp:163
mat< 4, 2, f32, lowp > lowp_fmat4x2
Low single-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:636
mat< 2, 4, f64, highp > highp_f64mat2x4
High double-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:772
mat< 4, 4, f64, highp > highp_f64mat4
High double-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:582
vec< 4, i32, mediump > mediump_i32vec4
Medium qualifier 32 bit signed integer vector of 4 components type.
Definition: fwd.hpp:270
mat< 2, 2, f32, lowp > lowp_f32mat2
Low single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:540
int16 int16_t
16 bit signed integer type.
Definition: fwd.hpp:57
int64 highp_i64
High qualifier 64 bit signed integer type.
Definition: fwd.hpp:75
mat< 3, 4, f64, highp > highp_f64mat3x4
High double-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:775
mat< 3, 3, f32, highp > highp_fmat3
High single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:533
mat< 3, 3, f32, mediump > mediump_f32mat3x3
Medium single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:684
qua< f64, mediump > mediump_f64quat
Medium double-qualifier floating-point quaternion.
Definition: fwd.hpp:813
int32 int32_t
32 bit signed integer type.
Definition: fwd.hpp:71
vec< 2, f64, defaultp > f64vec2
Double-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:502
uint64 lowp_uint64_t
Low qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:140
detail::uint64 uint64
64 bit unsigned integer type.
int16 highp_int16
High qualifier 16 bit signed integer type.
Definition: fwd.hpp:52
vec< 1, i16, mediump > mediump_i16vec1
Medium qualifier 16 bit signed integer scalar type.
Definition: fwd.hpp:247
mat< 2, 4, f32, defaultp > fmat2x4
Single-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:666
mat< 2, 2, f32, highp > highp_fmat2x2
High single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:650
vec< 4, float, highp > highp_fvec4
High Single-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:439
mat< 3, 3, f64, highp > highp_f64mat3x3
High double-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:774
int32 mediump_i32
Medium qualifier 32 bit signed integer type.
Definition: fwd.hpp:60
vec< 2, u16, lowp > lowp_u16vec2
Low qualifier 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:345
vec< 4, u32, highp > highp_u32vec4
High qualifier 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:377
float lowp_float32_t
Low 32 bit single-qualifier floating-point scalar.
Definition: fwd.hpp:157
uint64 highp_uint64_t
High qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:142
vec< 2, f32, lowp > lowp_f32vec2
Low single-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:447
vec< 4, u32, defaultp > u32vec4
Default qualifier 32 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:382
mat< 2, 2, f64, mediump > mediump_f64mat2
Medium double-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:576
mat< 4, 3, f32, highp > highp_f32mat4x3
High single-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:697
qua< f32, defaultp > f32quat
Single-qualifier floating-point quaternion.
Definition: fwd.hpp:805
detail::int64 int64
64 bit signed integer type.
vec< 1, u64, highp > highp_u64vec1
High qualifier 64 bit unsigned integer scalar type.
Definition: fwd.hpp:394
mat< 2, 3, f64, highp > highp_f64mat2x3
High double-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:771
vec< 4, i8, lowp > lowp_i8vec4
Low qualifier 8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:225
mat< 4, 3, f32, lowp > lowp_fmat4x3
Low single-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:637
float f32
Default 32 bit single-qualifier floating-point scalar.
Definition: fwd.hpp:150
vec< 2, i32, highp > highp_i32vec2
High qualifier 32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:273
vec< 1, u8, mediump > mediump_u8vec1
Medium qualifier 8 bit unsigned integer scalar type.
Definition: fwd.hpp:329
mat< 4, 3, f32, highp > highp_fmat4x3
High single-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:657
vec< 4, i16, mediump > mediump_i16vec4
Medium qualifier 16 bit signed integer vector of 4 components type.
Definition: fwd.hpp:250
mat< 4, 2, f64, defaultp > f64mat4x2
Double-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:782
mat< 2, 3, f32, defaultp > fmat2x3
Single-qualifier floating-point 2x3 matrix.
Definition: fwd.hpp:663
mat< 4, 4, f64, mediump > mediump_f64mat4
Medium double-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:578
vec< 4, u8, mediump > mediump_u8vec4
Medium qualifier 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:332
mat< 3, 4, f32, lowp > lowp_f32mat3x4
Low single-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:675
double mediump_float64_t
Medium 64 bit double-qualifier floating-point scalar.
Definition: fwd.hpp:174
vec< 2, float, highp > highp_fvec2
High Single-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:437
uint16 u16
Default qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:106
int64 lowp_i64
Low qualifier 64 bit signed integer type.
Definition: fwd.hpp:73
mat< 4, 4, f32, defaultp > f32mat4
Single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:554
mat< 4, 2, f32, mediump > mediump_fmat4x2
Medium single-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:646
mat< 2, 2, f64, lowp > lowp_f64mat2
Low double-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:572
int8 mediump_int8_t
Medium qualifier 8 bit signed integer type.
Definition: fwd.hpp:41
mat< 3, 3, f32, lowp > lowp_fmat3x3
Low single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:634
double lowp_float64_t
Low 64 bit double-qualifier floating-point scalar.
Definition: fwd.hpp:173
int16 highp_int16_t
High qualifier 16 bit signed integer type.
Definition: fwd.hpp:56
mat< 3, 3, f32, highp > highp_fmat3x3
High single-qualifier floating-point 3x3 matrix.
Definition: fwd.hpp:654
vec< 1, i64, defaultp > i64vec1
64 bit signed integer scalar type.
Definition: fwd.hpp:297
uint32 lowp_u32
Low qualifier 32 bit unsigned integer type.
Definition: fwd.hpp:117
vec< 1, u8, lowp > lowp_u8vec1
Low qualifier 8 bit unsigned integer scalar type.
Definition: fwd.hpp:324
vec< 3, i64, mediump > mediump_i64vec3
Medium qualifier 64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:289
qua< f32, highp > highp_f32quat
High single-qualifier floating-point quaternion.
Definition: fwd.hpp:804
uint16 highp_u16
High qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:105
vec< 1, f32, defaultp > fvec1
Single-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:441
vec< 2, u8, mediump > mediump_u8vec2
Medium qualifier 8 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:330
int32 lowp_int32_t
Low qualifier 32 bit signed integer type.
Definition: fwd.hpp:68
vec< 1, u16, lowp > lowp_u16vec1
Low qualifier 16 bit unsigned integer scalar type.
Definition: fwd.hpp:344
mat< 4, 4, f32, highp > highp_fmat4x4
High single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:658
mat< 3, 4, f32, highp > highp_f32mat3x4
High single-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:695
vec< 2, f32, defaultp > f32vec2
Single-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:462
vec< 3, u16, highp > highp_u16vec3
High qualifier 16 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:356
float mediump_float32_t
Medium 32 bit single-qualifier floating-point scalar.
Definition: fwd.hpp:158
mat< 2, 2, f32, defaultp > fmat2x2
Single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:660
float mediump_f32
Medium 32 bit single-qualifier floating-point scalar.
Definition: fwd.hpp:148
mat< 4, 4, f32, mediump > mediump_f32mat4x4
Medium single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:688
vec< 2, f32, mediump > mediump_f32vec2
Medium single-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:452
int8 lowp_int8
Low qualifier 8 bit signed integer type.
Definition: fwd.hpp:36
vec< 1, f64, lowp > lowp_f64vec1
Low double-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:486
mat< 3, 2, f32, highp > highp_f32mat3x2
High single-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:693
mat< 3, 2, f64, mediump > mediump_f64mat3x2
Medium double-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:763
vec< 3, u8, mediump > mediump_u8vec3
Medium qualifier 8 bit unsigned integer vector of 3 components type.
Definition: fwd.hpp:331
mat< 4, 4, f64, lowp > lowp_f64mat4x4
Low double-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:758
vec< 1, i16, lowp > lowp_i16vec1
Low qualifier 16 bit signed integer scalar type.
Definition: fwd.hpp:242
int8 lowp_int8_t
Low qualifier 8 bit signed integer type.
Definition: fwd.hpp:40
vec< 2, u32, lowp > lowp_u32vec2
Low qualifier 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:365
mat< 2, 4, f32, mediump > mediump_f32mat2x4
Medium single-qualifier floating-point 2x4 matrix.
Definition: fwd.hpp:682
mat< 4, 3, f64, defaultp > f64mat4x3
Double-qualifier floating-point 4x3 matrix.
Definition: fwd.hpp:785
vec< 2, i64, highp > highp_i64vec2
High qualifier 64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:293
mat< 4, 4, f32, mediump > mediump_f32mat4
Medium single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:546
int64 i64
64 bit signed integer type.
Definition: fwd.hpp:76
double f64
Default 64 bit double-qualifier floating-point scalar.
Definition: fwd.hpp:166
vec< 1, f32, mediump > mediump_f32vec1
Medium single-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:451
mat< 3, 4, f32, mediump > mediump_f32mat3x4
Medium single-qualifier floating-point 3x4 matrix.
Definition: fwd.hpp:685
mat< 2, 2, f32, highp > highp_fmat2
High single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:532
vec< 3, f32, highp > highp_f32vec3
High single-qualifier floating-point vector of 3 components.
Definition: fwd.hpp:458
vec< 4, i8, mediump > mediump_i8vec4
Medium qualifier 8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:230
float lowp_float32
Low 32 bit single-qualifier floating-point scalar.
Definition: fwd.hpp:152
vec< 2, u32, defaultp > u32vec2
Default qualifier 32 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:380
vec< 4, float, mediump > mediump_fvec4
Medium Single-qualifier floating-point vector of 4 components.
Definition: fwd.hpp:434
int32 mediump_int32
Medium qualifier 32 bit signed integer type.
Definition: fwd.hpp:65
vec< 2, i64, defaultp > i64vec2
64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:298
int16 i16
16 bit signed integer type.
Definition: fwd.hpp:48
mat< 4, 4, f32, defaultp > fmat4x4
Single-qualifier floating-point 4x4 matrix.
Definition: fwd.hpp:668
qua< f64, lowp > lowp_f64quat
Low double-qualifier floating-point quaternion.
Definition: fwd.hpp:812
mat< 3, 2, f32, defaultp > fmat3x2
Single-qualifier floating-point 3x2 matrix.
Definition: fwd.hpp:661
vec< 4, u16, defaultp > u16vec4
Default qualifier 16 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:362
vec< 2, u16, defaultp > u16vec2
Default qualifier 16 bit unsigned integer vector of 2 components type.
Definition: fwd.hpp:360
uint8 mediump_u8
Medium qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:90
mat< 2, 2, f32, lowp > lowp_fmat2x2
Low single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:630
vec< 4, i8, highp > highp_i8vec4
High qualifier 8 bit signed integer vector of 4 components type.
Definition: fwd.hpp:235
vec< 4, u64, lowp > lowp_u64vec4
Low qualifier 64 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:387
vec< 2, i64, mediump > mediump_i64vec2
Medium qualifier 64 bit signed integer vector of 2 components type.
Definition: fwd.hpp:288
mat< 4, 2, f64, highp > highp_f64mat4x2
High double-qualifier floating-point 4x2 matrix.
Definition: fwd.hpp:776
int16 mediump_int16_t
Medium qualifier 16 bit signed integer type.
Definition: fwd.hpp:55
int8 lowp_i8
Low qualifier 8 bit signed integer type.
Definition: fwd.hpp:31
vec< 3, i64, defaultp > i64vec3
64 bit signed integer vector of 3 components type.
Definition: fwd.hpp:299
vec< 2, i32, lowp > lowp_i32vec2
Low qualifier 32 bit signed integer vector of 2 components type.
Definition: fwd.hpp:263
qua< f64, highp > highp_f64quat
High double-qualifier floating-point quaternion.
Definition: fwd.hpp:814
vec< 2, f64, mediump > mediump_f64vec2
Medium double-qualifier floating-point vector of 2 components.
Definition: fwd.hpp:492
uint16 highp_uint16_t
High qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:114
vec< 1, float, lowp > lowp_fvec1
Low single-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:426
int8 i8
8 bit signed integer type.
Definition: fwd.hpp:34
uint64 mediump_uint64_t
Medium qualifier 64 bit unsigned integer type.
Definition: fwd.hpp:141
vec< 1, u64, mediump > mediump_u64vec1
Medium qualifier 64 bit unsigned integer scalar type.
Definition: fwd.hpp:389
mat< 2, 2, f32, mediump > mediump_f32mat2
Medium single-qualifier floating-point 1x1 matrix.
Definition: fwd.hpp:544
uint8 mediump_uint8_t
Medium qualifier 8 bit unsigned integer type.
Definition: fwd.hpp:99
Definition: common.hpp:20
double mediump_f64
Medium 64 bit double-qualifier floating-point scalar.
Definition: fwd.hpp:164
vec< 1, float, mediump > mediump_fvec1
Medium single-qualifier floating-point vector of 1 component.
Definition: fwd.hpp:431
uint16 mediump_uint16
Medium qualifier 16 bit unsigned integer type.
Definition: fwd.hpp:109
vec< 4, u8, highp > highp_u8vec4
High qualifier 8 bit unsigned integer vector of 4 components type.
Definition: fwd.hpp:337
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00175.html ================================================ 0.9.9 API documentation: type_ptr.hpp File Reference
0.9.9 API documentation
type_ptr.hpp File Reference

GLM_GTC_type_ptr More...

Go to the source code of this file.

Functions

template<typename T >
GLM_FUNC_DECL mat< 2, 2, T, defaultp > make_mat2 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 2, 2, T, defaultp > make_mat2x2 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 2, 3, T, defaultp > make_mat2x3 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 2, 4, T, defaultp > make_mat2x4 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 3, 3, T, defaultp > make_mat3 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 3, 2, T, defaultp > make_mat3x2 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 3, 3, T, defaultp > make_mat3x3 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 3, 4, T, defaultp > make_mat3x4 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > make_mat4 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 2, T, defaultp > make_mat4x2 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 3, T, defaultp > make_mat4x3 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > make_mat4x4 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL qua< T, defaultp > make_quat (T const *const ptr)
 Build a quaternion from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 1, T, Q > make_vec1 (vec< 1, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 1, T, Q > make_vec1 (vec< 2, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 1, T, Q > make_vec1 (vec< 3, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 1, T, Q > make_vec1 (vec< 4, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, T, Q > make_vec2 (vec< 1, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, T, Q > make_vec2 (vec< 2, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, T, Q > make_vec2 (vec< 3, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, T, Q > make_vec2 (vec< 4, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL vec< 2, T, defaultp > make_vec2 (T const *const ptr)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > make_vec3 (vec< 1, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > make_vec3 (vec< 2, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > make_vec3 (vec< 3, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > make_vec3 (vec< 4, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL vec< 3, T, defaultp > make_vec3 (T const *const ptr)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > make_vec4 (vec< 1, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > make_vec4 (vec< 2, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > make_vec4 (vec< 3, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > make_vec4 (vec< 4, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL vec< 4, T, defaultp > make_vec4 (T const *const ptr)
 Build a vector from a pointer. More...
 
template<typename genType >
GLM_FUNC_DECL genType::value_type const * value_ptr (genType const &v)
 Return the constant address to the data of the input parameter. More...
 

Detailed Description

GLM_GTC_type_ptr

See also
Core features (dependence)
GLM_GTC_quaternion (dependence)

Definition in file type_ptr.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00175_source.html ================================================ 0.9.9 API documentation: type_ptr.hpp Source File
0.9.9 API documentation
type_ptr.hpp
Go to the documentation of this file.
1 
34 #pragma once
35 
36 // Dependency:
37 #include "../gtc/quaternion.hpp"
38 #include "../gtc/vec1.hpp"
39 #include "../vec2.hpp"
40 #include "../vec3.hpp"
41 #include "../vec4.hpp"
42 #include "../mat2x2.hpp"
43 #include "../mat2x3.hpp"
44 #include "../mat2x4.hpp"
45 #include "../mat3x2.hpp"
46 #include "../mat3x3.hpp"
47 #include "../mat3x4.hpp"
48 #include "../mat4x2.hpp"
49 #include "../mat4x3.hpp"
50 #include "../mat4x4.hpp"
51 #include <cstring>
52 
53 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
54 # pragma message("GLM: GLM_GTC_type_ptr extension included")
55 #endif
56 
57 namespace glm
58 {
61 
64  template<typename genType>
65  GLM_FUNC_DECL typename genType::value_type const * value_ptr(genType const& v);
66 
69  template <typename T, qualifier Q>
70  GLM_FUNC_DECL vec<1, T, Q> make_vec1(vec<1, T, Q> const& v);
71 
74  template <typename T, qualifier Q>
75  GLM_FUNC_DECL vec<1, T, Q> make_vec1(vec<2, T, Q> const& v);
76 
79  template <typename T, qualifier Q>
80  GLM_FUNC_DECL vec<1, T, Q> make_vec1(vec<3, T, Q> const& v);
81 
84  template <typename T, qualifier Q>
85  GLM_FUNC_DECL vec<1, T, Q> make_vec1(vec<4, T, Q> const& v);
86 
89  template <typename T, qualifier Q>
90  GLM_FUNC_DECL vec<2, T, Q> make_vec2(vec<1, T, Q> const& v);
91 
94  template <typename T, qualifier Q>
95  GLM_FUNC_DECL vec<2, T, Q> make_vec2(vec<2, T, Q> const& v);
96 
99  template <typename T, qualifier Q>
100  GLM_FUNC_DECL vec<2, T, Q> make_vec2(vec<3, T, Q> const& v);
101 
104  template <typename T, qualifier Q>
105  GLM_FUNC_DECL vec<2, T, Q> make_vec2(vec<4, T, Q> const& v);
106 
109  template <typename T, qualifier Q>
110  GLM_FUNC_DECL vec<3, T, Q> make_vec3(vec<1, T, Q> const& v);
111 
114  template <typename T, qualifier Q>
115  GLM_FUNC_DECL vec<3, T, Q> make_vec3(vec<2, T, Q> const& v);
116 
119  template <typename T, qualifier Q>
120  GLM_FUNC_DECL vec<3, T, Q> make_vec3(vec<3, T, Q> const& v);
121 
124  template <typename T, qualifier Q>
125  GLM_FUNC_DECL vec<3, T, Q> make_vec3(vec<4, T, Q> const& v);
126 
129  template <typename T, qualifier Q>
130  GLM_FUNC_DECL vec<4, T, Q> make_vec4(vec<1, T, Q> const& v);
131 
134  template <typename T, qualifier Q>
135  GLM_FUNC_DECL vec<4, T, Q> make_vec4(vec<2, T, Q> const& v);
136 
139  template <typename T, qualifier Q>
140  GLM_FUNC_DECL vec<4, T, Q> make_vec4(vec<3, T, Q> const& v);
141 
144  template <typename T, qualifier Q>
145  GLM_FUNC_DECL vec<4, T, Q> make_vec4(vec<4, T, Q> const& v);
146 
149  template<typename T>
150  GLM_FUNC_DECL vec<2, T, defaultp> make_vec2(T const * const ptr);
151 
154  template<typename T>
155  GLM_FUNC_DECL vec<3, T, defaultp> make_vec3(T const * const ptr);
156 
159  template<typename T>
160  GLM_FUNC_DECL vec<4, T, defaultp> make_vec4(T const * const ptr);
161 
164  template<typename T>
165  GLM_FUNC_DECL mat<2, 2, T, defaultp> make_mat2x2(T const * const ptr);
166 
169  template<typename T>
170  GLM_FUNC_DECL mat<2, 3, T, defaultp> make_mat2x3(T const * const ptr);
171 
174  template<typename T>
175  GLM_FUNC_DECL mat<2, 4, T, defaultp> make_mat2x4(T const * const ptr);
176 
179  template<typename T>
180  GLM_FUNC_DECL mat<3, 2, T, defaultp> make_mat3x2(T const * const ptr);
181 
184  template<typename T>
185  GLM_FUNC_DECL mat<3, 3, T, defaultp> make_mat3x3(T const * const ptr);
186 
189  template<typename T>
190  GLM_FUNC_DECL mat<3, 4, T, defaultp> make_mat3x4(T const * const ptr);
191 
194  template<typename T>
195  GLM_FUNC_DECL mat<4, 2, T, defaultp> make_mat4x2(T const * const ptr);
196 
199  template<typename T>
200  GLM_FUNC_DECL mat<4, 3, T, defaultp> make_mat4x3(T const * const ptr);
201 
204  template<typename T>
205  GLM_FUNC_DECL mat<4, 4, T, defaultp> make_mat4x4(T const * const ptr);
206 
209  template<typename T>
210  GLM_FUNC_DECL mat<2, 2, T, defaultp> make_mat2(T const * const ptr);
211 
214  template<typename T>
215  GLM_FUNC_DECL mat<3, 3, T, defaultp> make_mat3(T const * const ptr);
216 
219  template<typename T>
220  GLM_FUNC_DECL mat<4, 4, T, defaultp> make_mat4(T const * const ptr);
221 
224  template<typename T>
225  GLM_FUNC_DECL qua<T, defaultp> make_quat(T const * const ptr);
226 
228 }//namespace glm
229 
230 #include "type_ptr.inl"
GLM_FUNC_DECL mat< 3, 3, T, defaultp > make_mat3(T const *const ptr)
Build a matrix from a pointer.
GLM_FUNC_DECL vec< 3, T, defaultp > make_vec3(T const *const ptr)
Build a vector from a pointer.
GLM_FUNC_DECL mat< 3, 2, T, defaultp > make_mat3x2(T const *const ptr)
Build a matrix from a pointer.
GLM_FUNC_DECL vec< 1, T, Q > make_vec1(vec< 4, T, Q > const &v)
Build a vector from a pointer.
GLM_FUNC_DECL qua< T, defaultp > make_quat(T const *const ptr)
Build a quaternion from a pointer.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > make_mat4(T const *const ptr)
Build a matrix from a pointer.
GLM_FUNC_DECL vec< 2, T, defaultp > make_vec2(T const *const ptr)
Build a vector from a pointer.
GLM_FUNC_DECL mat< 2, 4, T, defaultp > make_mat2x4(T const *const ptr)
Build a matrix from a pointer.
GLM_FUNC_DECL mat< 2, 2, T, defaultp > make_mat2(T const *const ptr)
Build a matrix from a pointer.
GLM_FUNC_DECL genType::value_type const * value_ptr(genType const &v)
Return the constant address to the data of the input parameter.
GLM_FUNC_DECL mat< 2, 2, T, defaultp > make_mat2x2(T const *const ptr)
Build a matrix from a pointer.
GLM_FUNC_DECL mat< 2, 3, T, defaultp > make_mat2x3(T const *const ptr)
Build a matrix from a pointer.
GLM_FUNC_DECL mat< 3, 4, T, defaultp > make_mat3x4(T const *const ptr)
Build a matrix from a pointer.
GLM_FUNC_DECL vec< 4, T, defaultp > make_vec4(T const *const ptr)
Build a vector from a pointer.
GLM_FUNC_DECL mat< 4, 3, T, defaultp > make_mat4x3(T const *const ptr)
Build a matrix from a pointer.
GLM_FUNC_DECL mat< 3, 3, T, defaultp > make_mat3x3(T const *const ptr)
Build a matrix from a pointer.
GLM_FUNC_DECL mat< 4, 4, T, defaultp > make_mat4x4(T const *const ptr)
Build a matrix from a pointer.
GLM_FUNC_DECL mat< 4, 2, T, defaultp > make_mat4x2(T const *const ptr)
Build a matrix from a pointer.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00176.html ================================================ 0.9.9 API documentation: type_quat.hpp File Reference
0.9.9 API documentation
type_quat.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00176_source.html ================================================ 0.9.9 API documentation: type_quat.hpp Source File
0.9.9 API documentation
type_quat.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 
6 // Dependency:
7 #include "../detail/type_mat3x3.hpp"
8 #include "../detail/type_mat4x4.hpp"
9 #include "../detail/type_vec3.hpp"
10 #include "../detail/type_vec4.hpp"
11 #include "../ext/vector_relational.hpp"
12 #include "../ext/quaternion_relational.hpp"
13 #include "../gtc/constants.hpp"
14 #include "../gtc/matrix_transform.hpp"
15 
16 namespace glm
17 {
18  template<typename T, qualifier Q>
19  struct qua
20  {
21  // -- Implementation detail --
22 
23  typedef qua<T, Q> type;
24  typedef T value_type;
25 
26  // -- Data --
27 
28 # if GLM_SILENT_WARNINGS == GLM_ENABLE
29 # if GLM_COMPILER & GLM_COMPILER_GCC
30 # pragma GCC diagnostic push
31 # pragma GCC diagnostic ignored "-Wpedantic"
32 # elif GLM_COMPILER & GLM_COMPILER_CLANG
33 # pragma clang diagnostic push
34 # pragma clang diagnostic ignored "-Wgnu-anonymous-struct"
35 # pragma clang diagnostic ignored "-Wnested-anon-types"
36 # elif GLM_COMPILER & GLM_COMPILER_VC
37 # pragma warning(push)
38 # pragma warning(disable: 4201) // nonstandard extension used : nameless struct/union
39 # endif
40 # endif
41 
42 # if GLM_LANG & GLM_LANG_CXXMS_FLAG
43  union
44  {
45  struct { T x, y, z, w;};
46 
47  typename detail::storage<4, T, detail::is_aligned<Q>::value>::type data;
48  };
49 # else
50  T x, y, z, w;
51 # endif
52 
53 # if GLM_SILENT_WARNINGS == GLM_ENABLE
54 # if GLM_COMPILER & GLM_COMPILER_CLANG
55 # pragma clang diagnostic pop
56 # elif GLM_COMPILER & GLM_COMPILER_GCC
57 # pragma GCC diagnostic pop
58 # elif GLM_COMPILER & GLM_COMPILER_VC
59 # pragma warning(pop)
60 # endif
61 # endif
62 
63  // -- Component accesses --
64 
65  typedef length_t length_type;
66 
68  GLM_FUNC_DECL static GLM_CONSTEXPR length_type length(){return 4;}
69 
70  GLM_FUNC_DECL GLM_CONSTEXPR T & operator[](length_type i);
71  GLM_FUNC_DECL GLM_CONSTEXPR T const& operator[](length_type i) const;
72 
73  // -- Implicit basic constructors --
74 
75  GLM_FUNC_DECL GLM_CONSTEXPR qua() GLM_DEFAULT;
76  GLM_FUNC_DECL GLM_CONSTEXPR qua(qua<T, Q> const& q) GLM_DEFAULT;
77  template<qualifier P>
78  GLM_FUNC_DECL GLM_CONSTEXPR qua(qua<T, P> const& q);
79 
80  // -- Explicit basic constructors --
81 
82  GLM_FUNC_DECL GLM_CONSTEXPR qua(T s, vec<3, T, Q> const& v);
83  GLM_FUNC_DECL GLM_CONSTEXPR qua(T w, T x, T y, T z);
84 
85  // -- Conversion constructors --
86 
87  template<typename U, qualifier P>
88  GLM_FUNC_DECL GLM_CONSTEXPR GLM_EXPLICIT qua(qua<U, P> const& q);
89 
91 # if GLM_HAS_EXPLICIT_CONVERSION_OPERATORS
92  GLM_FUNC_DECL explicit operator mat<3, 3, T, Q>() const;
93  GLM_FUNC_DECL explicit operator mat<4, 4, T, Q>() const;
94 # endif
95 
102  GLM_FUNC_DECL qua(vec<3, T, Q> const& u, vec<3, T, Q> const& v);
103 
105  GLM_FUNC_DECL GLM_EXPLICIT qua(vec<3, T, Q> const& eulerAngles);
106  GLM_FUNC_DECL GLM_EXPLICIT qua(mat<3, 3, T, Q> const& q);
107  GLM_FUNC_DECL GLM_EXPLICIT qua(mat<4, 4, T, Q> const& q);
108 
109  // -- Unary arithmetic operators --
110 
111  GLM_FUNC_DECL qua<T, Q>& operator=(qua<T, Q> const& q) GLM_DEFAULT;
112 
113  template<typename U>
114  GLM_FUNC_DECL qua<T, Q>& operator=(qua<U, Q> const& q);
115  template<typename U>
116  GLM_FUNC_DECL qua<T, Q>& operator+=(qua<U, Q> const& q);
117  template<typename U>
118  GLM_FUNC_DECL qua<T, Q>& operator-=(qua<U, Q> const& q);
119  template<typename U>
120  GLM_FUNC_DECL qua<T, Q>& operator*=(qua<U, Q> const& q);
121  template<typename U>
122  GLM_FUNC_DECL qua<T, Q>& operator*=(U s);
123  template<typename U>
124  GLM_FUNC_DECL qua<T, Q>& operator/=(U s);
125  };
126 
127  // -- Unary bit operators --
128 
129  template<typename T, qualifier Q>
130  GLM_FUNC_DECL qua<T, Q> operator+(qua<T, Q> const& q);
131 
132  template<typename T, qualifier Q>
133  GLM_FUNC_DECL qua<T, Q> operator-(qua<T, Q> const& q);
134 
135  // -- Binary operators --
136 
137  template<typename T, qualifier Q>
138  GLM_FUNC_DECL qua<T, Q> operator+(qua<T, Q> const& q, qua<T, Q> const& p);
139 
140  template<typename T, qualifier Q>
141  GLM_FUNC_DECL qua<T, Q> operator-(qua<T, Q> const& q, qua<T, Q> const& p);
142 
143  template<typename T, qualifier Q>
144  GLM_FUNC_DECL qua<T, Q> operator*(qua<T, Q> const& q, qua<T, Q> const& p);
145 
146  template<typename T, qualifier Q>
147  GLM_FUNC_DECL vec<3, T, Q> operator*(qua<T, Q> const& q, vec<3, T, Q> const& v);
148 
149  template<typename T, qualifier Q>
150  GLM_FUNC_DECL vec<3, T, Q> operator*(vec<3, T, Q> const& v, qua<T, Q> const& q);
151 
152  template<typename T, qualifier Q>
153  GLM_FUNC_DECL vec<4, T, Q> operator*(qua<T, Q> const& q, vec<4, T, Q> const& v);
154 
155  template<typename T, qualifier Q>
156  GLM_FUNC_DECL vec<4, T, Q> operator*(vec<4, T, Q> const& v, qua<T, Q> const& q);
157 
158  template<typename T, qualifier Q>
159  GLM_FUNC_DECL qua<T, Q> operator*(qua<T, Q> const& q, T const& s);
160 
161  template<typename T, qualifier Q>
162  GLM_FUNC_DECL qua<T, Q> operator*(T const& s, qua<T, Q> const& q);
163 
164  template<typename T, qualifier Q>
165  GLM_FUNC_DECL qua<T, Q> operator/(qua<T, Q> const& q, T const& s);
166 
167  // -- Boolean operators --
168 
169  template<typename T, qualifier Q>
170  GLM_FUNC_DECL GLM_CONSTEXPR bool operator==(qua<T, Q> const& q1, qua<T, Q> const& q2);
171 
172  template<typename T, qualifier Q>
173  GLM_FUNC_DECL GLM_CONSTEXPR bool operator!=(qua<T, Q> const& q1, qua<T, Q> const& q2);
174 } //namespace glm
175 
176 #ifndef GLM_EXTERNAL_TEMPLATE
177 #include "type_quat.inl"
178 #endif//GLM_EXTERNAL_TEMPLATE
GLM_FUNC_DECL vec< 3, T, Q > eulerAngles(qua< T, Q > const &x)
Returns euler angles, pitch as x, yaw as y, roll as z.
GLM_FUNC_DECL T length(qua< T, Q > const &q)
Returns the norm of a quaternions.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00177.html ================================================ 0.9.9 API documentation: type_trait.hpp File Reference
0.9.9 API documentation
type_trait.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00177_source.html ================================================ 0.9.9 API documentation: type_trait.hpp Source File
0.9.9 API documentation
type_trait.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
16 # ifndef GLM_ENABLE_EXPERIMENTAL
17 # pragma message("GLM: GLM_GTX_type_trait is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
18 # else
19 # pragma message("GLM: GLM_GTX_type_trait extension included")
20 # endif
21 #endif
22 
23 // Dependency:
24 #include "../detail/qualifier.hpp"
25 #include "../gtc/quaternion.hpp"
26 #include "../gtx/dual_quaternion.hpp"
27 
28 namespace glm
29 {
32 
33  template<typename T>
34  struct type
35  {
36  static bool const is_vec = false;
37  static bool const is_mat = false;
38  static bool const is_quat = false;
39  static length_t const components = 0;
40  static length_t const cols = 0;
41  static length_t const rows = 0;
42  };
43 
44  template<length_t L, typename T, qualifier Q>
45  struct type<vec<L, T, Q> >
46  {
47  static bool const is_vec = true;
48  static bool const is_mat = false;
49  static bool const is_quat = false;
50  static length_t const components = L;
51  };
52 
53  template<length_t C, length_t R, typename T, qualifier Q>
54  struct type<mat<C, R, T, Q> >
55  {
56  static bool const is_vec = false;
57  static bool const is_mat = true;
58  static bool const is_quat = false;
59  static length_t const components = C;
60  static length_t const cols = C;
61  static length_t const rows = R;
62  };
63 
64  template<typename T, qualifier Q>
65  struct type<qua<T, Q> >
66  {
67  static bool const is_vec = false;
68  static bool const is_mat = false;
69  static bool const is_quat = true;
70  static length_t const components = 4;
71  };
72 
73  template<typename T, qualifier Q>
74  struct type<tdualquat<T, Q> >
75  {
76  static bool const is_vec = false;
77  static bool const is_mat = false;
78  static bool const is_quat = true;
79  static length_t const components = 8;
80  };
81 
83 }//namespace glm
84 
85 #include "type_trait.inl"
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00178.html ================================================ 0.9.9 API documentation: type_vec1.hpp File Reference
0.9.9 API documentation
type_vec1.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00178_source.html ================================================ 0.9.9 API documentation: type_vec1.hpp Source File
0.9.9 API documentation
type_vec1.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 
6 #include "qualifier.hpp"
7 #if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR
8 # include "_swizzle.hpp"
9 #elif GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_FUNCTION
10 # include "_swizzle_func.hpp"
11 #endif
12 #include <cstddef>
13 
14 namespace glm
15 {
16  template<typename T, qualifier Q>
17  struct vec<1, T, Q>
18  {
19  // -- Implementation detail --
20 
21  typedef T value_type;
22  typedef vec<1, T, Q> type;
23  typedef vec<1, bool, Q> bool_type;
24 
25  // -- Data --
26 
27 # if GLM_SILENT_WARNINGS == GLM_ENABLE
28 # if GLM_COMPILER & GLM_COMPILER_GCC
29 # pragma GCC diagnostic push
30 # pragma GCC diagnostic ignored "-Wpedantic"
31 # elif GLM_COMPILER & GLM_COMPILER_CLANG
32 # pragma clang diagnostic push
33 # pragma clang diagnostic ignored "-Wgnu-anonymous-struct"
34 # pragma clang diagnostic ignored "-Wnested-anon-types"
35 # elif GLM_COMPILER & GLM_COMPILER_VC
36 # pragma warning(push)
37 # pragma warning(disable: 4201) // nonstandard extension used : nameless struct/union
38 # endif
39 # endif
40 
41 # if GLM_CONFIG_XYZW_ONLY
42  T x;
43 # elif GLM_CONFIG_ANONYMOUS_STRUCT == GLM_ENABLE
44  union
45  {
46  T x;
47  T r;
48  T s;
49 
50  typename detail::storage<1, T, detail::is_aligned<Q>::value>::type data;
51 /*
52 # if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR
53  _GLM_SWIZZLE1_2_MEMBERS(T, Q, x)
54  _GLM_SWIZZLE1_2_MEMBERS(T, Q, r)
55  _GLM_SWIZZLE1_2_MEMBERS(T, Q, s)
56  _GLM_SWIZZLE1_3_MEMBERS(T, Q, x)
57  _GLM_SWIZZLE1_3_MEMBERS(T, Q, r)
58  _GLM_SWIZZLE1_3_MEMBERS(T, Q, s)
59  _GLM_SWIZZLE1_4_MEMBERS(T, Q, x)
60  _GLM_SWIZZLE1_4_MEMBERS(T, Q, r)
61  _GLM_SWIZZLE1_4_MEMBERS(T, Q, s)
62 # endif
63 */
64  };
65 # else
66  union {T x, r, s;};
67 /*
68 # if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_FUNCTION
69  GLM_SWIZZLE_GEN_VEC_FROM_VEC1(T, Q)
70 # endif
71 */
72 # endif
73 
74 # if GLM_SILENT_WARNINGS == GLM_ENABLE
75 # if GLM_COMPILER & GLM_COMPILER_CLANG
76 # pragma clang diagnostic pop
77 # elif GLM_COMPILER & GLM_COMPILER_GCC
78 # pragma GCC diagnostic pop
79 # elif GLM_COMPILER & GLM_COMPILER_VC
80 # pragma warning(pop)
81 # endif
82 # endif
83 
84  // -- Component accesses --
85 
87  typedef length_t length_type;
88  GLM_FUNC_DECL static GLM_CONSTEXPR length_type length(){return 1;}
89 
90  GLM_FUNC_DECL GLM_CONSTEXPR T & operator[](length_type i);
91  GLM_FUNC_DECL GLM_CONSTEXPR T const& operator[](length_type i) const;
92 
93  // -- Implicit basic constructors --
94 
95  GLM_FUNC_DECL GLM_CONSTEXPR vec() GLM_DEFAULT;
96  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec const& v) GLM_DEFAULT;
97  template<qualifier P>
98  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, T, P> const& v);
99 
100  // -- Explicit basic constructors --
101 
102  GLM_FUNC_DECL GLM_CONSTEXPR explicit vec(T scalar);
103 
104  // -- Conversion vector constructors --
105 
107  template<typename U, qualifier P>
108  GLM_FUNC_DECL GLM_CONSTEXPR GLM_EXPLICIT vec(vec<2, U, P> const& v);
110  template<typename U, qualifier P>
111  GLM_FUNC_DECL GLM_CONSTEXPR GLM_EXPLICIT vec(vec<3, U, P> const& v);
113  template<typename U, qualifier P>
114  GLM_FUNC_DECL GLM_CONSTEXPR GLM_EXPLICIT vec(vec<4, U, P> const& v);
115 
117  template<typename U, qualifier P>
118  GLM_FUNC_DECL GLM_CONSTEXPR GLM_EXPLICIT vec(vec<1, U, P> const& v);
119 
120  // -- Swizzle constructors --
121 /*
122 # if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR
123  template<int E0>
124  GLM_FUNC_DECL GLM_CONSTEXPR vec(detail::_swizzle<1, T, Q, E0, -1,-2,-3> const& that)
125  {
126  *this = that();
127  }
128 # endif//GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR
129 */
130  // -- Unary arithmetic operators --
131 
132  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator=(vec const& v) GLM_DEFAULT;
133 
134  template<typename U>
135  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator=(vec<1, U, Q> const& v);
136  template<typename U>
137  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator+=(U scalar);
138  template<typename U>
139  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator+=(vec<1, U, Q> const& v);
140  template<typename U>
141  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator-=(U scalar);
142  template<typename U>
143  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator-=(vec<1, U, Q> const& v);
144  template<typename U>
145  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator*=(U scalar);
146  template<typename U>
147  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator*=(vec<1, U, Q> const& v);
148  template<typename U>
149  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator/=(U scalar);
150  template<typename U>
151  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator/=(vec<1, U, Q> const& v);
152 
153  // -- Increment and decrement operators --
154 
155  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator++();
156  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator--();
157  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator++(int);
158  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator--(int);
159 
160  // -- Unary bit operators --
161 
162  template<typename U>
163  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator%=(U scalar);
164  template<typename U>
165  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator%=(vec<1, U, Q> const& v);
166  template<typename U>
167  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator&=(U scalar);
168  template<typename U>
169  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator&=(vec<1, U, Q> const& v);
170  template<typename U>
171  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator|=(U scalar);
172  template<typename U>
173  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator|=(vec<1, U, Q> const& v);
174  template<typename U>
175  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator^=(U scalar);
176  template<typename U>
177  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator^=(vec<1, U, Q> const& v);
178  template<typename U>
179  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator<<=(U scalar);
180  template<typename U>
181  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator<<=(vec<1, U, Q> const& v);
182  template<typename U>
183  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator>>=(U scalar);
184  template<typename U>
185  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator>>=(vec<1, U, Q> const& v);
186  };
187 
188  // -- Unary operators --
189 
190  template<typename T, qualifier Q>
191  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator+(vec<1, T, Q> const& v);
192 
193  template<typename T, qualifier Q>
194  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator-(vec<1, T, Q> const& v);
195 
196  // -- Binary operators --
197 
198  template<typename T, qualifier Q>
199  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator+(vec<1, T, Q> const& v, T scalar);
200 
201  template<typename T, qualifier Q>
202  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator+(T scalar, vec<1, T, Q> const& v);
203 
204  template<typename T, qualifier Q>
205  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator+(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2);
206 
207  template<typename T, qualifier Q>
208  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator-(vec<1, T, Q> const& v, T scalar);
209 
210  template<typename T, qualifier Q>
211  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator-(T scalar, vec<1, T, Q> const& v);
212 
213  template<typename T, qualifier Q>
214  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator-(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2);
215 
216  template<typename T, qualifier Q>
217  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator*(vec<1, T, Q> const& v, T scalar);
218 
219  template<typename T, qualifier Q>
220  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator*(T scalar, vec<1, T, Q> const& v);
221 
222  template<typename T, qualifier Q>
223  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator*(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2);
224 
225  template<typename T, qualifier Q>
226  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator/(vec<1, T, Q> const& v, T scalar);
227 
228  template<typename T, qualifier Q>
229  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator/(T scalar, vec<1, T, Q> const& v);
230 
231  template<typename T, qualifier Q>
232  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator/(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2);
233 
234  template<typename T, qualifier Q>
235  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator%(vec<1, T, Q> const& v, T scalar);
236 
237  template<typename T, qualifier Q>
238  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator%(T scalar, vec<1, T, Q> const& v);
239 
240  template<typename T, qualifier Q>
241  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator%(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2);
242 
243  template<typename T, qualifier Q>
244  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator&(vec<1, T, Q> const& v, T scalar);
245 
246  template<typename T, qualifier Q>
247  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator&(T scalar, vec<1, T, Q> const& v);
248 
249  template<typename T, qualifier Q>
250  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator&(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2);
251 
252  template<typename T, qualifier Q>
253  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator|(vec<1, T, Q> const& v, T scalar);
254 
255  template<typename T, qualifier Q>
256  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator|(T scalar, vec<1, T, Q> const& v);
257 
258  template<typename T, qualifier Q>
259  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator|(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2);
260 
261  template<typename T, qualifier Q>
262  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator^(vec<1, T, Q> const& v, T scalar);
263 
264  template<typename T, qualifier Q>
265  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator^(T scalar, vec<1, T, Q> const& v);
266 
267  template<typename T, qualifier Q>
268  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator^(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2);
269 
270  template<typename T, qualifier Q>
271  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator<<(vec<1, T, Q> const& v, T scalar);
272 
273  template<typename T, qualifier Q>
274  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator<<(T scalar, vec<1, T, Q> const& v);
275 
276  template<typename T, qualifier Q>
277  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator<<(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2);
278 
279  template<typename T, qualifier Q>
280  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator>>(vec<1, T, Q> const& v, T scalar);
281 
282  template<typename T, qualifier Q>
283  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator>>(T scalar, vec<1, T, Q> const& v);
284 
285  template<typename T, qualifier Q>
286  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator>>(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2);
287 
288  template<typename T, qualifier Q>
289  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator~(vec<1, T, Q> const& v);
290 
291  // -- Boolean operators --
292 
293  template<typename T, qualifier Q>
294  GLM_FUNC_DECL GLM_CONSTEXPR bool operator==(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2);
295 
296  template<typename T, qualifier Q>
297  GLM_FUNC_DECL GLM_CONSTEXPR bool operator!=(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2);
298 
299  template<qualifier Q>
300  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, bool, Q> operator&&(vec<1, bool, Q> const& v1, vec<1, bool, Q> const& v2);
301 
302  template<qualifier Q>
303  GLM_FUNC_DECL GLM_CONSTEXPR vec<1, bool, Q> operator||(vec<1, bool, Q> const& v1, vec<1, bool, Q> const& v2);
304 }//namespace glm
305 
306 #ifndef GLM_EXTERNAL_TEMPLATE
307 #include "type_vec1.inl"
308 #endif//GLM_EXTERNAL_TEMPLATE
GLM_FUNC_DECL T length(qua< T, Q > const &q)
Returns the norm of a quaternions.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00179.html ================================================ 0.9.9 API documentation: type_vec2.hpp File Reference
0.9.9 API documentation
type_vec2.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00179_source.html ================================================ 0.9.9 API documentation: type_vec2.hpp Source File
0.9.9 API documentation
type_vec2.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 
6 #include "qualifier.hpp"
7 #if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR
8 # include "_swizzle.hpp"
9 #elif GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_FUNCTION
10 # include "_swizzle_func.hpp"
11 #endif
12 #include <cstddef>
13 
14 namespace glm
15 {
16  template<typename T, qualifier Q>
17  struct vec<2, T, Q>
18  {
19  // -- Implementation detail --
20 
21  typedef T value_type;
22  typedef vec<2, T, Q> type;
23  typedef vec<2, bool, Q> bool_type;
24 
25  // -- Data --
26 
27 # if GLM_SILENT_WARNINGS == GLM_ENABLE
28 # if GLM_COMPILER & GLM_COMPILER_GCC
29 # pragma GCC diagnostic push
30 # pragma GCC diagnostic ignored "-Wpedantic"
31 # elif GLM_COMPILER & GLM_COMPILER_CLANG
32 # pragma clang diagnostic push
33 # pragma clang diagnostic ignored "-Wgnu-anonymous-struct"
34 # pragma clang diagnostic ignored "-Wnested-anon-types"
35 # elif GLM_COMPILER & GLM_COMPILER_VC
36 # pragma warning(push)
37 # pragma warning(disable: 4201) // nonstandard extension used : nameless struct/union
38 # endif
39 # endif
40 
41 # if GLM_CONFIG_XYZW_ONLY
42  T x, y;
43 # elif GLM_CONFIG_ANONYMOUS_STRUCT == GLM_ENABLE
44  union
45  {
46  struct{ T x, y; };
47  struct{ T r, g; };
48  struct{ T s, t; };
49 
50  typename detail::storage<2, T, detail::is_aligned<Q>::value>::type data;
51 
52 # if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR
53  GLM_SWIZZLE2_2_MEMBERS(T, Q, x, y)
54  GLM_SWIZZLE2_2_MEMBERS(T, Q, r, g)
55  GLM_SWIZZLE2_2_MEMBERS(T, Q, s, t)
56  GLM_SWIZZLE2_3_MEMBERS(T, Q, x, y)
57  GLM_SWIZZLE2_3_MEMBERS(T, Q, r, g)
58  GLM_SWIZZLE2_3_MEMBERS(T, Q, s, t)
59  GLM_SWIZZLE2_4_MEMBERS(T, Q, x, y)
60  GLM_SWIZZLE2_4_MEMBERS(T, Q, r, g)
61  GLM_SWIZZLE2_4_MEMBERS(T, Q, s, t)
62 # endif
63  };
64 # else
65  union {T x, r, s;};
66  union {T y, g, t;};
67 
68 # if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_FUNCTION
69  GLM_SWIZZLE_GEN_VEC_FROM_VEC2(T, Q)
70 # endif//GLM_CONFIG_SWIZZLE
71 # endif
72 
73 # if GLM_SILENT_WARNINGS == GLM_ENABLE
74 # if GLM_COMPILER & GLM_COMPILER_CLANG
75 # pragma clang diagnostic pop
76 # elif GLM_COMPILER & GLM_COMPILER_GCC
77 # pragma GCC diagnostic pop
78 # elif GLM_COMPILER & GLM_COMPILER_VC
79 # pragma warning(pop)
80 # endif
81 # endif
82 
83  // -- Component accesses --
84 
86  typedef length_t length_type;
87  GLM_FUNC_DECL static GLM_CONSTEXPR length_type length(){return 2;}
88 
89  GLM_FUNC_DECL GLM_CONSTEXPR T& operator[](length_type i);
90  GLM_FUNC_DECL GLM_CONSTEXPR T const& operator[](length_type i) const;
91 
92  // -- Implicit basic constructors --
93 
94  GLM_FUNC_DECL GLM_CONSTEXPR vec() GLM_DEFAULT;
95  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec const& v) GLM_DEFAULT;
96  template<qualifier P>
97  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<2, T, P> const& v);
98 
99  // -- Explicit basic constructors --
100 
101  GLM_FUNC_DECL GLM_CONSTEXPR explicit vec(T scalar);
102  GLM_FUNC_DECL GLM_CONSTEXPR vec(T x, T y);
103 
104  // -- Conversion constructors --
105 
106  template<typename U, qualifier P>
107  GLM_FUNC_DECL GLM_CONSTEXPR explicit vec(vec<1, U, P> const& v);
108 
110  template<typename A, typename B>
111  GLM_FUNC_DECL GLM_CONSTEXPR vec(A x, B y);
112  template<typename A, typename B>
113  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, A, Q> const& x, B y);
114  template<typename A, typename B>
115  GLM_FUNC_DECL GLM_CONSTEXPR vec(A x, vec<1, B, Q> const& y);
116  template<typename A, typename B>
117  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, A, Q> const& x, vec<1, B, Q> const& y);
118 
119  // -- Conversion vector constructors --
120 
122  template<typename U, qualifier P>
123  GLM_FUNC_DECL GLM_CONSTEXPR GLM_EXPLICIT vec(vec<3, U, P> const& v);
125  template<typename U, qualifier P>
126  GLM_FUNC_DECL GLM_CONSTEXPR GLM_EXPLICIT vec(vec<4, U, P> const& v);
127 
129  template<typename U, qualifier P>
130  GLM_FUNC_DECL GLM_CONSTEXPR GLM_EXPLICIT vec(vec<2, U, P> const& v);
131 
132  // -- Swizzle constructors --
133 # if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR
134  template<int E0, int E1>
135  GLM_FUNC_DECL GLM_CONSTEXPR vec(detail::_swizzle<2, T, Q, E0, E1,-1,-2> const& that)
136  {
137  *this = that();
138  }
139 # endif//GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR
140 
141  // -- Unary arithmetic operators --
142 
143  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator=(vec const& v) GLM_DEFAULT;
144 
145  template<typename U>
146  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator=(vec<2, U, Q> const& v);
147  template<typename U>
148  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator+=(U scalar);
149  template<typename U>
150  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator+=(vec<1, U, Q> const& v);
151  template<typename U>
152  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator+=(vec<2, U, Q> const& v);
153  template<typename U>
154  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator-=(U scalar);
155  template<typename U>
156  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator-=(vec<1, U, Q> const& v);
157  template<typename U>
158  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator-=(vec<2, U, Q> const& v);
159  template<typename U>
160  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator*=(U scalar);
161  template<typename U>
162  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator*=(vec<1, U, Q> const& v);
163  template<typename U>
164  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator*=(vec<2, U, Q> const& v);
165  template<typename U>
166  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator/=(U scalar);
167  template<typename U>
168  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator/=(vec<1, U, Q> const& v);
169  template<typename U>
170  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator/=(vec<2, U, Q> const& v);
171 
172  // -- Increment and decrement operators --
173 
174  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator++();
175  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator--();
176  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator++(int);
177  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator--(int);
178 
179  // -- Unary bit operators --
180 
181  template<typename U>
182  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator%=(U scalar);
183  template<typename U>
184  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator%=(vec<1, U, Q> const& v);
185  template<typename U>
186  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator%=(vec<2, U, Q> const& v);
187  template<typename U>
188  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator&=(U scalar);
189  template<typename U>
190  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator&=(vec<1, U, Q> const& v);
191  template<typename U>
192  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator&=(vec<2, U, Q> const& v);
193  template<typename U>
194  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator|=(U scalar);
195  template<typename U>
196  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator|=(vec<1, U, Q> const& v);
197  template<typename U>
198  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator|=(vec<2, U, Q> const& v);
199  template<typename U>
200  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator^=(U scalar);
201  template<typename U>
202  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator^=(vec<1, U, Q> const& v);
203  template<typename U>
204  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator^=(vec<2, U, Q> const& v);
205  template<typename U>
206  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator<<=(U scalar);
207  template<typename U>
208  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator<<=(vec<1, U, Q> const& v);
209  template<typename U>
210  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator<<=(vec<2, U, Q> const& v);
211  template<typename U>
212  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator>>=(U scalar);
213  template<typename U>
214  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator>>=(vec<1, U, Q> const& v);
215  template<typename U>
216  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator>>=(vec<2, U, Q> const& v);
217  };
218 
219  // -- Unary operators --
220 
221  template<typename T, qualifier Q>
222  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator+(vec<2, T, Q> const& v);
223 
224  template<typename T, qualifier Q>
225  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator-(vec<2, T, Q> const& v);
226 
227  // -- Binary operators --
228 
229  template<typename T, qualifier Q>
230  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator+(vec<2, T, Q> const& v, T scalar);
231 
232  template<typename T, qualifier Q>
233  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator+(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2);
234 
235  template<typename T, qualifier Q>
236  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator+(T scalar, vec<2, T, Q> const& v);
237 
238  template<typename T, qualifier Q>
239  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator+(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2);
240 
241  template<typename T, qualifier Q>
242  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator+(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2);
243 
244  template<typename T, qualifier Q>
245  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator-(vec<2, T, Q> const& v, T scalar);
246 
247  template<typename T, qualifier Q>
248  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator-(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2);
249 
250  template<typename T, qualifier Q>
251  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator-(T scalar, vec<2, T, Q> const& v);
252 
253  template<typename T, qualifier Q>
254  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator-(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2);
255 
256  template<typename T, qualifier Q>
257  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator-(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2);
258 
259  template<typename T, qualifier Q>
260  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator*(vec<2, T, Q> const& v, T scalar);
261 
262  template<typename T, qualifier Q>
263  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator*(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2);
264 
265  template<typename T, qualifier Q>
266  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator*(T scalar, vec<2, T, Q> const& v);
267 
268  template<typename T, qualifier Q>
269  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator*(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2);
270 
271  template<typename T, qualifier Q>
272  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator*(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2);
273 
274  template<typename T, qualifier Q>
275  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator/(vec<2, T, Q> const& v, T scalar);
276 
277  template<typename T, qualifier Q>
278  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator/(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2);
279 
280  template<typename T, qualifier Q>
281  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator/(T scalar, vec<2, T, Q> const& v);
282 
283  template<typename T, qualifier Q>
284  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator/(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2);
285 
286  template<typename T, qualifier Q>
287  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator/(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2);
288 
289  template<typename T, qualifier Q>
290  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator%(vec<2, T, Q> const& v, T scalar);
291 
292  template<typename T, qualifier Q>
293  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator%(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2);
294 
295  template<typename T, qualifier Q>
296  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator%(T scalar, vec<2, T, Q> const& v);
297 
298  template<typename T, qualifier Q>
299  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator%(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2);
300 
301  template<typename T, qualifier Q>
302  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator%(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2);
303 
304  template<typename T, qualifier Q>
305  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator&(vec<2, T, Q> const& v, T scalar);
306 
307  template<typename T, qualifier Q>
308  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator&(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2);
309 
310  template<typename T, qualifier Q>
311  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator&(T scalar, vec<2, T, Q> const& v);
312 
313  template<typename T, qualifier Q>
314  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator&(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2);
315 
316  template<typename T, qualifier Q>
317  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator&(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2);
318 
319  template<typename T, qualifier Q>
320  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator|(vec<2, T, Q> const& v, T scalar);
321 
322  template<typename T, qualifier Q>
323  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator|(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2);
324 
325  template<typename T, qualifier Q>
326  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator|(T scalar, vec<2, T, Q> const& v);
327 
328  template<typename T, qualifier Q>
329  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator|(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2);
330 
331  template<typename T, qualifier Q>
332  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator|(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2);
333 
334  template<typename T, qualifier Q>
335  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator^(vec<2, T, Q> const& v, T scalar);
336 
337  template<typename T, qualifier Q>
338  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator^(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2);
339 
340  template<typename T, qualifier Q>
341  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator^(T scalar, vec<2, T, Q> const& v);
342 
343  template<typename T, qualifier Q>
344  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator^(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2);
345 
346  template<typename T, qualifier Q>
347  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator^(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2);
348 
349  template<typename T, qualifier Q>
350  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator<<(vec<2, T, Q> const& v, T scalar);
351 
352  template<typename T, qualifier Q>
353  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator<<(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2);
354 
355  template<typename T, qualifier Q>
356  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator<<(T scalar, vec<2, T, Q> const& v);
357 
358  template<typename T, qualifier Q>
359  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator<<(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2);
360 
361  template<typename T, qualifier Q>
362  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator<<(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2);
363 
364  template<typename T, qualifier Q>
365  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator>>(vec<2, T, Q> const& v, T scalar);
366 
367  template<typename T, qualifier Q>
368  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator>>(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2);
369 
370  template<typename T, qualifier Q>
371  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator>>(T scalar, vec<2, T, Q> const& v);
372 
373  template<typename T, qualifier Q>
374  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator>>(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2);
375 
376  template<typename T, qualifier Q>
377  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator>>(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2);
378 
379  template<typename T, qualifier Q>
380  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator~(vec<2, T, Q> const& v);
381 
382  // -- Boolean operators --
383 
384  template<typename T, qualifier Q>
385  GLM_FUNC_DECL GLM_CONSTEXPR bool operator==(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2);
386 
387  template<typename T, qualifier Q>
388  GLM_FUNC_DECL GLM_CONSTEXPR bool operator!=(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2);
389 
390  template<qualifier Q>
391  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, bool, Q> operator&&(vec<2, bool, Q> const& v1, vec<2, bool, Q> const& v2);
392 
393  template<qualifier Q>
394  GLM_FUNC_DECL GLM_CONSTEXPR vec<2, bool, Q> operator||(vec<2, bool, Q> const& v1, vec<2, bool, Q> const& v2);
395 }//namespace glm
396 
397 #ifndef GLM_EXTERNAL_TEMPLATE
398 #include "type_vec2.inl"
399 #endif//GLM_EXTERNAL_TEMPLATE
GLM_FUNC_DECL T length(qua< T, Q > const &q)
Returns the norm of a quaternions.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00180.html ================================================ 0.9.9 API documentation: type_vec3.hpp File Reference
0.9.9 API documentation
type_vec3.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00180_source.html ================================================ 0.9.9 API documentation: type_vec3.hpp Source File
0.9.9 API documentation
type_vec3.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 
6 #include "qualifier.hpp"
7 #if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR
8 # include "_swizzle.hpp"
9 #elif GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_FUNCTION
10 # include "_swizzle_func.hpp"
11 #endif
12 #include <cstddef>
13 
14 namespace glm
15 {
16  template<typename T, qualifier Q>
17  struct vec<3, T, Q>
18  {
19  // -- Implementation detail --
20 
21  typedef T value_type;
22  typedef vec<3, T, Q> type;
23  typedef vec<3, bool, Q> bool_type;
24 
25  // -- Data --
26 
27 # if GLM_SILENT_WARNINGS == GLM_ENABLE
28 # if GLM_COMPILER & GLM_COMPILER_GCC
29 # pragma GCC diagnostic push
30 # pragma GCC diagnostic ignored "-Wpedantic"
31 # elif GLM_COMPILER & GLM_COMPILER_CLANG
32 # pragma clang diagnostic push
33 # pragma clang diagnostic ignored "-Wgnu-anonymous-struct"
34 # pragma clang diagnostic ignored "-Wnested-anon-types"
35 # elif GLM_COMPILER & GLM_COMPILER_VC
36 # pragma warning(push)
37 # pragma warning(disable: 4201) // nonstandard extension used : nameless struct/union
38 # if GLM_CONFIG_ALIGNED_GENTYPES == GLM_ENABLE
39 # pragma warning(disable: 4324) // structure was padded due to alignment specifier
40 # endif
41 # endif
42 # endif
43 
44 # if GLM_CONFIG_XYZW_ONLY
45  T x, y, z;
46 # elif GLM_CONFIG_ANONYMOUS_STRUCT == GLM_ENABLE
47  union
48  {
49  struct{ T x, y, z; };
50  struct{ T r, g, b; };
51  struct{ T s, t, p; };
52 
53  typename detail::storage<3, T, detail::is_aligned<Q>::value>::type data;
54 
55 # if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR
56  GLM_SWIZZLE3_2_MEMBERS(T, Q, x, y, z)
57  GLM_SWIZZLE3_2_MEMBERS(T, Q, r, g, b)
58  GLM_SWIZZLE3_2_MEMBERS(T, Q, s, t, p)
59  GLM_SWIZZLE3_3_MEMBERS(T, Q, x, y, z)
60  GLM_SWIZZLE3_3_MEMBERS(T, Q, r, g, b)
61  GLM_SWIZZLE3_3_MEMBERS(T, Q, s, t, p)
62  GLM_SWIZZLE3_4_MEMBERS(T, Q, x, y, z)
63  GLM_SWIZZLE3_4_MEMBERS(T, Q, r, g, b)
64  GLM_SWIZZLE3_4_MEMBERS(T, Q, s, t, p)
65 # endif
66  };
67 # else
68  union { T x, r, s; };
69  union { T y, g, t; };
70  union { T z, b, p; };
71 
72 # if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_FUNCTION
73  GLM_SWIZZLE_GEN_VEC_FROM_VEC3(T, Q)
74 # endif//GLM_CONFIG_SWIZZLE
75 # endif//GLM_LANG
76 
77 # if GLM_SILENT_WARNINGS == GLM_ENABLE
78 # if GLM_COMPILER & GLM_COMPILER_CLANG
79 # pragma clang diagnostic pop
80 # elif GLM_COMPILER & GLM_COMPILER_GCC
81 # pragma GCC diagnostic pop
82 # elif GLM_COMPILER & GLM_COMPILER_VC
83 # pragma warning(pop)
84 # endif
85 # endif
86 
87  // -- Component accesses --
88 
90  typedef length_t length_type;
91  GLM_FUNC_DECL static GLM_CONSTEXPR length_type length(){return 3;}
92 
93  GLM_FUNC_DECL GLM_CONSTEXPR T & operator[](length_type i);
94  GLM_FUNC_DECL GLM_CONSTEXPR T const& operator[](length_type i) const;
95 
96  // -- Implicit basic constructors --
97 
98  GLM_FUNC_DECL GLM_CONSTEXPR vec() GLM_DEFAULT;
99  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec const& v) GLM_DEFAULT;
100  template<qualifier P>
101  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<3, T, P> const& v);
102 
103  // -- Explicit basic constructors --
104 
105  GLM_FUNC_DECL GLM_CONSTEXPR explicit vec(T scalar);
106  GLM_FUNC_DECL GLM_CONSTEXPR vec(T a, T b, T c);
107 
108  // -- Conversion scalar constructors --
109 
110  template<typename U, qualifier P>
111  GLM_FUNC_DECL GLM_CONSTEXPR explicit vec(vec<1, U, P> const& v);
112 
114  template<typename X, typename Y, typename Z>
115  GLM_FUNC_DECL GLM_CONSTEXPR vec(X x, Y y, Z z);
116  template<typename X, typename Y, typename Z>
117  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, X, Q> const& _x, Y _y, Z _z);
118  template<typename X, typename Y, typename Z>
119  GLM_FUNC_DECL GLM_CONSTEXPR vec(X _x, vec<1, Y, Q> const& _y, Z _z);
120  template<typename X, typename Y, typename Z>
121  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, X, Q> const& _x, vec<1, Y, Q> const& _y, Z _z);
122  template<typename X, typename Y, typename Z>
123  GLM_FUNC_DECL GLM_CONSTEXPR vec(X _x, Y _y, vec<1, Z, Q> const& _z);
124  template<typename X, typename Y, typename Z>
125  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, X, Q> const& _x, Y _y, vec<1, Z, Q> const& _z);
126  template<typename X, typename Y, typename Z>
127  GLM_FUNC_DECL GLM_CONSTEXPR vec(X _x, vec<1, Y, Q> const& _y, vec<1, Z, Q> const& _z);
128  template<typename X, typename Y, typename Z>
129  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, X, Q> const& _x, vec<1, Y, Q> const& _y, vec<1, Z, Q> const& _z);
130 
131  // -- Conversion vector constructors --
132 
134  template<typename A, typename B, qualifier P>
135  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<2, A, P> const& _xy, B _z);
137  template<typename A, typename B, qualifier P>
138  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<2, A, P> const& _xy, vec<1, B, P> const& _z);
140  template<typename A, typename B, qualifier P>
141  GLM_FUNC_DECL GLM_CONSTEXPR vec(A _x, vec<2, B, P> const& _yz);
143  template<typename A, typename B, qualifier P>
144  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, A, P> const& _x, vec<2, B, P> const& _yz);
146  template<typename U, qualifier P>
147  GLM_FUNC_DECL GLM_CONSTEXPR GLM_EXPLICIT vec(vec<4, U, P> const& v);
148 
150  template<typename U, qualifier P>
151  GLM_FUNC_DECL GLM_CONSTEXPR GLM_EXPLICIT vec(vec<3, U, P> const& v);
152 
153  // -- Swizzle constructors --
154 # if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR
155  template<int E0, int E1, int E2>
156  GLM_FUNC_DECL GLM_CONSTEXPR vec(detail::_swizzle<3, T, Q, E0, E1, E2, -1> const& that)
157  {
158  *this = that();
159  }
160 
161  template<int E0, int E1>
162  GLM_FUNC_DECL GLM_CONSTEXPR vec(detail::_swizzle<2, T, Q, E0, E1, -1, -2> const& v, T const& scalar)
163  {
164  *this = vec(v(), scalar);
165  }
166 
167  template<int E0, int E1>
168  GLM_FUNC_DECL GLM_CONSTEXPR vec(T const& scalar, detail::_swizzle<2, T, Q, E0, E1, -1, -2> const& v)
169  {
170  *this = vec(scalar, v());
171  }
172 # endif//GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR
173 
174  // -- Unary arithmetic operators --
175 
176  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q>& operator=(vec<3, T, Q> const& v) GLM_DEFAULT;
177 
178  template<typename U>
179  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator=(vec<3, U, Q> const& v);
180  template<typename U>
181  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator+=(U scalar);
182  template<typename U>
183  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator+=(vec<1, U, Q> const& v);
184  template<typename U>
185  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator+=(vec<3, U, Q> const& v);
186  template<typename U>
187  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator-=(U scalar);
188  template<typename U>
189  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator-=(vec<1, U, Q> const& v);
190  template<typename U>
191  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator-=(vec<3, U, Q> const& v);
192  template<typename U>
193  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator*=(U scalar);
194  template<typename U>
195  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator*=(vec<1, U, Q> const& v);
196  template<typename U>
197  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator*=(vec<3, U, Q> const& v);
198  template<typename U>
199  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator/=(U scalar);
200  template<typename U>
201  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator/=(vec<1, U, Q> const& v);
202  template<typename U>
203  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator/=(vec<3, U, Q> const& v);
204 
205  // -- Increment and decrement operators --
206 
207  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator++();
208  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator--();
209  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator++(int);
210  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator--(int);
211 
212  // -- Unary bit operators --
213 
214  template<typename U>
215  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator%=(U scalar);
216  template<typename U>
217  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator%=(vec<1, U, Q> const& v);
218  template<typename U>
219  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator%=(vec<3, U, Q> const& v);
220  template<typename U>
221  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator&=(U scalar);
222  template<typename U>
223  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator&=(vec<1, U, Q> const& v);
224  template<typename U>
225  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator&=(vec<3, U, Q> const& v);
226  template<typename U>
227  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator|=(U scalar);
228  template<typename U>
229  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator|=(vec<1, U, Q> const& v);
230  template<typename U>
231  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator|=(vec<3, U, Q> const& v);
232  template<typename U>
233  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator^=(U scalar);
234  template<typename U>
235  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator^=(vec<1, U, Q> const& v);
236  template<typename U>
237  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator^=(vec<3, U, Q> const& v);
238  template<typename U>
239  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator<<=(U scalar);
240  template<typename U>
241  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator<<=(vec<1, U, Q> const& v);
242  template<typename U>
243  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator<<=(vec<3, U, Q> const& v);
244  template<typename U>
245  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator>>=(U scalar);
246  template<typename U>
247  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator>>=(vec<1, U, Q> const& v);
248  template<typename U>
249  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator>>=(vec<3, U, Q> const& v);
250  };
251 
252  // -- Unary operators --
253 
254  template<typename T, qualifier Q>
255  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator+(vec<3, T, Q> const& v);
256 
257  template<typename T, qualifier Q>
258  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator-(vec<3, T, Q> const& v);
259 
260  // -- Binary operators --
261 
262  template<typename T, qualifier Q>
263  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator+(vec<3, T, Q> const& v, T scalar);
264 
265  template<typename T, qualifier Q>
266  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator+(vec<3, T, Q> const& v, vec<1, T, Q> const& scalar);
267 
268  template<typename T, qualifier Q>
269  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator+(T scalar, vec<3, T, Q> const& v);
270 
271  template<typename T, qualifier Q>
272  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator+(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2);
273 
274  template<typename T, qualifier Q>
275  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator+(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2);
276 
277  template<typename T, qualifier Q>
278  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator-(vec<3, T, Q> const& v, T scalar);
279 
280  template<typename T, qualifier Q>
281  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator-(vec<3, T, Q> const& v1, vec<1, T, Q> const& v2);
282 
283  template<typename T, qualifier Q>
284  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator-(T scalar, vec<3, T, Q> const& v);
285 
286  template<typename T, qualifier Q>
287  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator-(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2);
288 
289  template<typename T, qualifier Q>
290  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator-(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2);
291 
292  template<typename T, qualifier Q>
293  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator*(vec<3, T, Q> const& v, T scalar);
294 
295  template<typename T, qualifier Q>
296  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator*(vec<3, T, Q> const& v1, vec<1, T, Q> const& v2);
297 
298  template<typename T, qualifier Q>
299  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator*(T scalar, vec<3, T, Q> const& v);
300 
301  template<typename T, qualifier Q>
302  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator*(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2);
303 
304  template<typename T, qualifier Q>
305  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator*(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2);
306 
307  template<typename T, qualifier Q>
308  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator/(vec<3, T, Q> const& v, T scalar);
309 
310  template<typename T, qualifier Q>
311  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator/(vec<3, T, Q> const& v1, vec<1, T, Q> const& v2);
312 
313  template<typename T, qualifier Q>
314  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator/(T scalar, vec<3, T, Q> const& v);
315 
316  template<typename T, qualifier Q>
317  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator/(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2);
318 
319  template<typename T, qualifier Q>
320  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator/(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2);
321 
322  template<typename T, qualifier Q>
323  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator%(vec<3, T, Q> const& v, T scalar);
324 
325  template<typename T, qualifier Q>
326  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator%(vec<3, T, Q> const& v1, vec<1, T, Q> const& v2);
327 
328  template<typename T, qualifier Q>
329  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator%(T scalar, vec<3, T, Q> const& v);
330 
331  template<typename T, qualifier Q>
332  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator%(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2);
333 
334  template<typename T, qualifier Q>
335  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator%(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2);
336 
337  template<typename T, qualifier Q>
338  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator&(vec<3, T, Q> const& v1, T scalar);
339 
340  template<typename T, qualifier Q>
341  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator&(vec<3, T, Q> const& v1, vec<1, T, Q> const& v2);
342 
343  template<typename T, qualifier Q>
344  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator&(T scalar, vec<3, T, Q> const& v);
345 
346  template<typename T, qualifier Q>
347  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator&(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2);
348 
349  template<typename T, qualifier Q>
350  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator&(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2);
351 
352  template<typename T, qualifier Q>
353  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator|(vec<3, T, Q> const& v, T scalar);
354 
355  template<typename T, qualifier Q>
356  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator|(vec<3, T, Q> const& v1, vec<1, T, Q> const& v2);
357 
358  template<typename T, qualifier Q>
359  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator|(T scalar, vec<3, T, Q> const& v);
360 
361  template<typename T, qualifier Q>
362  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator|(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2);
363 
364  template<typename T, qualifier Q>
365  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator|(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2);
366 
367  template<typename T, qualifier Q>
368  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator^(vec<3, T, Q> const& v, T scalar);
369 
370  template<typename T, qualifier Q>
371  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator^(vec<3, T, Q> const& v1, vec<1, T, Q> const& v2);
372 
373  template<typename T, qualifier Q>
374  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator^(T scalar, vec<3, T, Q> const& v);
375 
376  template<typename T, qualifier Q>
377  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator^(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2);
378 
379  template<typename T, qualifier Q>
380  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator^(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2);
381 
382  template<typename T, qualifier Q>
383  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator<<(vec<3, T, Q> const& v, T scalar);
384 
385  template<typename T, qualifier Q>
386  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator<<(vec<3, T, Q> const& v1, vec<1, T, Q> const& v2);
387 
388  template<typename T, qualifier Q>
389  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator<<(T scalar, vec<3, T, Q> const& v);
390 
391  template<typename T, qualifier Q>
392  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator<<(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2);
393 
394  template<typename T, qualifier Q>
395  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator<<(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2);
396 
397  template<typename T, qualifier Q>
398  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator>>(vec<3, T, Q> const& v, T scalar);
399 
400  template<typename T, qualifier Q>
401  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator>>(vec<3, T, Q> const& v1, vec<1, T, Q> const& v2);
402 
403  template<typename T, qualifier Q>
404  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator>>(T scalar, vec<3, T, Q> const& v);
405 
406  template<typename T, qualifier Q>
407  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator>>(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2);
408 
409  template<typename T, qualifier Q>
410  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator>>(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2);
411 
412  template<typename T, qualifier Q>
413  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator~(vec<3, T, Q> const& v);
414 
415  // -- Boolean operators --
416 
417  template<typename T, qualifier Q>
418  GLM_FUNC_DECL GLM_CONSTEXPR bool operator==(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2);
419 
420  template<typename T, qualifier Q>
421  GLM_FUNC_DECL GLM_CONSTEXPR bool operator!=(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2);
422 
423  template<qualifier Q>
424  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, bool, Q> operator&&(vec<3, bool, Q> const& v1, vec<3, bool, Q> const& v2);
425 
426  template<qualifier Q>
427  GLM_FUNC_DECL GLM_CONSTEXPR vec<3, bool, Q> operator||(vec<3, bool, Q> const& v1, vec<3, bool, Q> const& v2);
428 }//namespace glm
429 
430 #ifndef GLM_EXTERNAL_TEMPLATE
431 #include "type_vec3.inl"
432 #endif//GLM_EXTERNAL_TEMPLATE
GLM_FUNC_DECL T length(qua< T, Q > const &q)
Returns the norm of a quaternions.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00181.html ================================================ 0.9.9 API documentation: type_vec4.hpp File Reference
0.9.9 API documentation
type_vec4.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00181_source.html ================================================ 0.9.9 API documentation: type_vec4.hpp Source File
0.9.9 API documentation
type_vec4.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 
6 #include "qualifier.hpp"
7 #if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR
8 # include "_swizzle.hpp"
9 #elif GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_FUNCTION
10 # include "_swizzle_func.hpp"
11 #endif
12 #include <cstddef>
13 
14 namespace glm
15 {
16  template<typename T, qualifier Q>
17  struct vec<4, T, Q>
18  {
19  // -- Implementation detail --
20 
21  typedef T value_type;
22  typedef vec<4, T, Q> type;
23  typedef vec<4, bool, Q> bool_type;
24 
25  // -- Data --
26 
27 # if GLM_SILENT_WARNINGS == GLM_ENABLE
28 # if GLM_COMPILER & GLM_COMPILER_GCC
29 # pragma GCC diagnostic push
30 # pragma GCC diagnostic ignored "-Wpedantic"
31 # elif GLM_COMPILER & GLM_COMPILER_CLANG
32 # pragma clang diagnostic push
33 # pragma clang diagnostic ignored "-Wgnu-anonymous-struct"
34 # pragma clang diagnostic ignored "-Wnested-anon-types"
35 # elif GLM_COMPILER & GLM_COMPILER_VC
36 # pragma warning(push)
37 # pragma warning(disable: 4201) // nonstandard extension used : nameless struct/union
38 # endif
39 # endif
40 
41 # if GLM_CONFIG_XYZW_ONLY
42  T x, y, z, w;
43 # elif GLM_CONFIG_ANONYMOUS_STRUCT == GLM_ENABLE
44  union
45  {
46  struct { T x, y, z, w; };
47  struct { T r, g, b, a; };
48  struct { T s, t, p, q; };
49 
50  typename detail::storage<4, T, detail::is_aligned<Q>::value>::type data;
51 
52 # if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR
53  GLM_SWIZZLE4_2_MEMBERS(T, Q, x, y, z, w)
54  GLM_SWIZZLE4_2_MEMBERS(T, Q, r, g, b, a)
55  GLM_SWIZZLE4_2_MEMBERS(T, Q, s, t, p, q)
56  GLM_SWIZZLE4_3_MEMBERS(T, Q, x, y, z, w)
57  GLM_SWIZZLE4_3_MEMBERS(T, Q, r, g, b, a)
58  GLM_SWIZZLE4_3_MEMBERS(T, Q, s, t, p, q)
59  GLM_SWIZZLE4_4_MEMBERS(T, Q, x, y, z, w)
60  GLM_SWIZZLE4_4_MEMBERS(T, Q, r, g, b, a)
61  GLM_SWIZZLE4_4_MEMBERS(T, Q, s, t, p, q)
62 # endif
63  };
64 # else
65  union { T x, r, s; };
66  union { T y, g, t; };
67  union { T z, b, p; };
68  union { T w, a, q; };
69 
70 # if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_FUNCTION
71  GLM_SWIZZLE_GEN_VEC_FROM_VEC4(T, Q)
72 # endif
73 # endif
74 
75 # if GLM_SILENT_WARNINGS == GLM_ENABLE
76 # if GLM_COMPILER & GLM_COMPILER_CLANG
77 # pragma clang diagnostic pop
78 # elif GLM_COMPILER & GLM_COMPILER_GCC
79 # pragma GCC diagnostic pop
80 # elif GLM_COMPILER & GLM_COMPILER_VC
81 # pragma warning(pop)
82 # endif
83 # endif
84 
85  // -- Component accesses --
86 
87  typedef length_t length_type;
88 
90  GLM_FUNC_DECL static GLM_CONSTEXPR length_type length(){return 4;}
91 
92  GLM_FUNC_DECL GLM_CONSTEXPR T & operator[](length_type i);
93  GLM_FUNC_DECL GLM_CONSTEXPR T const& operator[](length_type i) const;
94 
95  // -- Implicit basic constructors --
96 
97  GLM_FUNC_DECL GLM_CONSTEXPR vec() GLM_DEFAULT;
98  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<4, T, Q> const& v) GLM_DEFAULT;
99  template<qualifier P>
100  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<4, T, P> const& v);
101 
102  // -- Explicit basic constructors --
103 
104  GLM_FUNC_DECL GLM_CONSTEXPR explicit vec(T scalar);
105  GLM_FUNC_DECL GLM_CONSTEXPR vec(T x, T y, T z, T w);
106 
107  // -- Conversion scalar constructors --
108 
109  template<typename U, qualifier P>
110  GLM_FUNC_DECL GLM_CONSTEXPR explicit vec(vec<1, U, P> const& v);
111 
113  template<typename X, typename Y, typename Z, typename W>
114  GLM_FUNC_DECL GLM_CONSTEXPR vec(X _x, Y _y, Z _z, W _w);
115  template<typename X, typename Y, typename Z, typename W>
116  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, X, Q> const& _x, Y _y, Z _z, W _w);
117  template<typename X, typename Y, typename Z, typename W>
118  GLM_FUNC_DECL GLM_CONSTEXPR vec(X _x, vec<1, Y, Q> const& _y, Z _z, W _w);
119  template<typename X, typename Y, typename Z, typename W>
120  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, X, Q> const& _x, vec<1, Y, Q> const& _y, Z _z, W _w);
121  template<typename X, typename Y, typename Z, typename W>
122  GLM_FUNC_DECL GLM_CONSTEXPR vec(X _x, Y _y, vec<1, Z, Q> const& _z, W _w);
123  template<typename X, typename Y, typename Z, typename W>
124  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, X, Q> const& _x, Y _y, vec<1, Z, Q> const& _z, W _w);
125  template<typename X, typename Y, typename Z, typename W>
126  GLM_FUNC_DECL GLM_CONSTEXPR vec(X _x, vec<1, Y, Q> const& _y, vec<1, Z, Q> const& _z, W _w);
127  template<typename X, typename Y, typename Z, typename W>
128  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, X, Q> const& _x, vec<1, Y, Q> const& _y, vec<1, Z, Q> const& _z, W _w);
129  template<typename X, typename Y, typename Z, typename W>
130  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, X, Q> const& _x, Y _y, Z _z, vec<1, W, Q> const& _w);
131  template<typename X, typename Y, typename Z, typename W>
132  GLM_FUNC_DECL GLM_CONSTEXPR vec(X _x, vec<1, Y, Q> const& _y, Z _z, vec<1, W, Q> const& _w);
133  template<typename X, typename Y, typename Z, typename W>
134  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, X, Q> const& _x, vec<1, Y, Q> const& _y, Z _z, vec<1, W, Q> const& _w);
135  template<typename X, typename Y, typename Z, typename W>
136  GLM_FUNC_DECL GLM_CONSTEXPR vec(X _x, Y _y, vec<1, Z, Q> const& _z, vec<1, W, Q> const& _w);
137  template<typename X, typename Y, typename Z, typename W>
138  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, X, Q> const& _x, Y _y, vec<1, Z, Q> const& _z, vec<1, W, Q> const& _w);
139  template<typename X, typename Y, typename Z, typename W>
140  GLM_FUNC_DECL GLM_CONSTEXPR vec(X _x, vec<1, Y, Q> const& _y, vec<1, Z, Q> const& _z, vec<1, W, Q> const& _w);
141  template<typename X, typename Y, typename Z, typename W>
142  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, X, Q> const& _x, vec<1, Y, Q> const& _Y, vec<1, Z, Q> const& _z, vec<1, W, Q> const& _w);
143 
144  // -- Conversion vector constructors --
145 
147  template<typename A, typename B, typename C, qualifier P>
148  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<2, A, P> const& _xy, B _z, C _w);
150  template<typename A, typename B, typename C, qualifier P>
151  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<2, A, P> const& _xy, vec<1, B, P> const& _z, C _w);
153  template<typename A, typename B, typename C, qualifier P>
154  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<2, A, P> const& _xy, B _z, vec<1, C, P> const& _w);
156  template<typename A, typename B, typename C, qualifier P>
157  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<2, A, P> const& _xy, vec<1, B, P> const& _z, vec<1, C, P> const& _w);
159  template<typename A, typename B, typename C, qualifier P>
160  GLM_FUNC_DECL GLM_CONSTEXPR vec(A _x, vec<2, B, P> const& _yz, C _w);
162  template<typename A, typename B, typename C, qualifier P>
163  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, A, P> const& _x, vec<2, B, P> const& _yz, C _w);
165  template<typename A, typename B, typename C, qualifier P>
166  GLM_FUNC_DECL GLM_CONSTEXPR vec(A _x, vec<2, B, P> const& _yz, vec<1, C, P> const& _w);
168  template<typename A, typename B, typename C, qualifier P>
169  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, A, P> const& _x, vec<2, B, P> const& _yz, vec<1, C, P> const& _w);
171  template<typename A, typename B, typename C, qualifier P>
172  GLM_FUNC_DECL GLM_CONSTEXPR vec(A _x, B _y, vec<2, C, P> const& _zw);
174  template<typename A, typename B, typename C, qualifier P>
175  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, A, P> const& _x, B _y, vec<2, C, P> const& _zw);
177  template<typename A, typename B, typename C, qualifier P>
178  GLM_FUNC_DECL GLM_CONSTEXPR vec(A _x, vec<1, B, P> const& _y, vec<2, C, P> const& _zw);
180  template<typename A, typename B, typename C, qualifier P>
181  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, A, P> const& _x, vec<1, B, P> const& _y, vec<2, C, P> const& _zw);
183  template<typename A, typename B, qualifier P>
184  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<3, A, P> const& _xyz, B _w);
186  template<typename A, typename B, qualifier P>
187  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<3, A, P> const& _xyz, vec<1, B, P> const& _w);
189  template<typename A, typename B, qualifier P>
190  GLM_FUNC_DECL GLM_CONSTEXPR vec(A _x, vec<3, B, P> const& _yzw);
192  template<typename A, typename B, qualifier P>
193  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, A, P> const& _x, vec<3, B, P> const& _yzw);
195  template<typename A, typename B, qualifier P>
196  GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<2, A, P> const& _xy, vec<2, B, P> const& _zw);
197 
199  template<typename U, qualifier P>
200  GLM_FUNC_DECL GLM_CONSTEXPR GLM_EXPLICIT vec(vec<4, U, P> const& v);
201 
202  // -- Swizzle constructors --
203 # if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR
204  template<int E0, int E1, int E2, int E3>
205  GLM_FUNC_DECL GLM_CONSTEXPR vec(detail::_swizzle<4, T, Q, E0, E1, E2, E3> const& that)
206  {
207  *this = that();
208  }
209 
210  template<int E0, int E1, int F0, int F1>
211  GLM_FUNC_DECL GLM_CONSTEXPR vec(detail::_swizzle<2, T, Q, E0, E1, -1, -2> const& v, detail::_swizzle<2, T, Q, F0, F1, -1, -2> const& u)
212  {
213  *this = vec<4, T, Q>(v(), u());
214  }
215 
216  template<int E0, int E1>
217  GLM_FUNC_DECL GLM_CONSTEXPR vec(T const& x, T const& y, detail::_swizzle<2, T, Q, E0, E1, -1, -2> const& v)
218  {
219  *this = vec<4, T, Q>(x, y, v());
220  }
221 
222  template<int E0, int E1>
223  GLM_FUNC_DECL GLM_CONSTEXPR vec(T const& x, detail::_swizzle<2, T, Q, E0, E1, -1, -2> const& v, T const& w)
224  {
225  *this = vec<4, T, Q>(x, v(), w);
226  }
227 
228  template<int E0, int E1>
229  GLM_FUNC_DECL GLM_CONSTEXPR vec(detail::_swizzle<2, T, Q, E0, E1, -1, -2> const& v, T const& z, T const& w)
230  {
231  *this = vec<4, T, Q>(v(), z, w);
232  }
233 
234  template<int E0, int E1, int E2>
235  GLM_FUNC_DECL GLM_CONSTEXPR vec(detail::_swizzle<3, T, Q, E0, E1, E2, -1> const& v, T const& w)
236  {
237  *this = vec<4, T, Q>(v(), w);
238  }
239 
240  template<int E0, int E1, int E2>
241  GLM_FUNC_DECL GLM_CONSTEXPR vec(T const& x, detail::_swizzle<3, T, Q, E0, E1, E2, -1> const& v)
242  {
243  *this = vec<4, T, Q>(x, v());
244  }
245 # endif//GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR
246 
247  // -- Unary arithmetic operators --
248 
249  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q>& operator=(vec<4, T, Q> const& v) GLM_DEFAULT;
250 
251  template<typename U>
252  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q>& operator=(vec<4, U, Q> const& v);
253  template<typename U>
254  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q>& operator+=(U scalar);
255  template<typename U>
256  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q>& operator+=(vec<1, U, Q> const& v);
257  template<typename U>
258  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q>& operator+=(vec<4, U, Q> const& v);
259  template<typename U>
260  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q>& operator-=(U scalar);
261  template<typename U>
262  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q>& operator-=(vec<1, U, Q> const& v);
263  template<typename U>
264  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q>& operator-=(vec<4, U, Q> const& v);
265  template<typename U>
266  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q>& operator*=(U scalar);
267  template<typename U>
268  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q>& operator*=(vec<1, U, Q> const& v);
269  template<typename U>
270  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q>& operator*=(vec<4, U, Q> const& v);
271  template<typename U>
272  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q>& operator/=(U scalar);
273  template<typename U>
274  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q>& operator/=(vec<1, U, Q> const& v);
275  template<typename U>
276  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q>& operator/=(vec<4, U, Q> const& v);
277 
278  // -- Increment and decrement operators --
279 
280  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator++();
281  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator--();
282  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator++(int);
283  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator--(int);
284 
285  // -- Unary bit operators --
286 
287  template<typename U>
288  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator%=(U scalar);
289  template<typename U>
290  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator%=(vec<1, U, Q> const& v);
291  template<typename U>
292  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator%=(vec<4, U, Q> const& v);
293  template<typename U>
294  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator&=(U scalar);
295  template<typename U>
296  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator&=(vec<1, U, Q> const& v);
297  template<typename U>
298  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator&=(vec<4, U, Q> const& v);
299  template<typename U>
300  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator|=(U scalar);
301  template<typename U>
302  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator|=(vec<1, U, Q> const& v);
303  template<typename U>
304  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator|=(vec<4, U, Q> const& v);
305  template<typename U>
306  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator^=(U scalar);
307  template<typename U>
308  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator^=(vec<1, U, Q> const& v);
309  template<typename U>
310  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator^=(vec<4, U, Q> const& v);
311  template<typename U>
312  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator<<=(U scalar);
313  template<typename U>
314  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator<<=(vec<1, U, Q> const& v);
315  template<typename U>
316  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator<<=(vec<4, U, Q> const& v);
317  template<typename U>
318  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator>>=(U scalar);
319  template<typename U>
320  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator>>=(vec<1, U, Q> const& v);
321  template<typename U>
322  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator>>=(vec<4, U, Q> const& v);
323  };
324 
325  // -- Unary operators --
326 
327  template<typename T, qualifier Q>
328  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator+(vec<4, T, Q> const& v);
329 
330  template<typename T, qualifier Q>
331  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator-(vec<4, T, Q> const& v);
332 
333  // -- Binary operators --
334 
335  template<typename T, qualifier Q>
336  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator+(vec<4, T, Q> const& v, T const & scalar);
337 
338  template<typename T, qualifier Q>
339  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator+(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2);
340 
341  template<typename T, qualifier Q>
342  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator+(T scalar, vec<4, T, Q> const& v);
343 
344  template<typename T, qualifier Q>
345  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator+(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2);
346 
347  template<typename T, qualifier Q>
348  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator+(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2);
349 
350  template<typename T, qualifier Q>
351  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator-(vec<4, T, Q> const& v, T const & scalar);
352 
353  template<typename T, qualifier Q>
354  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator-(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2);
355 
356  template<typename T, qualifier Q>
357  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator-(T scalar, vec<4, T, Q> const& v);
358 
359  template<typename T, qualifier Q>
360  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator-(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2);
361 
362  template<typename T, qualifier Q>
363  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator-(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2);
364 
365  template<typename T, qualifier Q>
366  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator*(vec<4, T, Q> const& v, T const & scalar);
367 
368  template<typename T, qualifier Q>
369  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator*(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2);
370 
371  template<typename T, qualifier Q>
372  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator*(T scalar, vec<4, T, Q> const& v);
373 
374  template<typename T, qualifier Q>
375  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator*(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2);
376 
377  template<typename T, qualifier Q>
378  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator*(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2);
379 
380  template<typename T, qualifier Q>
381  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator/(vec<4, T, Q> const& v, T const & scalar);
382 
383  template<typename T, qualifier Q>
384  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator/(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2);
385 
386  template<typename T, qualifier Q>
387  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator/(T scalar, vec<4, T, Q> const& v);
388 
389  template<typename T, qualifier Q>
390  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator/(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2);
391 
392  template<typename T, qualifier Q>
393  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator/(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2);
394 
395  template<typename T, qualifier Q>
396  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator%(vec<4, T, Q> const& v, T scalar);
397 
398  template<typename T, qualifier Q>
399  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator%(vec<4, T, Q> const& v, vec<1, T, Q> const& scalar);
400 
401  template<typename T, qualifier Q>
402  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator%(T scalar, vec<4, T, Q> const& v);
403 
404  template<typename T, qualifier Q>
405  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator%(vec<1, T, Q> const& scalar, vec<4, T, Q> const& v);
406 
407  template<typename T, qualifier Q>
408  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator%(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2);
409 
410  template<typename T, qualifier Q>
411  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator&(vec<4, T, Q> const& v, T scalar);
412 
413  template<typename T, qualifier Q>
414  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator&(vec<4, T, Q> const& v, vec<1, T, Q> const& scalar);
415 
416  template<typename T, qualifier Q>
417  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator&(T scalar, vec<4, T, Q> const& v);
418 
419  template<typename T, qualifier Q>
420  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator&(vec<1, T, Q> const& scalar, vec<4, T, Q> const& v);
421 
422  template<typename T, qualifier Q>
423  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator&(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2);
424 
425  template<typename T, qualifier Q>
426  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator|(vec<4, T, Q> const& v, T scalar);
427 
428  template<typename T, qualifier Q>
429  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator|(vec<4, T, Q> const& v, vec<1, T, Q> const& scalar);
430 
431  template<typename T, qualifier Q>
432  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator|(T scalar, vec<4, T, Q> const& v);
433 
434  template<typename T, qualifier Q>
435  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator|(vec<1, T, Q> const& scalar, vec<4, T, Q> const& v);
436 
437  template<typename T, qualifier Q>
438  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator|(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2);
439 
440  template<typename T, qualifier Q>
441  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator^(vec<4, T, Q> const& v, T scalar);
442 
443  template<typename T, qualifier Q>
444  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator^(vec<4, T, Q> const& v, vec<1, T, Q> const& scalar);
445 
446  template<typename T, qualifier Q>
447  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator^(T scalar, vec<4, T, Q> const& v);
448 
449  template<typename T, qualifier Q>
450  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator^(vec<1, T, Q> const& scalar, vec<4, T, Q> const& v);
451 
452  template<typename T, qualifier Q>
453  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator^(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2);
454 
455  template<typename T, qualifier Q>
456  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator<<(vec<4, T, Q> const& v, T scalar);
457 
458  template<typename T, qualifier Q>
459  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator<<(vec<4, T, Q> const& v, vec<1, T, Q> const& scalar);
460 
461  template<typename T, qualifier Q>
462  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator<<(T scalar, vec<4, T, Q> const& v);
463 
464  template<typename T, qualifier Q>
465  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator<<(vec<1, T, Q> const& scalar, vec<4, T, Q> const& v);
466 
467  template<typename T, qualifier Q>
468  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator<<(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2);
469 
470  template<typename T, qualifier Q>
471  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator>>(vec<4, T, Q> const& v, T scalar);
472 
473  template<typename T, qualifier Q>
474  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator>>(vec<4, T, Q> const& v, vec<1, T, Q> const& scalar);
475 
476  template<typename T, qualifier Q>
477  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator>>(T scalar, vec<4, T, Q> const& v);
478 
479  template<typename T, qualifier Q>
480  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator>>(vec<1, T, Q> const& scalar, vec<4, T, Q> const& v);
481 
482  template<typename T, qualifier Q>
483  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator>>(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2);
484 
485  template<typename T, qualifier Q>
486  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator~(vec<4, T, Q> const& v);
487 
488  // -- Boolean operators --
489 
490  template<typename T, qualifier Q>
491  GLM_FUNC_DECL GLM_CONSTEXPR bool operator==(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2);
492 
493  template<typename T, qualifier Q>
494  GLM_FUNC_DECL GLM_CONSTEXPR bool operator!=(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2);
495 
496  template<qualifier Q>
497  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, bool, Q> operator&&(vec<4, bool, Q> const& v1, vec<4, bool, Q> const& v2);
498 
499  template<qualifier Q>
500  GLM_FUNC_DECL GLM_CONSTEXPR vec<4, bool, Q> operator||(vec<4, bool, Q> const& v1, vec<4, bool, Q> const& v2);
501 }//namespace glm
502 
503 #ifndef GLM_EXTERNAL_TEMPLATE
504 #include "type_vec4.inl"
505 #endif//GLM_EXTERNAL_TEMPLATE
GLM_FUNC_DECL T length(qua< T, Q > const &q)
Returns the norm of a quaternions.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00182.html ================================================ 0.9.9 API documentation: ulp.hpp File Reference
0.9.9 API documentation
ulp.hpp File Reference

GLM_GTC_ulp More...

Go to the source code of this file.

Functions

GLM_FUNC_DECL int float_distance (float x, float y)
 Return the distance in the number of ULP between 2 single-precision floating-point scalars. More...
 
GLM_FUNC_DECL int64 float_distance (double x, double y)
 Return the distance in the number of ULP between 2 double-precision floating-point scalars. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > float_distance (vec< L, float, Q > const &x, vec< L, float, Q > const &y)
 Return the distance in the number of ULP between 2 single-precision floating-point scalars. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int64, Q > float_distance (vec< L, double, Q > const &x, vec< L, double, Q > const &y)
 Return the distance in the number of ULP between 2 double-precision floating-point scalars. More...
 
template<typename genType >
GLM_FUNC_DECL genType next_float (genType x)
 Return the next ULP value(s) after the input value(s). More...
 
template<typename genType >
GLM_FUNC_DECL genType next_float (genType x, int ULPs)
 Return the value(s) ULP distance after the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > next_float (vec< L, T, Q > const &x)
 Return the next ULP value(s) after the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > next_float (vec< L, T, Q > const &x, int ULPs)
 Return the value(s) ULP distance after the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > next_float (vec< L, T, Q > const &x, vec< L, int, Q > const &ULPs)
 Return the value(s) ULP distance after the input value(s). More...
 
template<typename genType >
GLM_FUNC_DECL genType prev_float (genType x)
 Return the previous ULP value(s) before the input value(s). More...
 
template<typename genType >
GLM_FUNC_DECL genType prev_float (genType x, int ULPs)
 Return the value(s) ULP distance before the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prev_float (vec< L, T, Q > const &x)
 Return the previous ULP value(s) before the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prev_float (vec< L, T, Q > const &x, int ULPs)
 Return the value(s) ULP distance before the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prev_float (vec< L, T, Q > const &x, vec< L, int, Q > const &ULPs)
 Return the value(s) ULP distance before the input value(s). More...
 

Detailed Description

GLM_GTC_ulp

See also
Core features (dependence)

Definition in file ulp.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00182_source.html ================================================ 0.9.9 API documentation: ulp.hpp Source File
0.9.9 API documentation
ulp.hpp
Go to the documentation of this file.
1 
15 #pragma once
16 
17 // Dependencies
18 #include "../detail/setup.hpp"
19 #include "../detail/qualifier.hpp"
20 #include "../detail/_vectorize.hpp"
21 #include "../ext/scalar_int_sized.hpp"
22 
23 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
24 # pragma message("GLM: GLM_GTC_ulp extension included")
25 #endif
26 
27 namespace glm
28 {
34  template<typename genType>
35  GLM_FUNC_DECL genType next_float(genType x);
36 
42  template<typename genType>
43  GLM_FUNC_DECL genType prev_float(genType x);
44 
50  template<typename genType>
51  GLM_FUNC_DECL genType next_float(genType x, int ULPs);
52 
58  template<typename genType>
59  GLM_FUNC_DECL genType prev_float(genType x, int ULPs);
60 
64  GLM_FUNC_DECL int float_distance(float x, float y);
65 
69  GLM_FUNC_DECL int64 float_distance(double x, double y);
70 
78  template<length_t L, typename T, qualifier Q>
79  GLM_FUNC_DECL vec<L, T, Q> next_float(vec<L, T, Q> const& x);
80 
88  template<length_t L, typename T, qualifier Q>
89  GLM_FUNC_DECL vec<L, T, Q> next_float(vec<L, T, Q> const& x, int ULPs);
90 
98  template<length_t L, typename T, qualifier Q>
99  GLM_FUNC_DECL vec<L, T, Q> next_float(vec<L, T, Q> const& x, vec<L, int, Q> const& ULPs);
100 
108  template<length_t L, typename T, qualifier Q>
109  GLM_FUNC_DECL vec<L, T, Q> prev_float(vec<L, T, Q> const& x);
110 
118  template<length_t L, typename T, qualifier Q>
119  GLM_FUNC_DECL vec<L, T, Q> prev_float(vec<L, T, Q> const& x, int ULPs);
120 
128  template<length_t L, typename T, qualifier Q>
129  GLM_FUNC_DECL vec<L, T, Q> prev_float(vec<L, T, Q> const& x, vec<L, int, Q> const& ULPs);
130 
137  template<length_t L, typename T, qualifier Q>
138  GLM_FUNC_DECL vec<L, int, Q> float_distance(vec<L, float, Q> const& x, vec<L, float, Q> const& y);
139 
146  template<length_t L, typename T, qualifier Q>
147  GLM_FUNC_DECL vec<L, int64, Q> float_distance(vec<L, double, Q> const& x, vec<L, double, Q> const& y);
148 
150 }//namespace glm
151 
152 #include "ulp.inl"
detail::int64 int64
64 bit signed integer type.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00183.html ================================================ 0.9.9 API documentation: vec1.hpp File Reference
0.9.9 API documentation
vec1.hpp File Reference

GLM_GTC_vec1 More...

Go to the source code of this file.

Detailed Description

GLM_GTC_vec1

See also
Core features (dependence)

Definition in file vec1.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00183_source.html ================================================ 0.9.9 API documentation: vec1.hpp Source File
0.9.9 API documentation
vec1.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependency:
16 #include "../ext/vector_bool1.hpp"
17 #include "../ext/vector_bool1_precision.hpp"
18 #include "../ext/vector_float1.hpp"
19 #include "../ext/vector_float1_precision.hpp"
20 #include "../ext/vector_double1.hpp"
21 #include "../ext/vector_double1_precision.hpp"
22 #include "../ext/vector_int1.hpp"
23 #include "../ext/vector_int1_precision.hpp"
24 #include "../ext/vector_uint1.hpp"
25 #include "../ext/vector_uint1_precision.hpp"
26 
27 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
28 # pragma message("GLM: GLM_GTC_vec1 extension included")
29 #endif
30 
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00184.html ================================================ 0.9.9 API documentation: vec2.hpp File Reference
0.9.9 API documentation
vec2.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00184_source.html ================================================ 0.9.9 API documentation: vec2.hpp Source File
0.9.9 API documentation
vec2.hpp
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00185.html ================================================ 0.9.9 API documentation: vec3.hpp File Reference
0.9.9 API documentation
vec3.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00185_source.html ================================================ 0.9.9 API documentation: vec3.hpp Source File
0.9.9 API documentation
vec3.hpp
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00186.html ================================================ 0.9.9 API documentation: vec4.hpp File Reference
0.9.9 API documentation
vec4.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00186_source.html ================================================ 0.9.9 API documentation: vec4.hpp Source File
0.9.9 API documentation
vec4.hpp
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00187.html ================================================ 0.9.9 API documentation: vec_swizzle.hpp File Reference
0.9.9 API documentation
vec_swizzle.hpp File Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00187_source.html ================================================ 0.9.9 API documentation: vec_swizzle.hpp Source File
0.9.9 API documentation
vec_swizzle.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 #include "../glm.hpp"
16 
17 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
18 # ifndef GLM_ENABLE_EXPERIMENTAL
19 # pragma message("GLM: GLM_GTX_vec_swizzle is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
20 # else
21 # pragma message("GLM: GLM_GTX_vec_swizzle extension included")
22 # endif
23 #endif
24 
25 namespace glm {
26  // xx
27  template<typename T, qualifier Q>
28  GLM_INLINE glm::vec<2, T, Q> xx(const glm::vec<1, T, Q> &v) {
29  return glm::vec<2, T, Q>(v.x, v.x);
30  }
31 
32  template<typename T, qualifier Q>
33  GLM_INLINE glm::vec<2, T, Q> xx(const glm::vec<2, T, Q> &v) {
34  return glm::vec<2, T, Q>(v.x, v.x);
35  }
36 
37  template<typename T, qualifier Q>
38  GLM_INLINE glm::vec<2, T, Q> xx(const glm::vec<3, T, Q> &v) {
39  return glm::vec<2, T, Q>(v.x, v.x);
40  }
41 
42  template<typename T, qualifier Q>
43  GLM_INLINE glm::vec<2, T, Q> xx(const glm::vec<4, T, Q> &v) {
44  return glm::vec<2, T, Q>(v.x, v.x);
45  }
46 
47  // xy
48  template<typename T, qualifier Q>
49  GLM_INLINE glm::vec<2, T, Q> xy(const glm::vec<2, T, Q> &v) {
50  return glm::vec<2, T, Q>(v.x, v.y);
51  }
52 
53  template<typename T, qualifier Q>
54  GLM_INLINE glm::vec<2, T, Q> xy(const glm::vec<3, T, Q> &v) {
55  return glm::vec<2, T, Q>(v.x, v.y);
56  }
57 
58  template<typename T, qualifier Q>
59  GLM_INLINE glm::vec<2, T, Q> xy(const glm::vec<4, T, Q> &v) {
60  return glm::vec<2, T, Q>(v.x, v.y);
61  }
62 
63  // xz
64  template<typename T, qualifier Q>
65  GLM_INLINE glm::vec<2, T, Q> xz(const glm::vec<3, T, Q> &v) {
66  return glm::vec<2, T, Q>(v.x, v.z);
67  }
68 
69  template<typename T, qualifier Q>
70  GLM_INLINE glm::vec<2, T, Q> xz(const glm::vec<4, T, Q> &v) {
71  return glm::vec<2, T, Q>(v.x, v.z);
72  }
73 
74  // xw
75  template<typename T, qualifier Q>
76  GLM_INLINE glm::vec<2, T, Q> xw(const glm::vec<4, T, Q> &v) {
77  return glm::vec<2, T, Q>(v.x, v.w);
78  }
79 
80  // yx
81  template<typename T, qualifier Q>
82  GLM_INLINE glm::vec<2, T, Q> yx(const glm::vec<2, T, Q> &v) {
83  return glm::vec<2, T, Q>(v.y, v.x);
84  }
85 
86  template<typename T, qualifier Q>
87  GLM_INLINE glm::vec<2, T, Q> yx(const glm::vec<3, T, Q> &v) {
88  return glm::vec<2, T, Q>(v.y, v.x);
89  }
90 
91  template<typename T, qualifier Q>
92  GLM_INLINE glm::vec<2, T, Q> yx(const glm::vec<4, T, Q> &v) {
93  return glm::vec<2, T, Q>(v.y, v.x);
94  }
95 
96  // yy
97  template<typename T, qualifier Q>
98  GLM_INLINE glm::vec<2, T, Q> yy(const glm::vec<2, T, Q> &v) {
99  return glm::vec<2, T, Q>(v.y, v.y);
100  }
101 
102  template<typename T, qualifier Q>
103  GLM_INLINE glm::vec<2, T, Q> yy(const glm::vec<3, T, Q> &v) {
104  return glm::vec<2, T, Q>(v.y, v.y);
105  }
106 
107  template<typename T, qualifier Q>
108  GLM_INLINE glm::vec<2, T, Q> yy(const glm::vec<4, T, Q> &v) {
109  return glm::vec<2, T, Q>(v.y, v.y);
110  }
111 
112  // yz
113  template<typename T, qualifier Q>
114  GLM_INLINE glm::vec<2, T, Q> yz(const glm::vec<3, T, Q> &v) {
115  return glm::vec<2, T, Q>(v.y, v.z);
116  }
117 
118  template<typename T, qualifier Q>
119  GLM_INLINE glm::vec<2, T, Q> yz(const glm::vec<4, T, Q> &v) {
120  return glm::vec<2, T, Q>(v.y, v.z);
121  }
122 
123  // yw
124  template<typename T, qualifier Q>
125  GLM_INLINE glm::vec<2, T, Q> yw(const glm::vec<4, T, Q> &v) {
126  return glm::vec<2, T, Q>(v.y, v.w);
127  }
128 
129  // zx
130  template<typename T, qualifier Q>
131  GLM_INLINE glm::vec<2, T, Q> zx(const glm::vec<3, T, Q> &v) {
132  return glm::vec<2, T, Q>(v.z, v.x);
133  }
134 
135  template<typename T, qualifier Q>
136  GLM_INLINE glm::vec<2, T, Q> zx(const glm::vec<4, T, Q> &v) {
137  return glm::vec<2, T, Q>(v.z, v.x);
138  }
139 
140  // zy
141  template<typename T, qualifier Q>
142  GLM_INLINE glm::vec<2, T, Q> zy(const glm::vec<3, T, Q> &v) {
143  return glm::vec<2, T, Q>(v.z, v.y);
144  }
145 
146  template<typename T, qualifier Q>
147  GLM_INLINE glm::vec<2, T, Q> zy(const glm::vec<4, T, Q> &v) {
148  return glm::vec<2, T, Q>(v.z, v.y);
149  }
150 
151  // zz
152  template<typename T, qualifier Q>
153  GLM_INLINE glm::vec<2, T, Q> zz(const glm::vec<3, T, Q> &v) {
154  return glm::vec<2, T, Q>(v.z, v.z);
155  }
156 
157  template<typename T, qualifier Q>
158  GLM_INLINE glm::vec<2, T, Q> zz(const glm::vec<4, T, Q> &v) {
159  return glm::vec<2, T, Q>(v.z, v.z);
160  }
161 
162  // zw
163  template<typename T, qualifier Q>
164  GLM_INLINE glm::vec<2, T, Q> zw(const glm::vec<4, T, Q> &v) {
165  return glm::vec<2, T, Q>(v.z, v.w);
166  }
167 
168  // wx
169  template<typename T, qualifier Q>
170  GLM_INLINE glm::vec<2, T, Q> wx(const glm::vec<4, T, Q> &v) {
171  return glm::vec<2, T, Q>(v.w, v.x);
172  }
173 
174  // wy
175  template<typename T, qualifier Q>
176  GLM_INLINE glm::vec<2, T, Q> wy(const glm::vec<4, T, Q> &v) {
177  return glm::vec<2, T, Q>(v.w, v.y);
178  }
179 
180  // wz
181  template<typename T, qualifier Q>
182  GLM_INLINE glm::vec<2, T, Q> wz(const glm::vec<4, T, Q> &v) {
183  return glm::vec<2, T, Q>(v.w, v.z);
184  }
185 
186  // ww
187  template<typename T, qualifier Q>
188  GLM_INLINE glm::vec<2, T, Q> ww(const glm::vec<4, T, Q> &v) {
189  return glm::vec<2, T, Q>(v.w, v.w);
190  }
191 
192  // xxx
193  template<typename T, qualifier Q>
194  GLM_INLINE glm::vec<3, T, Q> xxx(const glm::vec<1, T, Q> &v) {
195  return glm::vec<3, T, Q>(v.x, v.x, v.x);
196  }
197 
198  template<typename T, qualifier Q>
199  GLM_INLINE glm::vec<3, T, Q> xxx(const glm::vec<2, T, Q> &v) {
200  return glm::vec<3, T, Q>(v.x, v.x, v.x);
201  }
202 
203  template<typename T, qualifier Q>
204  GLM_INLINE glm::vec<3, T, Q> xxx(const glm::vec<3, T, Q> &v) {
205  return glm::vec<3, T, Q>(v.x, v.x, v.x);
206  }
207 
208  template<typename T, qualifier Q>
209  GLM_INLINE glm::vec<3, T, Q> xxx(const glm::vec<4, T, Q> &v) {
210  return glm::vec<3, T, Q>(v.x, v.x, v.x);
211  }
212 
213  // xxy
214  template<typename T, qualifier Q>
215  GLM_INLINE glm::vec<3, T, Q> xxy(const glm::vec<2, T, Q> &v) {
216  return glm::vec<3, T, Q>(v.x, v.x, v.y);
217  }
218 
219  template<typename T, qualifier Q>
220  GLM_INLINE glm::vec<3, T, Q> xxy(const glm::vec<3, T, Q> &v) {
221  return glm::vec<3, T, Q>(v.x, v.x, v.y);
222  }
223 
224  template<typename T, qualifier Q>
225  GLM_INLINE glm::vec<3, T, Q> xxy(const glm::vec<4, T, Q> &v) {
226  return glm::vec<3, T, Q>(v.x, v.x, v.y);
227  }
228 
229  // xxz
230  template<typename T, qualifier Q>
231  GLM_INLINE glm::vec<3, T, Q> xxz(const glm::vec<3, T, Q> &v) {
232  return glm::vec<3, T, Q>(v.x, v.x, v.z);
233  }
234 
235  template<typename T, qualifier Q>
236  GLM_INLINE glm::vec<3, T, Q> xxz(const glm::vec<4, T, Q> &v) {
237  return glm::vec<3, T, Q>(v.x, v.x, v.z);
238  }
239 
240  // xxw
241  template<typename T, qualifier Q>
242  GLM_INLINE glm::vec<3, T, Q> xxw(const glm::vec<4, T, Q> &v) {
243  return glm::vec<3, T, Q>(v.x, v.x, v.w);
244  }
245 
246  // xyx
247  template<typename T, qualifier Q>
248  GLM_INLINE glm::vec<3, T, Q> xyx(const glm::vec<2, T, Q> &v) {
249  return glm::vec<3, T, Q>(v.x, v.y, v.x);
250  }
251 
252  template<typename T, qualifier Q>
253  GLM_INLINE glm::vec<3, T, Q> xyx(const glm::vec<3, T, Q> &v) {
254  return glm::vec<3, T, Q>(v.x, v.y, v.x);
255  }
256 
257  template<typename T, qualifier Q>
258  GLM_INLINE glm::vec<3, T, Q> xyx(const glm::vec<4, T, Q> &v) {
259  return glm::vec<3, T, Q>(v.x, v.y, v.x);
260  }
261 
262  // xyy
263  template<typename T, qualifier Q>
264  GLM_INLINE glm::vec<3, T, Q> xyy(const glm::vec<2, T, Q> &v) {
265  return glm::vec<3, T, Q>(v.x, v.y, v.y);
266  }
267 
268  template<typename T, qualifier Q>
269  GLM_INLINE glm::vec<3, T, Q> xyy(const glm::vec<3, T, Q> &v) {
270  return glm::vec<3, T, Q>(v.x, v.y, v.y);
271  }
272 
273  template<typename T, qualifier Q>
274  GLM_INLINE glm::vec<3, T, Q> xyy(const glm::vec<4, T, Q> &v) {
275  return glm::vec<3, T, Q>(v.x, v.y, v.y);
276  }
277 
278  // xyz
279  template<typename T, qualifier Q>
280  GLM_INLINE glm::vec<3, T, Q> xyz(const glm::vec<3, T, Q> &v) {
281  return glm::vec<3, T, Q>(v.x, v.y, v.z);
282  }
283 
284  template<typename T, qualifier Q>
285  GLM_INLINE glm::vec<3, T, Q> xyz(const glm::vec<4, T, Q> &v) {
286  return glm::vec<3, T, Q>(v.x, v.y, v.z);
287  }
288 
289  // xyw
290  template<typename T, qualifier Q>
291  GLM_INLINE glm::vec<3, T, Q> xyw(const glm::vec<4, T, Q> &v) {
292  return glm::vec<3, T, Q>(v.x, v.y, v.w);
293  }
294 
295  // xzx
296  template<typename T, qualifier Q>
297  GLM_INLINE glm::vec<3, T, Q> xzx(const glm::vec<3, T, Q> &v) {
298  return glm::vec<3, T, Q>(v.x, v.z, v.x);
299  }
300 
301  template<typename T, qualifier Q>
302  GLM_INLINE glm::vec<3, T, Q> xzx(const glm::vec<4, T, Q> &v) {
303  return glm::vec<3, T, Q>(v.x, v.z, v.x);
304  }
305 
306  // xzy
307  template<typename T, qualifier Q>
308  GLM_INLINE glm::vec<3, T, Q> xzy(const glm::vec<3, T, Q> &v) {
309  return glm::vec<3, T, Q>(v.x, v.z, v.y);
310  }
311 
312  template<typename T, qualifier Q>
313  GLM_INLINE glm::vec<3, T, Q> xzy(const glm::vec<4, T, Q> &v) {
314  return glm::vec<3, T, Q>(v.x, v.z, v.y);
315  }
316 
317  // xzz
318  template<typename T, qualifier Q>
319  GLM_INLINE glm::vec<3, T, Q> xzz(const glm::vec<3, T, Q> &v) {
320  return glm::vec<3, T, Q>(v.x, v.z, v.z);
321  }
322 
323  template<typename T, qualifier Q>
324  GLM_INLINE glm::vec<3, T, Q> xzz(const glm::vec<4, T, Q> &v) {
325  return glm::vec<3, T, Q>(v.x, v.z, v.z);
326  }
327 
328  // xzw
329  template<typename T, qualifier Q>
330  GLM_INLINE glm::vec<3, T, Q> xzw(const glm::vec<4, T, Q> &v) {
331  return glm::vec<3, T, Q>(v.x, v.z, v.w);
332  }
333 
334  // xwx
335  template<typename T, qualifier Q>
336  GLM_INLINE glm::vec<3, T, Q> xwx(const glm::vec<4, T, Q> &v) {
337  return glm::vec<3, T, Q>(v.x, v.w, v.x);
338  }
339 
340  // xwy
341  template<typename T, qualifier Q>
342  GLM_INLINE glm::vec<3, T, Q> xwy(const glm::vec<4, T, Q> &v) {
343  return glm::vec<3, T, Q>(v.x, v.w, v.y);
344  }
345 
346  // xwz
347  template<typename T, qualifier Q>
348  GLM_INLINE glm::vec<3, T, Q> xwz(const glm::vec<4, T, Q> &v) {
349  return glm::vec<3, T, Q>(v.x, v.w, v.z);
350  }
351 
352  // xww
353  template<typename T, qualifier Q>
354  GLM_INLINE glm::vec<3, T, Q> xww(const glm::vec<4, T, Q> &v) {
355  return glm::vec<3, T, Q>(v.x, v.w, v.w);
356  }
357 
358  // yxx
359  template<typename T, qualifier Q>
360  GLM_INLINE glm::vec<3, T, Q> yxx(const glm::vec<2, T, Q> &v) {
361  return glm::vec<3, T, Q>(v.y, v.x, v.x);
362  }
363 
364  template<typename T, qualifier Q>
365  GLM_INLINE glm::vec<3, T, Q> yxx(const glm::vec<3, T, Q> &v) {
366  return glm::vec<3, T, Q>(v.y, v.x, v.x);
367  }
368 
369  template<typename T, qualifier Q>
370  GLM_INLINE glm::vec<3, T, Q> yxx(const glm::vec<4, T, Q> &v) {
371  return glm::vec<3, T, Q>(v.y, v.x, v.x);
372  }
373 
374  // yxy
375  template<typename T, qualifier Q>
376  GLM_INLINE glm::vec<3, T, Q> yxy(const glm::vec<2, T, Q> &v) {
377  return glm::vec<3, T, Q>(v.y, v.x, v.y);
378  }
379 
380  template<typename T, qualifier Q>
381  GLM_INLINE glm::vec<3, T, Q> yxy(const glm::vec<3, T, Q> &v) {
382  return glm::vec<3, T, Q>(v.y, v.x, v.y);
383  }
384 
385  template<typename T, qualifier Q>
386  GLM_INLINE glm::vec<3, T, Q> yxy(const glm::vec<4, T, Q> &v) {
387  return glm::vec<3, T, Q>(v.y, v.x, v.y);
388  }
389 
390  // yxz
391  template<typename T, qualifier Q>
392  GLM_INLINE glm::vec<3, T, Q> yxz(const glm::vec<3, T, Q> &v) {
393  return glm::vec<3, T, Q>(v.y, v.x, v.z);
394  }
395 
396  template<typename T, qualifier Q>
397  GLM_INLINE glm::vec<3, T, Q> yxz(const glm::vec<4, T, Q> &v) {
398  return glm::vec<3, T, Q>(v.y, v.x, v.z);
399  }
400 
401  // yxw
402  template<typename T, qualifier Q>
403  GLM_INLINE glm::vec<3, T, Q> yxw(const glm::vec<4, T, Q> &v) {
404  return glm::vec<3, T, Q>(v.y, v.x, v.w);
405  }
406 
407  // yyx
408  template<typename T, qualifier Q>
409  GLM_INLINE glm::vec<3, T, Q> yyx(const glm::vec<2, T, Q> &v) {
410  return glm::vec<3, T, Q>(v.y, v.y, v.x);
411  }
412 
413  template<typename T, qualifier Q>
414  GLM_INLINE glm::vec<3, T, Q> yyx(const glm::vec<3, T, Q> &v) {
415  return glm::vec<3, T, Q>(v.y, v.y, v.x);
416  }
417 
418  template<typename T, qualifier Q>
419  GLM_INLINE glm::vec<3, T, Q> yyx(const glm::vec<4, T, Q> &v) {
420  return glm::vec<3, T, Q>(v.y, v.y, v.x);
421  }
422 
423  // yyy
424  template<typename T, qualifier Q>
425  GLM_INLINE glm::vec<3, T, Q> yyy(const glm::vec<2, T, Q> &v) {
426  return glm::vec<3, T, Q>(v.y, v.y, v.y);
427  }
428 
429  template<typename T, qualifier Q>
430  GLM_INLINE glm::vec<3, T, Q> yyy(const glm::vec<3, T, Q> &v) {
431  return glm::vec<3, T, Q>(v.y, v.y, v.y);
432  }
433 
434  template<typename T, qualifier Q>
435  GLM_INLINE glm::vec<3, T, Q> yyy(const glm::vec<4, T, Q> &v) {
436  return glm::vec<3, T, Q>(v.y, v.y, v.y);
437  }
438 
439  // yyz
440  template<typename T, qualifier Q>
441  GLM_INLINE glm::vec<3, T, Q> yyz(const glm::vec<3, T, Q> &v) {
442  return glm::vec<3, T, Q>(v.y, v.y, v.z);
443  }
444 
445  template<typename T, qualifier Q>
446  GLM_INLINE glm::vec<3, T, Q> yyz(const glm::vec<4, T, Q> &v) {
447  return glm::vec<3, T, Q>(v.y, v.y, v.z);
448  }
449 
450  // yyw
451  template<typename T, qualifier Q>
452  GLM_INLINE glm::vec<3, T, Q> yyw(const glm::vec<4, T, Q> &v) {
453  return glm::vec<3, T, Q>(v.y, v.y, v.w);
454  }
455 
456  // yzx
457  template<typename T, qualifier Q>
458  GLM_INLINE glm::vec<3, T, Q> yzx(const glm::vec<3, T, Q> &v) {
459  return glm::vec<3, T, Q>(v.y, v.z, v.x);
460  }
461 
462  template<typename T, qualifier Q>
463  GLM_INLINE glm::vec<3, T, Q> yzx(const glm::vec<4, T, Q> &v) {
464  return glm::vec<3, T, Q>(v.y, v.z, v.x);
465  }
466 
467  // yzy
468  template<typename T, qualifier Q>
469  GLM_INLINE glm::vec<3, T, Q> yzy(const glm::vec<3, T, Q> &v) {
470  return glm::vec<3, T, Q>(v.y, v.z, v.y);
471  }
472 
473  template<typename T, qualifier Q>
474  GLM_INLINE glm::vec<3, T, Q> yzy(const glm::vec<4, T, Q> &v) {
475  return glm::vec<3, T, Q>(v.y, v.z, v.y);
476  }
477 
478  // yzz
479  template<typename T, qualifier Q>
480  GLM_INLINE glm::vec<3, T, Q> yzz(const glm::vec<3, T, Q> &v) {
481  return glm::vec<3, T, Q>(v.y, v.z, v.z);
482  }
483 
484  template<typename T, qualifier Q>
485  GLM_INLINE glm::vec<3, T, Q> yzz(const glm::vec<4, T, Q> &v) {
486  return glm::vec<3, T, Q>(v.y, v.z, v.z);
487  }
488 
489  // yzw
490  template<typename T, qualifier Q>
491  GLM_INLINE glm::vec<3, T, Q> yzw(const glm::vec<4, T, Q> &v) {
492  return glm::vec<3, T, Q>(v.y, v.z, v.w);
493  }
494 
495  // ywx
496  template<typename T, qualifier Q>
497  GLM_INLINE glm::vec<3, T, Q> ywx(const glm::vec<4, T, Q> &v) {
498  return glm::vec<3, T, Q>(v.y, v.w, v.x);
499  }
500 
501  // ywy
502  template<typename T, qualifier Q>
503  GLM_INLINE glm::vec<3, T, Q> ywy(const glm::vec<4, T, Q> &v) {
504  return glm::vec<3, T, Q>(v.y, v.w, v.y);
505  }
506 
507  // ywz
508  template<typename T, qualifier Q>
509  GLM_INLINE glm::vec<3, T, Q> ywz(const glm::vec<4, T, Q> &v) {
510  return glm::vec<3, T, Q>(v.y, v.w, v.z);
511  }
512 
513  // yww
514  template<typename T, qualifier Q>
515  GLM_INLINE glm::vec<3, T, Q> yww(const glm::vec<4, T, Q> &v) {
516  return glm::vec<3, T, Q>(v.y, v.w, v.w);
517  }
518 
519  // zxx
520  template<typename T, qualifier Q>
521  GLM_INLINE glm::vec<3, T, Q> zxx(const glm::vec<3, T, Q> &v) {
522  return glm::vec<3, T, Q>(v.z, v.x, v.x);
523  }
524 
525  template<typename T, qualifier Q>
526  GLM_INLINE glm::vec<3, T, Q> zxx(const glm::vec<4, T, Q> &v) {
527  return glm::vec<3, T, Q>(v.z, v.x, v.x);
528  }
529 
530  // zxy
531  template<typename T, qualifier Q>
532  GLM_INLINE glm::vec<3, T, Q> zxy(const glm::vec<3, T, Q> &v) {
533  return glm::vec<3, T, Q>(v.z, v.x, v.y);
534  }
535 
536  template<typename T, qualifier Q>
537  GLM_INLINE glm::vec<3, T, Q> zxy(const glm::vec<4, T, Q> &v) {
538  return glm::vec<3, T, Q>(v.z, v.x, v.y);
539  }
540 
541  // zxz
542  template<typename T, qualifier Q>
543  GLM_INLINE glm::vec<3, T, Q> zxz(const glm::vec<3, T, Q> &v) {
544  return glm::vec<3, T, Q>(v.z, v.x, v.z);
545  }
546 
547  template<typename T, qualifier Q>
548  GLM_INLINE glm::vec<3, T, Q> zxz(const glm::vec<4, T, Q> &v) {
549  return glm::vec<3, T, Q>(v.z, v.x, v.z);
550  }
551 
552  // zxw
553  template<typename T, qualifier Q>
554  GLM_INLINE glm::vec<3, T, Q> zxw(const glm::vec<4, T, Q> &v) {
555  return glm::vec<3, T, Q>(v.z, v.x, v.w);
556  }
557 
558  // zyx
559  template<typename T, qualifier Q>
560  GLM_INLINE glm::vec<3, T, Q> zyx(const glm::vec<3, T, Q> &v) {
561  return glm::vec<3, T, Q>(v.z, v.y, v.x);
562  }
563 
564  template<typename T, qualifier Q>
565  GLM_INLINE glm::vec<3, T, Q> zyx(const glm::vec<4, T, Q> &v) {
566  return glm::vec<3, T, Q>(v.z, v.y, v.x);
567  }
568 
569  // zyy
570  template<typename T, qualifier Q>
571  GLM_INLINE glm::vec<3, T, Q> zyy(const glm::vec<3, T, Q> &v) {
572  return glm::vec<3, T, Q>(v.z, v.y, v.y);
573  }
574 
575  template<typename T, qualifier Q>
576  GLM_INLINE glm::vec<3, T, Q> zyy(const glm::vec<4, T, Q> &v) {
577  return glm::vec<3, T, Q>(v.z, v.y, v.y);
578  }
579 
580  // zyz
581  template<typename T, qualifier Q>
582  GLM_INLINE glm::vec<3, T, Q> zyz(const glm::vec<3, T, Q> &v) {
583  return glm::vec<3, T, Q>(v.z, v.y, v.z);
584  }
585 
586  template<typename T, qualifier Q>
587  GLM_INLINE glm::vec<3, T, Q> zyz(const glm::vec<4, T, Q> &v) {
588  return glm::vec<3, T, Q>(v.z, v.y, v.z);
589  }
590 
591  // zyw
592  template<typename T, qualifier Q>
593  GLM_INLINE glm::vec<3, T, Q> zyw(const glm::vec<4, T, Q> &v) {
594  return glm::vec<3, T, Q>(v.z, v.y, v.w);
595  }
596 
597  // zzx
598  template<typename T, qualifier Q>
599  GLM_INLINE glm::vec<3, T, Q> zzx(const glm::vec<3, T, Q> &v) {
600  return glm::vec<3, T, Q>(v.z, v.z, v.x);
601  }
602 
603  template<typename T, qualifier Q>
604  GLM_INLINE glm::vec<3, T, Q> zzx(const glm::vec<4, T, Q> &v) {
605  return glm::vec<3, T, Q>(v.z, v.z, v.x);
606  }
607 
608  // zzy
609  template<typename T, qualifier Q>
610  GLM_INLINE glm::vec<3, T, Q> zzy(const glm::vec<3, T, Q> &v) {
611  return glm::vec<3, T, Q>(v.z, v.z, v.y);
612  }
613 
614  template<typename T, qualifier Q>
615  GLM_INLINE glm::vec<3, T, Q> zzy(const glm::vec<4, T, Q> &v) {
616  return glm::vec<3, T, Q>(v.z, v.z, v.y);
617  }
618 
619  // zzz
620  template<typename T, qualifier Q>
621  GLM_INLINE glm::vec<3, T, Q> zzz(const glm::vec<3, T, Q> &v) {
622  return glm::vec<3, T, Q>(v.z, v.z, v.z);
623  }
624 
625  template<typename T, qualifier Q>
626  GLM_INLINE glm::vec<3, T, Q> zzz(const glm::vec<4, T, Q> &v) {
627  return glm::vec<3, T, Q>(v.z, v.z, v.z);
628  }
629 
630  // zzw
631  template<typename T, qualifier Q>
632  GLM_INLINE glm::vec<3, T, Q> zzw(const glm::vec<4, T, Q> &v) {
633  return glm::vec<3, T, Q>(v.z, v.z, v.w);
634  }
635 
636  // zwx
637  template<typename T, qualifier Q>
638  GLM_INLINE glm::vec<3, T, Q> zwx(const glm::vec<4, T, Q> &v) {
639  return glm::vec<3, T, Q>(v.z, v.w, v.x);
640  }
641 
642  // zwy
643  template<typename T, qualifier Q>
644  GLM_INLINE glm::vec<3, T, Q> zwy(const glm::vec<4, T, Q> &v) {
645  return glm::vec<3, T, Q>(v.z, v.w, v.y);
646  }
647 
648  // zwz
649  template<typename T, qualifier Q>
650  GLM_INLINE glm::vec<3, T, Q> zwz(const glm::vec<4, T, Q> &v) {
651  return glm::vec<3, T, Q>(v.z, v.w, v.z);
652  }
653 
654  // zww
655  template<typename T, qualifier Q>
656  GLM_INLINE glm::vec<3, T, Q> zww(const glm::vec<4, T, Q> &v) {
657  return glm::vec<3, T, Q>(v.z, v.w, v.w);
658  }
659 
660  // wxx
661  template<typename T, qualifier Q>
662  GLM_INLINE glm::vec<3, T, Q> wxx(const glm::vec<4, T, Q> &v) {
663  return glm::vec<3, T, Q>(v.w, v.x, v.x);
664  }
665 
666  // wxy
667  template<typename T, qualifier Q>
668  GLM_INLINE glm::vec<3, T, Q> wxy(const glm::vec<4, T, Q> &v) {
669  return glm::vec<3, T, Q>(v.w, v.x, v.y);
670  }
671 
672  // wxz
673  template<typename T, qualifier Q>
674  GLM_INLINE glm::vec<3, T, Q> wxz(const glm::vec<4, T, Q> &v) {
675  return glm::vec<3, T, Q>(v.w, v.x, v.z);
676  }
677 
678  // wxw
679  template<typename T, qualifier Q>
680  GLM_INLINE glm::vec<3, T, Q> wxw(const glm::vec<4, T, Q> &v) {
681  return glm::vec<3, T, Q>(v.w, v.x, v.w);
682  }
683 
684  // wyx
685  template<typename T, qualifier Q>
686  GLM_INLINE glm::vec<3, T, Q> wyx(const glm::vec<4, T, Q> &v) {
687  return glm::vec<3, T, Q>(v.w, v.y, v.x);
688  }
689 
690  // wyy
691  template<typename T, qualifier Q>
692  GLM_INLINE glm::vec<3, T, Q> wyy(const glm::vec<4, T, Q> &v) {
693  return glm::vec<3, T, Q>(v.w, v.y, v.y);
694  }
695 
696  // wyz
697  template<typename T, qualifier Q>
698  GLM_INLINE glm::vec<3, T, Q> wyz(const glm::vec<4, T, Q> &v) {
699  return glm::vec<3, T, Q>(v.w, v.y, v.z);
700  }
701 
702  // wyw
703  template<typename T, qualifier Q>
704  GLM_INLINE glm::vec<3, T, Q> wyw(const glm::vec<4, T, Q> &v) {
705  return glm::vec<3, T, Q>(v.w, v.y, v.w);
706  }
707 
708  // wzx
709  template<typename T, qualifier Q>
710  GLM_INLINE glm::vec<3, T, Q> wzx(const glm::vec<4, T, Q> &v) {
711  return glm::vec<3, T, Q>(v.w, v.z, v.x);
712  }
713 
714  // wzy
715  template<typename T, qualifier Q>
716  GLM_INLINE glm::vec<3, T, Q> wzy(const glm::vec<4, T, Q> &v) {
717  return glm::vec<3, T, Q>(v.w, v.z, v.y);
718  }
719 
720  // wzz
721  template<typename T, qualifier Q>
722  GLM_INLINE glm::vec<3, T, Q> wzz(const glm::vec<4, T, Q> &v) {
723  return glm::vec<3, T, Q>(v.w, v.z, v.z);
724  }
725 
726  // wzw
727  template<typename T, qualifier Q>
728  GLM_INLINE glm::vec<3, T, Q> wzw(const glm::vec<4, T, Q> &v) {
729  return glm::vec<3, T, Q>(v.w, v.z, v.w);
730  }
731 
732  // wwx
733  template<typename T, qualifier Q>
734  GLM_INLINE glm::vec<3, T, Q> wwx(const glm::vec<4, T, Q> &v) {
735  return glm::vec<3, T, Q>(v.w, v.w, v.x);
736  }
737 
738  // wwy
739  template<typename T, qualifier Q>
740  GLM_INLINE glm::vec<3, T, Q> wwy(const glm::vec<4, T, Q> &v) {
741  return glm::vec<3, T, Q>(v.w, v.w, v.y);
742  }
743 
744  // wwz
745  template<typename T, qualifier Q>
746  GLM_INLINE glm::vec<3, T, Q> wwz(const glm::vec<4, T, Q> &v) {
747  return glm::vec<3, T, Q>(v.w, v.w, v.z);
748  }
749 
750  // www
751  template<typename T, qualifier Q>
752  GLM_INLINE glm::vec<3, T, Q> www(const glm::vec<4, T, Q> &v) {
753  return glm::vec<3, T, Q>(v.w, v.w, v.w);
754  }
755 
756  // xxxx
757  template<typename T, qualifier Q>
758  GLM_INLINE glm::vec<4, T, Q> xxxx(const glm::vec<1, T, Q> &v) {
759  return glm::vec<4, T, Q>(v.x, v.x, v.x, v.x);
760  }
761 
762  template<typename T, qualifier Q>
763  GLM_INLINE glm::vec<4, T, Q> xxxx(const glm::vec<2, T, Q> &v) {
764  return glm::vec<4, T, Q>(v.x, v.x, v.x, v.x);
765  }
766 
767  template<typename T, qualifier Q>
768  GLM_INLINE glm::vec<4, T, Q> xxxx(const glm::vec<3, T, Q> &v) {
769  return glm::vec<4, T, Q>(v.x, v.x, v.x, v.x);
770  }
771 
772  template<typename T, qualifier Q>
773  GLM_INLINE glm::vec<4, T, Q> xxxx(const glm::vec<4, T, Q> &v) {
774  return glm::vec<4, T, Q>(v.x, v.x, v.x, v.x);
775  }
776 
777  // xxxy
778  template<typename T, qualifier Q>
779  GLM_INLINE glm::vec<4, T, Q> xxxy(const glm::vec<2, T, Q> &v) {
780  return glm::vec<4, T, Q>(v.x, v.x, v.x, v.y);
781  }
782 
783  template<typename T, qualifier Q>
784  GLM_INLINE glm::vec<4, T, Q> xxxy(const glm::vec<3, T, Q> &v) {
785  return glm::vec<4, T, Q>(v.x, v.x, v.x, v.y);
786  }
787 
788  template<typename T, qualifier Q>
789  GLM_INLINE glm::vec<4, T, Q> xxxy(const glm::vec<4, T, Q> &v) {
790  return glm::vec<4, T, Q>(v.x, v.x, v.x, v.y);
791  }
792 
793  // xxxz
794  template<typename T, qualifier Q>
795  GLM_INLINE glm::vec<4, T, Q> xxxz(const glm::vec<3, T, Q> &v) {
796  return glm::vec<4, T, Q>(v.x, v.x, v.x, v.z);
797  }
798 
799  template<typename T, qualifier Q>
800  GLM_INLINE glm::vec<4, T, Q> xxxz(const glm::vec<4, T, Q> &v) {
801  return glm::vec<4, T, Q>(v.x, v.x, v.x, v.z);
802  }
803 
804  // xxxw
805  template<typename T, qualifier Q>
806  GLM_INLINE glm::vec<4, T, Q> xxxw(const glm::vec<4, T, Q> &v) {
807  return glm::vec<4, T, Q>(v.x, v.x, v.x, v.w);
808  }
809 
810  // xxyx
811  template<typename T, qualifier Q>
812  GLM_INLINE glm::vec<4, T, Q> xxyx(const glm::vec<2, T, Q> &v) {
813  return glm::vec<4, T, Q>(v.x, v.x, v.y, v.x);
814  }
815 
816  template<typename T, qualifier Q>
817  GLM_INLINE glm::vec<4, T, Q> xxyx(const glm::vec<3, T, Q> &v) {
818  return glm::vec<4, T, Q>(v.x, v.x, v.y, v.x);
819  }
820 
821  template<typename T, qualifier Q>
822  GLM_INLINE glm::vec<4, T, Q> xxyx(const glm::vec<4, T, Q> &v) {
823  return glm::vec<4, T, Q>(v.x, v.x, v.y, v.x);
824  }
825 
826  // xxyy
827  template<typename T, qualifier Q>
828  GLM_INLINE glm::vec<4, T, Q> xxyy(const glm::vec<2, T, Q> &v) {
829  return glm::vec<4, T, Q>(v.x, v.x, v.y, v.y);
830  }
831 
832  template<typename T, qualifier Q>
833  GLM_INLINE glm::vec<4, T, Q> xxyy(const glm::vec<3, T, Q> &v) {
834  return glm::vec<4, T, Q>(v.x, v.x, v.y, v.y);
835  }
836 
837  template<typename T, qualifier Q>
838  GLM_INLINE glm::vec<4, T, Q> xxyy(const glm::vec<4, T, Q> &v) {
839  return glm::vec<4, T, Q>(v.x, v.x, v.y, v.y);
840  }
841 
842  // xxyz
843  template<typename T, qualifier Q>
844  GLM_INLINE glm::vec<4, T, Q> xxyz(const glm::vec<3, T, Q> &v) {
845  return glm::vec<4, T, Q>(v.x, v.x, v.y, v.z);
846  }
847 
848  template<typename T, qualifier Q>
849  GLM_INLINE glm::vec<4, T, Q> xxyz(const glm::vec<4, T, Q> &v) {
850  return glm::vec<4, T, Q>(v.x, v.x, v.y, v.z);
851  }
852 
853  // xxyw
854  template<typename T, qualifier Q>
855  GLM_INLINE glm::vec<4, T, Q> xxyw(const glm::vec<4, T, Q> &v) {
856  return glm::vec<4, T, Q>(v.x, v.x, v.y, v.w);
857  }
858 
859  // xxzx
860  template<typename T, qualifier Q>
861  GLM_INLINE glm::vec<4, T, Q> xxzx(const glm::vec<3, T, Q> &v) {
862  return glm::vec<4, T, Q>(v.x, v.x, v.z, v.x);
863  }
864 
865  template<typename T, qualifier Q>
866  GLM_INLINE glm::vec<4, T, Q> xxzx(const glm::vec<4, T, Q> &v) {
867  return glm::vec<4, T, Q>(v.x, v.x, v.z, v.x);
868  }
869 
870  // xxzy
871  template<typename T, qualifier Q>
872  GLM_INLINE glm::vec<4, T, Q> xxzy(const glm::vec<3, T, Q> &v) {
873  return glm::vec<4, T, Q>(v.x, v.x, v.z, v.y);
874  }
875 
876  template<typename T, qualifier Q>
877  GLM_INLINE glm::vec<4, T, Q> xxzy(const glm::vec<4, T, Q> &v) {
878  return glm::vec<4, T, Q>(v.x, v.x, v.z, v.y);
879  }
880 
881  // xxzz
882  template<typename T, qualifier Q>
883  GLM_INLINE glm::vec<4, T, Q> xxzz(const glm::vec<3, T, Q> &v) {
884  return glm::vec<4, T, Q>(v.x, v.x, v.z, v.z);
885  }
886 
887  template<typename T, qualifier Q>
888  GLM_INLINE glm::vec<4, T, Q> xxzz(const glm::vec<4, T, Q> &v) {
889  return glm::vec<4, T, Q>(v.x, v.x, v.z, v.z);
890  }
891 
892  // xxzw
893  template<typename T, qualifier Q>
894  GLM_INLINE glm::vec<4, T, Q> xxzw(const glm::vec<4, T, Q> &v) {
895  return glm::vec<4, T, Q>(v.x, v.x, v.z, v.w);
896  }
897 
898  // xxwx
899  template<typename T, qualifier Q>
900  GLM_INLINE glm::vec<4, T, Q> xxwx(const glm::vec<4, T, Q> &v) {
901  return glm::vec<4, T, Q>(v.x, v.x, v.w, v.x);
902  }
903 
904  // xxwy
905  template<typename T, qualifier Q>
906  GLM_INLINE glm::vec<4, T, Q> xxwy(const glm::vec<4, T, Q> &v) {
907  return glm::vec<4, T, Q>(v.x, v.x, v.w, v.y);
908  }
909 
910  // xxwz
911  template<typename T, qualifier Q>
912  GLM_INLINE glm::vec<4, T, Q> xxwz(const glm::vec<4, T, Q> &v) {
913  return glm::vec<4, T, Q>(v.x, v.x, v.w, v.z);
914  }
915 
916  // xxww
917  template<typename T, qualifier Q>
918  GLM_INLINE glm::vec<4, T, Q> xxww(const glm::vec<4, T, Q> &v) {
919  return glm::vec<4, T, Q>(v.x, v.x, v.w, v.w);
920  }
921 
922  // xyxx
923  template<typename T, qualifier Q>
924  GLM_INLINE glm::vec<4, T, Q> xyxx(const glm::vec<2, T, Q> &v) {
925  return glm::vec<4, T, Q>(v.x, v.y, v.x, v.x);
926  }
927 
928  template<typename T, qualifier Q>
929  GLM_INLINE glm::vec<4, T, Q> xyxx(const glm::vec<3, T, Q> &v) {
930  return glm::vec<4, T, Q>(v.x, v.y, v.x, v.x);
931  }
932 
933  template<typename T, qualifier Q>
934  GLM_INLINE glm::vec<4, T, Q> xyxx(const glm::vec<4, T, Q> &v) {
935  return glm::vec<4, T, Q>(v.x, v.y, v.x, v.x);
936  }
937 
938  // xyxy
939  template<typename T, qualifier Q>
940  GLM_INLINE glm::vec<4, T, Q> xyxy(const glm::vec<2, T, Q> &v) {
941  return glm::vec<4, T, Q>(v.x, v.y, v.x, v.y);
942  }
943 
944  template<typename T, qualifier Q>
945  GLM_INLINE glm::vec<4, T, Q> xyxy(const glm::vec<3, T, Q> &v) {
946  return glm::vec<4, T, Q>(v.x, v.y, v.x, v.y);
947  }
948 
949  template<typename T, qualifier Q>
950  GLM_INLINE glm::vec<4, T, Q> xyxy(const glm::vec<4, T, Q> &v) {
951  return glm::vec<4, T, Q>(v.x, v.y, v.x, v.y);
952  }
953 
954  // xyxz
955  template<typename T, qualifier Q>
956  GLM_INLINE glm::vec<4, T, Q> xyxz(const glm::vec<3, T, Q> &v) {
957  return glm::vec<4, T, Q>(v.x, v.y, v.x, v.z);
958  }
959 
960  template<typename T, qualifier Q>
961  GLM_INLINE glm::vec<4, T, Q> xyxz(const glm::vec<4, T, Q> &v) {
962  return glm::vec<4, T, Q>(v.x, v.y, v.x, v.z);
963  }
964 
965  // xyxw
966  template<typename T, qualifier Q>
967  GLM_INLINE glm::vec<4, T, Q> xyxw(const glm::vec<4, T, Q> &v) {
968  return glm::vec<4, T, Q>(v.x, v.y, v.x, v.w);
969  }
970 
971  // xyyx
972  template<typename T, qualifier Q>
973  GLM_INLINE glm::vec<4, T, Q> xyyx(const glm::vec<2, T, Q> &v) {
974  return glm::vec<4, T, Q>(v.x, v.y, v.y, v.x);
975  }
976 
977  template<typename T, qualifier Q>
978  GLM_INLINE glm::vec<4, T, Q> xyyx(const glm::vec<3, T, Q> &v) {
979  return glm::vec<4, T, Q>(v.x, v.y, v.y, v.x);
980  }
981 
982  template<typename T, qualifier Q>
983  GLM_INLINE glm::vec<4, T, Q> xyyx(const glm::vec<4, T, Q> &v) {
984  return glm::vec<4, T, Q>(v.x, v.y, v.y, v.x);
985  }
986 
987  // xyyy
988  template<typename T, qualifier Q>
989  GLM_INLINE glm::vec<4, T, Q> xyyy(const glm::vec<2, T, Q> &v) {
990  return glm::vec<4, T, Q>(v.x, v.y, v.y, v.y);
991  }
992 
993  template<typename T, qualifier Q>
994  GLM_INLINE glm::vec<4, T, Q> xyyy(const glm::vec<3, T, Q> &v) {
995  return glm::vec<4, T, Q>(v.x, v.y, v.y, v.y);
996  }
997 
998  template<typename T, qualifier Q>
999  GLM_INLINE glm::vec<4, T, Q> xyyy(const glm::vec<4, T, Q> &v) {
1000  return glm::vec<4, T, Q>(v.x, v.y, v.y, v.y);
1001  }
1002 
1003  // xyyz
1004  template<typename T, qualifier Q>
1005  GLM_INLINE glm::vec<4, T, Q> xyyz(const glm::vec<3, T, Q> &v) {
1006  return glm::vec<4, T, Q>(v.x, v.y, v.y, v.z);
1007  }
1008 
1009  template<typename T, qualifier Q>
1010  GLM_INLINE glm::vec<4, T, Q> xyyz(const glm::vec<4, T, Q> &v) {
1011  return glm::vec<4, T, Q>(v.x, v.y, v.y, v.z);
1012  }
1013 
1014  // xyyw
1015  template<typename T, qualifier Q>
1016  GLM_INLINE glm::vec<4, T, Q> xyyw(const glm::vec<4, T, Q> &v) {
1017  return glm::vec<4, T, Q>(v.x, v.y, v.y, v.w);
1018  }
1019 
1020  // xyzx
1021  template<typename T, qualifier Q>
1022  GLM_INLINE glm::vec<4, T, Q> xyzx(const glm::vec<3, T, Q> &v) {
1023  return glm::vec<4, T, Q>(v.x, v.y, v.z, v.x);
1024  }
1025 
1026  template<typename T, qualifier Q>
1027  GLM_INLINE glm::vec<4, T, Q> xyzx(const glm::vec<4, T, Q> &v) {
1028  return glm::vec<4, T, Q>(v.x, v.y, v.z, v.x);
1029  }
1030 
1031  // xyzy
1032  template<typename T, qualifier Q>
1033  GLM_INLINE glm::vec<4, T, Q> xyzy(const glm::vec<3, T, Q> &v) {
1034  return glm::vec<4, T, Q>(v.x, v.y, v.z, v.y);
1035  }
1036 
1037  template<typename T, qualifier Q>
1038  GLM_INLINE glm::vec<4, T, Q> xyzy(const glm::vec<4, T, Q> &v) {
1039  return glm::vec<4, T, Q>(v.x, v.y, v.z, v.y);
1040  }
1041 
1042  // xyzz
1043  template<typename T, qualifier Q>
1044  GLM_INLINE glm::vec<4, T, Q> xyzz(const glm::vec<3, T, Q> &v) {
1045  return glm::vec<4, T, Q>(v.x, v.y, v.z, v.z);
1046  }
1047 
1048  template<typename T, qualifier Q>
1049  GLM_INLINE glm::vec<4, T, Q> xyzz(const glm::vec<4, T, Q> &v) {
1050  return glm::vec<4, T, Q>(v.x, v.y, v.z, v.z);
1051  }
1052 
1053  // xyzw
1054  template<typename T, qualifier Q>
1055  GLM_INLINE glm::vec<4, T, Q> xyzw(const glm::vec<4, T, Q> &v) {
1056  return glm::vec<4, T, Q>(v.x, v.y, v.z, v.w);
1057  }
1058 
1059  // xywx
1060  template<typename T, qualifier Q>
1061  GLM_INLINE glm::vec<4, T, Q> xywx(const glm::vec<4, T, Q> &v) {
1062  return glm::vec<4, T, Q>(v.x, v.y, v.w, v.x);
1063  }
1064 
1065  // xywy
1066  template<typename T, qualifier Q>
1067  GLM_INLINE glm::vec<4, T, Q> xywy(const glm::vec<4, T, Q> &v) {
1068  return glm::vec<4, T, Q>(v.x, v.y, v.w, v.y);
1069  }
1070 
1071  // xywz
1072  template<typename T, qualifier Q>
1073  GLM_INLINE glm::vec<4, T, Q> xywz(const glm::vec<4, T, Q> &v) {
1074  return glm::vec<4, T, Q>(v.x, v.y, v.w, v.z);
1075  }
1076 
1077  // xyww
1078  template<typename T, qualifier Q>
1079  GLM_INLINE glm::vec<4, T, Q> xyww(const glm::vec<4, T, Q> &v) {
1080  return glm::vec<4, T, Q>(v.x, v.y, v.w, v.w);
1081  }
1082 
1083  // xzxx
1084  template<typename T, qualifier Q>
1085  GLM_INLINE glm::vec<4, T, Q> xzxx(const glm::vec<3, T, Q> &v) {
1086  return glm::vec<4, T, Q>(v.x, v.z, v.x, v.x);
1087  }
1088 
1089  template<typename T, qualifier Q>
1090  GLM_INLINE glm::vec<4, T, Q> xzxx(const glm::vec<4, T, Q> &v) {
1091  return glm::vec<4, T, Q>(v.x, v.z, v.x, v.x);
1092  }
1093 
1094  // xzxy
1095  template<typename T, qualifier Q>
1096  GLM_INLINE glm::vec<4, T, Q> xzxy(const glm::vec<3, T, Q> &v) {
1097  return glm::vec<4, T, Q>(v.x, v.z, v.x, v.y);
1098  }
1099 
1100  template<typename T, qualifier Q>
1101  GLM_INLINE glm::vec<4, T, Q> xzxy(const glm::vec<4, T, Q> &v) {
1102  return glm::vec<4, T, Q>(v.x, v.z, v.x, v.y);
1103  }
1104 
1105  // xzxz
1106  template<typename T, qualifier Q>
1107  GLM_INLINE glm::vec<4, T, Q> xzxz(const glm::vec<3, T, Q> &v) {
1108  return glm::vec<4, T, Q>(v.x, v.z, v.x, v.z);
1109  }
1110 
1111  template<typename T, qualifier Q>
1112  GLM_INLINE glm::vec<4, T, Q> xzxz(const glm::vec<4, T, Q> &v) {
1113  return glm::vec<4, T, Q>(v.x, v.z, v.x, v.z);
1114  }
1115 
1116  // xzxw
1117  template<typename T, qualifier Q>
1118  GLM_INLINE glm::vec<4, T, Q> xzxw(const glm::vec<4, T, Q> &v) {
1119  return glm::vec<4, T, Q>(v.x, v.z, v.x, v.w);
1120  }
1121 
1122  // xzyx
1123  template<typename T, qualifier Q>
1124  GLM_INLINE glm::vec<4, T, Q> xzyx(const glm::vec<3, T, Q> &v) {
1125  return glm::vec<4, T, Q>(v.x, v.z, v.y, v.x);
1126  }
1127 
1128  template<typename T, qualifier Q>
1129  GLM_INLINE glm::vec<4, T, Q> xzyx(const glm::vec<4, T, Q> &v) {
1130  return glm::vec<4, T, Q>(v.x, v.z, v.y, v.x);
1131  }
1132 
1133  // xzyy
1134  template<typename T, qualifier Q>
1135  GLM_INLINE glm::vec<4, T, Q> xzyy(const glm::vec<3, T, Q> &v) {
1136  return glm::vec<4, T, Q>(v.x, v.z, v.y, v.y);
1137  }
1138 
1139  template<typename T, qualifier Q>
1140  GLM_INLINE glm::vec<4, T, Q> xzyy(const glm::vec<4, T, Q> &v) {
1141  return glm::vec<4, T, Q>(v.x, v.z, v.y, v.y);
1142  }
1143 
1144  // xzyz
1145  template<typename T, qualifier Q>
1146  GLM_INLINE glm::vec<4, T, Q> xzyz(const glm::vec<3, T, Q> &v) {
1147  return glm::vec<4, T, Q>(v.x, v.z, v.y, v.z);
1148  }
1149 
1150  template<typename T, qualifier Q>
1151  GLM_INLINE glm::vec<4, T, Q> xzyz(const glm::vec<4, T, Q> &v) {
1152  return glm::vec<4, T, Q>(v.x, v.z, v.y, v.z);
1153  }
1154 
1155  // xzyw
1156  template<typename T, qualifier Q>
1157  GLM_INLINE glm::vec<4, T, Q> xzyw(const glm::vec<4, T, Q> &v) {
1158  return glm::vec<4, T, Q>(v.x, v.z, v.y, v.w);
1159  }
1160 
1161  // xzzx
1162  template<typename T, qualifier Q>
1163  GLM_INLINE glm::vec<4, T, Q> xzzx(const glm::vec<3, T, Q> &v) {
1164  return glm::vec<4, T, Q>(v.x, v.z, v.z, v.x);
1165  }
1166 
1167  template<typename T, qualifier Q>
1168  GLM_INLINE glm::vec<4, T, Q> xzzx(const glm::vec<4, T, Q> &v) {
1169  return glm::vec<4, T, Q>(v.x, v.z, v.z, v.x);
1170  }
1171 
1172  // xzzy
1173  template<typename T, qualifier Q>
1174  GLM_INLINE glm::vec<4, T, Q> xzzy(const glm::vec<3, T, Q> &v) {
1175  return glm::vec<4, T, Q>(v.x, v.z, v.z, v.y);
1176  }
1177 
1178  template<typename T, qualifier Q>
1179  GLM_INLINE glm::vec<4, T, Q> xzzy(const glm::vec<4, T, Q> &v) {
1180  return glm::vec<4, T, Q>(v.x, v.z, v.z, v.y);
1181  }
1182 
1183  // xzzz
1184  template<typename T, qualifier Q>
1185  GLM_INLINE glm::vec<4, T, Q> xzzz(const glm::vec<3, T, Q> &v) {
1186  return glm::vec<4, T, Q>(v.x, v.z, v.z, v.z);
1187  }
1188 
1189  template<typename T, qualifier Q>
1190  GLM_INLINE glm::vec<4, T, Q> xzzz(const glm::vec<4, T, Q> &v) {
1191  return glm::vec<4, T, Q>(v.x, v.z, v.z, v.z);
1192  }
1193 
1194  // xzzw
1195  template<typename T, qualifier Q>
1196  GLM_INLINE glm::vec<4, T, Q> xzzw(const glm::vec<4, T, Q> &v) {
1197  return glm::vec<4, T, Q>(v.x, v.z, v.z, v.w);
1198  }
1199 
1200  // xzwx
1201  template<typename T, qualifier Q>
1202  GLM_INLINE glm::vec<4, T, Q> xzwx(const glm::vec<4, T, Q> &v) {
1203  return glm::vec<4, T, Q>(v.x, v.z, v.w, v.x);
1204  }
1205 
1206  // xzwy
1207  template<typename T, qualifier Q>
1208  GLM_INLINE glm::vec<4, T, Q> xzwy(const glm::vec<4, T, Q> &v) {
1209  return glm::vec<4, T, Q>(v.x, v.z, v.w, v.y);
1210  }
1211 
1212  // xzwz
1213  template<typename T, qualifier Q>
1214  GLM_INLINE glm::vec<4, T, Q> xzwz(const glm::vec<4, T, Q> &v) {
1215  return glm::vec<4, T, Q>(v.x, v.z, v.w, v.z);
1216  }
1217 
1218  // xzww
1219  template<typename T, qualifier Q>
1220  GLM_INLINE glm::vec<4, T, Q> xzww(const glm::vec<4, T, Q> &v) {
1221  return glm::vec<4, T, Q>(v.x, v.z, v.w, v.w);
1222  }
1223 
1224  // xwxx
1225  template<typename T, qualifier Q>
1226  GLM_INLINE glm::vec<4, T, Q> xwxx(const glm::vec<4, T, Q> &v) {
1227  return glm::vec<4, T, Q>(v.x, v.w, v.x, v.x);
1228  }
1229 
1230  // xwxy
1231  template<typename T, qualifier Q>
1232  GLM_INLINE glm::vec<4, T, Q> xwxy(const glm::vec<4, T, Q> &v) {
1233  return glm::vec<4, T, Q>(v.x, v.w, v.x, v.y);
1234  }
1235 
1236  // xwxz
1237  template<typename T, qualifier Q>
1238  GLM_INLINE glm::vec<4, T, Q> xwxz(const glm::vec<4, T, Q> &v) {
1239  return glm::vec<4, T, Q>(v.x, v.w, v.x, v.z);
1240  }
1241 
1242  // xwxw
1243  template<typename T, qualifier Q>
1244  GLM_INLINE glm::vec<4, T, Q> xwxw(const glm::vec<4, T, Q> &v) {
1245  return glm::vec<4, T, Q>(v.x, v.w, v.x, v.w);
1246  }
1247 
1248  // xwyx
1249  template<typename T, qualifier Q>
1250  GLM_INLINE glm::vec<4, T, Q> xwyx(const glm::vec<4, T, Q> &v) {
1251  return glm::vec<4, T, Q>(v.x, v.w, v.y, v.x);
1252  }
1253 
1254  // xwyy
1255  template<typename T, qualifier Q>
1256  GLM_INLINE glm::vec<4, T, Q> xwyy(const glm::vec<4, T, Q> &v) {
1257  return glm::vec<4, T, Q>(v.x, v.w, v.y, v.y);
1258  }
1259 
1260  // xwyz
1261  template<typename T, qualifier Q>
1262  GLM_INLINE glm::vec<4, T, Q> xwyz(const glm::vec<4, T, Q> &v) {
1263  return glm::vec<4, T, Q>(v.x, v.w, v.y, v.z);
1264  }
1265 
1266  // xwyw
1267  template<typename T, qualifier Q>
1268  GLM_INLINE glm::vec<4, T, Q> xwyw(const glm::vec<4, T, Q> &v) {
1269  return glm::vec<4, T, Q>(v.x, v.w, v.y, v.w);
1270  }
1271 
1272  // xwzx
1273  template<typename T, qualifier Q>
1274  GLM_INLINE glm::vec<4, T, Q> xwzx(const glm::vec<4, T, Q> &v) {
1275  return glm::vec<4, T, Q>(v.x, v.w, v.z, v.x);
1276  }
1277 
1278  // xwzy
1279  template<typename T, qualifier Q>
1280  GLM_INLINE glm::vec<4, T, Q> xwzy(const glm::vec<4, T, Q> &v) {
1281  return glm::vec<4, T, Q>(v.x, v.w, v.z, v.y);
1282  }
1283 
1284  // xwzz
1285  template<typename T, qualifier Q>
1286  GLM_INLINE glm::vec<4, T, Q> xwzz(const glm::vec<4, T, Q> &v) {
1287  return glm::vec<4, T, Q>(v.x, v.w, v.z, v.z);
1288  }
1289 
1290  // xwzw
1291  template<typename T, qualifier Q>
1292  GLM_INLINE glm::vec<4, T, Q> xwzw(const glm::vec<4, T, Q> &v) {
1293  return glm::vec<4, T, Q>(v.x, v.w, v.z, v.w);
1294  }
1295 
1296  // xwwx
1297  template<typename T, qualifier Q>
1298  GLM_INLINE glm::vec<4, T, Q> xwwx(const glm::vec<4, T, Q> &v) {
1299  return glm::vec<4, T, Q>(v.x, v.w, v.w, v.x);
1300  }
1301 
1302  // xwwy
1303  template<typename T, qualifier Q>
1304  GLM_INLINE glm::vec<4, T, Q> xwwy(const glm::vec<4, T, Q> &v) {
1305  return glm::vec<4, T, Q>(v.x, v.w, v.w, v.y);
1306  }
1307 
1308  // xwwz
1309  template<typename T, qualifier Q>
1310  GLM_INLINE glm::vec<4, T, Q> xwwz(const glm::vec<4, T, Q> &v) {
1311  return glm::vec<4, T, Q>(v.x, v.w, v.w, v.z);
1312  }
1313 
1314  // xwww
1315  template<typename T, qualifier Q>
1316  GLM_INLINE glm::vec<4, T, Q> xwww(const glm::vec<4, T, Q> &v) {
1317  return glm::vec<4, T, Q>(v.x, v.w, v.w, v.w);
1318  }
1319 
1320  // yxxx
1321  template<typename T, qualifier Q>
1322  GLM_INLINE glm::vec<4, T, Q> yxxx(const glm::vec<2, T, Q> &v) {
1323  return glm::vec<4, T, Q>(v.y, v.x, v.x, v.x);
1324  }
1325 
1326  template<typename T, qualifier Q>
1327  GLM_INLINE glm::vec<4, T, Q> yxxx(const glm::vec<3, T, Q> &v) {
1328  return glm::vec<4, T, Q>(v.y, v.x, v.x, v.x);
1329  }
1330 
1331  template<typename T, qualifier Q>
1332  GLM_INLINE glm::vec<4, T, Q> yxxx(const glm::vec<4, T, Q> &v) {
1333  return glm::vec<4, T, Q>(v.y, v.x, v.x, v.x);
1334  }
1335 
1336  // yxxy
1337  template<typename T, qualifier Q>
1338  GLM_INLINE glm::vec<4, T, Q> yxxy(const glm::vec<2, T, Q> &v) {
1339  return glm::vec<4, T, Q>(v.y, v.x, v.x, v.y);
1340  }
1341 
1342  template<typename T, qualifier Q>
1343  GLM_INLINE glm::vec<4, T, Q> yxxy(const glm::vec<3, T, Q> &v) {
1344  return glm::vec<4, T, Q>(v.y, v.x, v.x, v.y);
1345  }
1346 
1347  template<typename T, qualifier Q>
1348  GLM_INLINE glm::vec<4, T, Q> yxxy(const glm::vec<4, T, Q> &v) {
1349  return glm::vec<4, T, Q>(v.y, v.x, v.x, v.y);
1350  }
1351 
1352  // yxxz
1353  template<typename T, qualifier Q>
1354  GLM_INLINE glm::vec<4, T, Q> yxxz(const glm::vec<3, T, Q> &v) {
1355  return glm::vec<4, T, Q>(v.y, v.x, v.x, v.z);
1356  }
1357 
1358  template<typename T, qualifier Q>
1359  GLM_INLINE glm::vec<4, T, Q> yxxz(const glm::vec<4, T, Q> &v) {
1360  return glm::vec<4, T, Q>(v.y, v.x, v.x, v.z);
1361  }
1362 
1363  // yxxw
1364  template<typename T, qualifier Q>
1365  GLM_INLINE glm::vec<4, T, Q> yxxw(const glm::vec<4, T, Q> &v) {
1366  return glm::vec<4, T, Q>(v.y, v.x, v.x, v.w);
1367  }
1368 
1369  // yxyx
1370  template<typename T, qualifier Q>
1371  GLM_INLINE glm::vec<4, T, Q> yxyx(const glm::vec<2, T, Q> &v) {
1372  return glm::vec<4, T, Q>(v.y, v.x, v.y, v.x);
1373  }
1374 
1375  template<typename T, qualifier Q>
1376  GLM_INLINE glm::vec<4, T, Q> yxyx(const glm::vec<3, T, Q> &v) {
1377  return glm::vec<4, T, Q>(v.y, v.x, v.y, v.x);
1378  }
1379 
1380  template<typename T, qualifier Q>
1381  GLM_INLINE glm::vec<4, T, Q> yxyx(const glm::vec<4, T, Q> &v) {
1382  return glm::vec<4, T, Q>(v.y, v.x, v.y, v.x);
1383  }
1384 
1385  // yxyy
1386  template<typename T, qualifier Q>
1387  GLM_INLINE glm::vec<4, T, Q> yxyy(const glm::vec<2, T, Q> &v) {
1388  return glm::vec<4, T, Q>(v.y, v.x, v.y, v.y);
1389  }
1390 
1391  template<typename T, qualifier Q>
1392  GLM_INLINE glm::vec<4, T, Q> yxyy(const glm::vec<3, T, Q> &v) {
1393  return glm::vec<4, T, Q>(v.y, v.x, v.y, v.y);
1394  }
1395 
1396  template<typename T, qualifier Q>
1397  GLM_INLINE glm::vec<4, T, Q> yxyy(const glm::vec<4, T, Q> &v) {
1398  return glm::vec<4, T, Q>(v.y, v.x, v.y, v.y);
1399  }
1400 
1401  // yxyz
1402  template<typename T, qualifier Q>
1403  GLM_INLINE glm::vec<4, T, Q> yxyz(const glm::vec<3, T, Q> &v) {
1404  return glm::vec<4, T, Q>(v.y, v.x, v.y, v.z);
1405  }
1406 
1407  template<typename T, qualifier Q>
1408  GLM_INLINE glm::vec<4, T, Q> yxyz(const glm::vec<4, T, Q> &v) {
1409  return glm::vec<4, T, Q>(v.y, v.x, v.y, v.z);
1410  }
1411 
1412  // yxyw
1413  template<typename T, qualifier Q>
1414  GLM_INLINE glm::vec<4, T, Q> yxyw(const glm::vec<4, T, Q> &v) {
1415  return glm::vec<4, T, Q>(v.y, v.x, v.y, v.w);
1416  }
1417 
1418  // yxzx
1419  template<typename T, qualifier Q>
1420  GLM_INLINE glm::vec<4, T, Q> yxzx(const glm::vec<3, T, Q> &v) {
1421  return glm::vec<4, T, Q>(v.y, v.x, v.z, v.x);
1422  }
1423 
1424  template<typename T, qualifier Q>
1425  GLM_INLINE glm::vec<4, T, Q> yxzx(const glm::vec<4, T, Q> &v) {
1426  return glm::vec<4, T, Q>(v.y, v.x, v.z, v.x);
1427  }
1428 
1429  // yxzy
1430  template<typename T, qualifier Q>
1431  GLM_INLINE glm::vec<4, T, Q> yxzy(const glm::vec<3, T, Q> &v) {
1432  return glm::vec<4, T, Q>(v.y, v.x, v.z, v.y);
1433  }
1434 
1435  template<typename T, qualifier Q>
1436  GLM_INLINE glm::vec<4, T, Q> yxzy(const glm::vec<4, T, Q> &v) {
1437  return glm::vec<4, T, Q>(v.y, v.x, v.z, v.y);
1438  }
1439 
1440  // yxzz
1441  template<typename T, qualifier Q>
1442  GLM_INLINE glm::vec<4, T, Q> yxzz(const glm::vec<3, T, Q> &v) {
1443  return glm::vec<4, T, Q>(v.y, v.x, v.z, v.z);
1444  }
1445 
1446  template<typename T, qualifier Q>
1447  GLM_INLINE glm::vec<4, T, Q> yxzz(const glm::vec<4, T, Q> &v) {
1448  return glm::vec<4, T, Q>(v.y, v.x, v.z, v.z);
1449  }
1450 
1451  // yxzw
1452  template<typename T, qualifier Q>
1453  GLM_INLINE glm::vec<4, T, Q> yxzw(const glm::vec<4, T, Q> &v) {
1454  return glm::vec<4, T, Q>(v.y, v.x, v.z, v.w);
1455  }
1456 
1457  // yxwx
1458  template<typename T, qualifier Q>
1459  GLM_INLINE glm::vec<4, T, Q> yxwx(const glm::vec<4, T, Q> &v) {
1460  return glm::vec<4, T, Q>(v.y, v.x, v.w, v.x);
1461  }
1462 
1463  // yxwy
1464  template<typename T, qualifier Q>
1465  GLM_INLINE glm::vec<4, T, Q> yxwy(const glm::vec<4, T, Q> &v) {
1466  return glm::vec<4, T, Q>(v.y, v.x, v.w, v.y);
1467  }
1468 
1469  // yxwz
1470  template<typename T, qualifier Q>
1471  GLM_INLINE glm::vec<4, T, Q> yxwz(const glm::vec<4, T, Q> &v) {
1472  return glm::vec<4, T, Q>(v.y, v.x, v.w, v.z);
1473  }
1474 
1475  // yxww
1476  template<typename T, qualifier Q>
1477  GLM_INLINE glm::vec<4, T, Q> yxww(const glm::vec<4, T, Q> &v) {
1478  return glm::vec<4, T, Q>(v.y, v.x, v.w, v.w);
1479  }
1480 
1481  // yyxx
1482  template<typename T, qualifier Q>
1483  GLM_INLINE glm::vec<4, T, Q> yyxx(const glm::vec<2, T, Q> &v) {
1484  return glm::vec<4, T, Q>(v.y, v.y, v.x, v.x);
1485  }
1486 
1487  template<typename T, qualifier Q>
1488  GLM_INLINE glm::vec<4, T, Q> yyxx(const glm::vec<3, T, Q> &v) {
1489  return glm::vec<4, T, Q>(v.y, v.y, v.x, v.x);
1490  }
1491 
1492  template<typename T, qualifier Q>
1493  GLM_INLINE glm::vec<4, T, Q> yyxx(const glm::vec<4, T, Q> &v) {
1494  return glm::vec<4, T, Q>(v.y, v.y, v.x, v.x);
1495  }
1496 
1497  // yyxy
1498  template<typename T, qualifier Q>
1499  GLM_INLINE glm::vec<4, T, Q> yyxy(const glm::vec<2, T, Q> &v) {
1500  return glm::vec<4, T, Q>(v.y, v.y, v.x, v.y);
1501  }
1502 
1503  template<typename T, qualifier Q>
1504  GLM_INLINE glm::vec<4, T, Q> yyxy(const glm::vec<3, T, Q> &v) {
1505  return glm::vec<4, T, Q>(v.y, v.y, v.x, v.y);
1506  }
1507 
1508  template<typename T, qualifier Q>
1509  GLM_INLINE glm::vec<4, T, Q> yyxy(const glm::vec<4, T, Q> &v) {
1510  return glm::vec<4, T, Q>(v.y, v.y, v.x, v.y);
1511  }
1512 
1513  // yyxz
1514  template<typename T, qualifier Q>
1515  GLM_INLINE glm::vec<4, T, Q> yyxz(const glm::vec<3, T, Q> &v) {
1516  return glm::vec<4, T, Q>(v.y, v.y, v.x, v.z);
1517  }
1518 
1519  template<typename T, qualifier Q>
1520  GLM_INLINE glm::vec<4, T, Q> yyxz(const glm::vec<4, T, Q> &v) {
1521  return glm::vec<4, T, Q>(v.y, v.y, v.x, v.z);
1522  }
1523 
1524  // yyxw
1525  template<typename T, qualifier Q>
1526  GLM_INLINE glm::vec<4, T, Q> yyxw(const glm::vec<4, T, Q> &v) {
1527  return glm::vec<4, T, Q>(v.y, v.y, v.x, v.w);
1528  }
1529 
1530  // yyyx
1531  template<typename T, qualifier Q>
1532  GLM_INLINE glm::vec<4, T, Q> yyyx(const glm::vec<2, T, Q> &v) {
1533  return glm::vec<4, T, Q>(v.y, v.y, v.y, v.x);
1534  }
1535 
1536  template<typename T, qualifier Q>
1537  GLM_INLINE glm::vec<4, T, Q> yyyx(const glm::vec<3, T, Q> &v) {
1538  return glm::vec<4, T, Q>(v.y, v.y, v.y, v.x);
1539  }
1540 
1541  template<typename T, qualifier Q>
1542  GLM_INLINE glm::vec<4, T, Q> yyyx(const glm::vec<4, T, Q> &v) {
1543  return glm::vec<4, T, Q>(v.y, v.y, v.y, v.x);
1544  }
1545 
1546  // yyyy
1547  template<typename T, qualifier Q>
1548  GLM_INLINE glm::vec<4, T, Q> yyyy(const glm::vec<2, T, Q> &v) {
1549  return glm::vec<4, T, Q>(v.y, v.y, v.y, v.y);
1550  }
1551 
1552  template<typename T, qualifier Q>
1553  GLM_INLINE glm::vec<4, T, Q> yyyy(const glm::vec<3, T, Q> &v) {
1554  return glm::vec<4, T, Q>(v.y, v.y, v.y, v.y);
1555  }
1556 
1557  template<typename T, qualifier Q>
1558  GLM_INLINE glm::vec<4, T, Q> yyyy(const glm::vec<4, T, Q> &v) {
1559  return glm::vec<4, T, Q>(v.y, v.y, v.y, v.y);
1560  }
1561 
1562  // yyyz
1563  template<typename T, qualifier Q>
1564  GLM_INLINE glm::vec<4, T, Q> yyyz(const glm::vec<3, T, Q> &v) {
1565  return glm::vec<4, T, Q>(v.y, v.y, v.y, v.z);
1566  }
1567 
1568  template<typename T, qualifier Q>
1569  GLM_INLINE glm::vec<4, T, Q> yyyz(const glm::vec<4, T, Q> &v) {
1570  return glm::vec<4, T, Q>(v.y, v.y, v.y, v.z);
1571  }
1572 
1573  // yyyw
1574  template<typename T, qualifier Q>
1575  GLM_INLINE glm::vec<4, T, Q> yyyw(const glm::vec<4, T, Q> &v) {
1576  return glm::vec<4, T, Q>(v.y, v.y, v.y, v.w);
1577  }
1578 
1579  // yyzx
1580  template<typename T, qualifier Q>
1581  GLM_INLINE glm::vec<4, T, Q> yyzx(const glm::vec<3, T, Q> &v) {
1582  return glm::vec<4, T, Q>(v.y, v.y, v.z, v.x);
1583  }
1584 
1585  template<typename T, qualifier Q>
1586  GLM_INLINE glm::vec<4, T, Q> yyzx(const glm::vec<4, T, Q> &v) {
1587  return glm::vec<4, T, Q>(v.y, v.y, v.z, v.x);
1588  }
1589 
1590  // yyzy
1591  template<typename T, qualifier Q>
1592  GLM_INLINE glm::vec<4, T, Q> yyzy(const glm::vec<3, T, Q> &v) {
1593  return glm::vec<4, T, Q>(v.y, v.y, v.z, v.y);
1594  }
1595 
1596  template<typename T, qualifier Q>
1597  GLM_INLINE glm::vec<4, T, Q> yyzy(const glm::vec<4, T, Q> &v) {
1598  return glm::vec<4, T, Q>(v.y, v.y, v.z, v.y);
1599  }
1600 
1601  // yyzz
1602  template<typename T, qualifier Q>
1603  GLM_INLINE glm::vec<4, T, Q> yyzz(const glm::vec<3, T, Q> &v) {
1604  return glm::vec<4, T, Q>(v.y, v.y, v.z, v.z);
1605  }
1606 
1607  template<typename T, qualifier Q>
1608  GLM_INLINE glm::vec<4, T, Q> yyzz(const glm::vec<4, T, Q> &v) {
1609  return glm::vec<4, T, Q>(v.y, v.y, v.z, v.z);
1610  }
1611 
1612  // yyzw
1613  template<typename T, qualifier Q>
1614  GLM_INLINE glm::vec<4, T, Q> yyzw(const glm::vec<4, T, Q> &v) {
1615  return glm::vec<4, T, Q>(v.y, v.y, v.z, v.w);
1616  }
1617 
1618  // yywx
1619  template<typename T, qualifier Q>
1620  GLM_INLINE glm::vec<4, T, Q> yywx(const glm::vec<4, T, Q> &v) {
1621  return glm::vec<4, T, Q>(v.y, v.y, v.w, v.x);
1622  }
1623 
1624  // yywy
1625  template<typename T, qualifier Q>
1626  GLM_INLINE glm::vec<4, T, Q> yywy(const glm::vec<4, T, Q> &v) {
1627  return glm::vec<4, T, Q>(v.y, v.y, v.w, v.y);
1628  }
1629 
1630  // yywz
1631  template<typename T, qualifier Q>
1632  GLM_INLINE glm::vec<4, T, Q> yywz(const glm::vec<4, T, Q> &v) {
1633  return glm::vec<4, T, Q>(v.y, v.y, v.w, v.z);
1634  }
1635 
1636  // yyww
1637  template<typename T, qualifier Q>
1638  GLM_INLINE glm::vec<4, T, Q> yyww(const glm::vec<4, T, Q> &v) {
1639  return glm::vec<4, T, Q>(v.y, v.y, v.w, v.w);
1640  }
1641 
1642  // yzxx
1643  template<typename T, qualifier Q>
1644  GLM_INLINE glm::vec<4, T, Q> yzxx(const glm::vec<3, T, Q> &v) {
1645  return glm::vec<4, T, Q>(v.y, v.z, v.x, v.x);
1646  }
1647 
1648  template<typename T, qualifier Q>
1649  GLM_INLINE glm::vec<4, T, Q> yzxx(const glm::vec<4, T, Q> &v) {
1650  return glm::vec<4, T, Q>(v.y, v.z, v.x, v.x);
1651  }
1652 
1653  // yzxy
1654  template<typename T, qualifier Q>
1655  GLM_INLINE glm::vec<4, T, Q> yzxy(const glm::vec<3, T, Q> &v) {
1656  return glm::vec<4, T, Q>(v.y, v.z, v.x, v.y);
1657  }
1658 
1659  template<typename T, qualifier Q>
1660  GLM_INLINE glm::vec<4, T, Q> yzxy(const glm::vec<4, T, Q> &v) {
1661  return glm::vec<4, T, Q>(v.y, v.z, v.x, v.y);
1662  }
1663 
1664  // yzxz
1665  template<typename T, qualifier Q>
1666  GLM_INLINE glm::vec<4, T, Q> yzxz(const glm::vec<3, T, Q> &v) {
1667  return glm::vec<4, T, Q>(v.y, v.z, v.x, v.z);
1668  }
1669 
1670  template<typename T, qualifier Q>
1671  GLM_INLINE glm::vec<4, T, Q> yzxz(const glm::vec<4, T, Q> &v) {
1672  return glm::vec<4, T, Q>(v.y, v.z, v.x, v.z);
1673  }
1674 
1675  // yzxw
1676  template<typename T, qualifier Q>
1677  GLM_INLINE glm::vec<4, T, Q> yzxw(const glm::vec<4, T, Q> &v) {
1678  return glm::vec<4, T, Q>(v.y, v.z, v.x, v.w);
1679  }
1680 
1681  // yzyx
1682  template<typename T, qualifier Q>
1683  GLM_INLINE glm::vec<4, T, Q> yzyx(const glm::vec<3, T, Q> &v) {
1684  return glm::vec<4, T, Q>(v.y, v.z, v.y, v.x);
1685  }
1686 
1687  template<typename T, qualifier Q>
1688  GLM_INLINE glm::vec<4, T, Q> yzyx(const glm::vec<4, T, Q> &v) {
1689  return glm::vec<4, T, Q>(v.y, v.z, v.y, v.x);
1690  }
1691 
1692  // yzyy
1693  template<typename T, qualifier Q>
1694  GLM_INLINE glm::vec<4, T, Q> yzyy(const glm::vec<3, T, Q> &v) {
1695  return glm::vec<4, T, Q>(v.y, v.z, v.y, v.y);
1696  }
1697 
1698  template<typename T, qualifier Q>
1699  GLM_INLINE glm::vec<4, T, Q> yzyy(const glm::vec<4, T, Q> &v) {
1700  return glm::vec<4, T, Q>(v.y, v.z, v.y, v.y);
1701  }
1702 
1703  // yzyz
1704  template<typename T, qualifier Q>
1705  GLM_INLINE glm::vec<4, T, Q> yzyz(const glm::vec<3, T, Q> &v) {
1706  return glm::vec<4, T, Q>(v.y, v.z, v.y, v.z);
1707  }
1708 
1709  template<typename T, qualifier Q>
1710  GLM_INLINE glm::vec<4, T, Q> yzyz(const glm::vec<4, T, Q> &v) {
1711  return glm::vec<4, T, Q>(v.y, v.z, v.y, v.z);
1712  }
1713 
1714  // yzyw
1715  template<typename T, qualifier Q>
1716  GLM_INLINE glm::vec<4, T, Q> yzyw(const glm::vec<4, T, Q> &v) {
1717  return glm::vec<4, T, Q>(v.y, v.z, v.y, v.w);
1718  }
1719 
1720  // yzzx
1721  template<typename T, qualifier Q>
1722  GLM_INLINE glm::vec<4, T, Q> yzzx(const glm::vec<3, T, Q> &v) {
1723  return glm::vec<4, T, Q>(v.y, v.z, v.z, v.x);
1724  }
1725 
1726  template<typename T, qualifier Q>
1727  GLM_INLINE glm::vec<4, T, Q> yzzx(const glm::vec<4, T, Q> &v) {
1728  return glm::vec<4, T, Q>(v.y, v.z, v.z, v.x);
1729  }
1730 
1731  // yzzy
1732  template<typename T, qualifier Q>
1733  GLM_INLINE glm::vec<4, T, Q> yzzy(const glm::vec<3, T, Q> &v) {
1734  return glm::vec<4, T, Q>(v.y, v.z, v.z, v.y);
1735  }
1736 
1737  template<typename T, qualifier Q>
1738  GLM_INLINE glm::vec<4, T, Q> yzzy(const glm::vec<4, T, Q> &v) {
1739  return glm::vec<4, T, Q>(v.y, v.z, v.z, v.y);
1740  }
1741 
1742  // yzzz
1743  template<typename T, qualifier Q>
1744  GLM_INLINE glm::vec<4, T, Q> yzzz(const glm::vec<3, T, Q> &v) {
1745  return glm::vec<4, T, Q>(v.y, v.z, v.z, v.z);
1746  }
1747 
1748  template<typename T, qualifier Q>
1749  GLM_INLINE glm::vec<4, T, Q> yzzz(const glm::vec<4, T, Q> &v) {
1750  return glm::vec<4, T, Q>(v.y, v.z, v.z, v.z);
1751  }
1752 
1753  // yzzw
1754  template<typename T, qualifier Q>
1755  GLM_INLINE glm::vec<4, T, Q> yzzw(const glm::vec<4, T, Q> &v) {
1756  return glm::vec<4, T, Q>(v.y, v.z, v.z, v.w);
1757  }
1758 
1759  // yzwx
1760  template<typename T, qualifier Q>
1761  GLM_INLINE glm::vec<4, T, Q> yzwx(const glm::vec<4, T, Q> &v) {
1762  return glm::vec<4, T, Q>(v.y, v.z, v.w, v.x);
1763  }
1764 
1765  // yzwy
1766  template<typename T, qualifier Q>
1767  GLM_INLINE glm::vec<4, T, Q> yzwy(const glm::vec<4, T, Q> &v) {
1768  return glm::vec<4, T, Q>(v.y, v.z, v.w, v.y);
1769  }
1770 
1771  // yzwz
1772  template<typename T, qualifier Q>
1773  GLM_INLINE glm::vec<4, T, Q> yzwz(const glm::vec<4, T, Q> &v) {
1774  return glm::vec<4, T, Q>(v.y, v.z, v.w, v.z);
1775  }
1776 
1777  // yzww
1778  template<typename T, qualifier Q>
1779  GLM_INLINE glm::vec<4, T, Q> yzww(const glm::vec<4, T, Q> &v) {
1780  return glm::vec<4, T, Q>(v.y, v.z, v.w, v.w);
1781  }
1782 
1783  // ywxx
1784  template<typename T, qualifier Q>
1785  GLM_INLINE glm::vec<4, T, Q> ywxx(const glm::vec<4, T, Q> &v) {
1786  return glm::vec<4, T, Q>(v.y, v.w, v.x, v.x);
1787  }
1788 
1789  // ywxy
1790  template<typename T, qualifier Q>
1791  GLM_INLINE glm::vec<4, T, Q> ywxy(const glm::vec<4, T, Q> &v) {
1792  return glm::vec<4, T, Q>(v.y, v.w, v.x, v.y);
1793  }
1794 
1795  // ywxz
1796  template<typename T, qualifier Q>
1797  GLM_INLINE glm::vec<4, T, Q> ywxz(const glm::vec<4, T, Q> &v) {
1798  return glm::vec<4, T, Q>(v.y, v.w, v.x, v.z);
1799  }
1800 
1801  // ywxw
1802  template<typename T, qualifier Q>
1803  GLM_INLINE glm::vec<4, T, Q> ywxw(const glm::vec<4, T, Q> &v) {
1804  return glm::vec<4, T, Q>(v.y, v.w, v.x, v.w);
1805  }
1806 
1807  // ywyx
1808  template<typename T, qualifier Q>
1809  GLM_INLINE glm::vec<4, T, Q> ywyx(const glm::vec<4, T, Q> &v) {
1810  return glm::vec<4, T, Q>(v.y, v.w, v.y, v.x);
1811  }
1812 
1813  // ywyy
1814  template<typename T, qualifier Q>
1815  GLM_INLINE glm::vec<4, T, Q> ywyy(const glm::vec<4, T, Q> &v) {
1816  return glm::vec<4, T, Q>(v.y, v.w, v.y, v.y);
1817  }
1818 
1819  // ywyz
1820  template<typename T, qualifier Q>
1821  GLM_INLINE glm::vec<4, T, Q> ywyz(const glm::vec<4, T, Q> &v) {
1822  return glm::vec<4, T, Q>(v.y, v.w, v.y, v.z);
1823  }
1824 
1825  // ywyw
1826  template<typename T, qualifier Q>
1827  GLM_INLINE glm::vec<4, T, Q> ywyw(const glm::vec<4, T, Q> &v) {
1828  return glm::vec<4, T, Q>(v.y, v.w, v.y, v.w);
1829  }
1830 
1831  // ywzx
1832  template<typename T, qualifier Q>
1833  GLM_INLINE glm::vec<4, T, Q> ywzx(const glm::vec<4, T, Q> &v) {
1834  return glm::vec<4, T, Q>(v.y, v.w, v.z, v.x);
1835  }
1836 
1837  // ywzy
1838  template<typename T, qualifier Q>
1839  GLM_INLINE glm::vec<4, T, Q> ywzy(const glm::vec<4, T, Q> &v) {
1840  return glm::vec<4, T, Q>(v.y, v.w, v.z, v.y);
1841  }
1842 
1843  // ywzz
1844  template<typename T, qualifier Q>
1845  GLM_INLINE glm::vec<4, T, Q> ywzz(const glm::vec<4, T, Q> &v) {
1846  return glm::vec<4, T, Q>(v.y, v.w, v.z, v.z);
1847  }
1848 
1849  // ywzw
1850  template<typename T, qualifier Q>
1851  GLM_INLINE glm::vec<4, T, Q> ywzw(const glm::vec<4, T, Q> &v) {
1852  return glm::vec<4, T, Q>(v.y, v.w, v.z, v.w);
1853  }
1854 
1855  // ywwx
1856  template<typename T, qualifier Q>
1857  GLM_INLINE glm::vec<4, T, Q> ywwx(const glm::vec<4, T, Q> &v) {
1858  return glm::vec<4, T, Q>(v.y, v.w, v.w, v.x);
1859  }
1860 
1861  // ywwy
1862  template<typename T, qualifier Q>
1863  GLM_INLINE glm::vec<4, T, Q> ywwy(const glm::vec<4, T, Q> &v) {
1864  return glm::vec<4, T, Q>(v.y, v.w, v.w, v.y);
1865  }
1866 
1867  // ywwz
1868  template<typename T, qualifier Q>
1869  GLM_INLINE glm::vec<4, T, Q> ywwz(const glm::vec<4, T, Q> &v) {
1870  return glm::vec<4, T, Q>(v.y, v.w, v.w, v.z);
1871  }
1872 
1873  // ywww
1874  template<typename T, qualifier Q>
1875  GLM_INLINE glm::vec<4, T, Q> ywww(const glm::vec<4, T, Q> &v) {
1876  return glm::vec<4, T, Q>(v.y, v.w, v.w, v.w);
1877  }
1878 
1879  // zxxx
1880  template<typename T, qualifier Q>
1881  GLM_INLINE glm::vec<4, T, Q> zxxx(const glm::vec<3, T, Q> &v) {
1882  return glm::vec<4, T, Q>(v.z, v.x, v.x, v.x);
1883  }
1884 
1885  template<typename T, qualifier Q>
1886  GLM_INLINE glm::vec<4, T, Q> zxxx(const glm::vec<4, T, Q> &v) {
1887  return glm::vec<4, T, Q>(v.z, v.x, v.x, v.x);
1888  }
1889 
1890  // zxxy
1891  template<typename T, qualifier Q>
1892  GLM_INLINE glm::vec<4, T, Q> zxxy(const glm::vec<3, T, Q> &v) {
1893  return glm::vec<4, T, Q>(v.z, v.x, v.x, v.y);
1894  }
1895 
1896  template<typename T, qualifier Q>
1897  GLM_INLINE glm::vec<4, T, Q> zxxy(const glm::vec<4, T, Q> &v) {
1898  return glm::vec<4, T, Q>(v.z, v.x, v.x, v.y);
1899  }
1900 
1901  // zxxz
1902  template<typename T, qualifier Q>
1903  GLM_INLINE glm::vec<4, T, Q> zxxz(const glm::vec<3, T, Q> &v) {
1904  return glm::vec<4, T, Q>(v.z, v.x, v.x, v.z);
1905  }
1906 
1907  template<typename T, qualifier Q>
1908  GLM_INLINE glm::vec<4, T, Q> zxxz(const glm::vec<4, T, Q> &v) {
1909  return glm::vec<4, T, Q>(v.z, v.x, v.x, v.z);
1910  }
1911 
1912  // zxxw
1913  template<typename T, qualifier Q>
1914  GLM_INLINE glm::vec<4, T, Q> zxxw(const glm::vec<4, T, Q> &v) {
1915  return glm::vec<4, T, Q>(v.z, v.x, v.x, v.w);
1916  }
1917 
1918  // zxyx
1919  template<typename T, qualifier Q>
1920  GLM_INLINE glm::vec<4, T, Q> zxyx(const glm::vec<3, T, Q> &v) {
1921  return glm::vec<4, T, Q>(v.z, v.x, v.y, v.x);
1922  }
1923 
1924  template<typename T, qualifier Q>
1925  GLM_INLINE glm::vec<4, T, Q> zxyx(const glm::vec<4, T, Q> &v) {
1926  return glm::vec<4, T, Q>(v.z, v.x, v.y, v.x);
1927  }
1928 
1929  // zxyy
1930  template<typename T, qualifier Q>
1931  GLM_INLINE glm::vec<4, T, Q> zxyy(const glm::vec<3, T, Q> &v) {
1932  return glm::vec<4, T, Q>(v.z, v.x, v.y, v.y);
1933  }
1934 
1935  template<typename T, qualifier Q>
1936  GLM_INLINE glm::vec<4, T, Q> zxyy(const glm::vec<4, T, Q> &v) {
1937  return glm::vec<4, T, Q>(v.z, v.x, v.y, v.y);
1938  }
1939 
1940  // zxyz
1941  template<typename T, qualifier Q>
1942  GLM_INLINE glm::vec<4, T, Q> zxyz(const glm::vec<3, T, Q> &v) {
1943  return glm::vec<4, T, Q>(v.z, v.x, v.y, v.z);
1944  }
1945 
1946  template<typename T, qualifier Q>
1947  GLM_INLINE glm::vec<4, T, Q> zxyz(const glm::vec<4, T, Q> &v) {
1948  return glm::vec<4, T, Q>(v.z, v.x, v.y, v.z);
1949  }
1950 
1951  // zxyw
1952  template<typename T, qualifier Q>
1953  GLM_INLINE glm::vec<4, T, Q> zxyw(const glm::vec<4, T, Q> &v) {
1954  return glm::vec<4, T, Q>(v.z, v.x, v.y, v.w);
1955  }
1956 
1957  // zxzx
1958  template<typename T, qualifier Q>
1959  GLM_INLINE glm::vec<4, T, Q> zxzx(const glm::vec<3, T, Q> &v) {
1960  return glm::vec<4, T, Q>(v.z, v.x, v.z, v.x);
1961  }
1962 
1963  template<typename T, qualifier Q>
1964  GLM_INLINE glm::vec<4, T, Q> zxzx(const glm::vec<4, T, Q> &v) {
1965  return glm::vec<4, T, Q>(v.z, v.x, v.z, v.x);
1966  }
1967 
1968  // zxzy
1969  template<typename T, qualifier Q>
1970  GLM_INLINE glm::vec<4, T, Q> zxzy(const glm::vec<3, T, Q> &v) {
1971  return glm::vec<4, T, Q>(v.z, v.x, v.z, v.y);
1972  }
1973 
1974  template<typename T, qualifier Q>
1975  GLM_INLINE glm::vec<4, T, Q> zxzy(const glm::vec<4, T, Q> &v) {
1976  return glm::vec<4, T, Q>(v.z, v.x, v.z, v.y);
1977  }
1978 
1979  // zxzz
1980  template<typename T, qualifier Q>
1981  GLM_INLINE glm::vec<4, T, Q> zxzz(const glm::vec<3, T, Q> &v) {
1982  return glm::vec<4, T, Q>(v.z, v.x, v.z, v.z);
1983  }
1984 
1985  template<typename T, qualifier Q>
1986  GLM_INLINE glm::vec<4, T, Q> zxzz(const glm::vec<4, T, Q> &v) {
1987  return glm::vec<4, T, Q>(v.z, v.x, v.z, v.z);
1988  }
1989 
1990  // zxzw
1991  template<typename T, qualifier Q>
1992  GLM_INLINE glm::vec<4, T, Q> zxzw(const glm::vec<4, T, Q> &v) {
1993  return glm::vec<4, T, Q>(v.z, v.x, v.z, v.w);
1994  }
1995 
1996  // zxwx
1997  template<typename T, qualifier Q>
1998  GLM_INLINE glm::vec<4, T, Q> zxwx(const glm::vec<4, T, Q> &v) {
1999  return glm::vec<4, T, Q>(v.z, v.x, v.w, v.x);
2000  }
2001 
2002  // zxwy
2003  template<typename T, qualifier Q>
2004  GLM_INLINE glm::vec<4, T, Q> zxwy(const glm::vec<4, T, Q> &v) {
2005  return glm::vec<4, T, Q>(v.z, v.x, v.w, v.y);
2006  }
2007 
2008  // zxwz
2009  template<typename T, qualifier Q>
2010  GLM_INLINE glm::vec<4, T, Q> zxwz(const glm::vec<4, T, Q> &v) {
2011  return glm::vec<4, T, Q>(v.z, v.x, v.w, v.z);
2012  }
2013 
2014  // zxww
2015  template<typename T, qualifier Q>
2016  GLM_INLINE glm::vec<4, T, Q> zxww(const glm::vec<4, T, Q> &v) {
2017  return glm::vec<4, T, Q>(v.z, v.x, v.w, v.w);
2018  }
2019 
2020  // zyxx
2021  template<typename T, qualifier Q>
2022  GLM_INLINE glm::vec<4, T, Q> zyxx(const glm::vec<3, T, Q> &v) {
2023  return glm::vec<4, T, Q>(v.z, v.y, v.x, v.x);
2024  }
2025 
2026  template<typename T, qualifier Q>
2027  GLM_INLINE glm::vec<4, T, Q> zyxx(const glm::vec<4, T, Q> &v) {
2028  return glm::vec<4, T, Q>(v.z, v.y, v.x, v.x);
2029  }
2030 
2031  // zyxy
2032  template<typename T, qualifier Q>
2033  GLM_INLINE glm::vec<4, T, Q> zyxy(const glm::vec<3, T, Q> &v) {
2034  return glm::vec<4, T, Q>(v.z, v.y, v.x, v.y);
2035  }
2036 
2037  template<typename T, qualifier Q>
2038  GLM_INLINE glm::vec<4, T, Q> zyxy(const glm::vec<4, T, Q> &v) {
2039  return glm::vec<4, T, Q>(v.z, v.y, v.x, v.y);
2040  }
2041 
2042  // zyxz
2043  template<typename T, qualifier Q>
2044  GLM_INLINE glm::vec<4, T, Q> zyxz(const glm::vec<3, T, Q> &v) {
2045  return glm::vec<4, T, Q>(v.z, v.y, v.x, v.z);
2046  }
2047 
2048  template<typename T, qualifier Q>
2049  GLM_INLINE glm::vec<4, T, Q> zyxz(const glm::vec<4, T, Q> &v) {
2050  return glm::vec<4, T, Q>(v.z, v.y, v.x, v.z);
2051  }
2052 
2053  // zyxw
2054  template<typename T, qualifier Q>
2055  GLM_INLINE glm::vec<4, T, Q> zyxw(const glm::vec<4, T, Q> &v) {
2056  return glm::vec<4, T, Q>(v.z, v.y, v.x, v.w);
2057  }
2058 
2059  // zyyx
2060  template<typename T, qualifier Q>
2061  GLM_INLINE glm::vec<4, T, Q> zyyx(const glm::vec<3, T, Q> &v) {
2062  return glm::vec<4, T, Q>(v.z, v.y, v.y, v.x);
2063  }
2064 
2065  template<typename T, qualifier Q>
2066  GLM_INLINE glm::vec<4, T, Q> zyyx(const glm::vec<4, T, Q> &v) {
2067  return glm::vec<4, T, Q>(v.z, v.y, v.y, v.x);
2068  }
2069 
2070  // zyyy
2071  template<typename T, qualifier Q>
2072  GLM_INLINE glm::vec<4, T, Q> zyyy(const glm::vec<3, T, Q> &v) {
2073  return glm::vec<4, T, Q>(v.z, v.y, v.y, v.y);
2074  }
2075 
2076  template<typename T, qualifier Q>
2077  GLM_INLINE glm::vec<4, T, Q> zyyy(const glm::vec<4, T, Q> &v) {
2078  return glm::vec<4, T, Q>(v.z, v.y, v.y, v.y);
2079  }
2080 
2081  // zyyz
2082  template<typename T, qualifier Q>
2083  GLM_INLINE glm::vec<4, T, Q> zyyz(const glm::vec<3, T, Q> &v) {
2084  return glm::vec<4, T, Q>(v.z, v.y, v.y, v.z);
2085  }
2086 
2087  template<typename T, qualifier Q>
2088  GLM_INLINE glm::vec<4, T, Q> zyyz(const glm::vec<4, T, Q> &v) {
2089  return glm::vec<4, T, Q>(v.z, v.y, v.y, v.z);
2090  }
2091 
2092  // zyyw
2093  template<typename T, qualifier Q>
2094  GLM_INLINE glm::vec<4, T, Q> zyyw(const glm::vec<4, T, Q> &v) {
2095  return glm::vec<4, T, Q>(v.z, v.y, v.y, v.w);
2096  }
2097 
2098  // zyzx
2099  template<typename T, qualifier Q>
2100  GLM_INLINE glm::vec<4, T, Q> zyzx(const glm::vec<3, T, Q> &v) {
2101  return glm::vec<4, T, Q>(v.z, v.y, v.z, v.x);
2102  }
2103 
2104  template<typename T, qualifier Q>
2105  GLM_INLINE glm::vec<4, T, Q> zyzx(const glm::vec<4, T, Q> &v) {
2106  return glm::vec<4, T, Q>(v.z, v.y, v.z, v.x);
2107  }
2108 
2109  // zyzy
2110  template<typename T, qualifier Q>
2111  GLM_INLINE glm::vec<4, T, Q> zyzy(const glm::vec<3, T, Q> &v) {
2112  return glm::vec<4, T, Q>(v.z, v.y, v.z, v.y);
2113  }
2114 
2115  template<typename T, qualifier Q>
2116  GLM_INLINE glm::vec<4, T, Q> zyzy(const glm::vec<4, T, Q> &v) {
2117  return glm::vec<4, T, Q>(v.z, v.y, v.z, v.y);
2118  }
2119 
2120  // zyzz
2121  template<typename T, qualifier Q>
2122  GLM_INLINE glm::vec<4, T, Q> zyzz(const glm::vec<3, T, Q> &v) {
2123  return glm::vec<4, T, Q>(v.z, v.y, v.z, v.z);
2124  }
2125 
2126  template<typename T, qualifier Q>
2127  GLM_INLINE glm::vec<4, T, Q> zyzz(const glm::vec<4, T, Q> &v) {
2128  return glm::vec<4, T, Q>(v.z, v.y, v.z, v.z);
2129  }
2130 
2131  // zyzw
2132  template<typename T, qualifier Q>
2133  GLM_INLINE glm::vec<4, T, Q> zyzw(const glm::vec<4, T, Q> &v) {
2134  return glm::vec<4, T, Q>(v.z, v.y, v.z, v.w);
2135  }
2136 
2137  // zywx
2138  template<typename T, qualifier Q>
2139  GLM_INLINE glm::vec<4, T, Q> zywx(const glm::vec<4, T, Q> &v) {
2140  return glm::vec<4, T, Q>(v.z, v.y, v.w, v.x);
2141  }
2142 
2143  // zywy
2144  template<typename T, qualifier Q>
2145  GLM_INLINE glm::vec<4, T, Q> zywy(const glm::vec<4, T, Q> &v) {
2146  return glm::vec<4, T, Q>(v.z, v.y, v.w, v.y);
2147  }
2148 
2149  // zywz
2150  template<typename T, qualifier Q>
2151  GLM_INLINE glm::vec<4, T, Q> zywz(const glm::vec<4, T, Q> &v) {
2152  return glm::vec<4, T, Q>(v.z, v.y, v.w, v.z);
2153  }
2154 
2155  // zyww
2156  template<typename T, qualifier Q>
2157  GLM_INLINE glm::vec<4, T, Q> zyww(const glm::vec<4, T, Q> &v) {
2158  return glm::vec<4, T, Q>(v.z, v.y, v.w, v.w);
2159  }
2160 
2161  // zzxx
2162  template<typename T, qualifier Q>
2163  GLM_INLINE glm::vec<4, T, Q> zzxx(const glm::vec<3, T, Q> &v) {
2164  return glm::vec<4, T, Q>(v.z, v.z, v.x, v.x);
2165  }
2166 
2167  template<typename T, qualifier Q>
2168  GLM_INLINE glm::vec<4, T, Q> zzxx(const glm::vec<4, T, Q> &v) {
2169  return glm::vec<4, T, Q>(v.z, v.z, v.x, v.x);
2170  }
2171 
2172  // zzxy
2173  template<typename T, qualifier Q>
2174  GLM_INLINE glm::vec<4, T, Q> zzxy(const glm::vec<3, T, Q> &v) {
2175  return glm::vec<4, T, Q>(v.z, v.z, v.x, v.y);
2176  }
2177 
2178  template<typename T, qualifier Q>
2179  GLM_INLINE glm::vec<4, T, Q> zzxy(const glm::vec<4, T, Q> &v) {
2180  return glm::vec<4, T, Q>(v.z, v.z, v.x, v.y);
2181  }
2182 
2183  // zzxz
2184  template<typename T, qualifier Q>
2185  GLM_INLINE glm::vec<4, T, Q> zzxz(const glm::vec<3, T, Q> &v) {
2186  return glm::vec<4, T, Q>(v.z, v.z, v.x, v.z);
2187  }
2188 
2189  template<typename T, qualifier Q>
2190  GLM_INLINE glm::vec<4, T, Q> zzxz(const glm::vec<4, T, Q> &v) {
2191  return glm::vec<4, T, Q>(v.z, v.z, v.x, v.z);
2192  }
2193 
2194  // zzxw
2195  template<typename T, qualifier Q>
2196  GLM_INLINE glm::vec<4, T, Q> zzxw(const glm::vec<4, T, Q> &v) {
2197  return glm::vec<4, T, Q>(v.z, v.z, v.x, v.w);
2198  }
2199 
2200  // zzyx
2201  template<typename T, qualifier Q>
2202  GLM_INLINE glm::vec<4, T, Q> zzyx(const glm::vec<3, T, Q> &v) {
2203  return glm::vec<4, T, Q>(v.z, v.z, v.y, v.x);
2204  }
2205 
2206  template<typename T, qualifier Q>
2207  GLM_INLINE glm::vec<4, T, Q> zzyx(const glm::vec<4, T, Q> &v) {
2208  return glm::vec<4, T, Q>(v.z, v.z, v.y, v.x);
2209  }
2210 
2211  // zzyy
2212  template<typename T, qualifier Q>
2213  GLM_INLINE glm::vec<4, T, Q> zzyy(const glm::vec<3, T, Q> &v) {
2214  return glm::vec<4, T, Q>(v.z, v.z, v.y, v.y);
2215  }
2216 
2217  template<typename T, qualifier Q>
2218  GLM_INLINE glm::vec<4, T, Q> zzyy(const glm::vec<4, T, Q> &v) {
2219  return glm::vec<4, T, Q>(v.z, v.z, v.y, v.y);
2220  }
2221 
2222  // zzyz
2223  template<typename T, qualifier Q>
2224  GLM_INLINE glm::vec<4, T, Q> zzyz(const glm::vec<3, T, Q> &v) {
2225  return glm::vec<4, T, Q>(v.z, v.z, v.y, v.z);
2226  }
2227 
2228  template<typename T, qualifier Q>
2229  GLM_INLINE glm::vec<4, T, Q> zzyz(const glm::vec<4, T, Q> &v) {
2230  return glm::vec<4, T, Q>(v.z, v.z, v.y, v.z);
2231  }
2232 
2233  // zzyw
2234  template<typename T, qualifier Q>
2235  GLM_INLINE glm::vec<4, T, Q> zzyw(const glm::vec<4, T, Q> &v) {
2236  return glm::vec<4, T, Q>(v.z, v.z, v.y, v.w);
2237  }
2238 
2239  // zzzx
2240  template<typename T, qualifier Q>
2241  GLM_INLINE glm::vec<4, T, Q> zzzx(const glm::vec<3, T, Q> &v) {
2242  return glm::vec<4, T, Q>(v.z, v.z, v.z, v.x);
2243  }
2244 
2245  template<typename T, qualifier Q>
2246  GLM_INLINE glm::vec<4, T, Q> zzzx(const glm::vec<4, T, Q> &v) {
2247  return glm::vec<4, T, Q>(v.z, v.z, v.z, v.x);
2248  }
2249 
2250  // zzzy
2251  template<typename T, qualifier Q>
2252  GLM_INLINE glm::vec<4, T, Q> zzzy(const glm::vec<3, T, Q> &v) {
2253  return glm::vec<4, T, Q>(v.z, v.z, v.z, v.y);
2254  }
2255 
2256  template<typename T, qualifier Q>
2257  GLM_INLINE glm::vec<4, T, Q> zzzy(const glm::vec<4, T, Q> &v) {
2258  return glm::vec<4, T, Q>(v.z, v.z, v.z, v.y);
2259  }
2260 
2261  // zzzz
2262  template<typename T, qualifier Q>
2263  GLM_INLINE glm::vec<4, T, Q> zzzz(const glm::vec<3, T, Q> &v) {
2264  return glm::vec<4, T, Q>(v.z, v.z, v.z, v.z);
2265  }
2266 
2267  template<typename T, qualifier Q>
2268  GLM_INLINE glm::vec<4, T, Q> zzzz(const glm::vec<4, T, Q> &v) {
2269  return glm::vec<4, T, Q>(v.z, v.z, v.z, v.z);
2270  }
2271 
2272  // zzzw
2273  template<typename T, qualifier Q>
2274  GLM_INLINE glm::vec<4, T, Q> zzzw(const glm::vec<4, T, Q> &v) {
2275  return glm::vec<4, T, Q>(v.z, v.z, v.z, v.w);
2276  }
2277 
2278  // zzwx
2279  template<typename T, qualifier Q>
2280  GLM_INLINE glm::vec<4, T, Q> zzwx(const glm::vec<4, T, Q> &v) {
2281  return glm::vec<4, T, Q>(v.z, v.z, v.w, v.x);
2282  }
2283 
2284  // zzwy
2285  template<typename T, qualifier Q>
2286  GLM_INLINE glm::vec<4, T, Q> zzwy(const glm::vec<4, T, Q> &v) {
2287  return glm::vec<4, T, Q>(v.z, v.z, v.w, v.y);
2288  }
2289 
2290  // zzwz
2291  template<typename T, qualifier Q>
2292  GLM_INLINE glm::vec<4, T, Q> zzwz(const glm::vec<4, T, Q> &v) {
2293  return glm::vec<4, T, Q>(v.z, v.z, v.w, v.z);
2294  }
2295 
2296  // zzww
2297  template<typename T, qualifier Q>
2298  GLM_INLINE glm::vec<4, T, Q> zzww(const glm::vec<4, T, Q> &v) {
2299  return glm::vec<4, T, Q>(v.z, v.z, v.w, v.w);
2300  }
2301 
2302  // zwxx
2303  template<typename T, qualifier Q>
2304  GLM_INLINE glm::vec<4, T, Q> zwxx(const glm::vec<4, T, Q> &v) {
2305  return glm::vec<4, T, Q>(v.z, v.w, v.x, v.x);
2306  }
2307 
2308  // zwxy
2309  template<typename T, qualifier Q>
2310  GLM_INLINE glm::vec<4, T, Q> zwxy(const glm::vec<4, T, Q> &v) {
2311  return glm::vec<4, T, Q>(v.z, v.w, v.x, v.y);
2312  }
2313 
2314  // zwxz
2315  template<typename T, qualifier Q>
2316  GLM_INLINE glm::vec<4, T, Q> zwxz(const glm::vec<4, T, Q> &v) {
2317  return glm::vec<4, T, Q>(v.z, v.w, v.x, v.z);
2318  }
2319 
2320  // zwxw
2321  template<typename T, qualifier Q>
2322  GLM_INLINE glm::vec<4, T, Q> zwxw(const glm::vec<4, T, Q> &v) {
2323  return glm::vec<4, T, Q>(v.z, v.w, v.x, v.w);
2324  }
2325 
2326  // zwyx
2327  template<typename T, qualifier Q>
2328  GLM_INLINE glm::vec<4, T, Q> zwyx(const glm::vec<4, T, Q> &v) {
2329  return glm::vec<4, T, Q>(v.z, v.w, v.y, v.x);
2330  }
2331 
2332  // zwyy
2333  template<typename T, qualifier Q>
2334  GLM_INLINE glm::vec<4, T, Q> zwyy(const glm::vec<4, T, Q> &v) {
2335  return glm::vec<4, T, Q>(v.z, v.w, v.y, v.y);
2336  }
2337 
2338  // zwyz
2339  template<typename T, qualifier Q>
2340  GLM_INLINE glm::vec<4, T, Q> zwyz(const glm::vec<4, T, Q> &v) {
2341  return glm::vec<4, T, Q>(v.z, v.w, v.y, v.z);
2342  }
2343 
2344  // zwyw
2345  template<typename T, qualifier Q>
2346  GLM_INLINE glm::vec<4, T, Q> zwyw(const glm::vec<4, T, Q> &v) {
2347  return glm::vec<4, T, Q>(v.z, v.w, v.y, v.w);
2348  }
2349 
2350  // zwzx
2351  template<typename T, qualifier Q>
2352  GLM_INLINE glm::vec<4, T, Q> zwzx(const glm::vec<4, T, Q> &v) {
2353  return glm::vec<4, T, Q>(v.z, v.w, v.z, v.x);
2354  }
2355 
2356  // zwzy
2357  template<typename T, qualifier Q>
2358  GLM_INLINE glm::vec<4, T, Q> zwzy(const glm::vec<4, T, Q> &v) {
2359  return glm::vec<4, T, Q>(v.z, v.w, v.z, v.y);
2360  }
2361 
2362  // zwzz
2363  template<typename T, qualifier Q>
2364  GLM_INLINE glm::vec<4, T, Q> zwzz(const glm::vec<4, T, Q> &v) {
2365  return glm::vec<4, T, Q>(v.z, v.w, v.z, v.z);
2366  }
2367 
2368  // zwzw
2369  template<typename T, qualifier Q>
2370  GLM_INLINE glm::vec<4, T, Q> zwzw(const glm::vec<4, T, Q> &v) {
2371  return glm::vec<4, T, Q>(v.z, v.w, v.z, v.w);
2372  }
2373 
2374  // zwwx
2375  template<typename T, qualifier Q>
2376  GLM_INLINE glm::vec<4, T, Q> zwwx(const glm::vec<4, T, Q> &v) {
2377  return glm::vec<4, T, Q>(v.z, v.w, v.w, v.x);
2378  }
2379 
2380  // zwwy
2381  template<typename T, qualifier Q>
2382  GLM_INLINE glm::vec<4, T, Q> zwwy(const glm::vec<4, T, Q> &v) {
2383  return glm::vec<4, T, Q>(v.z, v.w, v.w, v.y);
2384  }
2385 
2386  // zwwz
2387  template<typename T, qualifier Q>
2388  GLM_INLINE glm::vec<4, T, Q> zwwz(const glm::vec<4, T, Q> &v) {
2389  return glm::vec<4, T, Q>(v.z, v.w, v.w, v.z);
2390  }
2391 
2392  // zwww
2393  template<typename T, qualifier Q>
2394  GLM_INLINE glm::vec<4, T, Q> zwww(const glm::vec<4, T, Q> &v) {
2395  return glm::vec<4, T, Q>(v.z, v.w, v.w, v.w);
2396  }
2397 
2398  // wxxx
2399  template<typename T, qualifier Q>
2400  GLM_INLINE glm::vec<4, T, Q> wxxx(const glm::vec<4, T, Q> &v) {
2401  return glm::vec<4, T, Q>(v.w, v.x, v.x, v.x);
2402  }
2403 
2404  // wxxy
2405  template<typename T, qualifier Q>
2406  GLM_INLINE glm::vec<4, T, Q> wxxy(const glm::vec<4, T, Q> &v) {
2407  return glm::vec<4, T, Q>(v.w, v.x, v.x, v.y);
2408  }
2409 
2410  // wxxz
2411  template<typename T, qualifier Q>
2412  GLM_INLINE glm::vec<4, T, Q> wxxz(const glm::vec<4, T, Q> &v) {
2413  return glm::vec<4, T, Q>(v.w, v.x, v.x, v.z);
2414  }
2415 
2416  // wxxw
2417  template<typename T, qualifier Q>
2418  GLM_INLINE glm::vec<4, T, Q> wxxw(const glm::vec<4, T, Q> &v) {
2419  return glm::vec<4, T, Q>(v.w, v.x, v.x, v.w);
2420  }
2421 
2422  // wxyx
2423  template<typename T, qualifier Q>
2424  GLM_INLINE glm::vec<4, T, Q> wxyx(const glm::vec<4, T, Q> &v) {
2425  return glm::vec<4, T, Q>(v.w, v.x, v.y, v.x);
2426  }
2427 
2428  // wxyy
2429  template<typename T, qualifier Q>
2430  GLM_INLINE glm::vec<4, T, Q> wxyy(const glm::vec<4, T, Q> &v) {
2431  return glm::vec<4, T, Q>(v.w, v.x, v.y, v.y);
2432  }
2433 
2434  // wxyz
2435  template<typename T, qualifier Q>
2436  GLM_INLINE glm::vec<4, T, Q> wxyz(const glm::vec<4, T, Q> &v) {
2437  return glm::vec<4, T, Q>(v.w, v.x, v.y, v.z);
2438  }
2439 
2440  // wxyw
2441  template<typename T, qualifier Q>
2442  GLM_INLINE glm::vec<4, T, Q> wxyw(const glm::vec<4, T, Q> &v) {
2443  return glm::vec<4, T, Q>(v.w, v.x, v.y, v.w);
2444  }
2445 
2446  // wxzx
2447  template<typename T, qualifier Q>
2448  GLM_INLINE glm::vec<4, T, Q> wxzx(const glm::vec<4, T, Q> &v) {
2449  return glm::vec<4, T, Q>(v.w, v.x, v.z, v.x);
2450  }
2451 
2452  // wxzy
2453  template<typename T, qualifier Q>
2454  GLM_INLINE glm::vec<4, T, Q> wxzy(const glm::vec<4, T, Q> &v) {
2455  return glm::vec<4, T, Q>(v.w, v.x, v.z, v.y);
2456  }
2457 
2458  // wxzz
2459  template<typename T, qualifier Q>
2460  GLM_INLINE glm::vec<4, T, Q> wxzz(const glm::vec<4, T, Q> &v) {
2461  return glm::vec<4, T, Q>(v.w, v.x, v.z, v.z);
2462  }
2463 
2464  // wxzw
2465  template<typename T, qualifier Q>
2466  GLM_INLINE glm::vec<4, T, Q> wxzw(const glm::vec<4, T, Q> &v) {
2467  return glm::vec<4, T, Q>(v.w, v.x, v.z, v.w);
2468  }
2469 
2470  // wxwx
2471  template<typename T, qualifier Q>
2472  GLM_INLINE glm::vec<4, T, Q> wxwx(const glm::vec<4, T, Q> &v) {
2473  return glm::vec<4, T, Q>(v.w, v.x, v.w, v.x);
2474  }
2475 
2476  // wxwy
2477  template<typename T, qualifier Q>
2478  GLM_INLINE glm::vec<4, T, Q> wxwy(const glm::vec<4, T, Q> &v) {
2479  return glm::vec<4, T, Q>(v.w, v.x, v.w, v.y);
2480  }
2481 
2482  // wxwz
2483  template<typename T, qualifier Q>
2484  GLM_INLINE glm::vec<4, T, Q> wxwz(const glm::vec<4, T, Q> &v) {
2485  return glm::vec<4, T, Q>(v.w, v.x, v.w, v.z);
2486  }
2487 
2488  // wxww
2489  template<typename T, qualifier Q>
2490  GLM_INLINE glm::vec<4, T, Q> wxww(const glm::vec<4, T, Q> &v) {
2491  return glm::vec<4, T, Q>(v.w, v.x, v.w, v.w);
2492  }
2493 
2494  // wyxx
2495  template<typename T, qualifier Q>
2496  GLM_INLINE glm::vec<4, T, Q> wyxx(const glm::vec<4, T, Q> &v) {
2497  return glm::vec<4, T, Q>(v.w, v.y, v.x, v.x);
2498  }
2499 
2500  // wyxy
2501  template<typename T, qualifier Q>
2502  GLM_INLINE glm::vec<4, T, Q> wyxy(const glm::vec<4, T, Q> &v) {
2503  return glm::vec<4, T, Q>(v.w, v.y, v.x, v.y);
2504  }
2505 
2506  // wyxz
2507  template<typename T, qualifier Q>
2508  GLM_INLINE glm::vec<4, T, Q> wyxz(const glm::vec<4, T, Q> &v) {
2509  return glm::vec<4, T, Q>(v.w, v.y, v.x, v.z);
2510  }
2511 
2512  // wyxw
2513  template<typename T, qualifier Q>
2514  GLM_INLINE glm::vec<4, T, Q> wyxw(const glm::vec<4, T, Q> &v) {
2515  return glm::vec<4, T, Q>(v.w, v.y, v.x, v.w);
2516  }
2517 
2518  // wyyx
2519  template<typename T, qualifier Q>
2520  GLM_INLINE glm::vec<4, T, Q> wyyx(const glm::vec<4, T, Q> &v) {
2521  return glm::vec<4, T, Q>(v.w, v.y, v.y, v.x);
2522  }
2523 
2524  // wyyy
2525  template<typename T, qualifier Q>
2526  GLM_INLINE glm::vec<4, T, Q> wyyy(const glm::vec<4, T, Q> &v) {
2527  return glm::vec<4, T, Q>(v.w, v.y, v.y, v.y);
2528  }
2529 
2530  // wyyz
2531  template<typename T, qualifier Q>
2532  GLM_INLINE glm::vec<4, T, Q> wyyz(const glm::vec<4, T, Q> &v) {
2533  return glm::vec<4, T, Q>(v.w, v.y, v.y, v.z);
2534  }
2535 
2536  // wyyw
2537  template<typename T, qualifier Q>
2538  GLM_INLINE glm::vec<4, T, Q> wyyw(const glm::vec<4, T, Q> &v) {
2539  return glm::vec<4, T, Q>(v.w, v.y, v.y, v.w);
2540  }
2541 
2542  // wyzx
2543  template<typename T, qualifier Q>
2544  GLM_INLINE glm::vec<4, T, Q> wyzx(const glm::vec<4, T, Q> &v) {
2545  return glm::vec<4, T, Q>(v.w, v.y, v.z, v.x);
2546  }
2547 
2548  // wyzy
2549  template<typename T, qualifier Q>
2550  GLM_INLINE glm::vec<4, T, Q> wyzy(const glm::vec<4, T, Q> &v) {
2551  return glm::vec<4, T, Q>(v.w, v.y, v.z, v.y);
2552  }
2553 
2554  // wyzz
2555  template<typename T, qualifier Q>
2556  GLM_INLINE glm::vec<4, T, Q> wyzz(const glm::vec<4, T, Q> &v) {
2557  return glm::vec<4, T, Q>(v.w, v.y, v.z, v.z);
2558  }
2559 
2560  // wyzw
2561  template<typename T, qualifier Q>
2562  GLM_INLINE glm::vec<4, T, Q> wyzw(const glm::vec<4, T, Q> &v) {
2563  return glm::vec<4, T, Q>(v.w, v.y, v.z, v.w);
2564  }
2565 
2566  // wywx
2567  template<typename T, qualifier Q>
2568  GLM_INLINE glm::vec<4, T, Q> wywx(const glm::vec<4, T, Q> &v) {
2569  return glm::vec<4, T, Q>(v.w, v.y, v.w, v.x);
2570  }
2571 
2572  // wywy
2573  template<typename T, qualifier Q>
2574  GLM_INLINE glm::vec<4, T, Q> wywy(const glm::vec<4, T, Q> &v) {
2575  return glm::vec<4, T, Q>(v.w, v.y, v.w, v.y);
2576  }
2577 
2578  // wywz
2579  template<typename T, qualifier Q>
2580  GLM_INLINE glm::vec<4, T, Q> wywz(const glm::vec<4, T, Q> &v) {
2581  return glm::vec<4, T, Q>(v.w, v.y, v.w, v.z);
2582  }
2583 
2584  // wyww
2585  template<typename T, qualifier Q>
2586  GLM_INLINE glm::vec<4, T, Q> wyww(const glm::vec<4, T, Q> &v) {
2587  return glm::vec<4, T, Q>(v.w, v.y, v.w, v.w);
2588  }
2589 
2590  // wzxx
2591  template<typename T, qualifier Q>
2592  GLM_INLINE glm::vec<4, T, Q> wzxx(const glm::vec<4, T, Q> &v) {
2593  return glm::vec<4, T, Q>(v.w, v.z, v.x, v.x);
2594  }
2595 
2596  // wzxy
2597  template<typename T, qualifier Q>
2598  GLM_INLINE glm::vec<4, T, Q> wzxy(const glm::vec<4, T, Q> &v) {
2599  return glm::vec<4, T, Q>(v.w, v.z, v.x, v.y);
2600  }
2601 
2602  // wzxz
2603  template<typename T, qualifier Q>
2604  GLM_INLINE glm::vec<4, T, Q> wzxz(const glm::vec<4, T, Q> &v) {
2605  return glm::vec<4, T, Q>(v.w, v.z, v.x, v.z);
2606  }
2607 
2608  // wzxw
2609  template<typename T, qualifier Q>
2610  GLM_INLINE glm::vec<4, T, Q> wzxw(const glm::vec<4, T, Q> &v) {
2611  return glm::vec<4, T, Q>(v.w, v.z, v.x, v.w);
2612  }
2613 
2614  // wzyx
2615  template<typename T, qualifier Q>
2616  GLM_INLINE glm::vec<4, T, Q> wzyx(const glm::vec<4, T, Q> &v) {
2617  return glm::vec<4, T, Q>(v.w, v.z, v.y, v.x);
2618  }
2619 
2620  // wzyy
2621  template<typename T, qualifier Q>
2622  GLM_INLINE glm::vec<4, T, Q> wzyy(const glm::vec<4, T, Q> &v) {
2623  return glm::vec<4, T, Q>(v.w, v.z, v.y, v.y);
2624  }
2625 
2626  // wzyz
2627  template<typename T, qualifier Q>
2628  GLM_INLINE glm::vec<4, T, Q> wzyz(const glm::vec<4, T, Q> &v) {
2629  return glm::vec<4, T, Q>(v.w, v.z, v.y, v.z);
2630  }
2631 
2632  // wzyw
2633  template<typename T, qualifier Q>
2634  GLM_INLINE glm::vec<4, T, Q> wzyw(const glm::vec<4, T, Q> &v) {
2635  return glm::vec<4, T, Q>(v.w, v.z, v.y, v.w);
2636  }
2637 
2638  // wzzx
2639  template<typename T, qualifier Q>
2640  GLM_INLINE glm::vec<4, T, Q> wzzx(const glm::vec<4, T, Q> &v) {
2641  return glm::vec<4, T, Q>(v.w, v.z, v.z, v.x);
2642  }
2643 
2644  // wzzy
2645  template<typename T, qualifier Q>
2646  GLM_INLINE glm::vec<4, T, Q> wzzy(const glm::vec<4, T, Q> &v) {
2647  return glm::vec<4, T, Q>(v.w, v.z, v.z, v.y);
2648  }
2649 
2650  // wzzz
2651  template<typename T, qualifier Q>
2652  GLM_INLINE glm::vec<4, T, Q> wzzz(const glm::vec<4, T, Q> &v) {
2653  return glm::vec<4, T, Q>(v.w, v.z, v.z, v.z);
2654  }
2655 
2656  // wzzw
2657  template<typename T, qualifier Q>
2658  GLM_INLINE glm::vec<4, T, Q> wzzw(const glm::vec<4, T, Q> &v) {
2659  return glm::vec<4, T, Q>(v.w, v.z, v.z, v.w);
2660  }
2661 
2662  // wzwx
2663  template<typename T, qualifier Q>
2664  GLM_INLINE glm::vec<4, T, Q> wzwx(const glm::vec<4, T, Q> &v) {
2665  return glm::vec<4, T, Q>(v.w, v.z, v.w, v.x);
2666  }
2667 
2668  // wzwy
2669  template<typename T, qualifier Q>
2670  GLM_INLINE glm::vec<4, T, Q> wzwy(const glm::vec<4, T, Q> &v) {
2671  return glm::vec<4, T, Q>(v.w, v.z, v.w, v.y);
2672  }
2673 
2674  // wzwz
2675  template<typename T, qualifier Q>
2676  GLM_INLINE glm::vec<4, T, Q> wzwz(const glm::vec<4, T, Q> &v) {
2677  return glm::vec<4, T, Q>(v.w, v.z, v.w, v.z);
2678  }
2679 
2680  // wzww
2681  template<typename T, qualifier Q>
2682  GLM_INLINE glm::vec<4, T, Q> wzww(const glm::vec<4, T, Q> &v) {
2683  return glm::vec<4, T, Q>(v.w, v.z, v.w, v.w);
2684  }
2685 
2686  // wwxx
2687  template<typename T, qualifier Q>
2688  GLM_INLINE glm::vec<4, T, Q> wwxx(const glm::vec<4, T, Q> &v) {
2689  return glm::vec<4, T, Q>(v.w, v.w, v.x, v.x);
2690  }
2691 
2692  // wwxy
2693  template<typename T, qualifier Q>
2694  GLM_INLINE glm::vec<4, T, Q> wwxy(const glm::vec<4, T, Q> &v) {
2695  return glm::vec<4, T, Q>(v.w, v.w, v.x, v.y);
2696  }
2697 
2698  // wwxz
2699  template<typename T, qualifier Q>
2700  GLM_INLINE glm::vec<4, T, Q> wwxz(const glm::vec<4, T, Q> &v) {
2701  return glm::vec<4, T, Q>(v.w, v.w, v.x, v.z);
2702  }
2703 
2704  // wwxw
2705  template<typename T, qualifier Q>
2706  GLM_INLINE glm::vec<4, T, Q> wwxw(const glm::vec<4, T, Q> &v) {
2707  return glm::vec<4, T, Q>(v.w, v.w, v.x, v.w);
2708  }
2709 
2710  // wwyx
2711  template<typename T, qualifier Q>
2712  GLM_INLINE glm::vec<4, T, Q> wwyx(const glm::vec<4, T, Q> &v) {
2713  return glm::vec<4, T, Q>(v.w, v.w, v.y, v.x);
2714  }
2715 
2716  // wwyy
2717  template<typename T, qualifier Q>
2718  GLM_INLINE glm::vec<4, T, Q> wwyy(const glm::vec<4, T, Q> &v) {
2719  return glm::vec<4, T, Q>(v.w, v.w, v.y, v.y);
2720  }
2721 
2722  // wwyz
2723  template<typename T, qualifier Q>
2724  GLM_INLINE glm::vec<4, T, Q> wwyz(const glm::vec<4, T, Q> &v) {
2725  return glm::vec<4, T, Q>(v.w, v.w, v.y, v.z);
2726  }
2727 
2728  // wwyw
2729  template<typename T, qualifier Q>
2730  GLM_INLINE glm::vec<4, T, Q> wwyw(const glm::vec<4, T, Q> &v) {
2731  return glm::vec<4, T, Q>(v.w, v.w, v.y, v.w);
2732  }
2733 
2734  // wwzx
2735  template<typename T, qualifier Q>
2736  GLM_INLINE glm::vec<4, T, Q> wwzx(const glm::vec<4, T, Q> &v) {
2737  return glm::vec<4, T, Q>(v.w, v.w, v.z, v.x);
2738  }
2739 
2740  // wwzy
2741  template<typename T, qualifier Q>
2742  GLM_INLINE glm::vec<4, T, Q> wwzy(const glm::vec<4, T, Q> &v) {
2743  return glm::vec<4, T, Q>(v.w, v.w, v.z, v.y);
2744  }
2745 
2746  // wwzz
2747  template<typename T, qualifier Q>
2748  GLM_INLINE glm::vec<4, T, Q> wwzz(const glm::vec<4, T, Q> &v) {
2749  return glm::vec<4, T, Q>(v.w, v.w, v.z, v.z);
2750  }
2751 
2752  // wwzw
2753  template<typename T, qualifier Q>
2754  GLM_INLINE glm::vec<4, T, Q> wwzw(const glm::vec<4, T, Q> &v) {
2755  return glm::vec<4, T, Q>(v.w, v.w, v.z, v.w);
2756  }
2757 
2758  // wwwx
2759  template<typename T, qualifier Q>
2760  GLM_INLINE glm::vec<4, T, Q> wwwx(const glm::vec<4, T, Q> &v) {
2761  return glm::vec<4, T, Q>(v.w, v.w, v.w, v.x);
2762  }
2763 
2764  // wwwy
2765  template<typename T, qualifier Q>
2766  GLM_INLINE glm::vec<4, T, Q> wwwy(const glm::vec<4, T, Q> &v) {
2767  return glm::vec<4, T, Q>(v.w, v.w, v.w, v.y);
2768  }
2769 
2770  // wwwz
2771  template<typename T, qualifier Q>
2772  GLM_INLINE glm::vec<4, T, Q> wwwz(const glm::vec<4, T, Q> &v) {
2773  return glm::vec<4, T, Q>(v.w, v.w, v.w, v.z);
2774  }
2775 
2776  // wwww
2777  template<typename T, qualifier Q>
2778  GLM_INLINE glm::vec<4, T, Q> wwww(const glm::vec<4, T, Q> &v) {
2779  return glm::vec<4, T, Q>(v.w, v.w, v.w, v.w);
2780  }
2781 
2782 }
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00188.html ================================================ 0.9.9 API documentation: vector_angle.hpp File Reference
0.9.9 API documentation
vector_angle.hpp File Reference

GLM_GTX_vector_angle More...

Go to the source code of this file.

Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T angle (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the absolute angle between two vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T orientedAngle (vec< 2, T, Q > const &x, vec< 2, T, Q > const &y)
 Returns the oriented angle between two 2d vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T orientedAngle (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y, vec< 3, T, Q > const &ref)
 Returns the oriented angle between two 3d vectors based from a reference axis. More...
 

Detailed Description

GLM_GTX_vector_angle

See also
Core features (dependence)
GLM_GTX_quaternion (dependence)
gtx_epsilon (dependence)

Definition in file vector_angle.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00188_source.html ================================================ 0.9.9 API documentation: vector_angle.hpp Source File
0.9.9 API documentation
vector_angle.hpp
Go to the documentation of this file.
1 
15 #pragma once
16 
17 // Dependency:
18 #include "../glm.hpp"
19 #include "../gtc/epsilon.hpp"
20 #include "../gtx/quaternion.hpp"
21 #include "../gtx/rotate_vector.hpp"
22 
23 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
24 # ifndef GLM_ENABLE_EXPERIMENTAL
25 # pragma message("GLM: GLM_GTX_vector_angle is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
26 # else
27 # pragma message("GLM: GLM_GTX_vector_angle extension included")
28 # endif
29 #endif
30 
31 namespace glm
32 {
35 
39  template<length_t L, typename T, qualifier Q>
40  GLM_FUNC_DECL T angle(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
41 
45  template<typename T, qualifier Q>
46  GLM_FUNC_DECL T orientedAngle(vec<2, T, Q> const& x, vec<2, T, Q> const& y);
47 
51  template<typename T, qualifier Q>
52  GLM_FUNC_DECL T orientedAngle(vec<3, T, Q> const& x, vec<3, T, Q> const& y, vec<3, T, Q> const& ref);
53 
55 }// namespace glm
56 
57 #include "vector_angle.inl"
GLM_FUNC_DECL T orientedAngle(vec< 3, T, Q > const &x, vec< 3, T, Q > const &y, vec< 3, T, Q > const &ref)
Returns the oriented angle between two 3d vectors based from a reference axis.
GLM_FUNC_DECL T angle(vec< L, T, Q > const &x, vec< L, T, Q > const &y)
Returns the absolute angle between two vectors.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00189.html ================================================ 0.9.9 API documentation: vector_bool1.hpp File Reference
0.9.9 API documentation
vector_bool1.hpp File Reference

GLM_EXT_vector_bool1 More...

Go to the source code of this file.

Typedefs

typedef vec< 1, bool, defaultp > bvec1
 1 components vector of boolean.
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00189_source.html ================================================ 0.9.9 API documentation: vector_bool1.hpp Source File
0.9.9 API documentation
vector_bool1.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 #include "../detail/type_vec1.hpp"
16 
17 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
18 # pragma message("GLM: GLM_EXT_vector_bool1 extension included")
19 #endif
20 
21 namespace glm
22 {
25 
27  typedef vec<1, bool, defaultp> bvec1;
28 
30 }//namespace glm
vec< 1, bool, defaultp > bvec1
1 components vector of boolean.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00190.html ================================================ 0.9.9 API documentation: vector_bool1_precision.hpp File Reference
0.9.9 API documentation
vector_bool1_precision.hpp File Reference

GLM_EXT_vector_bool1_precision More...

Go to the source code of this file.

Typedefs

typedef vec< 1, bool, highp > highp_bvec1
 1 component vector of bool values.
 
typedef vec< 1, bool, lowp > lowp_bvec1
 1 component vector of bool values.
 
typedef vec< 1, bool, mediump > mediump_bvec1
 1 component vector of bool values.
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00190_source.html ================================================ 0.9.9 API documentation: vector_bool1_precision.hpp Source File
0.9.9 API documentation
vector_bool1_precision.hpp
Go to the documentation of this file.
1 
11 #pragma once
12 
13 #include "../detail/type_vec1.hpp"
14 
15 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
16 # pragma message("GLM: GLM_EXT_vector_bool1_precision extension included")
17 #endif
18 
19 namespace glm
20 {
23 
25  typedef vec<1, bool, highp> highp_bvec1;
26 
28  typedef vec<1, bool, mediump> mediump_bvec1;
29 
31  typedef vec<1, bool, lowp> lowp_bvec1;
32 
34 }//namespace glm
vec< 1, bool, highp > highp_bvec1
1 component vector of bool values.
vec< 1, bool, mediump > mediump_bvec1
1 component vector of bool values.
vec< 1, bool, lowp > lowp_bvec1
1 component vector of bool values.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00191.html ================================================ 0.9.9 API documentation: vector_bool2.hpp File Reference
0.9.9 API documentation
vector_bool2.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 2, bool, defaultp > bvec2
 2 components vector of boolean. More...
 

Detailed Description

Core features

Definition in file vector_bool2.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00191_source.html ================================================ 0.9.9 API documentation: vector_bool2.hpp Source File
0.9.9 API documentation
vector_bool2.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_vec2.hpp"
6 
7 namespace glm
8 {
11 
15  typedef vec<2, bool, defaultp> bvec2;
16 
18 }//namespace glm
vec< 2, bool, defaultp > bvec2
2 components vector of boolean.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00192.html ================================================ 0.9.9 API documentation: vector_bool2_precision.hpp File Reference
0.9.9 API documentation
vector_bool2_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 2, bool, highp > highp_bvec2
 2 components vector of high qualifier bool numbers. More...
 
typedef vec< 2, bool, lowp > lowp_bvec2
 2 components vector of low qualifier bool numbers. More...
 
typedef vec< 2, bool, mediump > mediump_bvec2
 2 components vector of medium qualifier bool numbers. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00192_source.html ================================================ 0.9.9 API documentation: vector_bool2_precision.hpp Source File
0.9.9 API documentation
vector_bool2_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_vec2.hpp"
6 
7 namespace glm
8 {
11 
16  typedef vec<2, bool, highp> highp_bvec2;
17 
22  typedef vec<2, bool, mediump> mediump_bvec2;
23 
28  typedef vec<2, bool, lowp> lowp_bvec2;
29 
31 }//namespace glm
vec< 2, bool, highp > highp_bvec2
2 components vector of high qualifier bool numbers.
vec< 2, bool, mediump > mediump_bvec2
2 components vector of medium qualifier bool numbers.
vec< 2, bool, lowp > lowp_bvec2
2 components vector of low qualifier bool numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00193.html ================================================ 0.9.9 API documentation: vector_bool3.hpp File Reference
0.9.9 API documentation
vector_bool3.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 3, bool, defaultp > bvec3
 3 components vector of boolean. More...
 

Detailed Description

Core features

Definition in file vector_bool3.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00193_source.html ================================================ 0.9.9 API documentation: vector_bool3.hpp Source File
0.9.9 API documentation
vector_bool3.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_vec3.hpp"
6 
7 namespace glm
8 {
11 
15  typedef vec<3, bool, defaultp> bvec3;
16 
18 }//namespace glm
vec< 3, bool, defaultp > bvec3
3 components vector of boolean.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00194.html ================================================ 0.9.9 API documentation: vector_bool3_precision.hpp File Reference
0.9.9 API documentation
vector_bool3_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 3, bool, highp > highp_bvec3
 3 components vector of high qualifier bool numbers. More...
 
typedef vec< 3, bool, lowp > lowp_bvec3
 3 components vector of low qualifier bool numbers. More...
 
typedef vec< 3, bool, mediump > mediump_bvec3
 3 components vector of medium qualifier bool numbers. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00194_source.html ================================================ 0.9.9 API documentation: vector_bool3_precision.hpp Source File
0.9.9 API documentation
vector_bool3_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_vec3.hpp"
6 
7 namespace glm
8 {
11 
16  typedef vec<3, bool, highp> highp_bvec3;
17 
22  typedef vec<3, bool, mediump> mediump_bvec3;
23 
28  typedef vec<3, bool, lowp> lowp_bvec3;
29 
31 }//namespace glm
vec< 3, bool, mediump > mediump_bvec3
3 components vector of medium qualifier bool numbers.
vec< 3, bool, highp > highp_bvec3
3 components vector of high qualifier bool numbers.
vec< 3, bool, lowp > lowp_bvec3
3 components vector of low qualifier bool numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00195.html ================================================ 0.9.9 API documentation: vector_bool4.hpp File Reference
0.9.9 API documentation
vector_bool4.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 4, bool, defaultp > bvec4
 4 components vector of boolean. More...
 

Detailed Description

Core features

Definition in file vector_bool4.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00195_source.html ================================================ 0.9.9 API documentation: vector_bool4.hpp Source File
0.9.9 API documentation
vector_bool4.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_vec4.hpp"
6 
7 namespace glm
8 {
11 
15  typedef vec<4, bool, defaultp> bvec4;
16 
18 }//namespace glm
vec< 4, bool, defaultp > bvec4
4 components vector of boolean.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00196.html ================================================ 0.9.9 API documentation: vector_bool4_precision.hpp File Reference
0.9.9 API documentation
vector_bool4_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 4, bool, highp > highp_bvec4
 4 components vector of high qualifier bool numbers. More...
 
typedef vec< 4, bool, lowp > lowp_bvec4
 4 components vector of low qualifier bool numbers. More...
 
typedef vec< 4, bool, mediump > mediump_bvec4
 4 components vector of medium qualifier bool numbers. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00196_source.html ================================================ 0.9.9 API documentation: vector_bool4_precision.hpp Source File
0.9.9 API documentation
vector_bool4_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_vec4.hpp"
6 
7 namespace glm
8 {
11 
16  typedef vec<4, bool, highp> highp_bvec4;
17 
22  typedef vec<4, bool, mediump> mediump_bvec4;
23 
28  typedef vec<4, bool, lowp> lowp_bvec4;
29 
31 }//namespace glm
vec< 4, bool, lowp > lowp_bvec4
4 components vector of low qualifier bool numbers.
vec< 4, bool, mediump > mediump_bvec4
4 components vector of medium qualifier bool numbers.
vec< 4, bool, highp > highp_bvec4
4 components vector of high qualifier bool numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00197.html ================================================ 0.9.9 API documentation: vector_common.hpp File Reference
0.9.9 API documentation
vector_common.hpp File Reference

GLM_EXT_vector_common More...

Go to the source code of this file.

Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmax (vec< L, T, Q > const &a, T b)
 Returns y if x < y; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmax (vec< L, T, Q > const &a, vec< L, T, Q > const &b)
 Returns y if x < y; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmax (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c)
 Returns y if x < y; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmax (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c, vec< L, T, Q > const &d)
 Returns y if x < y; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmin (vec< L, T, Q > const &x, T y)
 Returns y if y < x; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmin (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns y if y < x; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmin (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c)
 Returns y if y < x; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmin (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c, vec< L, T, Q > const &d)
 Returns y if y < x; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > max (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &z)
 Return the maximum component-wise values of 3 inputs. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > max (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &z, vec< L, T, Q > const &w)
 Return the maximum component-wise values of 4 inputs. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > min (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c)
 Return the minimum component-wise values of 3 inputs. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > min (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c, vec< L, T, Q > const &d)
 Return the minimum component-wise values of 4 inputs. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00197_source.html ================================================ 0.9.9 API documentation: vector_common.hpp Source File
0.9.9 API documentation
vector_common.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 // Dependency:
17 #include "../ext/scalar_common.hpp"
18 #include "../common.hpp"
19 
20 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
21 # pragma message("GLM: GLM_EXT_vector_common extension included")
22 #endif
23 
24 namespace glm
25 {
28 
34  template<length_t L, typename T, qualifier Q>
35  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> min(vec<L, T, Q> const& a, vec<L, T, Q> const& b, vec<L, T, Q> const& c);
36 
42  template<length_t L, typename T, qualifier Q>
43  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> min(vec<L, T, Q> const& a, vec<L, T, Q> const& b, vec<L, T, Q> const& c, vec<L, T, Q> const& d);
44 
50  template<length_t L, typename T, qualifier Q>
51  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> max(vec<L, T, Q> const& x, vec<L, T, Q> const& y, vec<L, T, Q> const& z);
52 
58  template<length_t L, typename T, qualifier Q>
59  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> max( vec<L, T, Q> const& x, vec<L, T, Q> const& y, vec<L, T, Q> const& z, vec<L, T, Q> const& w);
60 
68  template<length_t L, typename T, qualifier Q>
69  GLM_FUNC_DECL vec<L, T, Q> fmin(vec<L, T, Q> const& x, T y);
70 
78  template<length_t L, typename T, qualifier Q>
79  GLM_FUNC_DECL vec<L, T, Q> fmin(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
80 
88  template<length_t L, typename T, qualifier Q>
89  GLM_FUNC_DECL vec<L, T, Q> fmin(vec<L, T, Q> const& a, vec<L, T, Q> const& b, vec<L, T, Q> const& c);
90 
98  template<length_t L, typename T, qualifier Q>
99  GLM_FUNC_DECL vec<L, T, Q> fmin(vec<L, T, Q> const& a, vec<L, T, Q> const& b, vec<L, T, Q> const& c, vec<L, T, Q> const& d);
100 
108  template<length_t L, typename T, qualifier Q>
109  GLM_FUNC_DECL vec<L, T, Q> fmax(vec<L, T, Q> const& a, T b);
110 
118  template<length_t L, typename T, qualifier Q>
119  GLM_FUNC_DECL vec<L, T, Q> fmax(vec<L, T, Q> const& a, vec<L, T, Q> const& b);
120 
128  template<length_t L, typename T, qualifier Q>
129  GLM_FUNC_DECL vec<L, T, Q> fmax(vec<L, T, Q> const& a, vec<L, T, Q> const& b, vec<L, T, Q> const& c);
130 
138  template<length_t L, typename T, qualifier Q>
139  GLM_FUNC_DECL vec<L, T, Q> fmax(vec<L, T, Q> const& a, vec<L, T, Q> const& b, vec<L, T, Q> const& c, vec<L, T, Q> const& d);
140 
142 }//namespace glm
143 
144 #include "vector_common.inl"
GLM_FUNC_DECL vec< L, T, Q > fmax(vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c, vec< L, T, Q > const &d)
Returns y if x < y; otherwise, it returns x.
GLM_FUNC_DECL vec< L, T, Q > fmin(vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c, vec< L, T, Q > const &d)
Returns y if y < x; otherwise, it returns x.
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > max(vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &z, vec< L, T, Q > const &w)
Return the maximum component-wise values of 4 inputs.
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > min(vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c, vec< L, T, Q > const &d)
Return the minimum component-wise values of 4 inputs.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00198.html ================================================ 0.9.9 API documentation: vector_double1.hpp File Reference
0.9.9 API documentation
vector_double1.hpp File Reference

GLM_EXT_vector_double1 More...

Go to the source code of this file.

Typedefs

typedef vec< 1, double, defaultp > dvec1
 1 components vector of double-precision floating-point numbers.
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00198_source.html ================================================ 0.9.9 API documentation: vector_double1.hpp Source File
0.9.9 API documentation
vector_double1.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 #include "../detail/type_vec1.hpp"
17 
18 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
19 # pragma message("GLM: GLM_EXT_vector_double1 extension included")
20 #endif
21 
22 namespace glm
23 {
26 
28  typedef vec<1, double, defaultp> dvec1;
29 
31 }//namespace glm
vec< 1, double, defaultp > dvec1
1 components vector of double-precision floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00199.html ================================================ 0.9.9 API documentation: vector_double1_precision.hpp File Reference
0.9.9 API documentation
vector_double1_precision.hpp File Reference

GLM_EXT_vector_double1_precision More...

Go to the source code of this file.

Typedefs

typedef vec< 1, double, highp > highp_dvec1
 1 component vector of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 1, double, lowp > lowp_dvec1
 1 component vector of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 1, double, mediump > mediump_dvec1
 1 component vector of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00199_source.html ================================================ 0.9.9 API documentation: vector_double1_precision.hpp Source File
0.9.9 API documentation
vector_double1_precision.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 #include "../detail/type_vec1.hpp"
16 
17 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
18 # pragma message("GLM: GLM_EXT_vector_double1_precision extension included")
19 #endif
20 
21 namespace glm
22 {
25 
27  typedef vec<1, double, highp> highp_dvec1;
28 
30  typedef vec<1, double, mediump> mediump_dvec1;
31 
33  typedef vec<1, double, lowp> lowp_dvec1;
34 
36 }//namespace glm
vec< 1, double, lowp > lowp_dvec1
1 component vector of double-precision floating-point numbers using low precision arithmetic in term ...
vec< 1, double, highp > highp_dvec1
1 component vector of double-precision floating-point numbers using high precision arithmetic in term...
vec< 1, double, mediump > mediump_dvec1
1 component vector of double-precision floating-point numbers using medium precision arithmetic in te...
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00200.html ================================================ 0.9.9 API documentation: vector_double2.hpp File Reference
0.9.9 API documentation
vector_double2.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 2, double, defaultp > dvec2
 2 components vector of double-precision floating-point numbers. More...
 

Detailed Description

Core features

Definition in file vector_double2.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00200_source.html ================================================ 0.9.9 API documentation: vector_double2.hpp Source File
0.9.9 API documentation
vector_double2.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_vec2.hpp"
6 
7 namespace glm
8 {
11 
15  typedef vec<2, double, defaultp> dvec2;
16 
18 }//namespace glm
vec< 2, double, defaultp > dvec2
2 components vector of double-precision floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00201.html ================================================ 0.9.9 API documentation: vector_double2_precision.hpp File Reference
0.9.9 API documentation
vector_double2_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 2, double, highp > highp_dvec2
 2 components vector of high double-qualifier floating-point numbers. More...
 
typedef vec< 2, double, lowp > lowp_dvec2
 2 components vector of low double-qualifier floating-point numbers. More...
 
typedef vec< 2, double, mediump > mediump_dvec2
 2 components vector of medium double-qualifier floating-point numbers. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00201_source.html ================================================ 0.9.9 API documentation: vector_double2_precision.hpp Source File
0.9.9 API documentation
vector_double2_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_vec2.hpp"
6 
7 namespace glm
8 {
11 
16  typedef vec<2, double, highp> highp_dvec2;
17 
22  typedef vec<2, double, mediump> mediump_dvec2;
23 
28  typedef vec<2, double, lowp> lowp_dvec2;
29 
31 }//namespace glm
vec< 2, double, lowp > lowp_dvec2
2 components vector of low double-qualifier floating-point numbers.
vec< 2, double, mediump > mediump_dvec2
2 components vector of medium double-qualifier floating-point numbers.
vec< 2, double, highp > highp_dvec2
2 components vector of high double-qualifier floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00202.html ================================================ 0.9.9 API documentation: vector_double3.hpp File Reference
0.9.9 API documentation
vector_double3.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 3, double, defaultp > dvec3
 3 components vector of double-precision floating-point numbers. More...
 

Detailed Description

Core features

Definition in file vector_double3.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00202_source.html ================================================ 0.9.9 API documentation: vector_double3.hpp Source File
0.9.9 API documentation
vector_double3.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_vec3.hpp"
6 
7 namespace glm
8 {
11 
15  typedef vec<3, double, defaultp> dvec3;
16 
18 }//namespace glm
vec< 3, double, defaultp > dvec3
3 components vector of double-precision floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00203.html ================================================ 0.9.9 API documentation: vector_double3_precision.hpp File Reference
0.9.9 API documentation
vector_double3_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 3, double, highp > highp_dvec3
 3 components vector of high double-qualifier floating-point numbers. More...
 
typedef vec< 3, double, lowp > lowp_dvec3
 3 components vector of low double-qualifier floating-point numbers. More...
 
typedef vec< 3, double, mediump > mediump_dvec3
 3 components vector of medium double-qualifier floating-point numbers. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00203_source.html ================================================ 0.9.9 API documentation: vector_double3_precision.hpp Source File
0.9.9 API documentation
vector_double3_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_vec3.hpp"
6 
7 namespace glm
8 {
11 
17  typedef vec<3, double, highp> highp_dvec3;
18 
24  typedef vec<3, double, mediump> mediump_dvec3;
25 
31  typedef vec<3, double, lowp> lowp_dvec3;
32 
34 }//namespace glm
vec< 3, double, mediump > mediump_dvec3
3 components vector of medium double-qualifier floating-point numbers.
vec< 3, double, lowp > lowp_dvec3
3 components vector of low double-qualifier floating-point numbers.
vec< 3, double, highp > highp_dvec3
3 components vector of high double-qualifier floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00204.html ================================================ 0.9.9 API documentation: vector_double4.hpp File Reference
0.9.9 API documentation
vector_double4.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 4, double, defaultp > dvec4
 4 components vector of double-precision floating-point numbers. More...
 

Detailed Description

Core features

Definition in file vector_double4.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00204_source.html ================================================ 0.9.9 API documentation: vector_double4.hpp Source File
0.9.9 API documentation
vector_double4.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_vec4.hpp"
6 
7 namespace glm
8 {
11 
15  typedef vec<4, double, defaultp> dvec4;
16 
18 }//namespace glm
vec< 4, double, defaultp > dvec4
4 components vector of double-precision floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00205.html ================================================ 0.9.9 API documentation: vector_double4_precision.hpp File Reference
0.9.9 API documentation
vector_double4_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 4, double, highp > highp_dvec4
 4 components vector of high double-qualifier floating-point numbers. More...
 
typedef vec< 4, double, lowp > lowp_dvec4
 4 components vector of low double-qualifier floating-point numbers. More...
 
typedef vec< 4, double, mediump > mediump_dvec4
 4 components vector of medium double-qualifier floating-point numbers. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00205_source.html ================================================ 0.9.9 API documentation: vector_double4_precision.hpp Source File
0.9.9 API documentation
vector_double4_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/setup.hpp"
6 #include "../detail/type_vec4.hpp"
7 
8 namespace glm
9 {
12 
18  typedef vec<4, double, highp> highp_dvec4;
19 
25  typedef vec<4, double, mediump> mediump_dvec4;
26 
32  typedef vec<4, double, lowp> lowp_dvec4;
33 
35 }//namespace glm
vec< 4, double, mediump > mediump_dvec4
4 components vector of medium double-qualifier floating-point numbers.
vec< 4, double, highp > highp_dvec4
4 components vector of high double-qualifier floating-point numbers.
vec< 4, double, lowp > lowp_dvec4
4 components vector of low double-qualifier floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00206.html ================================================ 0.9.9 API documentation: vector_float1.hpp File Reference
0.9.9 API documentation
vector_float1.hpp File Reference

GLM_EXT_vector_float1 More...

Go to the source code of this file.

Typedefs

typedef vec< 1, float, defaultp > vec1
 1 components vector of single-precision floating-point numbers.
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00206_source.html ================================================ 0.9.9 API documentation: vector_float1.hpp Source File
0.9.9 API documentation
vector_float1.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 #include "../detail/type_vec1.hpp"
17 
18 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
19 # pragma message("GLM: GLM_EXT_vector_float1 extension included")
20 #endif
21 
22 namespace glm
23 {
26 
28  typedef vec<1, float, defaultp> vec1;
29 
31 }//namespace glm
vec< 1, float, defaultp > vec1
1 components vector of single-precision floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00207.html ================================================ 0.9.9 API documentation: vector_float1_precision.hpp File Reference
0.9.9 API documentation
vector_float1_precision.hpp File Reference

GLM_EXT_vector_float1_precision More...

Go to the source code of this file.

Typedefs

typedef vec< 1, float, highp > highp_vec1
 1 component vector of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 1, float, lowp > lowp_vec1
 1 component vector of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 1, float, mediump > mediump_vec1
 1 component vector of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00207_source.html ================================================ 0.9.9 API documentation: vector_float1_precision.hpp Source File
0.9.9 API documentation
vector_float1_precision.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 #include "../detail/type_vec1.hpp"
16 
17 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
18 # pragma message("GLM: GLM_EXT_vector_float1_precision extension included")
19 #endif
20 
21 namespace glm
22 {
25 
27  typedef vec<1, float, highp> highp_vec1;
28 
30  typedef vec<1, float, mediump> mediump_vec1;
31 
33  typedef vec<1, float, lowp> lowp_vec1;
34 
36 }//namespace glm
vec< 1, float, lowp > lowp_vec1
1 component vector of single-precision floating-point numbers using low precision arithmetic in term ...
vec< 1, float, mediump > mediump_vec1
1 component vector of single-precision floating-point numbers using medium precision arithmetic in te...
vec< 1, float, highp > highp_vec1
1 component vector of single-precision floating-point numbers using high precision arithmetic in term...
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00208.html ================================================ 0.9.9 API documentation: vector_float2.hpp File Reference
0.9.9 API documentation
vector_float2.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 2, float, defaultp > vec2
 2 components vector of single-precision floating-point numbers. More...
 

Detailed Description

Core features

Definition in file vector_float2.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00208_source.html ================================================ 0.9.9 API documentation: vector_float2.hpp Source File
0.9.9 API documentation
vector_float2.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_vec2.hpp"
6 
7 namespace glm
8 {
11 
15  typedef vec<2, float, defaultp> vec2;
16 
18 }//namespace glm
vec< 2, float, defaultp > vec2
2 components vector of single-precision floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00209.html ================================================ 0.9.9 API documentation: vector_float2_precision.hpp File Reference
0.9.9 API documentation
vector_float2_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 2, float, highp > highp_vec2
 2 components vector of high single-qualifier floating-point numbers. More...
 
typedef vec< 2, float, lowp > lowp_vec2
 2 components vector of low single-qualifier floating-point numbers. More...
 
typedef vec< 2, float, mediump > mediump_vec2
 2 components vector of medium single-qualifier floating-point numbers. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00209_source.html ================================================ 0.9.9 API documentation: vector_float2_precision.hpp Source File
0.9.9 API documentation
vector_float2_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_vec2.hpp"
6 
7 namespace glm
8 {
11 
16  typedef vec<2, float, highp> highp_vec2;
17 
22  typedef vec<2, float, mediump> mediump_vec2;
23 
28  typedef vec<2, float, lowp> lowp_vec2;
29 
31 }//namespace glm
vec< 2, float, highp > highp_vec2
2 components vector of high single-qualifier floating-point numbers.
vec< 2, float, lowp > lowp_vec2
2 components vector of low single-qualifier floating-point numbers.
vec< 2, float, mediump > mediump_vec2
2 components vector of medium single-qualifier floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00210.html ================================================ 0.9.9 API documentation: vector_float3.hpp File Reference
0.9.9 API documentation
vector_float3.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 3, float, defaultp > vec3
 3 components vector of single-precision floating-point numbers. More...
 

Detailed Description

Core features

Definition in file vector_float3.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00210_source.html ================================================ 0.9.9 API documentation: vector_float3.hpp Source File
0.9.9 API documentation
vector_float3.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_vec3.hpp"
6 
7 namespace glm
8 {
11 
15  typedef vec<3, float, defaultp> vec3;
16 
18 }//namespace glm
vec< 3, float, defaultp > vec3
3 components vector of single-precision floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00211.html ================================================ 0.9.9 API documentation: vector_float3_precision.hpp File Reference
0.9.9 API documentation
vector_float3_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 3, float, highp > highp_vec3
 3 components vector of high single-qualifier floating-point numbers. More...
 
typedef vec< 3, float, lowp > lowp_vec3
 3 components vector of low single-qualifier floating-point numbers. More...
 
typedef vec< 3, float, mediump > mediump_vec3
 3 components vector of medium single-qualifier floating-point numbers. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00211_source.html ================================================ 0.9.9 API documentation: vector_float3_precision.hpp Source File
0.9.9 API documentation
vector_float3_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_vec3.hpp"
6 
7 namespace glm
8 {
11 
16  typedef vec<3, float, highp> highp_vec3;
17 
22  typedef vec<3, float, mediump> mediump_vec3;
23 
28  typedef vec<3, float, lowp> lowp_vec3;
29 
31 }//namespace glm
vec< 3, float, highp > highp_vec3
3 components vector of high single-qualifier floating-point numbers.
vec< 3, float, lowp > lowp_vec3
3 components vector of low single-qualifier floating-point numbers.
vec< 3, float, mediump > mediump_vec3
3 components vector of medium single-qualifier floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00212.html ================================================ 0.9.9 API documentation: vector_float4.hpp File Reference
0.9.9 API documentation
vector_float4.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 4, float, defaultp > vec4
 4 components vector of single-precision floating-point numbers. More...
 

Detailed Description

Core features

Definition in file vector_float4.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00212_source.html ================================================ 0.9.9 API documentation: vector_float4.hpp Source File
0.9.9 API documentation
vector_float4.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_vec4.hpp"
6 
7 namespace glm
8 {
11 
15  typedef vec<4, float, defaultp> vec4;
16 
18 }//namespace glm
vec< 4, float, defaultp > vec4
4 components vector of single-precision floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00213.html ================================================ 0.9.9 API documentation: vector_float4_precision.hpp File Reference
0.9.9 API documentation
vector_float4_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 4, float, highp > highp_vec4
 4 components vector of high single-qualifier floating-point numbers. More...
 
typedef vec< 4, float, lowp > lowp_vec4
 4 components vector of low single-qualifier floating-point numbers. More...
 
typedef vec< 4, float, mediump > mediump_vec4
 4 components vector of medium single-qualifier floating-point numbers. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00213_source.html ================================================ 0.9.9 API documentation: vector_float4_precision.hpp Source File
0.9.9 API documentation
vector_float4_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_vec4.hpp"
6 
7 namespace glm
8 {
11 
16  typedef vec<4, float, highp> highp_vec4;
17 
22  typedef vec<4, float, mediump> mediump_vec4;
23 
28  typedef vec<4, float, lowp> lowp_vec4;
29 
31 }//namespace glm
vec< 4, float, lowp > lowp_vec4
4 components vector of low single-qualifier floating-point numbers.
vec< 4, float, mediump > mediump_vec4
4 components vector of medium single-qualifier floating-point numbers.
vec< 4, float, highp > highp_vec4
4 components vector of high single-qualifier floating-point numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00214.html ================================================ 0.9.9 API documentation: vector_int1.hpp File Reference
0.9.9 API documentation
vector_int1.hpp File Reference

GLM_EXT_vector_int1 More...

Go to the source code of this file.

Typedefs

typedef vec< 1, int, defaultp > ivec1
 1 component vector of signed integer numbers.
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00214_source.html ================================================ 0.9.9 API documentation: vector_int1.hpp Source File
0.9.9 API documentation
vector_int1.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 #include "../detail/type_vec1.hpp"
17 
18 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
19 # pragma message("GLM: GLM_EXT_vector_int1 extension included")
20 #endif
21 
22 namespace glm
23 {
26 
28  typedef vec<1, int, defaultp> ivec1;
29 
31 }//namespace glm
32 
vec< 1, int, defaultp > ivec1
1 component vector of signed integer numbers.
Definition: vector_int1.hpp:28
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00215.html ================================================ 0.9.9 API documentation: vector_int1_precision.hpp File Reference
0.9.9 API documentation
vector_int1_precision.hpp File Reference

GLM_EXT_vector_int1_precision More...

Go to the source code of this file.

Typedefs

typedef vec< 1, int, highp > highp_ivec1
 1 component vector of signed integer values.
 
typedef vec< 1, int, lowp > lowp_ivec1
 1 component vector of signed integer values.
 
typedef vec< 1, int, mediump > mediump_ivec1
 1 component vector of signed integer values.
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00215_source.html ================================================ 0.9.9 API documentation: vector_int1_precision.hpp Source File
0.9.9 API documentation
vector_int1_precision.hpp
Go to the documentation of this file.
1 
11 #pragma once
12 
13 #include "../detail/type_vec1.hpp"
14 
15 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
16 # pragma message("GLM: GLM_EXT_vector_int1_precision extension included")
17 #endif
18 
19 namespace glm
20 {
23 
25  typedef vec<1, int, highp> highp_ivec1;
26 
28  typedef vec<1, int, mediump> mediump_ivec1;
29 
31  typedef vec<1, int, lowp> lowp_ivec1;
32 
34 }//namespace glm
vec< 1, int, mediump > mediump_ivec1
1 component vector of signed integer values.
vec< 1, int, highp > highp_ivec1
1 component vector of signed integer values.
vec< 1, int, lowp > lowp_ivec1
1 component vector of signed integer values.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00216.html ================================================ 0.9.9 API documentation: vector_int2.hpp File Reference
0.9.9 API documentation
vector_int2.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 2, int, defaultp > ivec2
 2 components vector of signed integer numbers. More...
 

Detailed Description

Core features

Definition in file vector_int2.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00216_source.html ================================================ 0.9.9 API documentation: vector_int2.hpp Source File
0.9.9 API documentation
vector_int2.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_vec2.hpp"
6 
7 namespace glm
8 {
11 
15  typedef vec<2, int, defaultp> ivec2;
16 
18 }//namespace glm
vec< 2, int, defaultp > ivec2
2 components vector of signed integer numbers.
Definition: vector_int2.hpp:15
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00217.html ================================================ 0.9.9 API documentation: vector_int2_precision.hpp File Reference
0.9.9 API documentation
vector_int2_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 2, int, highp > highp_ivec2
 2 components vector of high qualifier signed integer numbers. More...
 
typedef vec< 2, int, lowp > lowp_ivec2
 2 components vector of low qualifier signed integer numbers. More...
 
typedef vec< 2, int, mediump > mediump_ivec2
 2 components vector of medium qualifier signed integer numbers. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00217_source.html ================================================ 0.9.9 API documentation: vector_int2_precision.hpp Source File
0.9.9 API documentation
vector_int2_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_vec2.hpp"
6 
7 namespace glm
8 {
11 
16  typedef vec<2, int, highp> highp_ivec2;
17 
22  typedef vec<2, int, mediump> mediump_ivec2;
23 
28  typedef vec<2, int, lowp> lowp_ivec2;
29 
31 }//namespace glm
vec< 2, int, highp > highp_ivec2
2 components vector of high qualifier signed integer numbers.
vec< 2, int, mediump > mediump_ivec2
2 components vector of medium qualifier signed integer numbers.
vec< 2, int, lowp > lowp_ivec2
2 components vector of low qualifier signed integer numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00218.html ================================================ 0.9.9 API documentation: vector_int3.hpp File Reference
0.9.9 API documentation
vector_int3.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 3, int, defaultp > ivec3
 3 components vector of signed integer numbers. More...
 

Detailed Description

Core features

Definition in file vector_int3.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00218_source.html ================================================ 0.9.9 API documentation: vector_int3.hpp Source File
0.9.9 API documentation
vector_int3.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_vec3.hpp"
6 
7 namespace glm
8 {
11 
15  typedef vec<3, int, defaultp> ivec3;
16 
18 }//namespace glm
vec< 3, int, defaultp > ivec3
3 components vector of signed integer numbers.
Definition: vector_int3.hpp:15
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00219.html ================================================ 0.9.9 API documentation: vector_int3_precision.hpp File Reference
0.9.9 API documentation
vector_int3_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 3, int, highp > highp_ivec3
 3 components vector of high qualifier signed integer numbers. More...
 
typedef vec< 3, int, lowp > lowp_ivec3
 3 components vector of low qualifier signed integer numbers. More...
 
typedef vec< 3, int, mediump > mediump_ivec3
 3 components vector of medium qualifier signed integer numbers. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00219_source.html ================================================ 0.9.9 API documentation: vector_int3_precision.hpp Source File
0.9.9 API documentation
vector_int3_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_vec3.hpp"
6 
7 namespace glm
8 {
11 
16  typedef vec<3, int, highp> highp_ivec3;
17 
22  typedef vec<3, int, mediump> mediump_ivec3;
23 
28  typedef vec<3, int, lowp> lowp_ivec3;
29 
31 }//namespace glm
vec< 3, int, lowp > lowp_ivec3
3 components vector of low qualifier signed integer numbers.
vec< 3, int, mediump > mediump_ivec3
3 components vector of medium qualifier signed integer numbers.
vec< 3, int, highp > highp_ivec3
3 components vector of high qualifier signed integer numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00220.html ================================================ 0.9.9 API documentation: vector_int4.hpp File Reference
0.9.9 API documentation
vector_int4.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 4, int, defaultp > ivec4
 4 components vector of signed integer numbers. More...
 

Detailed Description

Core features

Definition in file vector_int4.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00220_source.html ================================================ 0.9.9 API documentation: vector_int4.hpp Source File
0.9.9 API documentation
vector_int4.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_vec4.hpp"
6 
7 namespace glm
8 {
11 
15  typedef vec<4, int, defaultp> ivec4;
16 
18 }//namespace glm
vec< 4, int, defaultp > ivec4
4 components vector of signed integer numbers.
Definition: vector_int4.hpp:15
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00221.html ================================================ 0.9.9 API documentation: vector_int4_precision.hpp File Reference
0.9.9 API documentation
vector_int4_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 4, int, highp > highp_ivec4
 4 components vector of high qualifier signed integer numbers. More...
 
typedef vec< 4, int, lowp > lowp_ivec4
 4 components vector of low qualifier signed integer numbers. More...
 
typedef vec< 4, int, mediump > mediump_ivec4
 4 components vector of medium qualifier signed integer numbers. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00221_source.html ================================================ 0.9.9 API documentation: vector_int4_precision.hpp Source File
0.9.9 API documentation
vector_int4_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_vec4.hpp"
6 
7 namespace glm
8 {
11 
16  typedef vec<4, int, highp> highp_ivec4;
17 
22  typedef vec<4, int, mediump> mediump_ivec4;
23 
28  typedef vec<4, int, lowp> lowp_ivec4;
29 
31 }//namespace glm
vec< 4, int, lowp > lowp_ivec4
4 components vector of low qualifier signed integer numbers.
vec< 4, int, highp > highp_ivec4
4 components vector of high qualifier signed integer numbers.
vec< 4, int, mediump > mediump_ivec4
4 components vector of medium qualifier signed integer numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00222.html ================================================ 0.9.9 API documentation: vector_integer.hpp File Reference
0.9.9 API documentation
vector_integer.hpp File Reference

GLM_EXT_vector_integer More...

Go to the source code of this file.

Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > findNSB (vec< L, T, Q > const &Source, vec< L, int, Q > SignificantBitCount)
 Returns the bit number of the Nth significant bit set to 1 in the binary representation of value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > isMultiple (vec< L, T, Q > const &v, T Multiple)
 Return true if the 'Value' is a multiple of 'Multiple'. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > isMultiple (vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
 Return true if the 'Value' is a multiple of 'Multiple'. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > isPowerOfTwo (vec< L, T, Q > const &v)
 Return true if the value is a power of two number. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > nextMultiple (vec< L, T, Q > const &v, T Multiple)
 Higher multiple number of Source. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > nextMultiple (vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
 Higher multiple number of Source. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > nextPowerOfTwo (vec< L, T, Q > const &v)
 Return the power of two number which value is just higher the input value, round up to a power of two. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prevMultiple (vec< L, T, Q > const &v, T Multiple)
 Lower multiple number of Source. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prevMultiple (vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
 Lower multiple number of Source. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prevPowerOfTwo (vec< L, T, Q > const &v)
 Return the power of two number which value is just lower the input value, round down to a power of two. More...
 

Detailed Description

GLM_EXT_vector_integer

See also
Core features (dependence)
GLM_EXT_vector_integer (dependence)

Definition in file vector_integer.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00222_source.html ================================================ 0.9.9 API documentation: vector_integer.hpp Source File
0.9.9 API documentation
vector_integer.hpp
Go to the documentation of this file.
1 
12 #pragma once
13 
14 // Dependencies
15 #include "../detail/setup.hpp"
16 #include "../detail/qualifier.hpp"
17 #include "../detail/_vectorize.hpp"
18 #include "../vector_relational.hpp"
19 #include "../common.hpp"
20 #include <limits>
21 
22 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
23 # pragma message("GLM: GLM_EXT_vector_integer extension included")
24 #endif
25 
26 namespace glm
27 {
30 
38  template<length_t L, typename T, qualifier Q>
39  GLM_FUNC_DECL vec<L, bool, Q> isPowerOfTwo(vec<L, T, Q> const& v);
40 
49  template<length_t L, typename T, qualifier Q>
50  GLM_FUNC_DECL vec<L, T, Q> nextPowerOfTwo(vec<L, T, Q> const& v);
51 
60  template<length_t L, typename T, qualifier Q>
61  GLM_FUNC_DECL vec<L, T, Q> prevPowerOfTwo(vec<L, T, Q> const& v);
62 
70  template<length_t L, typename T, qualifier Q>
71  GLM_FUNC_DECL vec<L, bool, Q> isMultiple(vec<L, T, Q> const& v, T Multiple);
72 
80  template<length_t L, typename T, qualifier Q>
81  GLM_FUNC_DECL vec<L, bool, Q> isMultiple(vec<L, T, Q> const& v, vec<L, T, Q> const& Multiple);
82 
93  template<length_t L, typename T, qualifier Q>
94  GLM_FUNC_DECL vec<L, T, Q> nextMultiple(vec<L, T, Q> const& v, T Multiple);
95 
106  template<length_t L, typename T, qualifier Q>
107  GLM_FUNC_DECL vec<L, T, Q> nextMultiple(vec<L, T, Q> const& v, vec<L, T, Q> const& Multiple);
108 
119  template<length_t L, typename T, qualifier Q>
120  GLM_FUNC_DECL vec<L, T, Q> prevMultiple(vec<L, T, Q> const& v, T Multiple);
121 
132  template<length_t L, typename T, qualifier Q>
133  GLM_FUNC_DECL vec<L, T, Q> prevMultiple(vec<L, T, Q> const& v, vec<L, T, Q> const& Multiple);
134 
143  template<length_t L, typename T, qualifier Q>
144  GLM_FUNC_DECL vec<L, int, Q> findNSB(vec<L, T, Q> const& Source, vec<L, int, Q> SignificantBitCount);
145 
147 } //namespace glm
148 
149 #include "vector_integer.inl"
GLM_FUNC_DECL vec< L, bool, Q > isPowerOfTwo(vec< L, T, Q > const &v)
Return true if the value is a power of two number.
GLM_FUNC_DECL vec< L, T, Q > nextPowerOfTwo(vec< L, T, Q > const &v)
Return the power of two number which value is just higher the input value, round up to a power of two...
GLM_FUNC_DECL vec< L, T, Q > nextMultiple(vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
Higher multiple number of Source.
GLM_FUNC_DECL vec< L, T, Q > prevPowerOfTwo(vec< L, T, Q > const &v)
Return the power of two number which value is just lower the input value, round down to a power of tw...
GLM_FUNC_DECL vec< L, int, Q > findNSB(vec< L, T, Q > const &Source, vec< L, int, Q > SignificantBitCount)
Returns the bit number of the Nth significant bit set to 1 in the binary representation of value...
GLM_FUNC_DECL vec< L, T, Q > prevMultiple(vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
Lower multiple number of Source.
GLM_FUNC_DECL vec< L, bool, Q > isMultiple(vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
Return true if the 'Value' is a multiple of 'Multiple'.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00223.html ================================================ 0.9.9 API documentation: vector_query.hpp File Reference
0.9.9 API documentation
vector_query.hpp File Reference

GLM_GTX_vector_query More...

Go to the source code of this file.

Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL bool areCollinear (vec< L, T, Q > const &v0, vec< L, T, Q > const &v1, T const &epsilon)
 Check whether two vectors are collinears. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL bool areOrthogonal (vec< L, T, Q > const &v0, vec< L, T, Q > const &v1, T const &epsilon)
 Check whether two vectors are orthogonals. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL bool areOrthonormal (vec< L, T, Q > const &v0, vec< L, T, Q > const &v1, T const &epsilon)
 Check whether two vectors are orthonormal. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > isCompNull (vec< L, T, Q > const &v, T const &epsilon)
 Check whether a each component of a vector is null. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL bool isNormalized (vec< L, T, Q > const &v, T const &epsilon)
 Check whether a vector is normalized. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL bool isNull (vec< L, T, Q > const &v, T const &epsilon)
 Check whether a vector is null. More...
 

Detailed Description

GLM_GTX_vector_query

See also
Core features (dependence)

Definition in file vector_query.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00223_source.html ================================================ 0.9.9 API documentation: vector_query.hpp Source File
0.9.9 API documentation
vector_query.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependency:
16 #include "../glm.hpp"
17 #include <cfloat>
18 #include <limits>
19 
20 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
21 # ifndef GLM_ENABLE_EXPERIMENTAL
22 # pragma message("GLM: GLM_GTX_vector_query is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
23 # else
24 # pragma message("GLM: GLM_GTX_vector_query extension included")
25 # endif
26 #endif
27 
28 namespace glm
29 {
32 
35  template<length_t L, typename T, qualifier Q>
36  GLM_FUNC_DECL bool areCollinear(vec<L, T, Q> const& v0, vec<L, T, Q> const& v1, T const& epsilon);
37 
40  template<length_t L, typename T, qualifier Q>
41  GLM_FUNC_DECL bool areOrthogonal(vec<L, T, Q> const& v0, vec<L, T, Q> const& v1, T const& epsilon);
42 
45  template<length_t L, typename T, qualifier Q>
46  GLM_FUNC_DECL bool isNormalized(vec<L, T, Q> const& v, T const& epsilon);
47 
50  template<length_t L, typename T, qualifier Q>
51  GLM_FUNC_DECL bool isNull(vec<L, T, Q> const& v, T const& epsilon);
52 
55  template<length_t L, typename T, qualifier Q>
56  GLM_FUNC_DECL vec<L, bool, Q> isCompNull(vec<L, T, Q> const& v, T const& epsilon);
57 
60  template<length_t L, typename T, qualifier Q>
61  GLM_FUNC_DECL bool areOrthonormal(vec<L, T, Q> const& v0, vec<L, T, Q> const& v1, T const& epsilon);
62 
64 }// namespace glm
65 
66 #include "vector_query.inl"
GLM_FUNC_DECL bool isNull(vec< L, T, Q > const &v, T const &epsilon)
Check whether a vector is null.
GLM_FUNC_DECL bool areCollinear(vec< L, T, Q > const &v0, vec< L, T, Q > const &v1, T const &epsilon)
Check whether two vectors are collinears.
GLM_FUNC_DECL bool isNormalized(vec< L, T, Q > const &v, T const &epsilon)
Check whether a vector is normalized.
GLM_FUNC_DECL bool areOrthonormal(vec< L, T, Q > const &v0, vec< L, T, Q > const &v1, T const &epsilon)
Check whether two vectors are orthonormal.
GLM_FUNC_DECL vec< L, bool, Q > isCompNull(vec< L, T, Q > const &v, T const &epsilon)
Check whether a each component of a vector is null.
GLM_FUNC_DECL bool areOrthogonal(vec< L, T, Q > const &v0, vec< L, T, Q > const &v1, T const &epsilon)
Check whether two vectors are orthogonals.
GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon()
Return the epsilon constant for floating point types.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00224.html ================================================ 0.9.9 API documentation: vector_relational.hpp File Reference
0.9.9 API documentation
ext/vector_relational.hpp File Reference

GLM_EXT_vector_relational More...

Go to the source code of this file.

Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y, T epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y, int ULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, int, Q > const &ULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, T epsilon)
 Returns the component-wise comparison of |x - y| >= epsilon. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &epsilon)
 Returns the component-wise comparison of |x - y| >= epsilon. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, int ULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, int, Q > const &ULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 

Detailed Description

GLM_EXT_vector_relational

See also
Core features (dependence)
GLM_EXT_scalar_integer (dependence)

Definition in file ext/vector_relational.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00224_source.html ================================================ 0.9.9 API documentation: vector_relational.hpp Source File
0.9.9 API documentation
ext/vector_relational.hpp
Go to the documentation of this file.
1 
18 #pragma once
19 
20 // Dependencies
21 #include "../detail/qualifier.hpp"
22 
23 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
24 # pragma message("GLM: GLM_EXT_vector_relational extension included")
25 #endif
26 
27 namespace glm
28 {
31 
38  template<length_t L, typename T, qualifier Q>
39  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> equal(vec<L, T, Q> const& x, vec<L, T, Q> const& y, T epsilon);
40 
47  template<length_t L, typename T, qualifier Q>
48  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> equal(vec<L, T, Q> const& x, vec<L, T, Q> const& y, vec<L, T, Q> const& epsilon);
49 
56  template<length_t L, typename T, qualifier Q>
57  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> notEqual(vec<L, T, Q> const& x, vec<L, T, Q> const& y, T epsilon);
58 
65  template<length_t L, typename T, qualifier Q>
66  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> notEqual(vec<L, T, Q> const& x, vec<L, T, Q> const& y, vec<L, T, Q> const& epsilon);
67 
74  template<length_t L, typename T, qualifier Q>
75  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> equal(vec<L, T, Q> const& x, vec<L, T, Q> const& y, int ULPs);
76 
83  template<length_t L, typename T, qualifier Q>
84  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> equal(vec<L, T, Q> const& x, vec<L, T, Q> const& y, vec<L, int, Q> const& ULPs);
85 
92  template<length_t L, typename T, qualifier Q>
93  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> notEqual(vec<L, T, Q> const& x, vec<L, T, Q> const& y, int ULPs);
94 
101  template<length_t L, typename T, qualifier Q>
102  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> notEqual(vec<L, T, Q> const& x, vec<L, T, Q> const& y, vec<L, int, Q> const& ULPs);
103 
105 }//namespace glm
106 
107 #include "vector_relational.inl"
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > notEqual(vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, int, Q > const &ULPs)
Returns the component-wise comparison between two vectors in term of ULPs.
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > equal(vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, int, Q > const &ULPs)
Returns the component-wise comparison between two vectors in term of ULPs.
GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon()
Return the epsilon constant for floating point types.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00225.html ================================================ 0.9.9 API documentation: vector_relational.hpp File Reference
0.9.9 API documentation
vector_relational.hpp File Reference

Core features More...

Go to the source code of this file.

Functions

template<length_t L, qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool all (vec< L, bool, Q > const &v)
 Returns true if all components of x are true. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool any (vec< L, bool, Q > const &v)
 Returns true if any component of x is true. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the component-wise comparison of result x == y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > greaterThan (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the component-wise comparison of result x > y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > greaterThanEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the component-wise comparison of result x >= y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > lessThan (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the component-wise comparison result of x < y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > lessThanEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the component-wise comparison of result x <= y. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > not_ (vec< L, bool, Q > const &v)
 Returns the component-wise logical complement of x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the component-wise comparison of result x != y. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00225_source.html ================================================ 0.9.9 API documentation: vector_relational.hpp Source File
0.9.9 API documentation
vector_relational.hpp
Go to the documentation of this file.
1 
20 #pragma once
21 
22 #include "detail/qualifier.hpp"
23 #include "detail/setup.hpp"
24 
25 namespace glm
26 {
29 
37  template<length_t L, typename T, qualifier Q>
38  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> lessThan(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
39 
47  template<length_t L, typename T, qualifier Q>
48  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> lessThanEqual(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
49 
57  template<length_t L, typename T, qualifier Q>
58  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> greaterThan(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
59 
67  template<length_t L, typename T, qualifier Q>
68  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> greaterThanEqual(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
69 
77  template<length_t L, typename T, qualifier Q>
78  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> equal(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
79 
87  template<length_t L, typename T, qualifier Q>
88  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> notEqual(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
89 
96  template<length_t L, qualifier Q>
97  GLM_FUNC_DECL GLM_CONSTEXPR bool any(vec<L, bool, Q> const& v);
98 
105  template<length_t L, qualifier Q>
106  GLM_FUNC_DECL GLM_CONSTEXPR bool all(vec<L, bool, Q> const& v);
107 
115  template<length_t L, qualifier Q>
116  GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> not_(vec<L, bool, Q> const& v);
117 
119 }//namespace glm
120 
121 #include "detail/func_vector_relational.inl"
GLM_FUNC_DECL GLM_CONSTEXPR bool all(vec< L, bool, Q > const &v)
Returns true if all components of x are true.
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > greaterThan(vec< L, T, Q > const &x, vec< L, T, Q > const &y)
Returns the component-wise comparison of result x > y.
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > notEqual(vec< L, T, Q > const &x, vec< L, T, Q > const &y)
Returns the component-wise comparison of result x != y.
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > lessThanEqual(vec< L, T, Q > const &x, vec< L, T, Q > const &y)
Returns the component-wise comparison of result x <= y.
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > not_(vec< L, bool, Q > const &v)
Returns the component-wise logical complement of x.
GLM_FUNC_DECL GLM_CONSTEXPR bool any(vec< L, bool, Q > const &v)
Returns true if any component of x is true.
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > equal(vec< L, T, Q > const &x, vec< L, T, Q > const &y)
Returns the component-wise comparison of result x == y.
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > greaterThanEqual(vec< L, T, Q > const &x, vec< L, T, Q > const &y)
Returns the component-wise comparison of result x >= y.
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > lessThan(vec< L, T, Q > const &x, vec< L, T, Q > const &y)
Returns the component-wise comparison result of x < y.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00226.html ================================================ 0.9.9 API documentation: vector_uint1.hpp File Reference
0.9.9 API documentation
vector_uint1.hpp File Reference

GLM_EXT_vector_uint1 More...

Go to the source code of this file.

Typedefs

typedef vec< 1, unsigned int, defaultp > uvec1
 1 component vector of unsigned integer numbers.
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00226_source.html ================================================ 0.9.9 API documentation: vector_uint1.hpp Source File
0.9.9 API documentation
vector_uint1.hpp
Go to the documentation of this file.
1 
14 #pragma once
15 
16 #include "../detail/type_vec1.hpp"
17 
18 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
19 # pragma message("GLM: GLM_EXT_vector_uint1 extension included")
20 #endif
21 
22 namespace glm
23 {
26 
28  typedef vec<1, unsigned int, defaultp> uvec1;
29 
31 }//namespace glm
32 
vec< 1, unsigned int, defaultp > uvec1
1 component vector of unsigned integer numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00227.html ================================================ 0.9.9 API documentation: vector_uint1_precision.hpp File Reference
0.9.9 API documentation
vector_uint1_precision.hpp File Reference

GLM_EXT_vector_uint1_precision More...

Go to the source code of this file.

Typedefs

typedef vec< 1, unsigned int, highp > highp_uvec1
 1 component vector of unsigned integer values. More...
 
typedef vec< 1, unsigned int, lowp > lowp_uvec1
 1 component vector of unsigned integer values. More...
 
typedef vec< 1, unsigned int, mediump > mediump_uvec1
 1 component vector of unsigned integer values. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00227_source.html ================================================ 0.9.9 API documentation: vector_uint1_precision.hpp Source File
0.9.9 API documentation
vector_uint1_precision.hpp
Go to the documentation of this file.
1 
11 #pragma once
12 
13 #include "../detail/type_vec1.hpp"
14 
15 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
16 # pragma message("GLM: GLM_EXT_vector_uint1_precision extension included")
17 #endif
18 
19 namespace glm
20 {
23 
27  typedef vec<1, unsigned int, highp> highp_uvec1;
28 
32  typedef vec<1, unsigned int, mediump> mediump_uvec1;
33 
37  typedef vec<1, unsigned int, lowp> lowp_uvec1;
38 
40 }//namespace glm
vec< 1, unsigned int, mediump > mediump_uvec1
1 component vector of unsigned integer values.
vec< 1, unsigned int, highp > highp_uvec1
1 component vector of unsigned integer values.
vec< 1, unsigned int, lowp > lowp_uvec1
1 component vector of unsigned integer values.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00228.html ================================================ 0.9.9 API documentation: vector_uint2.hpp File Reference
0.9.9 API documentation
vector_uint2.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 2, unsigned int, defaultp > uvec2
 2 components vector of unsigned integer numbers. More...
 

Detailed Description

Core features

Definition in file vector_uint2.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00228_source.html ================================================ 0.9.9 API documentation: vector_uint2.hpp Source File
0.9.9 API documentation
vector_uint2.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_vec2.hpp"
6 
7 namespace glm
8 {
11 
15  typedef vec<2, unsigned int, defaultp> uvec2;
16 
18 }//namespace glm
vec< 2, unsigned int, defaultp > uvec2
2 components vector of unsigned integer numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00229.html ================================================ 0.9.9 API documentation: vector_uint2_precision.hpp File Reference
0.9.9 API documentation
vector_uint2_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 2, unsigned int, highp > highp_uvec2
 2 components vector of high qualifier unsigned integer numbers. More...
 
typedef vec< 2, unsigned int, lowp > lowp_uvec2
 2 components vector of low qualifier unsigned integer numbers. More...
 
typedef vec< 2, unsigned int, mediump > mediump_uvec2
 2 components vector of medium qualifier unsigned integer numbers. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00229_source.html ================================================ 0.9.9 API documentation: vector_uint2_precision.hpp Source File
0.9.9 API documentation
vector_uint2_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_vec2.hpp"
6 
7 namespace glm
8 {
11 
16  typedef vec<2, unsigned int, highp> highp_uvec2;
17 
22  typedef vec<2, unsigned int, mediump> mediump_uvec2;
23 
28  typedef vec<2, unsigned int, lowp> lowp_uvec2;
29 
31 }//namespace glm
vec< 2, unsigned int, lowp > lowp_uvec2
2 components vector of low qualifier unsigned integer numbers.
vec< 2, unsigned int, highp > highp_uvec2
2 components vector of high qualifier unsigned integer numbers.
vec< 2, unsigned int, mediump > mediump_uvec2
2 components vector of medium qualifier unsigned integer numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00230.html ================================================ 0.9.9 API documentation: vector_uint3.hpp File Reference
0.9.9 API documentation
vector_uint3.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 3, unsigned int, defaultp > uvec3
 3 components vector of unsigned integer numbers. More...
 

Detailed Description

Core features

Definition in file vector_uint3.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00230_source.html ================================================ 0.9.9 API documentation: vector_uint3.hpp Source File
0.9.9 API documentation
vector_uint3.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_vec3.hpp"
6 
7 namespace glm
8 {
11 
15  typedef vec<3, unsigned int, defaultp> uvec3;
16 
18 }//namespace glm
vec< 3, unsigned int, defaultp > uvec3
3 components vector of unsigned integer numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00231.html ================================================ 0.9.9 API documentation: vector_uint3_precision.hpp File Reference
0.9.9 API documentation
vector_uint3_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 3, unsigned int, highp > highp_uvec3
 3 components vector of high qualifier unsigned integer numbers. More...
 
typedef vec< 3, unsigned int, lowp > lowp_uvec3
 3 components vector of low qualifier unsigned integer numbers. More...
 
typedef vec< 3, unsigned int, mediump > mediump_uvec3
 3 components vector of medium qualifier unsigned integer numbers. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00231_source.html ================================================ 0.9.9 API documentation: vector_uint3_precision.hpp Source File
0.9.9 API documentation
vector_uint3_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_vec3.hpp"
6 
7 namespace glm
8 {
11 
16  typedef vec<3, unsigned int, highp> highp_uvec3;
17 
22  typedef vec<3, unsigned int, mediump> mediump_uvec3;
23 
28  typedef vec<3, unsigned int, lowp> lowp_uvec3;
29 
31 }//namespace glm
vec< 3, unsigned int, mediump > mediump_uvec3
3 components vector of medium qualifier unsigned integer numbers.
vec< 3, unsigned int, highp > highp_uvec3
3 components vector of high qualifier unsigned integer numbers.
vec< 3, unsigned int, lowp > lowp_uvec3
3 components vector of low qualifier unsigned integer numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00232.html ================================================ 0.9.9 API documentation: vector_uint4.hpp File Reference
0.9.9 API documentation
vector_uint4.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 4, unsigned int, defaultp > uvec4
 4 components vector of unsigned integer numbers. More...
 

Detailed Description

Core features

Definition in file vector_uint4.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00232_source.html ================================================ 0.9.9 API documentation: vector_uint4.hpp Source File
0.9.9 API documentation
vector_uint4.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_vec4.hpp"
6 
7 namespace glm
8 {
11 
15  typedef vec<4, unsigned int, defaultp> uvec4;
16 
18 }//namespace glm
vec< 4, unsigned int, defaultp > uvec4
4 components vector of unsigned integer numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00233.html ================================================ 0.9.9 API documentation: vector_uint4_precision.hpp File Reference
0.9.9 API documentation
vector_uint4_precision.hpp File Reference

Core features More...

Go to the source code of this file.

Typedefs

typedef vec< 4, unsigned int, highp > highp_uvec4
 4 components vector of high qualifier unsigned integer numbers. More...
 
typedef vec< 4, unsigned int, lowp > lowp_uvec4
 4 components vector of low qualifier unsigned integer numbers. More...
 
typedef vec< 4, unsigned int, mediump > mediump_uvec4
 4 components vector of medium qualifier unsigned integer numbers. More...
 

Detailed Description

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00233_source.html ================================================ 0.9.9 API documentation: vector_uint4_precision.hpp Source File
0.9.9 API documentation
vector_uint4_precision.hpp
Go to the documentation of this file.
1 
4 #pragma once
5 #include "../detail/type_vec4.hpp"
6 
7 namespace glm
8 {
11 
16  typedef vec<4, unsigned int, highp> highp_uvec4;
17 
22  typedef vec<4, unsigned int, mediump> mediump_uvec4;
23 
28  typedef vec<4, unsigned int, lowp> lowp_uvec4;
29 
31 }//namespace glm
vec< 4, unsigned int, mediump > mediump_uvec4
4 components vector of medium qualifier unsigned integer numbers.
vec< 4, unsigned int, highp > highp_uvec4
4 components vector of high qualifier unsigned integer numbers.
vec< 4, unsigned int, lowp > lowp_uvec4
4 components vector of low qualifier unsigned integer numbers.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00234.html ================================================ 0.9.9 API documentation: vector_ulp.hpp File Reference
0.9.9 API documentation
vector_ulp.hpp File Reference

GLM_EXT_vector_ulp More...

Go to the source code of this file.

Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > floatDistance (vec< L, float, Q > const &x, vec< L, float, Q > const &y)
 Return the distance in the number of ULP between 2 single-precision floating-point scalars. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int64, Q > floatDistance (vec< L, double, Q > const &x, vec< L, double, Q > const &y)
 Return the distance in the number of ULP between 2 double-precision floating-point scalars. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > nextFloat (vec< L, T, Q > const &x)
 Return the next ULP value(s) after the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > nextFloat (vec< L, T, Q > const &x, int ULPs)
 Return the value(s) ULP distance after the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > nextFloat (vec< L, T, Q > const &x, vec< L, int, Q > const &ULPs)
 Return the value(s) ULP distance after the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prevFloat (vec< L, T, Q > const &x)
 Return the previous ULP value(s) before the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prevFloat (vec< L, T, Q > const &x, int ULPs)
 Return the value(s) ULP distance before the input value(s). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prevFloat (vec< L, T, Q > const &x, vec< L, int, Q > const &ULPs)
 Return the value(s) ULP distance before the input value(s). More...
 

Detailed Description

GLM_EXT_vector_ulp

Definition in file vector_ulp.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00234_source.html ================================================ 0.9.9 API documentation: vector_ulp.hpp Source File
0.9.9 API documentation
vector_ulp.hpp
Go to the documentation of this file.
1 
17 #pragma once
18 
19 // Dependencies
20 #include "../ext/scalar_ulp.hpp"
21 
22 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
23 # pragma message("GLM: GLM_EXT_vector_ulp extension included")
24 #endif
25 
26 namespace glm
27 {
35  template<length_t L, typename T, qualifier Q>
36  GLM_FUNC_DECL vec<L, T, Q> nextFloat(vec<L, T, Q> const& x);
37 
45  template<length_t L, typename T, qualifier Q>
46  GLM_FUNC_DECL vec<L, T, Q> nextFloat(vec<L, T, Q> const& x, int ULPs);
47 
55  template<length_t L, typename T, qualifier Q>
56  GLM_FUNC_DECL vec<L, T, Q> nextFloat(vec<L, T, Q> const& x, vec<L, int, Q> const& ULPs);
57 
65  template<length_t L, typename T, qualifier Q>
66  GLM_FUNC_DECL vec<L, T, Q> prevFloat(vec<L, T, Q> const& x);
67 
75  template<length_t L, typename T, qualifier Q>
76  GLM_FUNC_DECL vec<L, T, Q> prevFloat(vec<L, T, Q> const& x, int ULPs);
77 
85  template<length_t L, typename T, qualifier Q>
86  GLM_FUNC_DECL vec<L, T, Q> prevFloat(vec<L, T, Q> const& x, vec<L, int, Q> const& ULPs);
87 
94  template<length_t L, typename T, qualifier Q>
95  GLM_FUNC_DECL vec<L, int, Q> floatDistance(vec<L, float, Q> const& x, vec<L, float, Q> const& y);
96 
103  template<length_t L, typename T, qualifier Q>
104  GLM_FUNC_DECL vec<L, int64, Q> floatDistance(vec<L, double, Q> const& x, vec<L, double, Q> const& y);
105 
107 }//namespace glm
108 
109 #include "vector_ulp.inl"
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00235.html ================================================ 0.9.9 API documentation: wrap.hpp File Reference
0.9.9 API documentation
wrap.hpp File Reference

GLM_GTX_wrap More...

Go to the source code of this file.

Functions

template<typename genType >
GLM_FUNC_DECL genType clamp (genType const &Texcoord)
 Simulate GL_CLAMP OpenGL wrap mode. More...
 
template<typename genType >
GLM_FUNC_DECL genType mirrorClamp (genType const &Texcoord)
 Simulate GL_MIRRORED_REPEAT OpenGL wrap mode. More...
 
template<typename genType >
GLM_FUNC_DECL genType mirrorRepeat (genType const &Texcoord)
 Simulate GL_MIRROR_REPEAT OpenGL wrap mode. More...
 
template<typename genType >
GLM_FUNC_DECL genType repeat (genType const &Texcoord)
 Simulate GL_REPEAT OpenGL wrap mode. More...
 

Detailed Description

GLM_GTX_wrap

See also
Core features (dependence)

Definition in file wrap.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00235_source.html ================================================ 0.9.9 API documentation: wrap.hpp Source File
0.9.9 API documentation
wrap.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 
15 // Dependency:
16 #include "../glm.hpp"
17 #include "../gtc/vec1.hpp"
18 
19 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
20 # ifndef GLM_ENABLE_EXPERIMENTAL
21 # pragma message("GLM: GLM_GTX_wrap is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.")
22 # else
23 # pragma message("GLM: GLM_GTX_wrap extension included")
24 # endif
25 #endif
26 
27 namespace glm
28 {
31 
34  template<typename genType>
35  GLM_FUNC_DECL genType clamp(genType const& Texcoord);
36 
39  template<typename genType>
40  GLM_FUNC_DECL genType repeat(genType const& Texcoord);
41 
44  template<typename genType>
45  GLM_FUNC_DECL genType mirrorClamp(genType const& Texcoord);
46 
49  template<typename genType>
50  GLM_FUNC_DECL genType mirrorRepeat(genType const& Texcoord);
51 
53 }// namespace glm
54 
55 #include "wrap.inl"
GLM_FUNC_DECL genType mirrorRepeat(genType const &Texcoord)
Simulate GL_MIRROR_REPEAT OpenGL wrap mode.
GLM_FUNC_DECL genType repeat(genType const &Texcoord)
Simulate GL_REPEAT OpenGL wrap mode.
GLM_FUNC_DECL genType mirrorClamp(genType const &Texcoord)
Simulate GL_MIRRORED_REPEAT OpenGL wrap mode.
GLM_FUNC_DECL genType clamp(genType const &Texcoord)
Simulate GL_CLAMP OpenGL wrap mode.
Definition: common.hpp:20
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00241.html ================================================ 0.9.9 API documentation: Common functions
0.9.9 API documentation
Common functions

Provides GLSL common functions. More...

Functions

template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType abs (genType x)
 Returns x if x >= 0; otherwise, it returns -x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > abs (vec< L, T, Q > const &x)
 Returns x if x >= 0; otherwise, it returns -x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > ceil (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer that is greater than or equal to x. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType clamp (genType x, genType minVal, genType maxVal)
 Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > clamp (vec< L, T, Q > const &x, T minVal, T maxVal)
 Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > clamp (vec< L, T, Q > const &x, vec< L, T, Q > const &minVal, vec< L, T, Q > const &maxVal)
 Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal. More...
 
GLM_FUNC_DECL int floatBitsToInt (float const &v)
 Returns a signed integer value representing the encoding of a floating-point value. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > floatBitsToInt (vec< L, float, Q > const &v)
 Returns a signed integer value representing the encoding of a floating-point value. More...
 
GLM_FUNC_DECL uint floatBitsToUint (float const &v)
 Returns a unsigned integer value representing the encoding of a floating-point value. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, uint, Q > floatBitsToUint (vec< L, float, Q > const &v)
 Returns a unsigned integer value representing the encoding of a floating-point value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > floor (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer that is less then or equal to x. More...
 
template<typename genType >
GLM_FUNC_DECL genType fma (genType const &a, genType const &b, genType const &c)
 Computes and returns a * b + c. More...
 
template<typename genType >
GLM_FUNC_DECL genType fract (genType x)
 Return x - floor(x). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fract (vec< L, T, Q > const &x)
 Return x - floor(x). More...
 
template<typename genType >
GLM_FUNC_DECL genType frexp (genType x, int &exp)
 Splits x into a floating-point significand in the range [0.5, 1.0) and an integral exponent of two, such that: x = significand * exp(2, exponent) More...
 
GLM_FUNC_DECL float intBitsToFloat (int const &v)
 Returns a floating-point value corresponding to a signed integer encoding of a floating-point value. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, float, Q > intBitsToFloat (vec< L, int, Q > const &v)
 Returns a floating-point value corresponding to a signed integer encoding of a floating-point value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > isinf (vec< L, T, Q > const &x)
 Returns true if x holds a positive infinity or negative infinity representation in the underlying implementation's set of floating point representations. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > isnan (vec< L, T, Q > const &x)
 Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of floating point representations. More...
 
template<typename genType >
GLM_FUNC_DECL genType ldexp (genType const &x, int const &exp)
 Builds a floating-point number from x and the corresponding integral exponent of two in exp, returning: significand * exp(2, exponent) More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType max (genType x, genType y)
 Returns y if x < y; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > max (vec< L, T, Q > const &x, T y)
 Returns y if x < y; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > max (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns y if x < y; otherwise, it returns x. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType min (genType x, genType y)
 Returns y if y < x; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > min (vec< L, T, Q > const &x, T y)
 Returns y if y < x; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > min (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns y if y < x; otherwise, it returns x. More...
 
template<typename genTypeT , typename genTypeU >
GLM_FUNC_DECL genTypeT mix (genTypeT x, genTypeT y, genTypeU a)
 If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > mod (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Modulus. More...
 
template<typename genType >
GLM_FUNC_DECL genType modf (genType x, genType &i)
 Returns the fractional part of x and sets i to the integer part (as a whole number floating point value). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > round (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer to x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > roundEven (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer to x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > sign (vec< L, T, Q > const &x)
 Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0. More...
 
template<typename genType >
GLM_FUNC_DECL genType smoothstep (genType edge0, genType edge1, genType x)
 Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 and 1 when edge0 < x < edge1. More...
 
template<typename genType >
GLM_FUNC_DECL genType step (genType edge, genType x)
 Returns 0.0 if x < edge, otherwise it returns 1.0 for each component of a genType. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > step (T edge, vec< L, T, Q > const &x)
 Returns 0.0 if x < edge, otherwise it returns 1.0. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > step (vec< L, T, Q > const &edge, vec< L, T, Q > const &x)
 Returns 0.0 if x < edge, otherwise it returns 1.0. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > trunc (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolute value of x. More...
 
GLM_FUNC_DECL float uintBitsToFloat (uint const &v)
 Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, float, Q > uintBitsToFloat (vec< L, uint, Q > const &v)
 Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value. More...
 

Detailed Description

Provides GLSL common functions.

These all operate component-wise. The description is per component.

Include <glm/common.hpp> to use these core features.

Function Documentation

GLM_FUNC_DECL GLM_CONSTEXPR genType glm::abs ( genType  x)

Returns x if x >= 0; otherwise, it returns -x.

Template Parameters
genTypefloating-point or signed integer; scalar or vector types.
See also
GLSL abs man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> glm::abs ( vec< L, T, Q > const &  x)

Returns x if x >= 0; otherwise, it returns -x.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point or signed integer scalar types
QValue from qualifier enum
See also
GLSL abs man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL vec<L, T, Q> glm::ceil ( vec< L, T, Q > const &  x)

Returns a value equal to the nearest integer that is greater than or equal to x.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
GLSL ceil man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL GLM_CONSTEXPR genType glm::clamp ( genType  x,
genType  minVal,
genType  maxVal 
)

Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal.

Template Parameters
genTypeFloating-point or integer; scalar or vector types.
See also
GLSL clamp man page
GLSL 4.20.8 specification, section 8.3 Common Functions

Referenced by glm::saturate().

GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> glm::clamp ( vec< L, T, Q > const &  x,
minVal,
maxVal 
)

Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point or integer scalar types
QValue from qualifier enum
See also
GLSL clamp man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> glm::clamp ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  minVal,
vec< L, T, Q > const &  maxVal 
)

Returns min(max(x, minVal), maxVal) for each component in x using the floating-point values minVal and maxVal.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point or integer scalar types
QValue from qualifier enum
See also
GLSL clamp man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL int glm::floatBitsToInt ( float const &  v)

Returns a signed integer value representing the encoding of a floating-point value.

The floating-point value's bit-level representation is preserved.

See also
GLSL floatBitsToInt man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL vec<L, int, Q> glm::floatBitsToInt ( vec< L, float, Q > const &  v)

Returns a signed integer value representing the encoding of a floating-point value.

The floatingpoint value's bit-level representation is preserved.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
QValue from qualifier enum
See also
GLSL floatBitsToInt man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL uint glm::floatBitsToUint ( float const &  v)

Returns a unsigned integer value representing the encoding of a floating-point value.

The floatingpoint value's bit-level representation is preserved.

See also
GLSL floatBitsToUint man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL vec<L, uint, Q> glm::floatBitsToUint ( vec< L, float, Q > const &  v)

Returns a unsigned integer value representing the encoding of a floating-point value.

The floatingpoint value's bit-level representation is preserved.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
QValue from qualifier enum
See also
GLSL floatBitsToUint man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL vec<L, T, Q> glm::floor ( vec< L, T, Q > const &  x)

Returns a value equal to the nearest integer that is less then or equal to x.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
GLSL floor man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL genType glm::fma ( genType const &  a,
genType const &  b,
genType const &  c 
)

Computes and returns a * b + c.

Template Parameters
genTypeFloating-point scalar or vector types.
See also
GLSL fma man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL genType glm::fract ( genType  x)

Return x - floor(x).

Template Parameters
genTypeFloating-point scalar or vector types.
See also
GLSL fract man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL vec<L, T, Q> glm::fract ( vec< L, T, Q > const &  x)

Return x - floor(x).

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
GLSL fract man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL genType glm::frexp ( genType  x,
int &  exp 
)

Splits x into a floating-point significand in the range [0.5, 1.0) and an integral exponent of two, such that: x = significand * exp(2, exponent)

The significand is returned by the function and the exponent is returned in the parameter exp. For a floating-point value of zero, the significant and exponent are both zero. For a floating-point value that is an infinity or is not a number, the results are undefined.

Template Parameters
genTypeFloating-point scalar or vector types.
See also
GLSL frexp man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL float glm::intBitsToFloat ( int const &  v)

Returns a floating-point value corresponding to a signed integer encoding of a floating-point value.

If an inf or NaN is passed in, it will not signal, and the resulting floating point value is unspecified. Otherwise, the bit-level representation is preserved.

See also
GLSL intBitsToFloat man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL vec<L, float, Q> glm::intBitsToFloat ( vec< L, int, Q > const &  v)

Returns a floating-point value corresponding to a signed integer encoding of a floating-point value.

If an inf or NaN is passed in, it will not signal, and the resulting floating point value is unspecified. Otherwise, the bit-level representation is preserved.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
QValue from qualifier enum
See also
GLSL intBitsToFloat man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL vec<L, bool, Q> glm::isinf ( vec< L, T, Q > const &  x)

Returns true if x holds a positive infinity or negative infinity representation in the underlying implementation's set of floating point representations.

Returns false otherwise, including for implementations with no infinity representations.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
GLSL isinf man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL vec<L, bool, Q> glm::isnan ( vec< L, T, Q > const &  x)

Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of floating point representations.

Returns false otherwise, including for implementations with no NaN representations.

/!\ When using compiler fast math, this function may fail.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
GLSL isnan man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL genType glm::ldexp ( genType const &  x,
int const &  exp 
)

Builds a floating-point number from x and the corresponding integral exponent of two in exp, returning: significand * exp(2, exponent)

If this product is too large to be represented in the floating-point type, the result is undefined.

Template Parameters
genTypeFloating-point scalar or vector types.
See also
GLSL ldexp man page;
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL GLM_CONSTEXPR genType glm::max ( genType  x,
genType  y 
)

Returns y if x < y; otherwise, it returns x.

Template Parameters
genTypeFloating-point or integer; scalar or vector types.
See also
GLSL max man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> glm::max ( vec< L, T, Q > const &  x,
y 
)

Returns y if x < y; otherwise, it returns x.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point or integer scalar types
QValue from qualifier enum
See also
GLSL max man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> glm::max ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  y 
)

Returns y if x < y; otherwise, it returns x.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point or integer scalar types
QValue from qualifier enum
See also
GLSL max man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL GLM_CONSTEXPR genType glm::min ( genType  x,
genType  y 
)

Returns y if y < x; otherwise, it returns x.

Template Parameters
genTypeFloating-point or integer; scalar or vector types.
See also
GLSL min man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> glm::min ( vec< L, T, Q > const &  x,
y 
)

Returns y if y < x; otherwise, it returns x.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point or integer scalar types
QValue from qualifier enum
See also
GLSL min man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> glm::min ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  y 
)

Returns y if y < x; otherwise, it returns x.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point or integer scalar types
QValue from qualifier enum
See also
GLSL min man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL genTypeT glm::mix ( genTypeT  x,
genTypeT  y,
genTypeU  a 
)

If genTypeU is a floating scalar or vector: Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a.

The value for a is not restricted to the range [0, 1].

If genTypeU is a boolean scalar or vector: Selects which vector each returned component comes from. For a component of 'a' that is false, the corresponding component of 'x' is returned. For a component of 'a' that is true, the corresponding component of 'y' is returned. Components of 'x' and 'y' that are not selected are allowed to be invalid floating point values and will have no effect on the results. Thus, this provides different functionality than genType mix(genType x, genType y, genType(a)) where a is a Boolean vector.

See also
GLSL mix man page
GLSL 4.20.8 specification, section 8.3 Common Functions
Parameters
[in]xValue to interpolate.
[in]yValue to interpolate.
[in]aInterpolant.
Template Parameters
genTypeTFloating point scalar or vector.
genTypeUFloating point or boolean scalar or vector. It can't be a vector if it is the length of genTypeT.
#include <glm/glm.hpp>
...
float a;
bool b;
...
glm::vec4 r = glm::mix(g, h, a); // Interpolate with a floating-point scalar two vectors.
glm::vec4 s = glm::mix(g, h, b); // Returns g or h;
glm::dvec3 t = glm::mix(e, f, a); // Types of the third parameter is not required to match with the first and the second.
glm::vec4 u = glm::mix(g, h, r); // Interpolations can be perform per component with a vector for the last parameter.

Referenced by glm::lerp().

GLM_FUNC_DECL vec<L, T, Q> glm::mod ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  y 
)

Modulus.

Returns x - y * floor(x / y) for each component in x using the floating point value y.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types, include glm/gtc/integer for integer scalar types support
QValue from qualifier enum
See also
GLSL mod man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL genType glm::modf ( genType  x,
genType &  i 
)

Returns the fractional part of x and sets i to the integer part (as a whole number floating point value).

Both the return value and the output parameter will have the same sign as x.

Template Parameters
genTypeFloating-point scalar or vector types.
See also
GLSL modf man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL vec<L, T, Q> glm::round ( vec< L, T, Q > const &  x)

Returns a value equal to the nearest integer to x.

The fraction 0.5 will round in a direction chosen by the implementation, presumably the direction that is fastest. This includes the possibility that round(x) returns the same value as roundEven(x) for all values of x.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
GLSL round man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL vec<L, T, Q> glm::roundEven ( vec< L, T, Q > const &  x)

Returns a value equal to the nearest integer to x.

A fractional part of 0.5 will round toward the nearest even integer. (Both 3.5 and 4.5 for x will return 4.0.)

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
GLSL roundEven man page
GLSL 4.20.8 specification, section 8.3 Common Functions
New round to even technique
GLM_FUNC_DECL vec<L, T, Q> glm::sign ( vec< L, T, Q > const &  x)

Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
GLSL sign man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL genType glm::smoothstep ( genType  edge0,
genType  edge1,
genType  x 
)

Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and performs smooth Hermite interpolation between 0 and 1 when edge0 < x < edge1.

This is useful in cases where you would want a threshold function with a smooth transition. This is equivalent to: genType t; t = clamp ((x - edge0) / (edge1 - edge0), 0, 1); return t * t * (3 - 2 * t); Results are undefined if edge0 >= edge1.

Template Parameters
genTypeFloating-point scalar or vector types.
See also
GLSL smoothstep man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL genType glm::step ( genType  edge,
genType  x 
)

Returns 0.0 if x < edge, otherwise it returns 1.0 for each component of a genType.

See also
GLSL step man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL vec<L, T, Q> glm::step ( edge,
vec< L, T, Q > const &  x 
)

Returns 0.0 if x < edge, otherwise it returns 1.0.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
GLSL step man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL vec<L, T, Q> glm::step ( vec< L, T, Q > const &  edge,
vec< L, T, Q > const &  x 
)

Returns 0.0 if x < edge, otherwise it returns 1.0.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
GLSL step man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL vec<L, T, Q> glm::trunc ( vec< L, T, Q > const &  x)

Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolute value of x.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
GLSL trunc man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL float glm::uintBitsToFloat ( uint const &  v)

Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value.

If an inf or NaN is passed in, it will not signal, and the resulting floating point value is unspecified. Otherwise, the bit-level representation is preserved.

See also
GLSL uintBitsToFloat man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL vec<L, float, Q> glm::uintBitsToFloat ( vec< L, uint, Q > const &  v)

Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value.

If an inf or NaN is passed in, it will not signal, and the resulting floating point value is unspecified. Otherwise, the bit-level representation is preserved.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
QValue from qualifier enum
See also
GLSL uintBitsToFloat man page
GLSL 4.20.8 specification, section 8.3 Common Functions
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00242.html ================================================ 0.9.9 API documentation: Exponential functions
0.9.9 API documentation
Exponential functions

Provides GLSL exponential functions. More...

Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > exp (vec< L, T, Q > const &v)
 Returns the natural exponentiation of v, i.e., e^v. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > exp2 (vec< L, T, Q > const &v)
 Returns 2 raised to the v power. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > inversesqrt (vec< L, T, Q > const &v)
 Returns the reciprocal of the positive square root of v. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > log (vec< L, T, Q > const &v)
 Returns the natural logarithm of v, i.e., returns the value y which satisfies the equation x = e^y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > log2 (vec< L, T, Q > const &v)
 Returns the base 2 log of x, i.e., returns the value y, which satisfies the equation x = 2 ^ y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > pow (vec< L, T, Q > const &base, vec< L, T, Q > const &exponent)
 Returns 'base' raised to the power 'exponent'. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > sqrt (vec< L, T, Q > const &v)
 Returns the positive square root of v. More...
 

Detailed Description

Provides GLSL exponential functions.

These all operate component-wise. The description is per component.

Include <glm/exponential.hpp> to use these core features.

Function Documentation

GLM_FUNC_DECL vec<L, T, Q> glm::exp ( vec< L, T, Q > const &  v)

Returns the natural exponentiation of x, i.e., e^x.

Parameters
vexp function is defined for input values of v defined in the range (inf-, inf+) in the limit of the type qualifier.
Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
TFloating-point scalar types.
See also
GLSL exp man page
GLSL 4.20.8 specification, section 8.2 Exponential Functions
GLM_FUNC_DECL vec<L, T, Q> glm::exp2 ( vec< L, T, Q > const &  v)

Returns 2 raised to the v power.

Parameters
vexp2 function is defined for input values of v defined in the range (inf-, inf+) in the limit of the type qualifier.
Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
TFloating-point scalar types.
See also
GLSL exp2 man page
GLSL 4.20.8 specification, section 8.2 Exponential Functions
GLM_FUNC_DECL vec<L, T, Q> glm::inversesqrt ( vec< L, T, Q > const &  v)

Returns the reciprocal of the positive square root of v.

Parameters
vinversesqrt function is defined for input values of v defined in the range [0, inf+) in the limit of the type qualifier.
Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
TFloating-point scalar types.
See also
GLSL inversesqrt man page
GLSL 4.20.8 specification, section 8.2 Exponential Functions
GLM_FUNC_DECL vec<L, T, Q> glm::log ( vec< L, T, Q > const &  v)

Returns the natural logarithm of v, i.e., returns the value y which satisfies the equation x = e^y.

Results are undefined if v <= 0.

Parameters
vlog function is defined for input values of v defined in the range (0, inf+) in the limit of the type qualifier.
Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
TFloating-point scalar types.
See also
GLSL log man page
GLSL 4.20.8 specification, section 8.2 Exponential Functions
GLM_FUNC_DECL vec<L, T, Q> glm::log2 ( vec< L, T, Q > const &  v)

Returns the base 2 log of x, i.e., returns the value y, which satisfies the equation x = 2 ^ y.

Parameters
vlog2 function is defined for input values of v defined in the range (0, inf+) in the limit of the type qualifier.
Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
TFloating-point scalar types.
See also
GLSL log2 man page
GLSL 4.20.8 specification, section 8.2 Exponential Functions
GLM_FUNC_DECL vec<L, T, Q> glm::pow ( vec< L, T, Q > const &  base,
vec< L, T, Q > const &  exponent 
)

Returns 'base' raised to the power 'exponent'.

Parameters
baseFloating point value. pow function is defined for input values of 'base' defined in the range (inf-, inf+) in the limit of the type qualifier.
exponentFloating point value representing the 'exponent'.
See also
GLSL pow man page
GLSL 4.20.8 specification, section 8.2 Exponential Functions
GLM_FUNC_DECL vec<L, T, Q> glm::sqrt ( vec< L, T, Q > const &  v)

Returns the positive square root of v.

Parameters
vsqrt function is defined for input values of v defined in the range [0, inf+) in the limit of the type qualifier.
Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
TFloating-point scalar types.
See also
GLSL sqrt man page
GLSL 4.20.8 specification, section 8.2 Exponential Functions
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00243.html ================================================ 0.9.9 API documentation: GLM_EXT_matrix_clip_space
0.9.9 API documentation
GLM_EXT_matrix_clip_space

Defines functions that generate clip space transformation matrices. More...

Functions

template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustum (T left, T right, T bottom, T top, T near, T far)
 Creates a frustum matrix with default handedness, using the default handedness and default near and far clip planes definition. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumLH (T left, T right, T bottom, T top, T near, T far)
 Creates a left handed frustum matrix. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumLH_NO (T left, T right, T bottom, T top, T near, T far)
 Creates a left handed frustum matrix. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumLH_ZO (T left, T right, T bottom, T top, T near, T far)
 Creates a left handed frustum matrix. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumNO (T left, T right, T bottom, T top, T near, T far)
 Creates a frustum matrix using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumRH (T left, T right, T bottom, T top, T near, T far)
 Creates a right handed frustum matrix. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumRH_NO (T left, T right, T bottom, T top, T near, T far)
 Creates a right handed frustum matrix. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumRH_ZO (T left, T right, T bottom, T top, T near, T far)
 Creates a right handed frustum matrix. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > frustumZO (T left, T right, T bottom, T top, T near, T far)
 Creates a frustum matrix using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > infinitePerspective (T fovy, T aspect, T near)
 Creates a matrix for a symmetric perspective-view frustum with far plane at infinite with default handedness. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > infinitePerspectiveLH (T fovy, T aspect, T near)
 Creates a matrix for a left handed, symmetric perspective-view frustum with far plane at infinite. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > infinitePerspectiveRH (T fovy, T aspect, T near)
 Creates a matrix for a right handed, symmetric perspective-view frustum with far plane at infinite. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > ortho (T left, T right, T bottom, T top)
 Creates a matrix for projecting two-dimensional coordinates onto the screen. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > ortho (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using the default handedness and default near and far clip planes definition. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoLH (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoLH_NO (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume using right-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoLH_ZO (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoNO (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoRH (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using right-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoRH_NO (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using right-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoRH_ZO (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > orthoZO (T left, T right, T bottom, T top, T zNear, T zFar)
 Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspective (T fovy, T aspect, T near, T far)
 Creates a matrix for a symetric perspective-view frustum based on the default handedness and default near and far clip planes definition. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFov (T fov, T width, T height, T near, T far)
 Builds a perspective projection matrix based on a field of view and the default handedness and default near and far clip planes definition. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovLH (T fov, T width, T height, T near, T far)
 Builds a left handed perspective projection matrix based on a field of view. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovLH_NO (T fov, T width, T height, T near, T far)
 Builds a perspective projection matrix based on a field of view using left-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovLH_ZO (T fov, T width, T height, T near, T far)
 Builds a perspective projection matrix based on a field of view using left-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovNO (T fov, T width, T height, T near, T far)
 Builds a perspective projection matrix based on a field of view using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovRH (T fov, T width, T height, T near, T far)
 Builds a right handed perspective projection matrix based on a field of view. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovRH_NO (T fov, T width, T height, T near, T far)
 Builds a perspective projection matrix based on a field of view using right-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovRH_ZO (T fov, T width, T height, T near, T far)
 Builds a perspective projection matrix based on a field of view using right-handed coordinates. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveFovZO (T fov, T width, T height, T near, T far)
 Builds a perspective projection matrix based on a field of view using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveLH (T fovy, T aspect, T near, T far)
 Creates a matrix for a left handed, symetric perspective-view frustum. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveLH_NO (T fovy, T aspect, T near, T far)
 Creates a matrix for a left handed, symetric perspective-view frustum. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveLH_ZO (T fovy, T aspect, T near, T far)
 Creates a matrix for a left handed, symetric perspective-view frustum. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveNO (T fovy, T aspect, T near, T far)
 Creates a matrix for a symetric perspective-view frustum using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveRH (T fovy, T aspect, T near, T far)
 Creates a matrix for a right handed, symetric perspective-view frustum. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveRH_NO (T fovy, T aspect, T near, T far)
 Creates a matrix for a right handed, symetric perspective-view frustum. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveRH_ZO (T fovy, T aspect, T near, T far)
 Creates a matrix for a right handed, symetric perspective-view frustum. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > perspectiveZO (T fovy, T aspect, T near, T far)
 Creates a matrix for a symetric perspective-view frustum using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > tweakedInfinitePerspective (T fovy, T aspect, T near)
 Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > tweakedInfinitePerspective (T fovy, T aspect, T near, T ep)
 Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping. More...
 

Detailed Description

Defines functions that generate clip space transformation matrices.

The matrices generated by this extension use standard OpenGL fixed-function conventions. For example, the lookAt function generates a transform from world space into the specific eye space that the projective matrix functions (perspective, ortho, etc) are designed to expect. The OpenGL compatibility specifications defines the particular layout of this eye space.

Include <glm/ext/matrix_clip_space.hpp> to use the features of this extension.

See also
GLM_EXT_matrix_transform
GLM_EXT_matrix_projection

Function Documentation

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::frustum ( left,
right,
bottom,
top,
near,
far 
)

Creates a frustum matrix with default handedness, using the default handedness and default near and far clip planes definition.

To change default handedness use GLM_FORCE_LEFT_HANDED. To change default near and far clip planes definition use GLM_FORCE_DEPTH_ZERO_TO_ONE.

Template Parameters
TA floating-point scalar type
See also
glFrustum man page
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::frustumLH ( left,
right,
bottom,
top,
near,
far 
)

Creates a left handed frustum matrix.

If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Template Parameters
TA floating-point scalar type
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::frustumLH_NO ( left,
right,
bottom,
top,
near,
far 
)

Creates a left handed frustum matrix.

The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Template Parameters
TA floating-point scalar type
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::frustumLH_ZO ( left,
right,
bottom,
top,
near,
far 
)

Creates a left handed frustum matrix.

The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition)

Template Parameters
TA floating-point scalar type
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::frustumNO ( left,
right,
bottom,
top,
near,
far 
)

Creates a frustum matrix using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise.

The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Template Parameters
TA floating-point scalar type
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::frustumRH ( left,
right,
bottom,
top,
near,
far 
)

Creates a right handed frustum matrix.

If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Template Parameters
TA floating-point scalar type
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::frustumRH_NO ( left,
right,
bottom,
top,
near,
far 
)

Creates a right handed frustum matrix.

The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Template Parameters
TA floating-point scalar type
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::frustumRH_ZO ( left,
right,
bottom,
top,
near,
far 
)

Creates a right handed frustum matrix.

The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition)

Template Parameters
TA floating-point scalar type
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::frustumZO ( left,
right,
bottom,
top,
near,
far 
)

Creates a frustum matrix using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise.

The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition)

Template Parameters
TA floating-point scalar type
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::infinitePerspective ( fovy,
aspect,
near 
)

Creates a matrix for a symmetric perspective-view frustum with far plane at infinite with default handedness.

Parameters
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
Template Parameters
TA floating-point scalar type
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::infinitePerspectiveLH ( fovy,
aspect,
near 
)

Creates a matrix for a left handed, symmetric perspective-view frustum with far plane at infinite.

Parameters
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
Template Parameters
TA floating-point scalar type
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::infinitePerspectiveRH ( fovy,
aspect,
near 
)

Creates a matrix for a right handed, symmetric perspective-view frustum with far plane at infinite.

Parameters
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
Template Parameters
TA floating-point scalar type
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::ortho ( left,
right,
bottom,
top 
)

Creates a matrix for projecting two-dimensional coordinates onto the screen.

Template Parameters
TA floating-point scalar type
See also
- glm::ortho(T const& left, T const& right, T const& bottom, T const& top, T const& zNear, T const& zFar)
gluOrtho2D man page
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::ortho ( left,
right,
bottom,
top,
zNear,
zFar 
)

Creates a matrix for an orthographic parallel viewing volume, using the default handedness and default near and far clip planes definition.

To change default handedness use GLM_FORCE_LEFT_HANDED. To change default near and far clip planes definition use GLM_FORCE_DEPTH_ZERO_TO_ONE.

Template Parameters
TA floating-point scalar type
See also
- glm::ortho(T const& left, T const& right, T const& bottom, T const& top)
glOrtho man page
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::orthoLH ( left,
right,
bottom,
top,
zNear,
zFar 
)

Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates.

If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Template Parameters
TA floating-point scalar type
See also
- glm::ortho(T const& left, T const& right, T const& bottom, T const& top)
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::orthoLH_NO ( left,
right,
bottom,
top,
zNear,
zFar 
)

Creates a matrix for an orthographic parallel viewing volume using right-handed coordinates.

The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Template Parameters
TA floating-point scalar type
See also
- glm::ortho(T const& left, T const& right, T const& bottom, T const& top)
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::orthoLH_ZO ( left,
right,
bottom,
top,
zNear,
zFar 
)

Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates.

The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition)

Template Parameters
TA floating-point scalar type
See also
- glm::ortho(T const& left, T const& right, T const& bottom, T const& top)
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::orthoNO ( left,
right,
bottom,
top,
zNear,
zFar 
)

Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise.

The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Template Parameters
TA floating-point scalar type
See also
- glm::ortho(T const& left, T const& right, T const& bottom, T const& top)
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::orthoRH ( left,
right,
bottom,
top,
zNear,
zFar 
)

Creates a matrix for an orthographic parallel viewing volume, using right-handed coordinates.

If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Template Parameters
TA floating-point scalar type
See also
- glm::ortho(T const& left, T const& right, T const& bottom, T const& top)
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::orthoRH_NO ( left,
right,
bottom,
top,
zNear,
zFar 
)

Creates a matrix for an orthographic parallel viewing volume, using right-handed coordinates.

The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Template Parameters
TA floating-point scalar type
See also
- glm::ortho(T const& left, T const& right, T const& bottom, T const& top)
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::orthoRH_ZO ( left,
right,
bottom,
top,
zNear,
zFar 
)

Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates.

The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition)

Template Parameters
TA floating-point scalar type
See also
- glm::ortho(T const& left, T const& right, T const& bottom, T const& top)
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::orthoZO ( left,
right,
bottom,
top,
zNear,
zFar 
)

Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates.

The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition)

Template Parameters
TA floating-point scalar type
See also
- glm::ortho(T const& left, T const& right, T const& bottom, T const& top)
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspective ( fovy,
aspect,
near,
far 
)

Creates a matrix for a symetric perspective-view frustum based on the default handedness and default near and far clip planes definition.

To change default handedness use GLM_FORCE_LEFT_HANDED. To change default near and far clip planes definition use GLM_FORCE_DEPTH_ZERO_TO_ONE.

Parameters
fovySpecifies the field of view angle in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type
See also
gluPerspective man page
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveFov ( fov,
width,
height,
near,
far 
)

Builds a perspective projection matrix based on a field of view and the default handedness and default near and far clip planes definition.

To change default handedness use GLM_FORCE_LEFT_HANDED. To change default near and far clip planes definition use GLM_FORCE_DEPTH_ZERO_TO_ONE.

Parameters
fovExpressed in radians.
widthWidth of the viewport
heightHeight of the viewport
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveFovLH ( fov,
width,
height,
near,
far 
)

Builds a left handed perspective projection matrix based on a field of view.

If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Parameters
fovExpressed in radians.
widthWidth of the viewport
heightHeight of the viewport
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveFovLH_NO ( fov,
width,
height,
near,
far 
)

Builds a perspective projection matrix based on a field of view using left-handed coordinates.

The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Parameters
fovExpressed in radians.
widthWidth of the viewport
heightHeight of the viewport
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveFovLH_ZO ( fov,
width,
height,
near,
far 
)

Builds a perspective projection matrix based on a field of view using left-handed coordinates.

The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition)

Parameters
fovExpressed in radians.
widthWidth of the viewport
heightHeight of the viewport
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveFovNO ( fov,
width,
height,
near,
far 
)

Builds a perspective projection matrix based on a field of view using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise.

The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Parameters
fovExpressed in radians.
widthWidth of the viewport
heightHeight of the viewport
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveFovRH ( fov,
width,
height,
near,
far 
)

Builds a right handed perspective projection matrix based on a field of view.

If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Parameters
fovExpressed in radians.
widthWidth of the viewport
heightHeight of the viewport
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveFovRH_NO ( fov,
width,
height,
near,
far 
)

Builds a perspective projection matrix based on a field of view using right-handed coordinates.

The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Parameters
fovExpressed in radians.
widthWidth of the viewport
heightHeight of the viewport
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveFovRH_ZO ( fov,
width,
height,
near,
far 
)

Builds a perspective projection matrix based on a field of view using right-handed coordinates.

The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition)

Parameters
fovExpressed in radians.
widthWidth of the viewport
heightHeight of the viewport
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveFovZO ( fov,
width,
height,
near,
far 
)

Builds a perspective projection matrix based on a field of view using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise.

The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition)

Parameters
fovExpressed in radians.
widthWidth of the viewport
heightHeight of the viewport
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveLH ( fovy,
aspect,
near,
far 
)

Creates a matrix for a left handed, symetric perspective-view frustum.

If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Parameters
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveLH_NO ( fovy,
aspect,
near,
far 
)

Creates a matrix for a left handed, symetric perspective-view frustum.

The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Parameters
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveLH_ZO ( fovy,
aspect,
near,
far 
)

Creates a matrix for a left handed, symetric perspective-view frustum.

The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition)

Parameters
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveNO ( fovy,
aspect,
near,
far 
)

Creates a matrix for a symetric perspective-view frustum using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise.

The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Parameters
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveRH ( fovy,
aspect,
near,
far 
)

Creates a matrix for a right handed, symetric perspective-view frustum.

If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Parameters
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveRH_NO ( fovy,
aspect,
near,
far 
)

Creates a matrix for a right handed, symetric perspective-view frustum.

The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Parameters
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveRH_ZO ( fovy,
aspect,
near,
far 
)

Creates a matrix for a right handed, symetric perspective-view frustum.

The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition)

Parameters
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::perspectiveZO ( fovy,
aspect,
near,
far 
)

Creates a matrix for a symetric perspective-view frustum using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise.

The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition)

Parameters
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
farSpecifies the distance from the viewer to the far clipping plane (always positive).
Template Parameters
TA floating-point scalar type
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::tweakedInfinitePerspective ( fovy,
aspect,
near 
)

Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping.

Parameters
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
Template Parameters
TA floating-point scalar type
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::tweakedInfinitePerspective ( fovy,
aspect,
near,
ep 
)

Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping.

Parameters
fovySpecifies the field of view angle, in degrees, in the y direction. Expressed in radians.
aspectSpecifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height).
nearSpecifies the distance from the viewer to the near clipping plane (always positive).
epEpsilon
Template Parameters
TA floating-point scalar type
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00244.html ================================================ 0.9.9 API documentation: GLM_EXT_matrix_common
0.9.9 API documentation
GLM_EXT_matrix_common

Defines functions for common matrix operations. More...

Detailed Description

Defines functions for common matrix operations.

Include <glm/ext/matrix_common.hpp> to use the features of this extension.

See also
GLM_EXT_matrix_common
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00245.html ================================================ 0.9.9 API documentation: GLM_EXT_matrix_projection
0.9.9 API documentation
GLM_EXT_matrix_projection

Functions that generate common projection transformation matrices. More...

Functions

template<typename T , qualifier Q, typename U >
GLM_FUNC_DECL mat< 4, 4, T, Q > pickMatrix (vec< 2, T, Q > const &center, vec< 2, T, Q > const &delta, vec< 4, U, Q > const &viewport)
 Define a picking region. More...
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > project (vec< 3, T, Q > const &obj, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates using default near and far clip planes definition. More...
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > projectNO (vec< 3, T, Q > const &obj, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates. More...
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > projectZO (vec< 3, T, Q > const &obj, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates. More...
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > unProject (vec< 3, T, Q > const &win, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 Map the specified window coordinates (win.x, win.y, win.z) into object coordinates using default near and far clip planes definition. More...
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > unProjectNO (vec< 3, T, Q > const &win, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 Map the specified window coordinates (win.x, win.y, win.z) into object coordinates. More...
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > unProjectZO (vec< 3, T, Q > const &win, mat< 4, 4, T, Q > const &model, mat< 4, 4, T, Q > const &proj, vec< 4, U, Q > const &viewport)
 Map the specified window coordinates (win.x, win.y, win.z) into object coordinates. More...
 

Detailed Description

Functions that generate common projection transformation matrices.

The matrices generated by this extension use standard OpenGL fixed-function conventions. For example, the lookAt function generates a transform from world space into the specific eye space that the projective matrix functions (perspective, ortho, etc) are designed to expect. The OpenGL compatibility specifications defines the particular layout of this eye space.

Include <glm/ext/matrix_projection.hpp> to use the features of this extension.

See also
GLM_EXT_matrix_transform
GLM_EXT_matrix_clip_space

Function Documentation

GLM_FUNC_DECL mat<4, 4, T, Q> glm::pickMatrix ( vec< 2, T, Q > const &  center,
vec< 2, T, Q > const &  delta,
vec< 4, U, Q > const &  viewport 
)

Define a picking region.

Parameters
centerSpecify the center of a picking region in window coordinates.
deltaSpecify the width and height, respectively, of the picking region in window coordinates.
viewportRendering viewport
Template Parameters
TNative type used for the computation. Currently supported: half (not recommended), float or double.
UCurrently supported: Floating-point types and integer types.
See also
gluPickMatrix man page
GLM_FUNC_DECL vec<3, T, Q> glm::project ( vec< 3, T, Q > const &  obj,
mat< 4, 4, T, Q > const &  model,
mat< 4, 4, T, Q > const &  proj,
vec< 4, U, Q > const &  viewport 
)

Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates using default near and far clip planes definition.

To change default near and far clip planes definition use GLM_FORCE_DEPTH_ZERO_TO_ONE.

Parameters
objSpecify the object coordinates.
modelSpecifies the current modelview matrix
projSpecifies the current projection matrix
viewportSpecifies the current viewport
Returns
Return the computed window coordinates.
Template Parameters
TNative type used for the computation. Currently supported: half (not recommended), float or double.
UCurrently supported: Floating-point types and integer types.
See also
gluProject man page
GLM_FUNC_DECL vec<3, T, Q> glm::projectNO ( vec< 3, T, Q > const &  obj,
mat< 4, 4, T, Q > const &  model,
mat< 4, 4, T, Q > const &  proj,
vec< 4, U, Q > const &  viewport 
)

Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates.

The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Parameters
objSpecify the object coordinates.
modelSpecifies the current modelview matrix
projSpecifies the current projection matrix
viewportSpecifies the current viewport
Returns
Return the computed window coordinates.
Template Parameters
TNative type used for the computation. Currently supported: half (not recommended), float or double.
UCurrently supported: Floating-point types and integer types.
See also
gluProject man page
GLM_FUNC_DECL vec<3, T, Q> glm::projectZO ( vec< 3, T, Q > const &  obj,
mat< 4, 4, T, Q > const &  model,
mat< 4, 4, T, Q > const &  proj,
vec< 4, U, Q > const &  viewport 
)

Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates.

The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition)

Parameters
objSpecify the object coordinates.
modelSpecifies the current modelview matrix
projSpecifies the current projection matrix
viewportSpecifies the current viewport
Returns
Return the computed window coordinates.
Template Parameters
TNative type used for the computation. Currently supported: half (not recommended), float or double.
UCurrently supported: Floating-point types and integer types.
See also
gluProject man page
GLM_FUNC_DECL vec<3, T, Q> glm::unProject ( vec< 3, T, Q > const &  win,
mat< 4, 4, T, Q > const &  model,
mat< 4, 4, T, Q > const &  proj,
vec< 4, U, Q > const &  viewport 
)

Map the specified window coordinates (win.x, win.y, win.z) into object coordinates using default near and far clip planes definition.

To change default near and far clip planes definition use GLM_FORCE_DEPTH_ZERO_TO_ONE.

Parameters
winSpecify the window coordinates to be mapped.
modelSpecifies the modelview matrix
projSpecifies the projection matrix
viewportSpecifies the viewport
Returns
Returns the computed object coordinates.
Template Parameters
TNative type used for the computation. Currently supported: half (not recommended), float or double.
UCurrently supported: Floating-point types and integer types.
See also
gluUnProject man page
GLM_FUNC_DECL vec<3, T, Q> glm::unProjectNO ( vec< 3, T, Q > const &  win,
mat< 4, 4, T, Q > const &  model,
mat< 4, 4, T, Q > const &  proj,
vec< 4, U, Q > const &  viewport 
)

Map the specified window coordinates (win.x, win.y, win.z) into object coordinates.

The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition)

Parameters
winSpecify the window coordinates to be mapped.
modelSpecifies the modelview matrix
projSpecifies the projection matrix
viewportSpecifies the viewport
Returns
Returns the computed object coordinates.
Template Parameters
TNative type used for the computation. Currently supported: half (not recommended), float or double.
UCurrently supported: Floating-point types and integer types.
See also
gluUnProject man page
GLM_FUNC_DECL vec<3, T, Q> glm::unProjectZO ( vec< 3, T, Q > const &  win,
mat< 4, 4, T, Q > const &  model,
mat< 4, 4, T, Q > const &  proj,
vec< 4, U, Q > const &  viewport 
)

Map the specified window coordinates (win.x, win.y, win.z) into object coordinates.

The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition)

Parameters
winSpecify the window coordinates to be mapped.
modelSpecifies the modelview matrix
projSpecifies the projection matrix
viewportSpecifies the viewport
Returns
Returns the computed object coordinates.
Template Parameters
TNative type used for the computation. Currently supported: half (not recommended), float or double.
UCurrently supported: Floating-point types and integer types.
See also
gluUnProject man page
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00246.html ================================================ 0.9.9 API documentation: GLM_EXT_matrix_relational
0.9.9 API documentation
GLM_EXT_matrix_relational

Exposes comparison functions for matrix types that take a user defined epsilon values. More...

Functions

template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y)
 Perform a component-wise equal-to comparison of two matrices. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, T epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, vec< C, T, Q > const &epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, int ULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > equal (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, vec< C, int, Q > const &ULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y)
 Perform a component-wise not-equal-to comparison of two matrices. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, T epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, vec< C, T, Q > const &epsilon)
 Returns the component-wise comparison of |x - y| >= epsilon. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, int ULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< C, bool, Q > notEqual (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, vec< C, int, Q > const &ULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 

Detailed Description

Exposes comparison functions for matrix types that take a user defined epsilon values.

Include <glm/ext/matrix_relational.hpp> to use the features of this extension.

See also
GLM_EXT_vector_relational
GLM_EXT_scalar_relational
GLM_EXT_quaternion_relational

Function Documentation

GLM_FUNC_DECL GLM_CONSTEXPR vec<C, bool, Q> glm::equal ( mat< C, R, T, Q > const &  x,
mat< C, R, T, Q > const &  y 
)

Perform a component-wise equal-to comparison of two matrices.

Return a boolean vector which components value is True if this expression is satisfied per column of the matrices.

Template Parameters
CInteger between 1 and 4 included that qualify the number of columns of the matrix
RInteger between 1 and 4 included that qualify the number of rows of the matrix
TFloating-point or integer scalar types
QValue from qualifier enum
GLM_FUNC_DECL GLM_CONSTEXPR vec<C, bool, Q> glm::equal ( mat< C, R, T, Q > const &  x,
mat< C, R, T, Q > const &  y,
epsilon 
)

Returns the component-wise comparison of |x - y| < epsilon.

True if this expression is satisfied.

Template Parameters
CInteger between 1 and 4 included that qualify the number of columns of the matrix
RInteger between 1 and 4 included that qualify the number of rows of the matrix
TFloating-point or integer scalar types
QValue from qualifier enum
GLM_FUNC_DECL GLM_CONSTEXPR vec<C, bool, Q> glm::equal ( mat< C, R, T, Q > const &  x,
mat< C, R, T, Q > const &  y,
vec< C, T, Q > const &  epsilon 
)

Returns the component-wise comparison of |x - y| < epsilon.

True if this expression is satisfied.

Template Parameters
CInteger between 1 and 4 included that qualify the number of columns of the matrix
RInteger between 1 and 4 included that qualify the number of rows of the matrix
TFloating-point or integer scalar types
QValue from qualifier enum
GLM_FUNC_DECL GLM_CONSTEXPR vec<C, bool, Q> glm::equal ( mat< C, R, T, Q > const &  x,
mat< C, R, T, Q > const &  y,
int  ULPs 
)

Returns the component-wise comparison between two vectors in term of ULPs.

True if this expression is satisfied.

Template Parameters
CInteger between 1 and 4 included that qualify the number of columns of the matrix
RInteger between 1 and 4 included that qualify the number of rows of the matrix
TFloating-point
QValue from qualifier enum
GLM_FUNC_DECL GLM_CONSTEXPR vec<C, bool, Q> glm::equal ( mat< C, R, T, Q > const &  x,
mat< C, R, T, Q > const &  y,
vec< C, int, Q > const &  ULPs 
)

Returns the component-wise comparison between two vectors in term of ULPs.

True if this expression is satisfied.

Template Parameters
CInteger between 1 and 4 included that qualify the number of columns of the matrix
RInteger between 1 and 4 included that qualify the number of rows of the matrix
TFloating-point
QValue from qualifier enum
GLM_FUNC_DECL GLM_CONSTEXPR vec<C, bool, Q> glm::notEqual ( mat< C, R, T, Q > const &  x,
mat< C, R, T, Q > const &  y 
)

Perform a component-wise not-equal-to comparison of two matrices.

Return a boolean vector which components value is True if this expression is satisfied per column of the matrices.

Template Parameters
CInteger between 1 and 4 included that qualify the number of columns of the matrix
RInteger between 1 and 4 included that qualify the number of rows of the matrix
TFloating-point or integer scalar types
QValue from qualifier enum
GLM_FUNC_DECL GLM_CONSTEXPR vec<C, bool, Q> glm::notEqual ( mat< C, R, T, Q > const &  x,
mat< C, R, T, Q > const &  y,
epsilon 
)

Returns the component-wise comparison of |x - y| < epsilon.

True if this expression is not satisfied.

Template Parameters
CInteger between 1 and 4 included that qualify the number of columns of the matrix
RInteger between 1 and 4 included that qualify the number of rows of the matrix
TFloating-point or integer scalar types
QValue from qualifier enum
GLM_FUNC_DECL GLM_CONSTEXPR vec<C, bool, Q> glm::notEqual ( mat< C, R, T, Q > const &  x,
mat< C, R, T, Q > const &  y,
vec< C, T, Q > const &  epsilon 
)

Returns the component-wise comparison of |x - y| >= epsilon.

True if this expression is not satisfied.

Template Parameters
CInteger between 1 and 4 included that qualify the number of columns of the matrix
RInteger between 1 and 4 included that qualify the number of rows of the matrix
TFloating-point or integer scalar types
QValue from qualifier enum
GLM_FUNC_DECL GLM_CONSTEXPR vec<C, bool, Q> glm::notEqual ( mat< C, R, T, Q > const &  x,
mat< C, R, T, Q > const &  y,
int  ULPs 
)

Returns the component-wise comparison between two vectors in term of ULPs.

True if this expression is not satisfied.

Template Parameters
CInteger between 1 and 4 included that qualify the number of columns of the matrix
RInteger between 1 and 4 included that qualify the number of rows of the matrix
TFloating-point
QValue from qualifier enum
GLM_FUNC_DECL GLM_CONSTEXPR vec<C, bool, Q> glm::notEqual ( mat< C, R, T, Q > const &  x,
mat< C, R, T, Q > const &  y,
vec< C, int, Q > const &  ULPs 
)

Returns the component-wise comparison between two vectors in term of ULPs.

True if this expression is not satisfied.

Template Parameters
CInteger between 1 and 4 included that qualify the number of columns of the matrix
RInteger between 1 and 4 included that qualify the number of rows of the matrix
TFloating-point
QValue from qualifier enum
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00247.html ================================================ 0.9.9 API documentation: GLM_EXT_matrix_transform
0.9.9 API documentation
GLM_EXT_matrix_transform

Defines functions that generate common transformation matrices. More...

Functions

template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType identity ()
 Builds an identity matrix.
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > lookAt (vec< 3, T, Q > const &eye, vec< 3, T, Q > const &center, vec< 3, T, Q > const &up)
 Build a look at view matrix based on the default handedness. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > lookAtLH (vec< 3, T, Q > const &eye, vec< 3, T, Q > const &center, vec< 3, T, Q > const &up)
 Build a left handed look at view matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > lookAtRH (vec< 3, T, Q > const &eye, vec< 3, T, Q > const &center, vec< 3, T, Q > const &up)
 Build a right handed look at view matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > rotate (mat< 4, 4, T, Q > const &m, T angle, vec< 3, T, Q > const &axis)
 Builds a rotation 4 * 4 matrix created from an axis vector and an angle. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > scale (mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &v)
 Builds a scale 4 * 4 matrix created from 3 scalars. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > translate (mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &v)
 Builds a translation 4 * 4 matrix created from a vector of 3 components. More...
 

Detailed Description

Defines functions that generate common transformation matrices.

The matrices generated by this extension use standard OpenGL fixed-function conventions. For example, the lookAt function generates a transform from world space into the specific eye space that the projective matrix functions (perspective, ortho, etc) are designed to expect. The OpenGL compatibility specifications defines the particular layout of this eye space.

Include <glm/ext/matrix_transform.hpp> to use the features of this extension.

See also
GLM_EXT_matrix_projection
GLM_EXT_matrix_clip_space

Function Documentation

GLM_FUNC_DECL mat<4, 4, T, Q> glm::lookAt ( vec< 3, T, Q > const &  eye,
vec< 3, T, Q > const &  center,
vec< 3, T, Q > const &  up 
)

Build a look at view matrix based on the default handedness.

Parameters
eyePosition of the camera
centerPosition where the camera is looking at
upNormalized up vector, how the camera is oriented. Typically (0, 0, 1)
Template Parameters
TA floating-point scalar type
QA value from qualifier enum
See also
- frustum(T const& left, T const& right, T const& bottom, T const& top, T const& nearVal, T const& farVal) frustum(T const& left, T const& right, T const& bottom, T const& top, T const& nearVal, T const& farVal)
gluLookAt man page
GLM_FUNC_DECL mat<4, 4, T, Q> glm::lookAtLH ( vec< 3, T, Q > const &  eye,
vec< 3, T, Q > const &  center,
vec< 3, T, Q > const &  up 
)

Build a left handed look at view matrix.

Parameters
eyePosition of the camera
centerPosition where the camera is looking at
upNormalized up vector, how the camera is oriented. Typically (0, 0, 1)
Template Parameters
TA floating-point scalar type
QA value from qualifier enum
See also
- frustum(T const& left, T const& right, T const& bottom, T const& top, T const& nearVal, T const& farVal) frustum(T const& left, T const& right, T const& bottom, T const& top, T const& nearVal, T const& farVal)
GLM_FUNC_DECL mat<4, 4, T, Q> glm::lookAtRH ( vec< 3, T, Q > const &  eye,
vec< 3, T, Q > const &  center,
vec< 3, T, Q > const &  up 
)

Build a right handed look at view matrix.

Parameters
eyePosition of the camera
centerPosition where the camera is looking at
upNormalized up vector, how the camera is oriented. Typically (0, 0, 1)
Template Parameters
TA floating-point scalar type
QA value from qualifier enum
See also
- frustum(T const& left, T const& right, T const& bottom, T const& top, T const& nearVal, T const& farVal) frustum(T const& left, T const& right, T const& bottom, T const& top, T const& nearVal, T const& farVal)
GLM_FUNC_DECL mat<4, 4, T, Q> glm::rotate ( mat< 4, 4, T, Q > const &  m,
angle,
vec< 3, T, Q > const &  axis 
)

Builds a rotation 4 * 4 matrix created from an axis vector and an angle.

Parameters
mInput matrix multiplied by this rotation matrix.
angleRotation angle expressed in radians.
axisRotation axis, recommended to be normalized.
Template Parameters
TA floating-point scalar type
QA value from qualifier enum
See also
- rotate(mat<4, 4, T, Q> const& m, T angle, T x, T y, T z)
- rotate(T angle, vec<3, T, Q> const& v)
glRotate man page
GLM_FUNC_DECL mat<4, 4, T, Q> glm::scale ( mat< 4, 4, T, Q > const &  m,
vec< 3, T, Q > const &  v 
)

Builds a scale 4 * 4 matrix created from 3 scalars.

Parameters
mInput matrix multiplied by this scale matrix.
vRatio of scaling for each axis.
Template Parameters
TA floating-point scalar type
QA value from qualifier enum
See also
- scale(mat<4, 4, T, Q> const& m, T x, T y, T z)
- scale(vec<3, T, Q> const& v)
glScale man page
GLM_FUNC_DECL mat<4, 4, T, Q> glm::translate ( mat< 4, 4, T, Q > const &  m,
vec< 3, T, Q > const &  v 
)

Builds a translation 4 * 4 matrix created from a vector of 3 components.

Parameters
mInput matrix multiplied by this translation matrix.
vCoordinates of a translation vector.
Template Parameters
TA floating-point scalar type
QA value from qualifier enum
#include <glm/glm.hpp>
...
glm::mat4 m = glm::translate(glm::mat4(1.0f), glm::vec3(1.0f));
// m[0][0] == 1.0f, m[0][1] == 0.0f, m[0][2] == 0.0f, m[0][3] == 0.0f
// m[1][0] == 0.0f, m[1][1] == 1.0f, m[1][2] == 0.0f, m[1][3] == 0.0f
// m[2][0] == 0.0f, m[2][1] == 0.0f, m[2][2] == 1.0f, m[2][3] == 0.0f
// m[3][0] == 1.0f, m[3][1] == 1.0f, m[3][2] == 1.0f, m[3][3] == 1.0f
See also
- translate(mat<4, 4, T, Q> const& m, T x, T y, T z)
- translate(vec<3, T, Q> const& v)
glTranslate man page
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00248.html ================================================ 0.9.9 API documentation: GLM_EXT_quaternion_common
0.9.9 API documentation
GLM_EXT_quaternion_common

Provides common functions for quaternion types. More...

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > conjugate (qua< T, Q > const &q)
 Returns the q conjugate. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > inverse (qua< T, Q > const &q)
 Returns the q inverse. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > isinf (qua< T, Q > const &x)
 Returns true if x holds a positive infinity or negative infinity representation in the underlying implementation's set of floating point representations. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > isnan (qua< T, Q > const &x)
 Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of floating point representations. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > lerp (qua< T, Q > const &x, qua< T, Q > const &y, T a)
 Linear interpolation of two quaternions. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > mix (qua< T, Q > const &x, qua< T, Q > const &y, T a)
 Spherical linear interpolation of two quaternions. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > slerp (qua< T, Q > const &x, qua< T, Q > const &y, T a)
 Spherical linear interpolation of two quaternions. More...
 

Detailed Description

Provides common functions for quaternion types.

Include <glm/ext/quaternion_common.hpp> to use the features of this extension.

See also
GLM_EXT_scalar_common
GLM_EXT_vector_common
GLM_EXT_quaternion_float
GLM_EXT_quaternion_double
GLM_EXT_quaternion_exponential
GLM_EXT_quaternion_geometric
GLM_EXT_quaternion_relational
GLM_EXT_quaternion_trigonometric
GLM_EXT_quaternion_transform

Function Documentation

GLM_FUNC_DECL qua<T, Q> glm::conjugate ( qua< T, Q > const &  q)

Returns the q conjugate.

Template Parameters
TA floating-point scalar type
QA value from qualifier enum
GLM_FUNC_DECL qua<T, Q> glm::inverse ( qua< T, Q > const &  q)

Returns the q inverse.

Template Parameters
TA floating-point scalar type
QA value from qualifier enum
GLM_FUNC_DECL vec<4, bool, Q> glm::isinf ( qua< T, Q > const &  x)

Returns true if x holds a positive infinity or negative infinity representation in the underlying implementation's set of floating point representations.

Returns false otherwise, including for implementations with no infinity representations.

Template Parameters
TA floating-point scalar type
QA value from qualifier enum
GLM_FUNC_DECL vec<4, bool, Q> glm::isnan ( qua< T, Q > const &  x)

Returns true if x holds a NaN (not a number) representation in the underlying implementation's set of floating point representations.

Returns false otherwise, including for implementations with no NaN representations.

/!\ When using compiler fast math, this function may fail.

Template Parameters
TA floating-point scalar type
QA value from qualifier enum
GLM_FUNC_DECL qua<T, Q> glm::lerp ( qua< T, Q > const &  x,
qua< T, Q > const &  y,
a 
)

Linear interpolation of two quaternions.

The interpolation is oriented.

Parameters
xA quaternion
yA quaternion
aInterpolation factor. The interpolation is defined in the range [0, 1].
Template Parameters
TA floating-point scalar type
QA value from qualifier enum
GLM_FUNC_DECL qua<T, Q> glm::mix ( qua< T, Q > const &  x,
qua< T, Q > const &  y,
a 
)

Spherical linear interpolation of two quaternions.

The interpolation is oriented and the rotation is performed at constant speed. For short path spherical linear interpolation, use the slerp function.

Parameters
xA quaternion
yA quaternion
aInterpolation factor. The interpolation is defined beyond the range [0, 1].
Template Parameters
TA floating-point scalar type
QA value from qualifier enum
See also
- slerp(qua<T, Q> const& x, qua<T, Q> const& y, T const& a)
GLM_FUNC_DECL qua<T, Q> glm::slerp ( qua< T, Q > const &  x,
qua< T, Q > const &  y,
a 
)

Spherical linear interpolation of two quaternions.

The interpolation always take the short path and the rotation is performed at constant speed.

Parameters
xA quaternion
yA quaternion
aInterpolation factor. The interpolation is defined beyond the range [0, 1].
Template Parameters
TA floating-point scalar type
QA value from qualifier enum
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00249.html ================================================ 0.9.9 API documentation: GLM_EXT_quaternion_double
0.9.9 API documentation
GLM_EXT_quaternion_double

Exposes double-precision floating point quaternion type. More...

Typedefs

typedef qua< double, defaultp > dquat
 Quaternion of double-precision floating-point numbers.
 

Detailed Description

Exposes double-precision floating point quaternion type.

Include <glm/ext/quaternion_double.hpp> to use the features of this extension.

See also
GLM_EXT_quaternion_float
GLM_EXT_quaternion_double_precision
GLM_EXT_quaternion_common
GLM_EXT_quaternion_exponential
GLM_EXT_quaternion_geometric
GLM_EXT_quaternion_relational
GLM_EXT_quaternion_transform
GLM_EXT_quaternion_trigonometric
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00250.html ================================================ 0.9.9 API documentation: GLM_EXT_quaternion_double_precision
0.9.9 API documentation
GLM_EXT_quaternion_double_precision

Exposes double-precision floating point quaternion type with various precision in term of ULPs. More...

Typedefs

typedef qua< double, highp > highp_dquat
 Quaternion of high double-qualifier floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef qua< double, lowp > lowp_dquat
 Quaternion of double-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef qua< double, mediump > mediump_dquat
 Quaternion of medium double-qualifier floating-point numbers using high precision arithmetic in term of ULPs. More...
 

Detailed Description

Exposes double-precision floating point quaternion type with various precision in term of ULPs.

Include <glm/ext/quaternion_double_precision.hpp> to use the features of this extension.

Typedef Documentation

typedef qua< double, highp > highp_dquat

Quaternion of high double-qualifier floating-point numbers using high precision arithmetic in term of ULPs.

See also
GLM_EXT_quaternion_double_precision

Definition at line 38 of file quaternion_double_precision.hpp.

typedef qua< double, lowp > lowp_dquat

Quaternion of double-precision floating-point numbers using high precision arithmetic in term of ULPs.

See also
GLM_EXT_quaternion_double_precision

Definition at line 28 of file quaternion_double_precision.hpp.

typedef qua< double, mediump > mediump_dquat

Quaternion of medium double-qualifier floating-point numbers using high precision arithmetic in term of ULPs.

See also
GLM_EXT_quaternion_double_precision

Definition at line 33 of file quaternion_double_precision.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00251.html ================================================ 0.9.9 API documentation: GLM_EXT_quaternion_exponential
0.9.9 API documentation
GLM_EXT_quaternion_exponential

Provides exponential functions for quaternion types. More...

Provides exponential functions for quaternion types.

Include <glm/ext/quaternion_exponential.hpp> to use the features of this extension.

See also
core_exponential
GLM_EXT_quaternion_float
GLM_EXT_quaternion_double
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00252.html ================================================ 0.9.9 API documentation: GLM_EXT_quaternion_float
0.9.9 API documentation
GLM_EXT_quaternion_float

Exposes single-precision floating point quaternion type. More...

Typedefs

typedef qua< float, defaultp > quat
 Quaternion of single-precision floating-point numbers.
 

Detailed Description

Exposes single-precision floating point quaternion type.

Include <glm/ext/quaternion_float.hpp> to use the features of this extension.

See also
GLM_EXT_quaternion_double
GLM_EXT_quaternion_float_precision
GLM_EXT_quaternion_common
GLM_EXT_quaternion_exponential
GLM_EXT_quaternion_geometric
GLM_EXT_quaternion_relational
GLM_EXT_quaternion_transform
GLM_EXT_quaternion_trigonometric
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00253.html ================================================ 0.9.9 API documentation: GLM_EXT_quaternion_float_precision
0.9.9 API documentation
GLM_EXT_quaternion_float_precision

Exposes single-precision floating point quaternion type with various precision in term of ULPs. More...

Typedefs

typedef qua< float, highp > highp_quat
 Quaternion of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef qua< float, lowp > lowp_quat
 Quaternion of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef qua< float, mediump > mediump_quat
 Quaternion of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 

Detailed Description

Exposes single-precision floating point quaternion type with various precision in term of ULPs.

Include <glm/ext/quaternion_float_precision.hpp> to use the features of this extension.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00254.html ================================================ 0.9.9 API documentation: GLM_EXT_quaternion_geometric
0.9.9 API documentation
GLM_EXT_quaternion_geometric

Provides geometric functions for quaternion types. More...

Functions

template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER qua< T, Q > cross (qua< T, Q > const &q1, qua< T, Q > const &q2)
 Compute a cross product. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T dot (qua< T, Q > const &x, qua< T, Q > const &y)
 Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + ... More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T length (qua< T, Q > const &q)
 Returns the norm of a quaternions. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > normalize (qua< T, Q > const &q)
 Returns the normalized quaternion. More...
 

Detailed Description

Provides geometric functions for quaternion types.

Include <glm/ext/quaternion_geometric.hpp> to use the features of this extension.

See also
core_geometric
GLM_EXT_quaternion_float
GLM_EXT_quaternion_double

Function Documentation

GLM_FUNC_QUALIFIER qua<T, Q> glm::cross ( qua< T, Q > const &  q1,
qua< T, Q > const &  q2 
)

Compute a cross product.

Template Parameters
TFloating-point scalar types
QValue from qualifier enum
See also
GLM_EXT_quaternion_geometric
GLM_FUNC_DECL T glm::dot ( qua< T, Q > const &  x,
qua< T, Q > const &  y 
)

Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + ...

Template Parameters
TFloating-point scalar types.
QValue from qualifier enum
See also
GLM_EXT_quaternion_geometric
GLM_FUNC_DECL T glm::length ( qua< T, Q > const &  q)

Returns the norm of a quaternions.

Template Parameters
TFloating-point scalar types
QValue from qualifier enum
See also
GLM_EXT_quaternion_geometric
GLM_FUNC_DECL qua<T, Q> glm::normalize ( qua< T, Q > const &  q)

Returns the normalized quaternion.

Template Parameters
TFloating-point scalar types
QValue from qualifier enum
See also
GLM_EXT_quaternion_geometric
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00255.html ================================================ 0.9.9 API documentation: GLM_EXT_quaternion_relational
0.9.9 API documentation
GLM_EXT_quaternion_relational

Exposes comparison functions for quaternion types that take a user defined epsilon values. More...

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > equal (qua< T, Q > const &x, qua< T, Q > const &y)
 Returns the component-wise comparison of result x == y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > equal (qua< T, Q > const &x, qua< T, Q > const &y, T epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > notEqual (qua< T, Q > const &x, qua< T, Q > const &y)
 Returns the component-wise comparison of result x != y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > notEqual (qua< T, Q > const &x, qua< T, Q > const &y, T epsilon)
 Returns the component-wise comparison of |x - y| >= epsilon. More...
 

Detailed Description

Exposes comparison functions for quaternion types that take a user defined epsilon values.

Include <glm/ext/quaternion_relational.hpp> to use the features of this extension.

See also
core_vector_relational
GLM_EXT_vector_relational
GLM_EXT_matrix_relational
GLM_EXT_quaternion_float
GLM_EXT_quaternion_double

Function Documentation

GLM_FUNC_DECL vec<4, bool, Q> glm::equal ( qua< T, Q > const &  x,
qua< T, Q > const &  y 
)

Returns the component-wise comparison of result x == y.

Template Parameters
TFloating-point scalar types
QValue from qualifier enum
GLM_FUNC_DECL vec<4, bool, Q> glm::equal ( qua< T, Q > const &  x,
qua< T, Q > const &  y,
epsilon 
)

Returns the component-wise comparison of |x - y| < epsilon.

Template Parameters
TFloating-point scalar types
QValue from qualifier enum
GLM_FUNC_DECL vec<4, bool, Q> glm::notEqual ( qua< T, Q > const &  x,
qua< T, Q > const &  y 
)

Returns the component-wise comparison of result x != y.

Template Parameters
TFloating-point scalar types
QValue from qualifier enum
GLM_FUNC_DECL vec<4, bool, Q> glm::notEqual ( qua< T, Q > const &  x,
qua< T, Q > const &  y,
epsilon 
)

Returns the component-wise comparison of |x - y| >= epsilon.

Template Parameters
TFloating-point scalar types
QValue from qualifier enum
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00256.html ================================================ 0.9.9 API documentation: GLM_EXT_quaternion_transform
0.9.9 API documentation
GLM_EXT_quaternion_transform

Provides transformation functions for quaternion types. More...

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > exp (qua< T, Q > const &q)
 Returns a exponential of a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > log (qua< T, Q > const &q)
 Returns a logarithm of a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > pow (qua< T, Q > const &q, T y)
 Returns a quaternion raised to a power. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > rotate (qua< T, Q > const &q, T const &angle, vec< 3, T, Q > const &axis)
 Rotates a quaternion from a vector of 3 components axis and an angle. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > sqrt (qua< T, Q > const &q)
 Returns the square root of a quaternion. More...
 

Detailed Description

Provides transformation functions for quaternion types.

Include <glm/ext/quaternion_transform.hpp> to use the features of this extension.

See also
GLM_EXT_quaternion_float
GLM_EXT_quaternion_double
GLM_EXT_quaternion_exponential
GLM_EXT_quaternion_geometric
GLM_EXT_quaternion_relational
GLM_EXT_quaternion_trigonometric

Function Documentation

GLM_FUNC_DECL qua<T, Q> glm::exp ( qua< T, Q > const &  q)

Returns a exponential of a quaternion.

Template Parameters
TA floating-point scalar type
QA value from qualifier enum
GLM_FUNC_DECL qua<T, Q> glm::log ( qua< T, Q > const &  q)

Returns a logarithm of a quaternion.

Template Parameters
TA floating-point scalar type
QA value from qualifier enum
GLM_FUNC_DECL qua<T, Q> glm::pow ( qua< T, Q > const &  q,
y 
)

Returns a quaternion raised to a power.

Template Parameters
TA floating-point scalar type
QA value from qualifier enum
GLM_FUNC_DECL qua<T, Q> glm::rotate ( qua< T, Q > const &  q,
T const &  angle,
vec< 3, T, Q > const &  axis 
)

Rotates a quaternion from a vector of 3 components axis and an angle.

Parameters
qSource orientation
angleAngle expressed in radians.
axisAxis of the rotation
Template Parameters
TFloating-point scalar types
QValue from qualifier enum
GLM_FUNC_DECL qua<T, Q> glm::sqrt ( qua< T, Q > const &  q)

Returns the square root of a quaternion.

Template Parameters
TA floating-point scalar type
QA value from qualifier enum
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00257.html ================================================ 0.9.9 API documentation: GLM_EXT_quaternion_trigonometric
0.9.9 API documentation
GLM_EXT_quaternion_trigonometric

Provides trigonometric functions for quaternion types. More...

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL T angle (qua< T, Q > const &x)
 Returns the quaternion rotation angle. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > angleAxis (T const &angle, vec< 3, T, Q > const &axis)
 Build a quaternion from an angle and a normalized axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > axis (qua< T, Q > const &x)
 Returns the q rotation axis. More...
 

Detailed Description

Provides trigonometric functions for quaternion types.

Include <glm/ext/quaternion_trigonometric.hpp> to use the features of this extension.

See also
GLM_EXT_quaternion_float
GLM_EXT_quaternion_double
GLM_EXT_quaternion_exponential
GLM_EXT_quaternion_geometric
GLM_EXT_quaternion_relational
GLM_EXT_quaternion_transform

Function Documentation

GLM_FUNC_DECL T glm::angle ( qua< T, Q > const &  x)

Returns the quaternion rotation angle.

Template Parameters
TA floating-point scalar type
QA value from qualifier enum
GLM_FUNC_DECL qua<T, Q> glm::angleAxis ( T const &  angle,
vec< 3, T, Q > const &  axis 
)

Build a quaternion from an angle and a normalized axis.

Parameters
angleAngle expressed in radians.
axisAxis of the quaternion, must be normalized.
Template Parameters
TA floating-point scalar type
QA value from qualifier enum
GLM_FUNC_DECL vec<3, T, Q> glm::axis ( qua< T, Q > const &  x)

Returns the q rotation axis.

Template Parameters
TA floating-point scalar type
QA value from qualifier enum
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00258.html ================================================ 0.9.9 API documentation: GLM_EXT_scalar_common
0.9.9 API documentation
GLM_EXT_scalar_common

Exposes min and max functions for 3 to 4 scalar parameters. More...

Functions

template<typename T >
GLM_FUNC_DECL T fmax (T a, T b)
 Returns the maximum component-wise values of 2 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T fmax (T a, T b, T C)
 Returns the maximum component-wise values of 3 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T fmax (T a, T b, T C, T D)
 Returns the maximum component-wise values of 4 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T fmin (T a, T b)
 Returns the minimum component-wise values of 2 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T fmin (T a, T b, T c)
 Returns the minimum component-wise values of 3 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T fmin (T a, T b, T c, T d)
 Returns the minimum component-wise values of 4 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T max (T a, T b, T c)
 Returns the maximum component-wise values of 3 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T max (T a, T b, T c, T d)
 Returns the maximum component-wise values of 4 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T min (T a, T b, T c)
 Returns the minimum component-wise values of 3 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T min (T a, T b, T c, T d)
 Returns the minimum component-wise values of 4 inputs. More...
 

Detailed Description

Exposes min and max functions for 3 to 4 scalar parameters.

Include <glm/ext/scalar_common.hpp> to use the features of this extension.

See also
Common functions
GLM_EXT_vector_common

Function Documentation

GLM_FUNC_DECL T glm::fmax ( a,
b 
)

Returns the maximum component-wise values of 2 inputs.

If one of the two arguments is NaN, the value of the other argument is returned.

Template Parameters
TA floating-point scalar type.
See also
std::fmax documentation
GLM_FUNC_DECL T glm::fmax ( a,
b,
C 
)

Returns the maximum component-wise values of 3 inputs.

If one of the two arguments is NaN, the value of the other argument is returned.

Template Parameters
TA floating-point scalar type.
See also
std::fmax documentation
GLM_FUNC_DECL T glm::fmax ( a,
b,
C,
D 
)

Returns the maximum component-wise values of 4 inputs.

If one of the two arguments is NaN, the value of the other argument is returned.

Template Parameters
TA floating-point scalar type.
See also
std::fmax documentation
GLM_FUNC_DECL T glm::fmin ( a,
b 
)

Returns the minimum component-wise values of 2 inputs.

If one of the two arguments is NaN, the value of the other argument is returned.

Template Parameters
TA floating-point scalar type.
See also
std::fmin documentation
GLM_FUNC_DECL T glm::fmin ( a,
b,
c 
)

Returns the minimum component-wise values of 3 inputs.

If one of the two arguments is NaN, the value of the other argument is returned.

Template Parameters
TA floating-point scalar type.
See also
std::fmin documentation
GLM_FUNC_DECL T glm::fmin ( a,
b,
c,
d 
)

Returns the minimum component-wise values of 4 inputs.

If one of the two arguments is NaN, the value of the other argument is returned.

Template Parameters
TA floating-point scalar type.
See also
std::fmin documentation
GLM_FUNC_DECL T glm::max ( a,
b,
c 
)

Returns the maximum component-wise values of 3 inputs.

Template Parameters
TA floating-point scalar type.
GLM_FUNC_DECL T glm::max ( a,
b,
c,
d 
)

Returns the maximum component-wise values of 4 inputs.

Template Parameters
TA floating-point scalar type.
GLM_FUNC_DECL T glm::min ( a,
b,
c 
)

Returns the minimum component-wise values of 3 inputs.

Template Parameters
TA floating-point scalar type.
GLM_FUNC_DECL T glm::min ( a,
b,
c,
d 
)

Returns the minimum component-wise values of 4 inputs.

Template Parameters
TA floating-point scalar type.
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00259.html ================================================ 0.9.9 API documentation: GLM_EXT_scalar_constants
0.9.9 API documentation
GLM_EXT_scalar_constants

Provides a list of constants and precomputed useful values. More...

Functions

template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon ()
 Return the epsilon constant for floating point types.
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType pi ()
 Return the pi constant for floating point types.
 

Detailed Description

Provides a list of constants and precomputed useful values.

Include <glm/ext/scalar_constants.hpp> to use the features of this extension.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00260.html ================================================ 0.9.9 API documentation: GLM_EXT_scalar_int_sized
0.9.9 API documentation
GLM_EXT_scalar_int_sized

Exposes sized signed integer scalar types. More...

Typedefs

typedef detail::int16 int16
 16 bit signed integer type.
 
typedef detail::int32 int32
 32 bit signed integer type.
 
typedef detail::int64 int64
 64 bit signed integer type.
 
typedef detail::int8 int8
 8 bit signed integer type.
 

Detailed Description

Exposes sized signed integer scalar types.

Include <glm/ext/scalar_int_sized.hpp> to use the features of this extension.

See also
GLM_EXT_scalar_uint_sized
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00261.html ================================================ 0.9.9 API documentation: GLM_EXT_scalar_integer
0.9.9 API documentation
GLM_EXT_scalar_integer

Include <glm/ext/scalar_integer.hpp> to use the features of this extension. More...

Functions

template<typename genIUType >
GLM_FUNC_DECL int findNSB (genIUType x, int significantBitCount)
 Returns the bit number of the Nth significant bit set to 1 in the binary representation of value. More...
 
template<typename genIUType >
GLM_FUNC_DECL bool isMultiple (genIUType v, genIUType Multiple)
 Return true if the 'Value' is a multiple of 'Multiple'. More...
 
template<typename genIUType >
GLM_FUNC_DECL bool isPowerOfTwo (genIUType v)
 Return true if the value is a power of two number. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType nextMultiple (genIUType v, genIUType Multiple)
 Higher multiple number of Source. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType nextPowerOfTwo (genIUType v)
 Return the power of two number which value is just higher the input value, round up to a power of two. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType prevMultiple (genIUType v, genIUType Multiple)
 Lower multiple number of Source. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType prevPowerOfTwo (genIUType v)
 Return the power of two number which value is just lower the input value, round down to a power of two. More...
 

Detailed Description

Include <glm/ext/scalar_integer.hpp> to use the features of this extension.

Function Documentation

GLM_FUNC_DECL int glm::findNSB ( genIUType  x,
int  significantBitCount 
)

Returns the bit number of the Nth significant bit set to 1 in the binary representation of value.

If value bitcount is less than the Nth significant bit, -1 will be returned.

Template Parameters
genIUTypeSigned or unsigned integer scalar types.
See also
GLM_EXT_scalar_integer
GLM_FUNC_DECL bool glm::isMultiple ( genIUType  v,
genIUType  Multiple 
)

Return true if the 'Value' is a multiple of 'Multiple'.

See also
GLM_EXT_scalar_integer
GLM_FUNC_DECL bool glm::isPowerOfTwo ( genIUType  v)

Return true if the value is a power of two number.

See also
GLM_EXT_scalar_integer
GLM_FUNC_DECL genIUType glm::nextMultiple ( genIUType  v,
genIUType  Multiple 
)

Higher multiple number of Source.

Template Parameters
genIUTypeInteger scalar or vector types.
Parameters
vSource value to which is applied the function
MultipleMust be a null or positive value
See also
GLM_EXT_scalar_integer
GLM_FUNC_DECL genIUType glm::nextPowerOfTwo ( genIUType  v)

Return the power of two number which value is just higher the input value, round up to a power of two.

See also
GLM_EXT_scalar_integer
GLM_FUNC_DECL genIUType glm::prevMultiple ( genIUType  v,
genIUType  Multiple 
)

Lower multiple number of Source.

Template Parameters
genIUTypeInteger scalar or vector types.
Parameters
vSource value to which is applied the function
MultipleMust be a null or positive value
See also
GLM_EXT_scalar_integer
GLM_FUNC_DECL genIUType glm::prevPowerOfTwo ( genIUType  v)

Return the power of two number which value is just lower the input value, round down to a power of two.

See also
GLM_EXT_scalar_integer
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00262.html ================================================ 0.9.9 API documentation: GLM_EXT_scalar_relational
0.9.9 API documentation
GLM_EXT_scalar_relational

Exposes comparison functions for scalar types that take a user defined epsilon values. More...

Exposes comparison functions for scalar types that take a user defined epsilon values.

Include <glm/ext/scalar_relational.hpp> to use the features of this extension.

See also
core_vector_relational
GLM_EXT_vector_relational
GLM_EXT_matrix_relational
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00263.html ================================================ 0.9.9 API documentation: GLM_EXT_scalar_uint_sized
0.9.9 API documentation
GLM_EXT_scalar_uint_sized

Exposes sized unsigned integer scalar types. More...

Typedefs

typedef detail::uint16 uint16
 16 bit unsigned integer type.
 
typedef detail::uint32 uint32
 32 bit unsigned integer type.
 
typedef detail::uint64 uint64
 64 bit unsigned integer type.
 
typedef detail::uint8 uint8
 8 bit unsigned integer type.
 

Detailed Description

Exposes sized unsigned integer scalar types.

Include <glm/ext/scalar_uint_sized.hpp> to use the features of this extension.

See also
GLM_EXT_scalar_int_sized
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00264.html ================================================ 0.9.9 API documentation: GLM_EXT_scalar_ulp
0.9.9 API documentation
GLM_EXT_scalar_ulp

Allow the measurement of the accuracy of a function against a reference implementation. More...

Allow the measurement of the accuracy of a function against a reference implementation.

This extension works on floating-point data and provide results in ULP.

Include <glm/ext/scalar_ulp.hpp> to use the features of this extension.

See also
GLM_EXT_vector_ulp
GLM_EXT_scalar_relational
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00265.html ================================================ 0.9.9 API documentation: GLM_EXT_vector_bool1
0.9.9 API documentation
GLM_EXT_vector_bool1

Exposes bvec1 vector type. More...

Typedefs

typedef vec< 1, bool, defaultp > bvec1
 1 components vector of boolean.
 

Detailed Description

Exposes bvec1 vector type.

Include <glm/ext/vector_bool1.hpp> to use the features of this extension.

See also
GLM_EXT_vector_bool1_precision extension.
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00266.html ================================================ 0.9.9 API documentation: GLM_EXT_vector_bool1_precision
0.9.9 API documentation
GLM_EXT_vector_bool1_precision

Exposes highp_bvec1, mediump_bvec1 and lowp_bvec1 types. More...

Typedefs

typedef vec< 1, bool, highp > highp_bvec1
 1 component vector of bool values.
 
typedef vec< 1, bool, lowp > lowp_bvec1
 1 component vector of bool values.
 
typedef vec< 1, bool, mediump > mediump_bvec1
 1 component vector of bool values.
 

Detailed Description

Exposes highp_bvec1, mediump_bvec1 and lowp_bvec1 types.

Include <glm/ext/vector_bool1_precision.hpp> to use the features of this extension.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00267.html ================================================ 0.9.9 API documentation: GLM_EXT_vector_common
0.9.9 API documentation
GLM_EXT_vector_common

Exposes min and max functions for 3 to 4 vector parameters. More...

Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmax (vec< L, T, Q > const &a, T b)
 Returns y if x < y; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmax (vec< L, T, Q > const &a, vec< L, T, Q > const &b)
 Returns y if x < y; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmax (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c)
 Returns y if x < y; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmax (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c, vec< L, T, Q > const &d)
 Returns y if x < y; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmin (vec< L, T, Q > const &x, T y)
 Returns y if y < x; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmin (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns y if y < x; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmin (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c)
 Returns y if y < x; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmin (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c, vec< L, T, Q > const &d)
 Returns y if y < x; otherwise, it returns x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > max (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &z)
 Return the maximum component-wise values of 3 inputs. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > max (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &z, vec< L, T, Q > const &w)
 Return the maximum component-wise values of 4 inputs. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > min (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c)
 Return the minimum component-wise values of 3 inputs. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > min (vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c, vec< L, T, Q > const &d)
 Return the minimum component-wise values of 4 inputs. More...
 

Detailed Description

Exposes min and max functions for 3 to 4 vector parameters.

Include <glm/ext/vector_common.hpp> to use the features of this extension.

See also
core_common
GLM_EXT_scalar_common

Function Documentation

GLM_FUNC_DECL vec<L, T, Q> glm::fmax ( vec< L, T, Q > const &  a,
b 
)

Returns y if x < y; otherwise, it returns x.

If one of the two arguments is NaN, the value of the other argument is returned.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
std::fmax documentation
GLM_FUNC_DECL vec<L, T, Q> glm::fmax ( vec< L, T, Q > const &  a,
vec< L, T, Q > const &  b 
)

Returns y if x < y; otherwise, it returns x.

If one of the two arguments is NaN, the value of the other argument is returned.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
std::fmax documentation
GLM_FUNC_DECL vec<L, T, Q> glm::fmax ( vec< L, T, Q > const &  a,
vec< L, T, Q > const &  b,
vec< L, T, Q > const &  c 
)

Returns y if x < y; otherwise, it returns x.

If one of the two arguments is NaN, the value of the other argument is returned.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
std::fmax documentation
GLM_FUNC_DECL vec<L, T, Q> glm::fmax ( vec< L, T, Q > const &  a,
vec< L, T, Q > const &  b,
vec< L, T, Q > const &  c,
vec< L, T, Q > const &  d 
)

Returns y if x < y; otherwise, it returns x.

If one of the two arguments is NaN, the value of the other argument is returned.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
std::fmax documentation
GLM_FUNC_DECL vec<L, T, Q> glm::fmin ( vec< L, T, Q > const &  x,
y 
)

Returns y if y < x; otherwise, it returns x.

If one of the two arguments is NaN, the value of the other argument is returned.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
std::fmin documentation
GLM_FUNC_DECL vec<L, T, Q> glm::fmin ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  y 
)

Returns y if y < x; otherwise, it returns x.

If one of the two arguments is NaN, the value of the other argument is returned.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
std::fmin documentation
GLM_FUNC_DECL vec<L, T, Q> glm::fmin ( vec< L, T, Q > const &  a,
vec< L, T, Q > const &  b,
vec< L, T, Q > const &  c 
)

Returns y if y < x; otherwise, it returns x.

If one of the two arguments is NaN, the value of the other argument is returned.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
std::fmin documentation
GLM_FUNC_DECL vec<L, T, Q> glm::fmin ( vec< L, T, Q > const &  a,
vec< L, T, Q > const &  b,
vec< L, T, Q > const &  c,
vec< L, T, Q > const &  d 
)

Returns y if y < x; otherwise, it returns x.

If one of the two arguments is NaN, the value of the other argument is returned.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
std::fmin documentation
GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> glm::max ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  y,
vec< L, T, Q > const &  z 
)

Return the maximum component-wise values of 3 inputs.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point or integer scalar types
QValue from qualifier enum
GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> glm::max ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  y,
vec< L, T, Q > const &  z,
vec< L, T, Q > const &  w 
)

Return the maximum component-wise values of 4 inputs.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point or integer scalar types
QValue from qualifier enum
GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> glm::min ( vec< L, T, Q > const &  a,
vec< L, T, Q > const &  b,
vec< L, T, Q > const &  c 
)

Return the minimum component-wise values of 3 inputs.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point or integer scalar types
QValue from qualifier enum
GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> glm::min ( vec< L, T, Q > const &  a,
vec< L, T, Q > const &  b,
vec< L, T, Q > const &  c,
vec< L, T, Q > const &  d 
)

Return the minimum component-wise values of 4 inputs.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point or integer scalar types
QValue from qualifier enum
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00268.html ================================================ 0.9.9 API documentation: GLM_EXT_vector_double1
0.9.9 API documentation
GLM_EXT_vector_double1

Exposes double-precision floating point vector type with one component. More...

Typedefs

typedef vec< 1, double, defaultp > dvec1
 1 components vector of double-precision floating-point numbers.
 

Detailed Description

Exposes double-precision floating point vector type with one component.

Include <glm/ext/vector_double1.hpp> to use the features of this extension.

See also
GLM_EXT_vector_double1_precision extension.
GLM_EXT_vector_float1 extension.
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00269.html ================================================ 0.9.9 API documentation: GLM_EXT_vector_double1_precision
0.9.9 API documentation
GLM_EXT_vector_double1_precision

Exposes highp_dvec1, mediump_dvec1 and lowp_dvec1 types. More...

Typedefs

typedef vec< 1, double, highp > highp_dvec1
 1 component vector of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 1, double, lowp > lowp_dvec1
 1 component vector of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 1, double, mediump > mediump_dvec1
 1 component vector of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 

Detailed Description

Exposes highp_dvec1, mediump_dvec1 and lowp_dvec1 types.

Include <glm/ext/vector_double1_precision.hpp> to use the features of this extension.

See also
GLM_EXT_vector_double1
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00270.html ================================================ 0.9.9 API documentation: GLM_EXT_vector_float1
0.9.9 API documentation
GLM_EXT_vector_float1

Exposes single-precision floating point vector type with one component. More...

Typedefs

typedef vec< 1, float, defaultp > vec1
 1 components vector of single-precision floating-point numbers.
 

Detailed Description

Exposes single-precision floating point vector type with one component.

Include <glm/ext/vector_float1.hpp> to use the features of this extension.

See also
GLM_EXT_vector_float1_precision extension.
GLM_EXT_vector_double1 extension.
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00271.html ================================================ 0.9.9 API documentation: GLM_EXT_vector_float1_precision
0.9.9 API documentation
GLM_EXT_vector_float1_precision

Exposes highp_vec1, mediump_vec1 and lowp_vec1 types. More...

Typedefs

typedef vec< 1, float, highp > highp_vec1
 1 component vector of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 1, float, lowp > lowp_vec1
 1 component vector of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 1, float, mediump > mediump_vec1
 1 component vector of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 

Detailed Description

Exposes highp_vec1, mediump_vec1 and lowp_vec1 types.

Include <glm/ext/vector_float1_precision.hpp> to use the features of this extension.

See also
GLM_EXT_vector_float1 extension.
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00272.html ================================================ 0.9.9 API documentation: GLM_EXT_vector_int1
0.9.9 API documentation
GLM_EXT_vector_int1

Exposes ivec1 vector type. More...

Typedefs

typedef vec< 1, int, defaultp > ivec1
 1 component vector of signed integer numbers.
 

Detailed Description

Exposes ivec1 vector type.

Include <glm/ext/vector_int1.hpp> to use the features of this extension.

See also
GLM_EXT_vector_uint1 extension.
GLM_EXT_vector_int1_precision extension.
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00273.html ================================================ 0.9.9 API documentation: GLM_EXT_vector_int1_precision
0.9.9 API documentation
GLM_EXT_vector_int1_precision

Exposes highp_ivec1, mediump_ivec1 and lowp_ivec1 types. More...

Typedefs

typedef vec< 1, int, highp > highp_ivec1
 1 component vector of signed integer values.
 
typedef vec< 1, int, lowp > lowp_ivec1
 1 component vector of signed integer values.
 
typedef vec< 1, int, mediump > mediump_ivec1
 1 component vector of signed integer values.
 

Detailed Description

Exposes highp_ivec1, mediump_ivec1 and lowp_ivec1 types.

Include <glm/ext/vector_int1_precision.hpp> to use the features of this extension.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00274.html ================================================ 0.9.9 API documentation: GLM_EXT_vector_integer
0.9.9 API documentation
GLM_EXT_vector_integer

Include <glm/ext/vector_integer.hpp> to use the features of this extension. More...

Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > findNSB (vec< L, T, Q > const &Source, vec< L, int, Q > SignificantBitCount)
 Returns the bit number of the Nth significant bit set to 1 in the binary representation of value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > isMultiple (vec< L, T, Q > const &v, T Multiple)
 Return true if the 'Value' is a multiple of 'Multiple'. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > isMultiple (vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
 Return true if the 'Value' is a multiple of 'Multiple'. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > isPowerOfTwo (vec< L, T, Q > const &v)
 Return true if the value is a power of two number. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > nextMultiple (vec< L, T, Q > const &v, T Multiple)
 Higher multiple number of Source. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > nextMultiple (vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
 Higher multiple number of Source. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > nextPowerOfTwo (vec< L, T, Q > const &v)
 Return the power of two number which value is just higher the input value, round up to a power of two. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prevMultiple (vec< L, T, Q > const &v, T Multiple)
 Lower multiple number of Source. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prevMultiple (vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
 Lower multiple number of Source. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > prevPowerOfTwo (vec< L, T, Q > const &v)
 Return the power of two number which value is just lower the input value, round down to a power of two. More...
 

Detailed Description

Include <glm/ext/vector_integer.hpp> to use the features of this extension.

Function Documentation

GLM_FUNC_DECL vec<L, int, Q> glm::findNSB ( vec< L, T, Q > const &  Source,
vec< L, int, Q >  SignificantBitCount 
)

Returns the bit number of the Nth significant bit set to 1 in the binary representation of value.

If value bitcount is less than the Nth significant bit, -1 will be returned.

Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
TSigned or unsigned integer scalar types.
See also
GLM_EXT_vector_integer
GLM_FUNC_DECL vec<L, bool, Q> glm::isMultiple ( vec< L, T, Q > const &  v,
Multiple 
)

Return true if the 'Value' is a multiple of 'Multiple'.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TSigned or unsigned integer scalar types.
QValue from qualifier enum
See also
GLM_EXT_vector_integer
GLM_FUNC_DECL vec<L, bool, Q> glm::isMultiple ( vec< L, T, Q > const &  v,
vec< L, T, Q > const &  Multiple 
)

Return true if the 'Value' is a multiple of 'Multiple'.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TSigned or unsigned integer scalar types.
QValue from qualifier enum
See also
GLM_EXT_vector_integer
GLM_FUNC_DECL vec<L, bool, Q> glm::isPowerOfTwo ( vec< L, T, Q > const &  v)

Return true if the value is a power of two number.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TSigned or unsigned integer scalar types.
QValue from qualifier enum
See also
GLM_EXT_vector_integer
GLM_FUNC_DECL vec<L, T, Q> glm::nextMultiple ( vec< L, T, Q > const &  v,
Multiple 
)

Higher multiple number of Source.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TSigned or unsigned integer scalar types.
QValue from qualifier enum
Parameters
vSource values to which is applied the function
MultipleMust be a null or positive value
See also
GLM_EXT_vector_integer
GLM_FUNC_DECL vec<L, T, Q> glm::nextMultiple ( vec< L, T, Q > const &  v,
vec< L, T, Q > const &  Multiple 
)

Higher multiple number of Source.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TSigned or unsigned integer scalar types.
QValue from qualifier enum
Parameters
vSource values to which is applied the function
MultipleMust be a null or positive value
See also
GLM_EXT_vector_integer
GLM_FUNC_DECL vec<L, T, Q> glm::nextPowerOfTwo ( vec< L, T, Q > const &  v)

Return the power of two number which value is just higher the input value, round up to a power of two.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TSigned or unsigned integer scalar types.
QValue from qualifier enum
See also
GLM_EXT_vector_integer
GLM_FUNC_DECL vec<L, T, Q> glm::prevMultiple ( vec< L, T, Q > const &  v,
Multiple 
)

Lower multiple number of Source.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TSigned or unsigned integer scalar types.
QValue from qualifier enum
Parameters
vSource values to which is applied the function
MultipleMust be a null or positive value
See also
GLM_EXT_vector_integer
GLM_FUNC_DECL vec<L, T, Q> glm::prevMultiple ( vec< L, T, Q > const &  v,
vec< L, T, Q > const &  Multiple 
)

Lower multiple number of Source.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TSigned or unsigned integer scalar types.
QValue from qualifier enum
Parameters
vSource values to which is applied the function
MultipleMust be a null or positive value
See also
GLM_EXT_vector_integer
GLM_FUNC_DECL vec<L, T, Q> glm::prevPowerOfTwo ( vec< L, T, Q > const &  v)

Return the power of two number which value is just lower the input value, round down to a power of two.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TSigned or unsigned integer scalar types.
QValue from qualifier enum
See also
GLM_EXT_vector_integer
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00275.html ================================================ 0.9.9 API documentation: GLM_EXT_vector_relational
0.9.9 API documentation
GLM_EXT_vector_relational

Exposes comparison functions for vector types that take a user defined epsilon values. More...

Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y, T epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y, int ULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, int, Q > const &ULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, T epsilon)
 Returns the component-wise comparison of |x - y| >= epsilon. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &epsilon)
 Returns the component-wise comparison of |x - y| >= epsilon. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, int ULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, int, Q > const &ULPs)
 Returns the component-wise comparison between two vectors in term of ULPs. More...
 

Detailed Description

Exposes comparison functions for vector types that take a user defined epsilon values.

Include <glm/ext/vector_relational.hpp> to use the features of this extension.

See also
core_vector_relational
GLM_EXT_scalar_relational
GLM_EXT_matrix_relational

Function Documentation

GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> glm::equal ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  y,
epsilon 
)

Returns the component-wise comparison of |x - y| < epsilon.

True if this expression is satisfied.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point or integer scalar types
QValue from qualifier enum
GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> glm::equal ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  y,
vec< L, T, Q > const &  epsilon 
)

Returns the component-wise comparison of |x - y| < epsilon.

True if this expression is satisfied.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point or integer scalar types
QValue from qualifier enum
GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> glm::equal ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  y,
int  ULPs 
)

Returns the component-wise comparison between two vectors in term of ULPs.

True if this expression is satisfied.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> glm::equal ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  y,
vec< L, int, Q > const &  ULPs 
)

Returns the component-wise comparison between two vectors in term of ULPs.

True if this expression is satisfied.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> glm::notEqual ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  y,
epsilon 
)

Returns the component-wise comparison of |x - y| >= epsilon.

True if this expression is not satisfied.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point or integer scalar types
QValue from qualifier enum
GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> glm::notEqual ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  y,
vec< L, T, Q > const &  epsilon 
)

Returns the component-wise comparison of |x - y| >= epsilon.

True if this expression is not satisfied.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point or integer scalar types
QValue from qualifier enum
GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> glm::notEqual ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  y,
int  ULPs 
)

Returns the component-wise comparison between two vectors in term of ULPs.

True if this expression is not satisfied.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> glm::notEqual ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  y,
vec< L, int, Q > const &  ULPs 
)

Returns the component-wise comparison between two vectors in term of ULPs.

True if this expression is not satisfied.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point
QValue from qualifier enum
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00276.html ================================================ 0.9.9 API documentation: GLM_EXT_vector_uint1
0.9.9 API documentation
GLM_EXT_vector_uint1

Exposes uvec1 vector type. More...

Typedefs

typedef vec< 1, unsigned int, defaultp > uvec1
 1 component vector of unsigned integer numbers.
 

Detailed Description

Exposes uvec1 vector type.

Include <glm/ext/vector_uvec1.hpp> to use the features of this extension.

See also
GLM_EXT_vector_int1 extension.
GLM_EXT_vector_uint1_precision extension.
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00277.html ================================================ 0.9.9 API documentation: GLM_EXT_vector_uint1_precision
0.9.9 API documentation
GLM_EXT_vector_uint1_precision

Exposes highp_uvec1, mediump_uvec1 and lowp_uvec1 types. More...

Typedefs

typedef vec< 1, unsigned int, highp > highp_uvec1
 1 component vector of unsigned integer values. More...
 
typedef vec< 1, unsigned int, lowp > lowp_uvec1
 1 component vector of unsigned integer values. More...
 
typedef vec< 1, unsigned int, mediump > mediump_uvec1
 1 component vector of unsigned integer values. More...
 

Detailed Description

Exposes highp_uvec1, mediump_uvec1 and lowp_uvec1 types.

Include <glm/ext/vector_uint1_precision.hpp> to use the features of this extension.

Typedef Documentation

typedef vec< 1, u32, highp > highp_uvec1

1 component vector of unsigned integer values.

See also
GLM_EXT_vector_uint1_precision

Definition at line 27 of file vector_uint1_precision.hpp.

typedef vec< 1, u32, lowp > lowp_uvec1

1 component vector of unsigned integer values.

See also
GLM_EXT_vector_uint1_precision

Definition at line 37 of file vector_uint1_precision.hpp.

typedef vec< 1, u32, mediump > mediump_uvec1

1 component vector of unsigned integer values.

See also
GLM_EXT_vector_uint1_precision

Definition at line 32 of file vector_uint1_precision.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00278.html ================================================ 0.9.9 API documentation: GLM_EXT_vector_ulp
0.9.9 API documentation
GLM_EXT_vector_ulp

Allow the measurement of the accuracy of a function against a reference implementation. More...

Allow the measurement of the accuracy of a function against a reference implementation.

This extension works on floating-point data and provide results in ULP.

Include <glm/ext/vector_ulp.hpp> to use the features of this extension.

See also
GLM_EXT_scalar_ulp
GLM_EXT_scalar_relational
GLM_EXT_vector_relational
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00279.html ================================================ 0.9.9 API documentation: Geometric functions
0.9.9 API documentation
Geometric functions

These operate on vectors as vectors, not component-wise. More...

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > cross (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)
 Returns the cross product of x and y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T distance (vec< L, T, Q > const &p0, vec< L, T, Q > const &p1)
 Returns the distance betwwen p0 and p1, i.e., length(p0 - p1). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T dot (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the dot product of x and y, i.e., result = x * y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > faceforward (vec< L, T, Q > const &N, vec< L, T, Q > const &I, vec< L, T, Q > const &Nref)
 If dot(Nref, I) < 0.0, return N, otherwise, return -N. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T length (vec< L, T, Q > const &x)
 Returns the length of x, i.e., sqrt(x * x). More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > normalize (vec< L, T, Q > const &x)
 Returns a vector in the same direction as x but with length of 1. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > reflect (vec< L, T, Q > const &I, vec< L, T, Q > const &N)
 For the incident vector I and surface orientation N, returns the reflection direction : result = I - 2.0 * dot(N, I) * N. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > refract (vec< L, T, Q > const &I, vec< L, T, Q > const &N, T eta)
 For the incident vector I and surface normal N, and the ratio of indices of refraction eta, return the refraction vector. More...
 

Detailed Description

These operate on vectors as vectors, not component-wise.

Include <glm/geometric.hpp> to use these core features.

Function Documentation

GLM_FUNC_DECL vec<3, T, Q> glm::cross ( vec< 3, T, Q > const &  x,
vec< 3, T, Q > const &  y 
)

Returns the cross product of x and y.

Template Parameters
TFloating-point scalar types.
See also
GLSL cross man page
GLSL 4.20.8 specification, section 8.5 Geometric Functions
GLM_FUNC_DECL T glm::distance ( vec< L, T, Q > const &  p0,
vec< L, T, Q > const &  p1 
)

Returns the distance betwwen p0 and p1, i.e., length(p0 - p1).

Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
TFloating-point scalar types.
See also
GLSL distance man page
GLSL 4.20.8 specification, section 8.5 Geometric Functions
GLM_FUNC_DECL T glm::dot ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  y 
)

Returns the dot product of x and y, i.e., result = x * y.

Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
TFloating-point scalar types.
See also
GLSL dot man page
GLSL 4.20.8 specification, section 8.5 Geometric Functions
GLM_FUNC_DECL vec<L, T, Q> glm::faceforward ( vec< L, T, Q > const &  N,
vec< L, T, Q > const &  I,
vec< L, T, Q > const &  Nref 
)

If dot(Nref, I) < 0.0, return N, otherwise, return -N.

Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
TFloating-point scalar types.
See also
GLSL faceforward man page
GLSL 4.20.8 specification, section 8.5 Geometric Functions
GLM_FUNC_DECL T glm::length ( vec< L, T, Q > const &  x)

Returns the length of x, i.e., sqrt(x * x).

Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
TFloating-point scalar types.
See also
GLSL length man page
GLSL 4.20.8 specification, section 8.5 Geometric Functions
GLM_FUNC_DECL vec<L, T, Q> glm::normalize ( vec< L, T, Q > const &  x)

Returns a vector in the same direction as x but with length of 1.

According to issue 10 GLSL 1.10 specification, if length(x) == 0 then result is undefined and generate an error.

Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
TFloating-point scalar types.
See also
GLSL normalize man page
GLSL 4.20.8 specification, section 8.5 Geometric Functions
GLM_FUNC_DECL vec<L, T, Q> glm::reflect ( vec< L, T, Q > const &  I,
vec< L, T, Q > const &  N 
)

For the incident vector I and surface orientation N, returns the reflection direction : result = I - 2.0 * dot(N, I) * N.

Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
TFloating-point scalar types.
See also
GLSL reflect man page
GLSL 4.20.8 specification, section 8.5 Geometric Functions
GLM_FUNC_DECL vec<L, T, Q> glm::refract ( vec< L, T, Q > const &  I,
vec< L, T, Q > const &  N,
eta 
)

For the incident vector I and surface normal N, and the ratio of indices of refraction eta, return the refraction vector.

Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
TFloating-point scalar types.
See also
GLSL refract man page
GLSL 4.20.8 specification, section 8.5 Geometric Functions
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00280.html ================================================ 0.9.9 API documentation: Core features
0.9.9 API documentation
Core features

Features that implement in C++ the GLSL specification as closely as possible. More...

Modules

 Common functions
 Provides GLSL common functions.
 
 Exponential functions
 Provides GLSL exponential functions.
 
 Geometric functions
 These operate on vectors as vectors, not component-wise.
 
 Vector types
 Vector types of two to four components with an exhaustive set of operators.
 
 Vector types with precision qualifiers
 Vector types with precision qualifiers which may result in various precision in term of ULPs.
 
 Matrix types
 Matrix types of with C columns and R rows where C and R are values between 2 to 4 included.
 
 Matrix types with precision qualifiers
 Matrix types with precision qualifiers which may result in various precision in term of ULPs.
 
 Integer functions
 Provides GLSL functions on integer types.
 
 Matrix functions
 Provides GLSL matrix functions.
 
 Floating-Point Pack and Unpack Functions
 Provides GLSL functions to pack and unpack half, single and double-precision floating point values into more compact integer types.
 
 Angle and Trigonometry Functions
 Function parameters specified as angle are assumed to be in units of radians.
 
 Vector Relational Functions
 Relational and equality operators (<, <=, >, >=, ==, !=) are defined to operate on scalars and produce scalar Boolean results.
 

Typedefs

typedef mat< 3, 2, float, defaultp > mat3x2
 3 columns of 2 components matrix of single-precision floating-point numbers. More...
 

Detailed Description

Features that implement in C++ the GLSL specification as closely as possible.

The GLM core consists of C++ types that mirror GLSL types and C++ functions that mirror the GLSL functions.

The best documentation for GLM Core is the current GLSL specification, version 4.2 (pdf file).

GLM core functionalities require <glm/glm.hpp> to be included to be used.

Typedef Documentation

typedef mat< 3, 2, f32, defaultp > mat3x2

3 columns of 2 components matrix of single-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices

Definition at line 15 of file matrix_float3x2.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00281.html ================================================ 0.9.9 API documentation: Vector types
0.9.9 API documentation
Vector types

Vector types of two to four components with an exhaustive set of operators. More...

Typedefs

typedef vec< 2, bool, defaultp > bvec2
 2 components vector of boolean. More...
 
typedef vec< 3, bool, defaultp > bvec3
 3 components vector of boolean. More...
 
typedef vec< 4, bool, defaultp > bvec4
 4 components vector of boolean. More...
 
typedef vec< 2, double, defaultp > dvec2
 2 components vector of double-precision floating-point numbers. More...
 
typedef vec< 3, double, defaultp > dvec3
 3 components vector of double-precision floating-point numbers. More...
 
typedef vec< 4, double, defaultp > dvec4
 4 components vector of double-precision floating-point numbers. More...
 
typedef vec< 2, int, defaultp > ivec2
 2 components vector of signed integer numbers. More...
 
typedef vec< 3, int, defaultp > ivec3
 3 components vector of signed integer numbers. More...
 
typedef vec< 4, int, defaultp > ivec4
 4 components vector of signed integer numbers. More...
 
typedef vec< 2, unsigned int, defaultp > uvec2
 2 components vector of unsigned integer numbers. More...
 
typedef vec< 3, unsigned int, defaultp > uvec3
 3 components vector of unsigned integer numbers. More...
 
typedef vec< 4, unsigned int, defaultp > uvec4
 4 components vector of unsigned integer numbers. More...
 
typedef vec< 2, float, defaultp > vec2
 2 components vector of single-precision floating-point numbers. More...
 
typedef vec< 3, float, defaultp > vec3
 3 components vector of single-precision floating-point numbers. More...
 
typedef vec< 4, float, defaultp > vec4
 4 components vector of single-precision floating-point numbers. More...
 

Detailed Description

Vector types of two to four components with an exhaustive set of operators.

Typedef Documentation

typedef vec< 2, bool, defaultp > bvec2

2 components vector of boolean.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors

Definition at line 15 of file vector_bool2.hpp.

typedef vec< 3, bool, defaultp > bvec3

3 components vector of boolean.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors

Definition at line 15 of file vector_bool3.hpp.

typedef vec< 4, bool, defaultp > bvec4

4 components vector of boolean.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors

Definition at line 15 of file vector_bool4.hpp.

typedef vec< 2, f64, defaultp > dvec2

2 components vector of double-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors

Definition at line 15 of file vector_double2.hpp.

typedef vec< 3, f64, defaultp > dvec3

3 components vector of double-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors

Definition at line 15 of file vector_double3.hpp.

typedef vec< 4, f64, defaultp > dvec4

4 components vector of double-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors

Definition at line 15 of file vector_double4.hpp.

typedef vec< 2, i32, defaultp > ivec2

2 components vector of signed integer numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors

Definition at line 15 of file vector_int2.hpp.

typedef vec< 3, i32, defaultp > ivec3

3 components vector of signed integer numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors

Definition at line 15 of file vector_int3.hpp.

typedef vec< 4, i32, defaultp > ivec4

4 components vector of signed integer numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors

Definition at line 15 of file vector_int4.hpp.

typedef vec< 2, u32, defaultp > uvec2

2 components vector of unsigned integer numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors

Definition at line 15 of file vector_uint2.hpp.

typedef vec< 3, u32, defaultp > uvec3

3 components vector of unsigned integer numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors

Definition at line 15 of file vector_uint3.hpp.

typedef vec< 4, u32, defaultp > uvec4

4 components vector of unsigned integer numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors

Definition at line 15 of file vector_uint4.hpp.

typedef vec< 2, float, defaultp > vec2

2 components vector of single-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors

Definition at line 15 of file vector_float2.hpp.

typedef vec< 3, float, defaultp > vec3

3 components vector of single-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors

Definition at line 15 of file vector_float3.hpp.

typedef vec< 4, float, defaultp > vec4

4 components vector of single-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors

Definition at line 15 of file vector_float4.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00282.html ================================================ 0.9.9 API documentation: Vector types with precision qualifiers
0.9.9 API documentation
Vector types with precision qualifiers

Vector types with precision qualifiers which may result in various precision in term of ULPs. More...

Typedefs

typedef vec< 2, bool, highp > highp_bvec2
 2 components vector of high qualifier bool numbers. More...
 
typedef vec< 3, bool, highp > highp_bvec3
 3 components vector of high qualifier bool numbers. More...
 
typedef vec< 4, bool, highp > highp_bvec4
 4 components vector of high qualifier bool numbers. More...
 
typedef vec< 2, double, highp > highp_dvec2
 2 components vector of high double-qualifier floating-point numbers. More...
 
typedef vec< 3, double, highp > highp_dvec3
 3 components vector of high double-qualifier floating-point numbers. More...
 
typedef vec< 4, double, highp > highp_dvec4
 4 components vector of high double-qualifier floating-point numbers. More...
 
typedef vec< 2, int, highp > highp_ivec2
 2 components vector of high qualifier signed integer numbers. More...
 
typedef vec< 3, int, highp > highp_ivec3
 3 components vector of high qualifier signed integer numbers. More...
 
typedef vec< 4, int, highp > highp_ivec4
 4 components vector of high qualifier signed integer numbers. More...
 
typedef vec< 2, unsigned int, highp > highp_uvec2
 2 components vector of high qualifier unsigned integer numbers. More...
 
typedef vec< 3, unsigned int, highp > highp_uvec3
 3 components vector of high qualifier unsigned integer numbers. More...
 
typedef vec< 4, unsigned int, highp > highp_uvec4
 4 components vector of high qualifier unsigned integer numbers. More...
 
typedef vec< 2, float, highp > highp_vec2
 2 components vector of high single-qualifier floating-point numbers. More...
 
typedef vec< 3, float, highp > highp_vec3
 3 components vector of high single-qualifier floating-point numbers. More...
 
typedef vec< 4, float, highp > highp_vec4
 4 components vector of high single-qualifier floating-point numbers. More...
 
typedef vec< 2, bool, lowp > lowp_bvec2
 2 components vector of low qualifier bool numbers. More...
 
typedef vec< 3, bool, lowp > lowp_bvec3
 3 components vector of low qualifier bool numbers. More...
 
typedef vec< 4, bool, lowp > lowp_bvec4
 4 components vector of low qualifier bool numbers. More...
 
typedef vec< 2, double, lowp > lowp_dvec2
 2 components vector of low double-qualifier floating-point numbers. More...
 
typedef vec< 3, double, lowp > lowp_dvec3
 3 components vector of low double-qualifier floating-point numbers. More...
 
typedef vec< 4, double, lowp > lowp_dvec4
 4 components vector of low double-qualifier floating-point numbers. More...
 
typedef vec< 2, int, lowp > lowp_ivec2
 2 components vector of low qualifier signed integer numbers. More...
 
typedef vec< 3, int, lowp > lowp_ivec3
 3 components vector of low qualifier signed integer numbers. More...
 
typedef vec< 4, int, lowp > lowp_ivec4
 4 components vector of low qualifier signed integer numbers. More...
 
typedef vec< 2, unsigned int, lowp > lowp_uvec2
 2 components vector of low qualifier unsigned integer numbers. More...
 
typedef vec< 3, unsigned int, lowp > lowp_uvec3
 3 components vector of low qualifier unsigned integer numbers. More...
 
typedef vec< 4, unsigned int, lowp > lowp_uvec4
 4 components vector of low qualifier unsigned integer numbers. More...
 
typedef vec< 2, float, lowp > lowp_vec2
 2 components vector of low single-qualifier floating-point numbers. More...
 
typedef vec< 3, float, lowp > lowp_vec3
 3 components vector of low single-qualifier floating-point numbers. More...
 
typedef vec< 4, float, lowp > lowp_vec4
 4 components vector of low single-qualifier floating-point numbers. More...
 
typedef vec< 2, bool, mediump > mediump_bvec2
 2 components vector of medium qualifier bool numbers. More...
 
typedef vec< 3, bool, mediump > mediump_bvec3
 3 components vector of medium qualifier bool numbers. More...
 
typedef vec< 4, bool, mediump > mediump_bvec4
 4 components vector of medium qualifier bool numbers. More...
 
typedef vec< 2, double, mediump > mediump_dvec2
 2 components vector of medium double-qualifier floating-point numbers. More...
 
typedef vec< 3, double, mediump > mediump_dvec3
 3 components vector of medium double-qualifier floating-point numbers. More...
 
typedef vec< 4, double, mediump > mediump_dvec4
 4 components vector of medium double-qualifier floating-point numbers. More...
 
typedef vec< 2, int, mediump > mediump_ivec2
 2 components vector of medium qualifier signed integer numbers. More...
 
typedef vec< 3, int, mediump > mediump_ivec3
 3 components vector of medium qualifier signed integer numbers. More...
 
typedef vec< 4, int, mediump > mediump_ivec4
 4 components vector of medium qualifier signed integer numbers. More...
 
typedef vec< 2, unsigned int, mediump > mediump_uvec2
 2 components vector of medium qualifier unsigned integer numbers. More...
 
typedef vec< 3, unsigned int, mediump > mediump_uvec3
 3 components vector of medium qualifier unsigned integer numbers. More...
 
typedef vec< 4, unsigned int, mediump > mediump_uvec4
 4 components vector of medium qualifier unsigned integer numbers. More...
 
typedef vec< 2, float, mediump > mediump_vec2
 2 components vector of medium single-qualifier floating-point numbers. More...
 
typedef vec< 3, float, mediump > mediump_vec3
 3 components vector of medium single-qualifier floating-point numbers. More...
 
typedef vec< 4, float, mediump > mediump_vec4
 4 components vector of medium single-qualifier floating-point numbers. More...
 

Detailed Description

Vector types with precision qualifiers which may result in various precision in term of ULPs.

GLSL allows defining qualifiers for particular variables. With OpenGL's GLSL, these qualifiers have no effect; they are there for compatibility, with OpenGL ES's GLSL, these qualifiers do have an effect.

C++ has no language equivalent to qualifier qualifiers. So GLM provides the next-best thing: a number of typedefs that use a particular qualifier.

None of these types make any guarantees about the actual qualifier used.

Typedef Documentation

typedef vec< 2, bool, highp > highp_bvec2

2 components vector of high qualifier bool numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file vector_bool2_precision.hpp.

typedef vec< 3, bool, highp > highp_bvec3

3 components vector of high qualifier bool numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file vector_bool3_precision.hpp.

typedef vec< 4, bool, highp > highp_bvec4

4 components vector of high qualifier bool numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file vector_bool4_precision.hpp.

typedef vec< 2, f64, highp > highp_dvec2

2 components vector of high double-qualifier floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file vector_double2_precision.hpp.

typedef vec< 3, f64, highp > highp_dvec3

3 components vector of high double-qualifier floating-point numbers.

There is no guarantee on the actual qualifier.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 17 of file vector_double3_precision.hpp.

typedef vec< 4, f64, highp > highp_dvec4

4 components vector of high double-qualifier floating-point numbers.

There is no guarantee on the actual qualifier.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 18 of file vector_double4_precision.hpp.

typedef vec< 2, i32, highp > highp_ivec2

2 components vector of high qualifier signed integer numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file vector_int2_precision.hpp.

typedef vec< 3, i32, highp > highp_ivec3

3 components vector of high qualifier signed integer numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file vector_int3_precision.hpp.

typedef vec< 4, i32, highp > highp_ivec4

4 components vector of high qualifier signed integer numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file vector_int4_precision.hpp.

typedef vec< 2, u32, highp > highp_uvec2

2 components vector of high qualifier unsigned integer numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file vector_uint2_precision.hpp.

typedef vec< 3, u32, highp > highp_uvec3

3 components vector of high qualifier unsigned integer numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file vector_uint3_precision.hpp.

typedef vec< 4, u32, highp > highp_uvec4

4 components vector of high qualifier unsigned integer numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file vector_uint4_precision.hpp.

typedef vec< 2, float, highp > highp_vec2

2 components vector of high single-qualifier floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file vector_float2_precision.hpp.

typedef vec< 3, float, highp > highp_vec3

3 components vector of high single-qualifier floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file vector_float3_precision.hpp.

typedef vec< 4, float, highp > highp_vec4

4 components vector of high single-qualifier floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file vector_float4_precision.hpp.

typedef vec< 2, bool, lowp > lowp_bvec2

2 components vector of low qualifier bool numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file vector_bool2_precision.hpp.

typedef vec< 3, bool, lowp > lowp_bvec3

3 components vector of low qualifier bool numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file vector_bool3_precision.hpp.

typedef vec< 4, bool, lowp > lowp_bvec4

4 components vector of low qualifier bool numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file vector_bool4_precision.hpp.

typedef vec< 2, f64, lowp > lowp_dvec2

2 components vector of low double-qualifier floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file vector_double2_precision.hpp.

typedef vec< 3, f64, lowp > lowp_dvec3

3 components vector of low double-qualifier floating-point numbers.

There is no guarantee on the actual qualifier.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 31 of file vector_double3_precision.hpp.

typedef vec< 4, f64, lowp > lowp_dvec4

4 components vector of low double-qualifier floating-point numbers.

There is no guarantee on the actual qualifier.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 32 of file vector_double4_precision.hpp.

typedef vec< 2, i32, lowp > lowp_ivec2

2 components vector of low qualifier signed integer numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file vector_int2_precision.hpp.

typedef vec< 3, i32, lowp > lowp_ivec3

3 components vector of low qualifier signed integer numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file vector_int3_precision.hpp.

typedef vec< 4, i32, lowp > lowp_ivec4

4 components vector of low qualifier signed integer numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file vector_int4_precision.hpp.

typedef vec< 2, u32, lowp > lowp_uvec2

2 components vector of low qualifier unsigned integer numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file vector_uint2_precision.hpp.

typedef vec< 3, u32, lowp > lowp_uvec3

3 components vector of low qualifier unsigned integer numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file vector_uint3_precision.hpp.

typedef vec< 4, u32, lowp > lowp_uvec4

4 components vector of low qualifier unsigned integer numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file vector_uint4_precision.hpp.

typedef vec< 2, float, lowp > lowp_vec2

2 components vector of low single-qualifier floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file vector_float2_precision.hpp.

typedef vec< 3, float, lowp > lowp_vec3

3 components vector of low single-qualifier floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file vector_float3_precision.hpp.

typedef vec< 4, float, lowp > lowp_vec4

4 components vector of low single-qualifier floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file vector_float4_precision.hpp.

typedef vec< 2, bool, mediump > mediump_bvec2

2 components vector of medium qualifier bool numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file vector_bool2_precision.hpp.

typedef vec< 3, bool, mediump > mediump_bvec3

3 components vector of medium qualifier bool numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file vector_bool3_precision.hpp.

typedef vec< 4, bool, mediump > mediump_bvec4

4 components vector of medium qualifier bool numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file vector_bool4_precision.hpp.

typedef vec< 2, f64, mediump > mediump_dvec2

2 components vector of medium double-qualifier floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file vector_double2_precision.hpp.

typedef vec< 3, f64, mediump > mediump_dvec3

3 components vector of medium double-qualifier floating-point numbers.

There is no guarantee on the actual qualifier.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 24 of file vector_double3_precision.hpp.

typedef vec< 4, f64, mediump > mediump_dvec4

4 components vector of medium double-qualifier floating-point numbers.

There is no guarantee on the actual qualifier.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 25 of file vector_double4_precision.hpp.

typedef vec< 2, i32, mediump > mediump_ivec2

2 components vector of medium qualifier signed integer numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file vector_int2_precision.hpp.

typedef vec< 3, i32, mediump > mediump_ivec3

3 components vector of medium qualifier signed integer numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file vector_int3_precision.hpp.

typedef vec< 4, i32, mediump > mediump_ivec4

4 components vector of medium qualifier signed integer numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file vector_int4_precision.hpp.

typedef vec< 2, u32, mediump > mediump_uvec2

2 components vector of medium qualifier unsigned integer numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file vector_uint2_precision.hpp.

typedef vec< 3, u32, mediump > mediump_uvec3

3 components vector of medium qualifier unsigned integer numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file vector_uint3_precision.hpp.

typedef vec< 4, u32, mediump > mediump_uvec4

4 components vector of medium qualifier unsigned integer numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file vector_uint4_precision.hpp.

typedef vec< 2, float, mediump > mediump_vec2

2 components vector of medium single-qualifier floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file vector_float2_precision.hpp.

typedef vec< 3, float, mediump > mediump_vec3

3 components vector of medium single-qualifier floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file vector_float3_precision.hpp.

typedef vec< 4, float, mediump > mediump_vec4

4 components vector of medium single-qualifier floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.5 Vectors
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file vector_float4_precision.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00283.html ================================================ 0.9.9 API documentation: Matrix types
0.9.9 API documentation
Matrix types

Matrix types of with C columns and R rows where C and R are values between 2 to 4 included. More...

Typedefs

typedef mat< 2, 2, double, defaultp > dmat2
 2 columns of 2 components matrix of double-precision floating-point numbers. More...
 
typedef mat< 2, 2, double, defaultp > dmat2x2
 2 columns of 2 components matrix of double-precision floating-point numbers. More...
 
typedef mat< 2, 3, double, defaultp > dmat2x3
 2 columns of 3 components matrix of double-precision floating-point numbers. More...
 
typedef mat< 2, 4, double, defaultp > dmat2x4
 2 columns of 4 components matrix of double-precision floating-point numbers. More...
 
typedef mat< 3, 3, double, defaultp > dmat3
 3 columns of 3 components matrix of double-precision floating-point numbers. More...
 
typedef mat< 3, 2, double, defaultp > dmat3x2
 3 columns of 2 components matrix of double-precision floating-point numbers. More...
 
typedef mat< 3, 3, double, defaultp > dmat3x3
 3 columns of 3 components matrix of double-precision floating-point numbers. More...
 
typedef mat< 3, 4, double, defaultp > dmat3x4
 3 columns of 4 components matrix of double-precision floating-point numbers. More...
 
typedef mat< 4, 4, double, defaultp > dmat4
 4 columns of 4 components matrix of double-precision floating-point numbers. More...
 
typedef mat< 4, 2, double, defaultp > dmat4x2
 4 columns of 2 components matrix of double-precision floating-point numbers. More...
 
typedef mat< 4, 3, double, defaultp > dmat4x3
 4 columns of 3 components matrix of double-precision floating-point numbers. More...
 
typedef mat< 4, 4, double, defaultp > dmat4x4
 4 columns of 4 components matrix of double-precision floating-point numbers. More...
 
typedef mat< 2, 2, float, defaultp > mat2
 2 columns of 2 components matrix of single-precision floating-point numbers. More...
 
typedef mat< 2, 2, float, defaultp > mat2x2
 2 columns of 2 components matrix of single-precision floating-point numbers. More...
 
typedef mat< 2, 3, float, defaultp > mat2x3
 2 columns of 3 components matrix of single-precision floating-point numbers. More...
 
typedef mat< 2, 4, float, defaultp > mat2x4
 2 columns of 4 components matrix of single-precision floating-point numbers. More...
 
typedef mat< 3, 3, float, defaultp > mat3
 3 columns of 3 components matrix of single-precision floating-point numbers. More...
 
typedef mat< 3, 3, float, defaultp > mat3x3
 3 columns of 3 components matrix of single-precision floating-point numbers. More...
 
typedef mat< 3, 4, float, defaultp > mat3x4
 3 columns of 4 components matrix of single-precision floating-point numbers. More...
 
typedef mat< 4, 2, float, defaultp > mat4x2
 4 columns of 2 components matrix of single-precision floating-point numbers. More...
 
typedef mat< 4, 3, float, defaultp > mat4x3
 4 columns of 3 components matrix of single-precision floating-point numbers. More...
 
typedef mat< 4, 4, float, defaultp > mat4x4
 4 columns of 4 components matrix of single-precision floating-point numbers. More...
 
typedef mat< 4, 4, float, defaultp > mat4
 4 columns of 4 components matrix of single-precision floating-point numbers. More...
 

Detailed Description

Matrix types of with C columns and R rows where C and R are values between 2 to 4 included.

These types have exhaustive sets of operators.

Typedef Documentation

typedef mat< 2, 2, f64, defaultp > dmat2

2 columns of 2 components matrix of double-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices

Definition at line 20 of file matrix_double2x2.hpp.

typedef mat< 2, 2, double, defaultp > dmat2x2

2 columns of 2 components matrix of double-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices

Definition at line 15 of file matrix_double2x2.hpp.

typedef mat< 2, 3, double, defaultp > dmat2x3

2 columns of 3 components matrix of double-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices

Definition at line 15 of file matrix_double2x3.hpp.

typedef mat< 2, 4, double, defaultp > dmat2x4

2 columns of 4 components matrix of double-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices

Definition at line 15 of file matrix_double2x4.hpp.

typedef mat< 3, 3, f64, defaultp > dmat3

3 columns of 3 components matrix of double-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices

Definition at line 20 of file matrix_double3x3.hpp.

typedef mat< 3, 2, double, defaultp > dmat3x2

3 columns of 2 components matrix of double-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices

Definition at line 15 of file matrix_double3x2.hpp.

typedef mat< 3, 3, double, defaultp > dmat3x3

3 columns of 3 components matrix of double-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices

Definition at line 15 of file matrix_double3x3.hpp.

typedef mat< 3, 4, double, defaultp > dmat3x4

3 columns of 4 components matrix of double-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices

Definition at line 15 of file matrix_double3x4.hpp.

typedef mat< 4, 4, f64, defaultp > dmat4

4 columns of 4 components matrix of double-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices

Definition at line 20 of file matrix_double4x4.hpp.

typedef mat< 4, 2, double, defaultp > dmat4x2

4 columns of 2 components matrix of double-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices

Definition at line 15 of file matrix_double4x2.hpp.

typedef mat< 4, 3, double, defaultp > dmat4x3

4 columns of 3 components matrix of double-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices

Definition at line 15 of file matrix_double4x3.hpp.

typedef mat< 4, 4, double, defaultp > dmat4x4

4 columns of 4 components matrix of double-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices

Definition at line 15 of file matrix_double4x4.hpp.

typedef mat< 2, 2, f32, defaultp > mat2

2 columns of 2 components matrix of single-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices

Definition at line 20 of file matrix_float2x2.hpp.

typedef mat< 2, 2, f32, defaultp > mat2x2

2 columns of 2 components matrix of single-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices

Definition at line 15 of file matrix_float2x2.hpp.

typedef mat< 2, 3, f32, defaultp > mat2x3

2 columns of 3 components matrix of single-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices

Definition at line 15 of file matrix_float2x3.hpp.

typedef mat< 2, 4, f32, defaultp > mat2x4

2 columns of 4 components matrix of single-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices

Definition at line 15 of file matrix_float2x4.hpp.

typedef mat< 3, 3, f32, defaultp > mat3

3 columns of 3 components matrix of single-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices

Definition at line 20 of file matrix_float3x3.hpp.

typedef mat< 3, 3, f32, defaultp > mat3x3

3 columns of 3 components matrix of single-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices

Definition at line 15 of file matrix_float3x3.hpp.

typedef mat< 3, 4, f32, defaultp > mat3x4

3 columns of 4 components matrix of single-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices

Definition at line 15 of file matrix_float3x4.hpp.

typedef mat< 4, 4, f32, defaultp > mat4

4 columns of 4 components matrix of single-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices

Definition at line 20 of file matrix_float4x4.hpp.

typedef mat< 4, 2, f32, defaultp > mat4x2

4 columns of 2 components matrix of single-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices

Definition at line 15 of file matrix_float4x2.hpp.

typedef mat< 4, 3, f32, defaultp > mat4x3

4 columns of 3 components matrix of single-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices

Definition at line 15 of file matrix_float4x3.hpp.

typedef mat< 4, 4, f32, defaultp > mat4x4

4 columns of 4 components matrix of single-precision floating-point numbers.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices

Definition at line 15 of file matrix_float4x4.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00284.html ================================================ 0.9.9 API documentation: Matrix types with precision qualifiers
0.9.9 API documentation
Matrix types with precision qualifiers

Matrix types with precision qualifiers which may result in various precision in term of ULPs. More...

Typedefs

typedef mat< 2, 2, double, highp > highp_dmat2
 2 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, double, highp > highp_dmat2x2
 2 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 3, double, highp > highp_dmat2x3
 2 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 4, double, highp > highp_dmat2x4
 2 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, double, highp > highp_dmat3
 3 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 2, double, highp > highp_dmat3x2
 3 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, double, highp > highp_dmat3x3
 3 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 4, double, highp > highp_dmat3x4
 3 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, double, highp > highp_dmat4
 4 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 2, double, highp > highp_dmat4x2
 4 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 3, double, highp > highp_dmat4x3
 4 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, double, highp > highp_dmat4x4
 4 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, float, highp > highp_mat2
 2 columns of 2 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, float, highp > highp_mat2x2
 2 columns of 2 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 3, float, highp > highp_mat2x3
 2 columns of 3 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 4, float, highp > highp_mat2x4
 2 columns of 4 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, float, highp > highp_mat3
 3 columns of 3 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 2, float, highp > highp_mat3x2
 3 columns of 2 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, float, highp > highp_mat3x3
 3 columns of 3 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 4, float, highp > highp_mat3x4
 3 columns of 4 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, float, highp > highp_mat4
 4 columns of 4 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 2, float, highp > highp_mat4x2
 4 columns of 2 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 3, float, highp > highp_mat4x3
 4 columns of 3 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, float, highp > highp_mat4x4
 4 columns of 4 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, double, lowp > lowp_dmat2
 2 columns of 2 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, double, lowp > lowp_dmat2x2
 2 columns of 2 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 3, double, lowp > lowp_dmat2x3
 2 columns of 3 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 4, double, lowp > lowp_dmat2x4
 2 columns of 4 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, double, lowp > lowp_dmat3
 3 columns of 3 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 2, double, lowp > lowp_dmat3x2
 3 columns of 2 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, double, lowp > lowp_dmat3x3
 3 columns of 3 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 4, double, lowp > lowp_dmat3x4
 3 columns of 4 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, double, lowp > lowp_dmat4
 4 columns of 4 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 2, double, lowp > lowp_dmat4x2
 4 columns of 2 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 3, double, lowp > lowp_dmat4x3
 4 columns of 3 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, double, lowp > lowp_dmat4x4
 4 columns of 4 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, float, lowp > lowp_mat2
 2 columns of 2 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, float, lowp > lowp_mat2x2
 2 columns of 2 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 3, float, lowp > lowp_mat2x3
 2 columns of 3 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 4, float, lowp > lowp_mat2x4
 2 columns of 4 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, float, lowp > lowp_mat3
 3 columns of 3 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 2, float, lowp > lowp_mat3x2
 3 columns of 2 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, float, lowp > lowp_mat3x3
 3 columns of 3 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 4, float, lowp > lowp_mat3x4
 3 columns of 4 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, float, lowp > lowp_mat4
 4 columns of 4 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 2, float, lowp > lowp_mat4x2
 4 columns of 2 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 3, float, lowp > lowp_mat4x3
 4 columns of 3 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, float, lowp > lowp_mat4x4
 4 columns of 4 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, double, mediump > mediump_dmat2
 2 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, double, mediump > mediump_dmat2x2
 2 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 3, double, mediump > mediump_dmat2x3
 2 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 4, double, mediump > mediump_dmat2x4
 2 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, double, mediump > mediump_dmat3
 3 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 2, double, mediump > mediump_dmat3x2
 3 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, double, mediump > mediump_dmat3x3
 3 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 4, double, mediump > mediump_dmat3x4
 3 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, double, mediump > mediump_dmat4
 4 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 2, double, mediump > mediump_dmat4x2
 4 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 3, double, mediump > mediump_dmat4x3
 4 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, double, mediump > mediump_dmat4x4
 4 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, float, mediump > mediump_mat2
 2 columns of 2 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 2, float, mediump > mediump_mat2x2
 2 columns of 2 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 3, float, mediump > mediump_mat2x3
 2 columns of 3 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 2, 4, float, mediump > mediump_mat2x4
 2 columns of 4 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, float, mediump > mediump_mat3
 3 columns of 3 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 2, float, mediump > mediump_mat3x2
 3 columns of 2 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 3, float, mediump > mediump_mat3x3
 3 columns of 3 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 3, 4, float, mediump > mediump_mat3x4
 3 columns of 4 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, float, mediump > mediump_mat4
 4 columns of 4 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 2, float, mediump > mediump_mat4x2
 4 columns of 2 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 3, float, mediump > mediump_mat4x3
 4 columns of 3 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 
typedef mat< 4, 4, float, mediump > mediump_mat4x4
 4 columns of 4 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. More...
 

Detailed Description

Matrix types with precision qualifiers which may result in various precision in term of ULPs.

GLSL allows defining qualifiers for particular variables. With OpenGL's GLSL, these qualifiers have no effect; they are there for compatibility, with OpenGL ES's GLSL, these qualifiers do have an effect.

C++ has no language equivalent to qualifier qualifiers. So GLM provides the next-best thing: a number of typedefs that use a particular qualifier.

None of these types make any guarantees about the actual qualifier used.

Typedef Documentation

typedef mat< 2, 2, f64, highp > highp_dmat2

2 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file matrix_double2x2_precision.hpp.

typedef mat< 2, 2, double, highp > highp_dmat2x2

2 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 46 of file matrix_double2x2_precision.hpp.

typedef mat< 2, 3, double, highp > highp_dmat2x3

2 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file matrix_double2x3_precision.hpp.

typedef mat< 2, 4, double, highp > highp_dmat2x4

2 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file matrix_double2x4_precision.hpp.

typedef mat< 3, 3, f64, highp > highp_dmat3

3 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file matrix_double3x3_precision.hpp.

typedef mat< 3, 2, double, highp > highp_dmat3x2

3 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file matrix_double3x2_precision.hpp.

typedef mat< 3, 3, double, highp > highp_dmat3x3

3 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 46 of file matrix_double3x3_precision.hpp.

typedef mat< 3, 4, double, highp > highp_dmat3x4

3 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file matrix_double3x4_precision.hpp.

typedef mat< 4, 4, f64, highp > highp_dmat4

4 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file matrix_double4x4_precision.hpp.

typedef mat< 4, 2, double, highp > highp_dmat4x2

4 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file matrix_double4x2_precision.hpp.

typedef mat< 4, 3, double, highp > highp_dmat4x3

4 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file matrix_double4x3_precision.hpp.

typedef mat< 4, 4, double, highp > highp_dmat4x4

4 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 46 of file matrix_double4x4_precision.hpp.

typedef mat< 2, 2, f32, highp > highp_mat2

2 columns of 2 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file matrix_float2x2_precision.hpp.

typedef mat< 2, 2, f32, highp > highp_mat2x2

2 columns of 2 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 46 of file matrix_float2x2_precision.hpp.

typedef mat< 2, 3, f32, highp > highp_mat2x3

2 columns of 3 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file matrix_float2x3_precision.hpp.

typedef mat< 2, 4, f32, highp > highp_mat2x4

2 columns of 4 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file matrix_float2x4_precision.hpp.

typedef mat< 3, 3, f32, highp > highp_mat3

3 columns of 3 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file matrix_float3x3_precision.hpp.

typedef mat< 3, 2, f32, highp > highp_mat3x2

3 columns of 2 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file matrix_float3x2_precision.hpp.

typedef mat< 3, 3, f32, highp > highp_mat3x3

3 columns of 3 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 46 of file matrix_float3x3_precision.hpp.

typedef mat< 3, 4, f32, highp > highp_mat3x4

3 columns of 4 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file matrix_float3x4_precision.hpp.

typedef mat< 4, 4, f32, highp > highp_mat4

4 columns of 4 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file matrix_float4x4_precision.hpp.

typedef mat< 4, 2, f32, highp > highp_mat4x2

4 columns of 2 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file matrix_float4x2_precision.hpp.

typedef mat< 4, 3, f32, highp > highp_mat4x3

4 columns of 3 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 28 of file matrix_float4x3_precision.hpp.

typedef mat< 4, 4, f32, highp > highp_mat4x4

4 columns of 4 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 46 of file matrix_float4x4_precision.hpp.

typedef mat< 2, 2, f64, lowp > lowp_dmat2

2 columns of 2 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file matrix_double2x2_precision.hpp.

typedef mat< 2, 2, double, lowp > lowp_dmat2x2

2 columns of 2 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 34 of file matrix_double2x2_precision.hpp.

typedef mat< 2, 3, double, lowp > lowp_dmat2x3

2 columns of 3 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file matrix_double2x3_precision.hpp.

typedef mat< 2, 4, double, lowp > lowp_dmat2x4

2 columns of 4 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file matrix_double2x4_precision.hpp.

typedef mat< 3, 3, f64, lowp > lowp_dmat3

3 columns of 3 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file matrix_double3x3_precision.hpp.

typedef mat< 3, 2, double, lowp > lowp_dmat3x2

3 columns of 2 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file matrix_double3x2_precision.hpp.

typedef mat< 3, 3, double, lowp > lowp_dmat3x3

3 columns of 3 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 34 of file matrix_double3x3_precision.hpp.

typedef mat< 3, 4, double, lowp > lowp_dmat3x4

3 columns of 4 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file matrix_double3x4_precision.hpp.

typedef mat< 4, 4, f64, lowp > lowp_dmat4

4 columns of 4 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file matrix_double4x4_precision.hpp.

typedef mat< 4, 2, double, lowp > lowp_dmat4x2

4 columns of 2 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file matrix_double4x2_precision.hpp.

typedef mat< 4, 3, double, lowp > lowp_dmat4x3

4 columns of 3 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file matrix_double4x3_precision.hpp.

typedef mat< 4, 4, double, lowp > lowp_dmat4x4

4 columns of 4 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 34 of file matrix_double4x4_precision.hpp.

typedef mat< 2, 2, f32, lowp > lowp_mat2

2 columns of 2 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file matrix_float2x2_precision.hpp.

typedef mat< 2, 2, f32, lowp > lowp_mat2x2

2 columns of 2 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 34 of file matrix_float2x2_precision.hpp.

typedef mat< 2, 3, f32, lowp > lowp_mat2x3

2 columns of 3 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file matrix_float2x3_precision.hpp.

typedef mat< 2, 4, f32, lowp > lowp_mat2x4

2 columns of 4 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file matrix_float2x4_precision.hpp.

typedef mat< 3, 3, f32, lowp > lowp_mat3

3 columns of 3 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file matrix_float3x3_precision.hpp.

typedef mat< 3, 2, f32, lowp > lowp_mat3x2

3 columns of 2 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file matrix_float3x2_precision.hpp.

typedef mat< 3, 3, f32, lowp > lowp_mat3x3

3 columns of 3 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 34 of file matrix_float3x3_precision.hpp.

typedef mat< 3, 4, f32, lowp > lowp_mat3x4

3 columns of 4 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file matrix_float3x4_precision.hpp.

typedef mat< 4, 4, f32, lowp > lowp_mat4

4 columns of 4 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file matrix_float4x4_precision.hpp.

typedef mat< 4, 2, f32, lowp > lowp_mat4x2

4 columns of 2 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file matrix_float4x2_precision.hpp.

typedef mat< 4, 3, f32, lowp > lowp_mat4x3

4 columns of 3 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 16 of file matrix_float4x3_precision.hpp.

typedef mat< 4, 4, f32, lowp > lowp_mat4x4

4 columns of 4 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 34 of file matrix_float4x4_precision.hpp.

typedef mat< 2, 2, f64, mediump > mediump_dmat2

2 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file matrix_double2x2_precision.hpp.

typedef mat< 2, 2, double, mediump > mediump_dmat2x2

2 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 40 of file matrix_double2x2_precision.hpp.

typedef mat< 2, 3, double, mediump > mediump_dmat2x3

2 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file matrix_double2x3_precision.hpp.

typedef mat< 2, 4, double, mediump > mediump_dmat2x4

2 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file matrix_double2x4_precision.hpp.

typedef mat< 3, 3, f64, mediump > mediump_dmat3

3 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file matrix_double3x3_precision.hpp.

typedef mat< 3, 2, double, mediump > mediump_dmat3x2

3 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file matrix_double3x2_precision.hpp.

typedef mat< 3, 3, double, mediump > mediump_dmat3x3

3 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 40 of file matrix_double3x3_precision.hpp.

typedef mat< 3, 4, double, mediump > mediump_dmat3x4

3 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file matrix_double3x4_precision.hpp.

typedef mat< 4, 4, f64, mediump > mediump_dmat4

4 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file matrix_double4x4_precision.hpp.

typedef mat< 4, 2, double, mediump > mediump_dmat4x2

4 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file matrix_double4x2_precision.hpp.

typedef mat< 4, 3, double, mediump > mediump_dmat4x3

4 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file matrix_double4x3_precision.hpp.

typedef mat< 4, 4, double, mediump > mediump_dmat4x4

4 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 40 of file matrix_double4x4_precision.hpp.

typedef mat< 2, 2, f32, mediump > mediump_mat2

2 columns of 2 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file matrix_float2x2_precision.hpp.

typedef mat< 2, 2, f32, mediump > mediump_mat2x2

2 columns of 2 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 40 of file matrix_float2x2_precision.hpp.

typedef mat< 2, 3, f32, mediump > mediump_mat2x3

2 columns of 3 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file matrix_float2x3_precision.hpp.

typedef mat< 2, 4, f32, mediump > mediump_mat2x4

2 columns of 4 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file matrix_float2x4_precision.hpp.

typedef mat< 3, 3, f32, mediump > mediump_mat3

3 columns of 3 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file matrix_float3x3_precision.hpp.

typedef mat< 3, 2, f32, mediump > mediump_mat3x2

3 columns of 2 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file matrix_float3x2_precision.hpp.

typedef mat< 3, 3, f32, mediump > mediump_mat3x3

3 columns of 3 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 40 of file matrix_float3x3_precision.hpp.

typedef mat< 3, 4, f32, mediump > mediump_mat3x4

3 columns of 4 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file matrix_float3x4_precision.hpp.

typedef mat< 4, 4, f32, mediump > mediump_mat4

4 columns of 4 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file matrix_float4x4_precision.hpp.

typedef mat< 4, 2, f32, mediump > mediump_mat4x2

4 columns of 2 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file matrix_float4x2_precision.hpp.

typedef mat< 4, 3, f32, mediump > mediump_mat4x3

4 columns of 3 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 22 of file matrix_float4x3_precision.hpp.

typedef mat< 4, 4, f32, mediump > mediump_mat4x4

4 columns of 4 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.

See also
GLSL 4.20.8 specification, section 4.1.6 Matrices
GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier

Definition at line 40 of file matrix_float4x4_precision.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00285.html ================================================ 0.9.9 API documentation: Stable extensions
0.9.9 API documentation
Stable extensions

Additional features not specified by GLSL specification. More...

Modules

 GLM_EXT_matrix_clip_space
 Defines functions that generate clip space transformation matrices.
 
 GLM_EXT_matrix_common
 Defines functions for common matrix operations.
 
 GLM_EXT_matrix_projection
 Functions that generate common projection transformation matrices.
 
 GLM_EXT_matrix_relational
 Exposes comparison functions for matrix types that take a user defined epsilon values.
 
 GLM_EXT_matrix_transform
 Defines functions that generate common transformation matrices.
 
 GLM_EXT_quaternion_common
 Provides common functions for quaternion types.
 
 GLM_EXT_quaternion_double
 Exposes double-precision floating point quaternion type.
 
 GLM_EXT_quaternion_double_precision
 Exposes double-precision floating point quaternion type with various precision in term of ULPs.
 
 GLM_EXT_quaternion_exponential
 Provides exponential functions for quaternion types.
 
 GLM_EXT_quaternion_float
 Exposes single-precision floating point quaternion type.
 
 GLM_EXT_quaternion_float_precision
 Exposes single-precision floating point quaternion type with various precision in term of ULPs.
 
 GLM_EXT_quaternion_geometric
 Provides geometric functions for quaternion types.
 
 GLM_EXT_quaternion_relational
 Exposes comparison functions for quaternion types that take a user defined epsilon values.
 
 GLM_EXT_quaternion_transform
 Provides transformation functions for quaternion types.
 
 GLM_EXT_quaternion_trigonometric
 Provides trigonometric functions for quaternion types.
 
 GLM_EXT_scalar_common
 Exposes min and max functions for 3 to 4 scalar parameters.
 
 GLM_EXT_scalar_constants
 Provides a list of constants and precomputed useful values.
 
 GLM_EXT_scalar_int_sized
 Exposes sized signed integer scalar types.
 
 GLM_EXT_scalar_integer
 Include <glm/ext/scalar_integer.hpp> to use the features of this extension.
 
 GLM_EXT_scalar_relational
 Exposes comparison functions for scalar types that take a user defined epsilon values.
 
 GLM_EXT_scalar_uint_sized
 Exposes sized unsigned integer scalar types.
 
 GLM_EXT_scalar_ulp
 Allow the measurement of the accuracy of a function against a reference implementation.
 
 GLM_EXT_vector_bool1
 Exposes bvec1 vector type.
 
 GLM_EXT_vector_bool1_precision
 Exposes highp_bvec1, mediump_bvec1 and lowp_bvec1 types.
 
 GLM_EXT_vector_common
 Exposes min and max functions for 3 to 4 vector parameters.
 
 GLM_EXT_vector_double1
 Exposes double-precision floating point vector type with one component.
 
 GLM_EXT_vector_double1_precision
 Exposes highp_dvec1, mediump_dvec1 and lowp_dvec1 types.
 
 GLM_EXT_vector_float1
 Exposes single-precision floating point vector type with one component.
 
 GLM_EXT_vector_float1_precision
 Exposes highp_vec1, mediump_vec1 and lowp_vec1 types.
 
 GLM_EXT_vector_int1
 Exposes ivec1 vector type.
 
 GLM_EXT_vector_int1_precision
 Exposes highp_ivec1, mediump_ivec1 and lowp_ivec1 types.
 
 GLM_EXT_vector_integer
 Include <glm/ext/vector_integer.hpp> to use the features of this extension.
 
 GLM_EXT_vector_relational
 Exposes comparison functions for vector types that take a user defined epsilon values.
 
 GLM_EXT_vector_uint1
 Exposes uvec1 vector type.
 
 GLM_EXT_vector_uint1_precision
 Exposes highp_uvec1, mediump_uvec1 and lowp_uvec1 types.
 
 GLM_EXT_vector_ulp
 Allow the measurement of the accuracy of a function against a reference implementation.
 

Detailed Description

Additional features not specified by GLSL specification.

EXT extensions are fully tested and documented.

Even if it's highly unrecommended, it's possible to include all the extensions at once by including <glm/ext.hpp>. Otherwise, each extension needs to be included a specific file.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00286.html ================================================ 0.9.9 API documentation: Recommended extensions
0.9.9 API documentation
Recommended extensions

Additional features not specified by GLSL specification. More...

Modules

 GLM_GTC_bitfield
 Include <glm/gtc/bitfield.hpp> to use the features of this extension.
 
 GLM_GTC_color_space
 Include <glm/gtc/color_space.hpp> to use the features of this extension.
 
 GLM_GTC_constants
 Include <glm/gtc/constants.hpp> to use the features of this extension.
 
 GLM_GTC_epsilon
 Include <glm/gtc/epsilon.hpp> to use the features of this extension.
 
 GLM_GTC_integer
 Include <glm/gtc/integer.hpp> to use the features of this extension.
 
 GLM_GTC_matrix_access
 Include <glm/gtc/matrix_access.hpp> to use the features of this extension.
 
 GLM_GTC_matrix_integer
 Include <glm/gtc/matrix_integer.hpp> to use the features of this extension.
 
 GLM_GTC_matrix_inverse
 Include <glm/gtc/matrix_integer.hpp> to use the features of this extension.
 
 GLM_GTC_matrix_transform
 Include <glm/gtc/matrix_transform.hpp> to use the features of this extension.
 
 GLM_GTC_noise
 Include <glm/gtc/noise.hpp> to use the features of this extension.
 
 GLM_GTC_packing
 Include <glm/gtc/packing.hpp> to use the features of this extension.
 
 GLM_GTC_quaternion
 Include <glm/gtc/quaternion.hpp> to use the features of this extension.
 
 GLM_GTC_random
 Include <glm/gtc/random.hpp> to use the features of this extension.
 
 GLM_GTC_reciprocal
 Include <glm/gtc/reciprocal.hpp> to use the features of this extension.
 
 GLM_GTC_round
 Include <glm/gtc/round.hpp> to use the features of this extension.
 
 GLM_GTC_type_aligned
 Include <glm/gtc/type_aligned.hpp> to use the features of this extension.
 
 GLM_GTC_type_precision
 Include <glm/gtc/type_precision.hpp> to use the features of this extension.
 
 GLM_GTC_type_ptr
 Include <glm/gtc/type_ptr.hpp> to use the features of this extension.
 
 GLM_GTC_ulp
 Include <glm/gtc/ulp.hpp> to use the features of this extension.
 
 GLM_GTC_vec1
 Include <glm/gtc/vec1.hpp> to use the features of this extension.
 

Detailed Description

Additional features not specified by GLSL specification.

GTC extensions aim to be stable with tests and documentation.

Even if it's highly unrecommended, it's possible to include all the extensions at once by including <glm/ext.hpp>. Otherwise, each extension needs to be included a specific file.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00287.html ================================================ 0.9.9 API documentation: Experimental extensions
0.9.9 API documentation
Experimental extensions

Experimental features not specified by GLSL specification. More...

Modules

 GLM_GTX_associated_min_max
 Include <glm/gtx/associated_min_max.hpp> to use the features of this extension.
 
 GLM_GTX_bit
 Include <glm/gtx/bit.hpp> to use the features of this extension.
 
 GLM_GTX_closest_point
 Include <glm/gtx/closest_point.hpp> to use the features of this extension.
 
 GLM_GTX_color_encoding
 Include <glm/gtx/color_encoding.hpp> to use the features of this extension.
 
 GLM_GTX_color_space
 Include <glm/gtx/color_space.hpp> to use the features of this extension.
 
 GLM_GTX_color_space_YCoCg
 Include <glm/gtx/color_space_YCoCg.hpp> to use the features of this extension.
 
 GLM_GTX_common
 Include <glm/gtx/common.hpp> to use the features of this extension.
 
 GLM_GTX_compatibility
 Include <glm/gtx/compatibility.hpp> to use the features of this extension.
 
 GLM_GTX_component_wise
 Include <glm/gtx/component_wise.hpp> to use the features of this extension.
 
 GLM_GTX_dual_quaternion
 Include <glm/gtx/dual_quaternion.hpp> to use the features of this extension.
 
 GLM_GTX_easing
 Include <glm/gtx/easing.hpp> to use the features of this extension.
 
 GLM_GTX_euler_angles
 Include <glm/gtx/euler_angles.hpp> to use the features of this extension.
 
 GLM_GTX_extend
 Include <glm/gtx/extend.hpp> to use the features of this extension.
 
 GLM_GTX_extented_min_max
 Include <glm/gtx/extented_min_max.hpp> to use the features of this extension.
 
 GLM_GTX_exterior_product
 Include <glm/gtx/exterior_product.hpp> to use the features of this extension.
 
 GLM_GTX_fast_exponential
 Include <glm/gtx/fast_exponential.hpp> to use the features of this extension.
 
 GLM_GTX_fast_square_root
 Include <glm/gtx/fast_square_root.hpp> to use the features of this extension.
 
 GLM_GTX_fast_trigonometry
 Include <glm/gtx/fast_trigonometry.hpp> to use the features of this extension.
 
 GLM_GTX_functions
 Include <glm/gtx/functions.hpp> to use the features of this extension.
 
 GLM_GTX_gradient_paint
 Include <glm/gtx/gradient_paint.hpp> to use the features of this extension.
 
 GLM_GTX_handed_coordinate_space
 Include <glm/gtx/handed_coordinate_system.hpp> to use the features of this extension.
 
 GLM_GTX_hash
 Include <glm/gtx/hash.hpp> to use the features of this extension.
 
 GLM_GTX_integer
 Include <glm/gtx/integer.hpp> to use the features of this extension.
 
 GLM_GTX_intersect
 Include <glm/gtx/intersect.hpp> to use the features of this extension.
 
 GLM_GTX_io
 Include <glm/gtx/io.hpp> to use the features of this extension.
 
 GLM_GTX_log_base
 Include <glm/gtx/log_base.hpp> to use the features of this extension.
 
 GLM_GTX_matrix_cross_product
 Include <glm/gtx/matrix_cross_product.hpp> to use the features of this extension.
 
 GLM_GTX_matrix_decompose
 Include <glm/gtx/matrix_decompose.hpp> to use the features of this extension.
 
 GLM_GTX_matrix_factorisation
 Include <glm/gtx/matrix_factorisation.hpp> to use the features of this extension.
 
 GLM_GTX_matrix_interpolation
 Include <glm/gtx/matrix_interpolation.hpp> to use the features of this extension.
 
 GLM_GTX_matrix_major_storage
 Include <glm/gtx/matrix_major_storage.hpp> to use the features of this extension.
 
 GLM_GTX_matrix_operation
 Include <glm/gtx/matrix_operation.hpp> to use the features of this extension.
 
 GLM_GTX_matrix_query
 Include <glm/gtx/matrix_query.hpp> to use the features of this extension.
 
 GLM_GTX_matrix_transform_2d
 Include <glm/gtx/matrix_transform_2d.hpp> to use the features of this extension.
 
 GLM_GTX_mixed_producte
 Include <glm/gtx/mixed_product.hpp> to use the features of this extension.
 
 GLM_GTX_norm
 Include <glm/gtx/norm.hpp> to use the features of this extension.
 
 GLM_GTX_normal
 Include <glm/gtx/normal.hpp> to use the features of this extension.
 
 GLM_GTX_normalize_dot
 Include <glm/gtx/normalized_dot.hpp> to use the features of this extension.
 
 GLM_GTX_number_precision
 Include <glm/gtx/number_precision.hpp> to use the features of this extension.
 
 GLM_GTX_optimum_pow
 Include <glm/gtx/optimum_pow.hpp> to use the features of this extension.
 
 GLM_GTX_orthonormalize
 Include <glm/gtx/orthonormalize.hpp> to use the features of this extension.
 
 GLM_GTX_perpendicular
 Include <glm/gtx/perpendicular.hpp> to use the features of this extension.
 
 GLM_GTX_polar_coordinates
 Include <glm/gtx/polar_coordinates.hpp> to use the features of this extension.
 
 GLM_GTX_projection
 Include <glm/gtx/projection.hpp> to use the features of this extension.
 
 GLM_GTX_quaternion
 Include <glm/gtx/quaternion.hpp> to use the features of this extension.
 
 GLM_GTX_range
 Include <glm/gtx/range.hpp> to use the features of this extension.
 
 GLM_GTX_raw_data
 Include <glm/gtx/raw_data.hpp> to use the features of this extension.
 
 GLM_GTX_rotate_normalized_axis
 Include <glm/gtx/rotate_normalized_axis.hpp> to use the features of this extension.
 
 GLM_GTX_rotate_vector
 Include <glm/gtx/rotate_vector.hpp> to use the features of this extension.
 
 GLM_GTX_scalar_relational
 Include <glm/gtx/scalar_relational.hpp> to use the features of this extension.
 
 GLM_GTX_spline
 Include <glm/gtx/spline.hpp> to use the features of this extension.
 
 GLM_GTX_std_based_type
 Include <glm/gtx/std_based_type.hpp> to use the features of this extension.
 
 GLM_GTX_string_cast
 Include <glm/gtx/string_cast.hpp> to use the features of this extension.
 
 GLM_GTX_texture
 Include <glm/gtx/texture.hpp> to use the features of this extension.
 
 GLM_GTX_transform
 Include <glm/gtx/transform.hpp> to use the features of this extension.
 
 GLM_GTX_transform2
 Include <glm/gtx/transform2.hpp> to use the features of this extension.
 
 GLM_GTX_type_aligned
 Include <glm/gtx/type_aligned.hpp> to use the features of this extension.
 
 GLM_GTX_type_trait
 Include <glm/gtx/type_trait.hpp> to use the features of this extension.
 
 GLM_GTX_vec_swizzle
 Include <glm/gtx/vec_swizzle.hpp> to use the features of this extension.
 
 GLM_GTX_vector_angle
 Include <glm/gtx/vector_angle.hpp> to use the features of this extension.
 
 GLM_GTX_vector_query
 Include <glm/gtx/vector_query.hpp> to use the features of this extension.
 
 GLM_GTX_wrap
 Include <glm/gtx/wrap.hpp> to use the features of this extension.
 

Detailed Description

Experimental features not specified by GLSL specification.

Experimental extensions are useful functions and types, but the development of their API and functionality is not necessarily stable. They can change substantially between versions. Backwards compatibility is not much of an issue for them.

Even if it's highly unrecommended, it's possible to include all the extensions at once by including <glm/ext.hpp>. Otherwise, each extension needs to be included a specific file.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00288.html ================================================ 0.9.9 API documentation: GLM_GTC_bitfield
0.9.9 API documentation

Include <glm/gtc/bitfield.hpp> to use the features of this extension. More...

Functions

GLM_FUNC_DECL glm::u8vec2 bitfieldDeinterleave (glm::uint16 x)
 Deinterleaves the bits of x. More...
 
GLM_FUNC_DECL glm::u16vec2 bitfieldDeinterleave (glm::uint32 x)
 Deinterleaves the bits of x. More...
 
GLM_FUNC_DECL glm::u32vec2 bitfieldDeinterleave (glm::uint64 x)
 Deinterleaves the bits of x. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldFillOne (genIUType Value, int FirstBit, int BitCount)
 Set to 1 a range of bits. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > bitfieldFillOne (vec< L, T, Q > const &Value, int FirstBit, int BitCount)
 Set to 1 a range of bits. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldFillZero (genIUType Value, int FirstBit, int BitCount)
 Set to 0 a range of bits. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > bitfieldFillZero (vec< L, T, Q > const &Value, int FirstBit, int BitCount)
 Set to 0 a range of bits. More...
 
GLM_FUNC_DECL int16 bitfieldInterleave (int8 x, int8 y)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL uint16 bitfieldInterleave (uint8 x, uint8 y)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL uint16 bitfieldInterleave (u8vec2 const &v)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL int32 bitfieldInterleave (int16 x, int16 y)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint16 x, uint16 y)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL uint32 bitfieldInterleave (u16vec2 const &v)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL int64 bitfieldInterleave (int32 x, int32 y)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint32 x, uint32 y)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL uint64 bitfieldInterleave (u32vec2 const &v)
 Interleaves the bits of x and y. More...
 
GLM_FUNC_DECL int32 bitfieldInterleave (int8 x, int8 y, int8 z)
 Interleaves the bits of x, y and z. More...
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint8 x, uint8 y, uint8 z)
 Interleaves the bits of x, y and z. More...
 
GLM_FUNC_DECL int64 bitfieldInterleave (int16 x, int16 y, int16 z)
 Interleaves the bits of x, y and z. More...
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint16 x, uint16 y, uint16 z)
 Interleaves the bits of x, y and z. More...
 
GLM_FUNC_DECL int64 bitfieldInterleave (int32 x, int32 y, int32 z)
 Interleaves the bits of x, y and z. More...
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint32 x, uint32 y, uint32 z)
 Interleaves the bits of x, y and z. More...
 
GLM_FUNC_DECL int32 bitfieldInterleave (int8 x, int8 y, int8 z, int8 w)
 Interleaves the bits of x, y, z and w. More...
 
GLM_FUNC_DECL uint32 bitfieldInterleave (uint8 x, uint8 y, uint8 z, uint8 w)
 Interleaves the bits of x, y, z and w. More...
 
GLM_FUNC_DECL int64 bitfieldInterleave (int16 x, int16 y, int16 z, int16 w)
 Interleaves the bits of x, y, z and w. More...
 
GLM_FUNC_DECL uint64 bitfieldInterleave (uint16 x, uint16 y, uint16 z, uint16 w)
 Interleaves the bits of x, y, z and w. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldRotateLeft (genIUType In, int Shift)
 Rotate all bits to the left. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > bitfieldRotateLeft (vec< L, T, Q > const &In, int Shift)
 Rotate all bits to the left. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType bitfieldRotateRight (genIUType In, int Shift)
 Rotate all bits to the right. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > bitfieldRotateRight (vec< L, T, Q > const &In, int Shift)
 Rotate all bits to the right. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType mask (genIUType Bits)
 Build a mask of 'count' bits. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > mask (vec< L, T, Q > const &v)
 Build a mask of 'count' bits. More...
 

Detailed Description

Include <glm/gtc/bitfield.hpp> to use the features of this extension.

Allow to perform bit operations on integer values

Function Documentation

GLM_FUNC_DECL glm::u8vec2 glm::bitfieldDeinterleave ( glm::uint16  x)

Deinterleaves the bits of x.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL glm::u16vec2 glm::bitfieldDeinterleave ( glm::uint32  x)

Deinterleaves the bits of x.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL glm::u32vec2 glm::bitfieldDeinterleave ( glm::uint64  x)

Deinterleaves the bits of x.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL genIUType glm::bitfieldFillOne ( genIUType  Value,
int  FirstBit,
int  BitCount 
)

Set to 1 a range of bits.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL vec<L, T, Q> glm::bitfieldFillOne ( vec< L, T, Q > const &  Value,
int  FirstBit,
int  BitCount 
)

Set to 1 a range of bits.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TSigned and unsigned integer scalar types
QValue from qualifier enum
See also
GLM_GTC_bitfield
GLM_FUNC_DECL genIUType glm::bitfieldFillZero ( genIUType  Value,
int  FirstBit,
int  BitCount 
)

Set to 0 a range of bits.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL vec<L, T, Q> glm::bitfieldFillZero ( vec< L, T, Q > const &  Value,
int  FirstBit,
int  BitCount 
)

Set to 0 a range of bits.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TSigned and unsigned integer scalar types
QValue from qualifier enum
See also
GLM_GTC_bitfield
GLM_FUNC_DECL int16 glm::bitfieldInterleave ( int8  x,
int8  y 
)

Interleaves the bits of x and y.

The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL uint16 glm::bitfieldInterleave ( uint8  x,
uint8  y 
)

Interleaves the bits of x and y.

The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL uint16 glm::bitfieldInterleave ( u8vec2 const &  v)

Interleaves the bits of x and y.

The first bit is the first bit of v.x followed by the first bit of v.y. The other bits are interleaved following the previous sequence.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL int32 glm::bitfieldInterleave ( int16  x,
int16  y 
)

Interleaves the bits of x and y.

The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL uint32 glm::bitfieldInterleave ( uint16  x,
uint16  y 
)

Interleaves the bits of x and y.

The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL uint32 glm::bitfieldInterleave ( u16vec2 const &  v)

Interleaves the bits of x and y.

The first bit is the first bit of v.x followed by the first bit of v.y. The other bits are interleaved following the previous sequence.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL int64 glm::bitfieldInterleave ( int32  x,
int32  y 
)

Interleaves the bits of x and y.

The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL uint64 glm::bitfieldInterleave ( uint32  x,
uint32  y 
)

Interleaves the bits of x and y.

The first bit is the first bit of x followed by the first bit of y. The other bits are interleaved following the previous sequence.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL uint64 glm::bitfieldInterleave ( u32vec2 const &  v)

Interleaves the bits of x and y.

The first bit is the first bit of v.x followed by the first bit of v.y. The other bits are interleaved following the previous sequence.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL int32 glm::bitfieldInterleave ( int8  x,
int8  y,
int8  z 
)

Interleaves the bits of x, y and z.

The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL uint32 glm::bitfieldInterleave ( uint8  x,
uint8  y,
uint8  z 
)

Interleaves the bits of x, y and z.

The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL int64 glm::bitfieldInterleave ( int16  x,
int16  y,
int16  z 
)

Interleaves the bits of x, y and z.

The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL uint64 glm::bitfieldInterleave ( uint16  x,
uint16  y,
uint16  z 
)

Interleaves the bits of x, y and z.

The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL int64 glm::bitfieldInterleave ( int32  x,
int32  y,
int32  z 
)

Interleaves the bits of x, y and z.

The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL uint64 glm::bitfieldInterleave ( uint32  x,
uint32  y,
uint32  z 
)

Interleaves the bits of x, y and z.

The first bit is the first bit of x followed by the first bit of y and the first bit of z. The other bits are interleaved following the previous sequence.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL int32 glm::bitfieldInterleave ( int8  x,
int8  y,
int8  z,
int8  w 
)

Interleaves the bits of x, y, z and w.

The first bit is the first bit of x followed by the first bit of y, the first bit of z and finally the first bit of w. The other bits are interleaved following the previous sequence.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL uint32 glm::bitfieldInterleave ( uint8  x,
uint8  y,
uint8  z,
uint8  w 
)

Interleaves the bits of x, y, z and w.

The first bit is the first bit of x followed by the first bit of y, the first bit of z and finally the first bit of w. The other bits are interleaved following the previous sequence.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL int64 glm::bitfieldInterleave ( int16  x,
int16  y,
int16  z,
int16  w 
)

Interleaves the bits of x, y, z and w.

The first bit is the first bit of x followed by the first bit of y, the first bit of z and finally the first bit of w. The other bits are interleaved following the previous sequence.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL uint64 glm::bitfieldInterleave ( uint16  x,
uint16  y,
uint16  z,
uint16  w 
)

Interleaves the bits of x, y, z and w.

The first bit is the first bit of x followed by the first bit of y, the first bit of z and finally the first bit of w. The other bits are interleaved following the previous sequence.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL genIUType glm::bitfieldRotateLeft ( genIUType  In,
int  Shift 
)

Rotate all bits to the left.

All the bits dropped in the left side are inserted back on the right side.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL vec<L, T, Q> glm::bitfieldRotateLeft ( vec< L, T, Q > const &  In,
int  Shift 
)

Rotate all bits to the left.

All the bits dropped in the left side are inserted back on the right side.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TSigned and unsigned integer scalar types
QValue from qualifier enum
See also
GLM_GTC_bitfield
GLM_FUNC_DECL genIUType glm::bitfieldRotateRight ( genIUType  In,
int  Shift 
)

Rotate all bits to the right.

All the bits dropped in the right side are inserted back on the left side.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL vec<L, T, Q> glm::bitfieldRotateRight ( vec< L, T, Q > const &  In,
int  Shift 
)

Rotate all bits to the right.

All the bits dropped in the right side are inserted back on the left side.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TSigned and unsigned integer scalar types
QValue from qualifier enum
See also
GLM_GTC_bitfield
GLM_FUNC_DECL genIUType glm::mask ( genIUType  Bits)

Build a mask of 'count' bits.

See also
GLM_GTC_bitfield
GLM_FUNC_DECL vec<L, T, Q> glm::mask ( vec< L, T, Q > const &  v)

Build a mask of 'count' bits.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TSigned and unsigned integer scalar types
QValue from qualifier enum
See also
GLM_GTC_bitfield
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00289.html ================================================ 0.9.9 API documentation: GLM_GTC_color_space
0.9.9 API documentation
GLM_GTC_color_space

Include <glm/gtc/color_space.hpp> to use the features of this extension. More...

Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > convertLinearToSRGB (vec< L, T, Q > const &ColorLinear)
 Convert a linear color to sRGB color using a standard gamma correction. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > convertLinearToSRGB (vec< L, T, Q > const &ColorLinear, T Gamma)
 Convert a linear color to sRGB color using a custom gamma correction. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > convertSRGBToLinear (vec< L, T, Q > const &ColorSRGB)
 Convert a sRGB color to linear color using a standard gamma correction. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > convertSRGBToLinear (vec< L, T, Q > const &ColorSRGB, T Gamma)
 Convert a sRGB color to linear color using a custom gamma correction.
 

Detailed Description

Include <glm/gtc/color_space.hpp> to use the features of this extension.

Allow to perform bit operations on integer values

Function Documentation

GLM_FUNC_DECL vec<L, T, Q> glm::convertLinearToSRGB ( vec< L, T, Q > const &  ColorLinear)

Convert a linear color to sRGB color using a standard gamma correction.

IEC 61966-2-1:1999 / Rec. 709 specification https://www.w3.org/Graphics/Color/srgb

GLM_FUNC_DECL vec<L, T, Q> glm::convertLinearToSRGB ( vec< L, T, Q > const &  ColorLinear,
Gamma 
)

Convert a linear color to sRGB color using a custom gamma correction.

IEC 61966-2-1:1999 / Rec. 709 specification https://www.w3.org/Graphics/Color/srgb

GLM_FUNC_DECL vec<L, T, Q> glm::convertSRGBToLinear ( vec< L, T, Q > const &  ColorSRGB)

Convert a sRGB color to linear color using a standard gamma correction.

IEC 61966-2-1:1999 / Rec. 709 specification https://www.w3.org/Graphics/Color/srgb

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00290.html ================================================ 0.9.9 API documentation: GLM_GTC_constants
0.9.9 API documentation

Include <glm/gtc/constants.hpp> to use the features of this extension. More...

Functions

template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType e ()
 Return e constant. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType euler ()
 Return Euler's constant. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType four_over_pi ()
 Return 4 / pi. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType golden_ratio ()
 Return the golden ratio constant. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType half_pi ()
 Return pi / 2. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType ln_ln_two ()
 Return ln(ln(2)). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType ln_ten ()
 Return ln(10). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType ln_two ()
 Return ln(2). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType one ()
 Return 1. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_pi ()
 Return 1 / pi. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_root_two ()
 Return 1 / sqrt(2). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_two_pi ()
 Return 1 / (pi * 2). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType quarter_pi ()
 Return pi / 4. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType root_five ()
 Return sqrt(5). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType root_half_pi ()
 Return sqrt(pi / 2). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType root_ln_four ()
 Return sqrt(ln(4)). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType root_pi ()
 Return square root of pi. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType root_three ()
 Return sqrt(3). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType root_two ()
 Return sqrt(2). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType root_two_pi ()
 Return sqrt(2 * pi). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType third ()
 Return 1 / 3. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType three_over_two_pi ()
 Return pi / 2 * 3. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType two_over_pi ()
 Return 2 / pi. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType two_over_root_pi ()
 Return 2 / sqrt(pi). More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType two_pi ()
 Return pi * 2. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType two_thirds ()
 Return 2 / 3. More...
 
template<typename genType >
GLM_FUNC_DECL GLM_CONSTEXPR genType zero ()
 Return 0. More...
 

Detailed Description

Include <glm/gtc/constants.hpp> to use the features of this extension.

Provide a list of constants and precomputed useful values.

Function Documentation

GLM_FUNC_DECL GLM_CONSTEXPR genType glm::e ( )

Return e constant.

See also
GLM_GTC_constants
GLM_FUNC_DECL GLM_CONSTEXPR genType glm::euler ( )

Return Euler's constant.

See also
GLM_GTC_constants
GLM_FUNC_DECL GLM_CONSTEXPR genType glm::four_over_pi ( )

Return 4 / pi.

See also
GLM_GTC_constants
GLM_FUNC_DECL GLM_CONSTEXPR genType glm::golden_ratio ( )

Return the golden ratio constant.

See also
GLM_GTC_constants
GLM_FUNC_DECL GLM_CONSTEXPR genType glm::half_pi ( )

Return pi / 2.

See also
GLM_GTC_constants
GLM_FUNC_DECL GLM_CONSTEXPR genType glm::ln_ln_two ( )

Return ln(ln(2)).

See also
GLM_GTC_constants
GLM_FUNC_DECL GLM_CONSTEXPR genType glm::ln_ten ( )

Return ln(10).

See also
GLM_GTC_constants
GLM_FUNC_DECL GLM_CONSTEXPR genType glm::ln_two ( )

Return ln(2).

See also
GLM_GTC_constants
GLM_FUNC_DECL GLM_CONSTEXPR genType glm::one ( )

Return 1.

See also
GLM_GTC_constants
GLM_FUNC_DECL GLM_CONSTEXPR genType glm::one_over_pi ( )

Return 1 / pi.

See also
GLM_GTC_constants
GLM_FUNC_DECL GLM_CONSTEXPR genType glm::one_over_root_two ( )

Return 1 / sqrt(2).

See also
GLM_GTC_constants
GLM_FUNC_DECL GLM_CONSTEXPR genType glm::one_over_two_pi ( )

Return 1 / (pi * 2).

See also
GLM_GTC_constants
GLM_FUNC_DECL GLM_CONSTEXPR genType glm::quarter_pi ( )

Return pi / 4.

See also
GLM_GTC_constants
GLM_FUNC_DECL GLM_CONSTEXPR genType glm::root_five ( )

Return sqrt(5).

See also
GLM_GTC_constants
GLM_FUNC_DECL GLM_CONSTEXPR genType glm::root_half_pi ( )

Return sqrt(pi / 2).

See also
GLM_GTC_constants
GLM_FUNC_DECL GLM_CONSTEXPR genType glm::root_ln_four ( )

Return sqrt(ln(4)).

See also
GLM_GTC_constants
GLM_FUNC_DECL GLM_CONSTEXPR genType glm::root_pi ( )

Return square root of pi.

See also
GLM_GTC_constants
GLM_FUNC_DECL GLM_CONSTEXPR genType glm::root_three ( )

Return sqrt(3).

See also
GLM_GTC_constants
GLM_FUNC_DECL GLM_CONSTEXPR genType glm::root_two ( )

Return sqrt(2).

See also
GLM_GTC_constants
GLM_FUNC_DECL GLM_CONSTEXPR genType glm::root_two_pi ( )

Return sqrt(2 * pi).

See also
GLM_GTC_constants
GLM_FUNC_DECL GLM_CONSTEXPR genType glm::third ( )

Return 1 / 3.

See also
GLM_GTC_constants
GLM_FUNC_DECL GLM_CONSTEXPR genType glm::three_over_two_pi ( )

Return pi / 2 * 3.

See also
GLM_GTC_constants
GLM_FUNC_DECL GLM_CONSTEXPR genType glm::two_over_pi ( )

Return 2 / pi.

See also
GLM_GTC_constants
GLM_FUNC_DECL GLM_CONSTEXPR genType glm::two_over_root_pi ( )

Return 2 / sqrt(pi).

See also
GLM_GTC_constants
GLM_FUNC_DECL GLM_CONSTEXPR genType glm::two_pi ( )

Return pi * 2.

See also
GLM_GTC_constants
GLM_FUNC_DECL GLM_CONSTEXPR genType glm::two_thirds ( )

Return 2 / 3.

See also
GLM_GTC_constants
GLM_FUNC_DECL GLM_CONSTEXPR genType glm::zero ( )

Return 0.

See also
GLM_GTC_constants
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00291.html ================================================ 0.9.9 API documentation: GLM_GTC_epsilon
0.9.9 API documentation

Include <glm/gtc/epsilon.hpp> to use the features of this extension. More...

Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > epsilonEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, T const &epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<typename genType >
GLM_FUNC_DECL bool epsilonEqual (genType const &x, genType const &y, genType const &epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > epsilonNotEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y, T const &epsilon)
 Returns the component-wise comparison of |x - y| < epsilon. More...
 
template<typename genType >
GLM_FUNC_DECL bool epsilonNotEqual (genType const &x, genType const &y, genType const &epsilon)
 Returns the component-wise comparison of |x - y| >= epsilon. More...
 

Detailed Description

Include <glm/gtc/epsilon.hpp> to use the features of this extension.

Comparison functions for a user defined epsilon values.

Function Documentation

GLM_FUNC_DECL vec<L, bool, Q> glm::epsilonEqual ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  y,
T const &  epsilon 
)

Returns the component-wise comparison of |x - y| < epsilon.

True if this expression is satisfied.

See also
GLM_GTC_epsilon
GLM_FUNC_DECL bool glm::epsilonEqual ( genType const &  x,
genType const &  y,
genType const &  epsilon 
)

Returns the component-wise comparison of |x - y| < epsilon.

True if this expression is satisfied.

See also
GLM_GTC_epsilon
GLM_FUNC_DECL vec<L, bool, Q> glm::epsilonNotEqual ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  y,
T const &  epsilon 
)

Returns the component-wise comparison of |x - y| < epsilon.

True if this expression is not satisfied.

See also
GLM_GTC_epsilon
GLM_FUNC_DECL bool glm::epsilonNotEqual ( genType const &  x,
genType const &  y,
genType const &  epsilon 
)

Returns the component-wise comparison of |x - y| >= epsilon.

True if this expression is not satisfied.

See also
GLM_GTC_epsilon
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00292.html ================================================ 0.9.9 API documentation: GLM_GTC_integer
0.9.9 API documentation

Include <glm/gtc/integer.hpp> to use the features of this extension. More...

Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > iround (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer to x. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType log2 (genIUType x)
 Returns the log2 of x for integer values. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, uint, Q > uround (vec< L, T, Q > const &x)
 Returns a value equal to the nearest integer to x. More...
 

Detailed Description

Include <glm/gtc/integer.hpp> to use the features of this extension.

Allow to perform bit operations on integer values

Function Documentation

GLM_FUNC_DECL vec<L, int, Q> glm::iround ( vec< L, T, Q > const &  x)

Returns a value equal to the nearest integer to x.

The fraction 0.5 will round in a direction chosen by the implementation, presumably the direction that is fastest.

Parameters
xThe values of the argument must be greater or equal to zero.
Template Parameters
Tfloating point scalar types.
See also
GLSL round man page
GLM_GTC_integer
GLM_FUNC_DECL genIUType glm::log2 ( genIUType  x)

Returns the log2 of x for integer values.

Usefull to compute mipmap count from the texture size.

See also
GLM_GTC_integer
GLM_FUNC_DECL vec<L, uint, Q> glm::uround ( vec< L, T, Q > const &  x)

Returns a value equal to the nearest integer to x.

The fraction 0.5 will round in a direction chosen by the implementation, presumably the direction that is fastest.

Parameters
xThe values of the argument must be greater or equal to zero.
Template Parameters
Tfloating point scalar types.
See also
GLSL round man page
GLM_GTC_integer
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00293.html ================================================ 0.9.9 API documentation: GLM_GTC_matrix_access
0.9.9 API documentation
GLM_GTC_matrix_access

Include <glm/gtc/matrix_access.hpp> to use the features of this extension. More...

Functions

template<typename genType >
GLM_FUNC_DECL genType::col_type column (genType const &m, length_t index)
 Get a specific column of a matrix. More...
 
template<typename genType >
GLM_FUNC_DECL genType column (genType const &m, length_t index, typename genType::col_type const &x)
 Set a specific column to a matrix. More...
 
template<typename genType >
GLM_FUNC_DECL genType::row_type row (genType const &m, length_t index)
 Get a specific row of a matrix. More...
 
template<typename genType >
GLM_FUNC_DECL genType row (genType const &m, length_t index, typename genType::row_type const &x)
 Set a specific row to a matrix. More...
 

Detailed Description

Include <glm/gtc/matrix_access.hpp> to use the features of this extension.

Defines functions to access rows or columns of a matrix easily.

Function Documentation

GLM_FUNC_DECL genType::col_type glm::column ( genType const &  m,
length_t  index 
)

Get a specific column of a matrix.

See also
GLM_GTC_matrix_access
GLM_FUNC_DECL genType glm::column ( genType const &  m,
length_t  index,
typename genType::col_type const &  x 
)

Set a specific column to a matrix.

See also
GLM_GTC_matrix_access
GLM_FUNC_DECL genType::row_type glm::row ( genType const &  m,
length_t  index 
)

Get a specific row of a matrix.

See also
GLM_GTC_matrix_access
GLM_FUNC_DECL genType glm::row ( genType const &  m,
length_t  index,
typename genType::row_type const &  x 
)

Set a specific row to a matrix.

See also
GLM_GTC_matrix_access
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00294.html ================================================ 0.9.9 API documentation: GLM_GTC_matrix_integer
0.9.9 API documentation
GLM_GTC_matrix_integer

Include <glm/gtc/matrix_integer.hpp> to use the features of this extension. More...

Typedefs

typedef mat< 2, 2, int, highp > highp_imat2
 High-qualifier signed integer 2x2 matrix. More...
 
typedef mat< 2, 2, int, highp > highp_imat2x2
 High-qualifier signed integer 2x2 matrix. More...
 
typedef mat< 2, 3, int, highp > highp_imat2x3
 High-qualifier signed integer 2x3 matrix. More...
 
typedef mat< 2, 4, int, highp > highp_imat2x4
 High-qualifier signed integer 2x4 matrix. More...
 
typedef mat< 3, 3, int, highp > highp_imat3
 High-qualifier signed integer 3x3 matrix. More...
 
typedef mat< 3, 2, int, highp > highp_imat3x2
 High-qualifier signed integer 3x2 matrix. More...
 
typedef mat< 3, 3, int, highp > highp_imat3x3
 High-qualifier signed integer 3x3 matrix. More...
 
typedef mat< 3, 4, int, highp > highp_imat3x4
 High-qualifier signed integer 3x4 matrix. More...
 
typedef mat< 4, 4, int, highp > highp_imat4
 High-qualifier signed integer 4x4 matrix. More...
 
typedef mat< 4, 2, int, highp > highp_imat4x2
 High-qualifier signed integer 4x2 matrix. More...
 
typedef mat< 4, 3, int, highp > highp_imat4x3
 High-qualifier signed integer 4x3 matrix. More...
 
typedef mat< 4, 4, int, highp > highp_imat4x4
 High-qualifier signed integer 4x4 matrix. More...
 
typedef mat< 2, 2, uint, highp > highp_umat2
 High-qualifier unsigned integer 2x2 matrix. More...
 
typedef mat< 2, 2, uint, highp > highp_umat2x2
 High-qualifier unsigned integer 2x2 matrix. More...
 
typedef mat< 2, 3, uint, highp > highp_umat2x3
 High-qualifier unsigned integer 2x3 matrix. More...
 
typedef mat< 2, 4, uint, highp > highp_umat2x4
 High-qualifier unsigned integer 2x4 matrix. More...
 
typedef mat< 3, 3, uint, highp > highp_umat3
 High-qualifier unsigned integer 3x3 matrix. More...
 
typedef mat< 3, 2, uint, highp > highp_umat3x2
 High-qualifier unsigned integer 3x2 matrix. More...
 
typedef mat< 3, 3, uint, highp > highp_umat3x3
 High-qualifier unsigned integer 3x3 matrix. More...
 
typedef mat< 3, 4, uint, highp > highp_umat3x4
 High-qualifier unsigned integer 3x4 matrix. More...
 
typedef mat< 4, 4, uint, highp > highp_umat4
 High-qualifier unsigned integer 4x4 matrix. More...
 
typedef mat< 4, 2, uint, highp > highp_umat4x2
 High-qualifier unsigned integer 4x2 matrix. More...
 
typedef mat< 4, 3, uint, highp > highp_umat4x3
 High-qualifier unsigned integer 4x3 matrix. More...
 
typedef mat< 4, 4, uint, highp > highp_umat4x4
 High-qualifier unsigned integer 4x4 matrix. More...
 
typedef mediump_imat2 imat2
 Signed integer 2x2 matrix. More...
 
typedef mediump_imat2x2 imat2x2
 Signed integer 2x2 matrix. More...
 
typedef mediump_imat2x3 imat2x3
 Signed integer 2x3 matrix. More...
 
typedef mediump_imat2x4 imat2x4
 Signed integer 2x4 matrix. More...
 
typedef mediump_imat3 imat3
 Signed integer 3x3 matrix. More...
 
typedef mediump_imat3x2 imat3x2
 Signed integer 3x2 matrix. More...
 
typedef mediump_imat3x3 imat3x3
 Signed integer 3x3 matrix. More...
 
typedef mediump_imat3x4 imat3x4
 Signed integer 3x4 matrix. More...
 
typedef mediump_imat4 imat4
 Signed integer 4x4 matrix. More...
 
typedef mediump_imat4x2 imat4x2
 Signed integer 4x2 matrix. More...
 
typedef mediump_imat4x3 imat4x3
 Signed integer 4x3 matrix. More...
 
typedef mediump_imat4x4 imat4x4
 Signed integer 4x4 matrix. More...
 
typedef mat< 2, 2, int, lowp > lowp_imat2
 Low-qualifier signed integer 2x2 matrix. More...
 
typedef mat< 2, 2, int, lowp > lowp_imat2x2
 Low-qualifier signed integer 2x2 matrix. More...
 
typedef mat< 2, 3, int, lowp > lowp_imat2x3
 Low-qualifier signed integer 2x3 matrix. More...
 
typedef mat< 2, 4, int, lowp > lowp_imat2x4
 Low-qualifier signed integer 2x4 matrix. More...
 
typedef mat< 3, 3, int, lowp > lowp_imat3
 Low-qualifier signed integer 3x3 matrix. More...
 
typedef mat< 3, 2, int, lowp > lowp_imat3x2
 Low-qualifier signed integer 3x2 matrix. More...
 
typedef mat< 3, 3, int, lowp > lowp_imat3x3
 Low-qualifier signed integer 3x3 matrix. More...
 
typedef mat< 3, 4, int, lowp > lowp_imat3x4
 Low-qualifier signed integer 3x4 matrix. More...
 
typedef mat< 4, 4, int, lowp > lowp_imat4
 Low-qualifier signed integer 4x4 matrix. More...
 
typedef mat< 4, 2, int, lowp > lowp_imat4x2
 Low-qualifier signed integer 4x2 matrix. More...
 
typedef mat< 4, 3, int, lowp > lowp_imat4x3
 Low-qualifier signed integer 4x3 matrix. More...
 
typedef mat< 4, 4, int, lowp > lowp_imat4x4
 Low-qualifier signed integer 4x4 matrix. More...
 
typedef mat< 2, 2, uint, lowp > lowp_umat2
 Low-qualifier unsigned integer 2x2 matrix. More...
 
typedef mat< 2, 2, uint, lowp > lowp_umat2x2
 Low-qualifier unsigned integer 2x2 matrix. More...
 
typedef mat< 2, 3, uint, lowp > lowp_umat2x3
 Low-qualifier unsigned integer 2x3 matrix. More...
 
typedef mat< 2, 4, uint, lowp > lowp_umat2x4
 Low-qualifier unsigned integer 2x4 matrix. More...
 
typedef mat< 3, 3, uint, lowp > lowp_umat3
 Low-qualifier unsigned integer 3x3 matrix. More...
 
typedef mat< 3, 2, uint, lowp > lowp_umat3x2
 Low-qualifier unsigned integer 3x2 matrix. More...
 
typedef mat< 3, 3, uint, lowp > lowp_umat3x3
 Low-qualifier unsigned integer 3x3 matrix. More...
 
typedef mat< 3, 4, uint, lowp > lowp_umat3x4
 Low-qualifier unsigned integer 3x4 matrix. More...
 
typedef mat< 4, 4, uint, lowp > lowp_umat4
 Low-qualifier unsigned integer 4x4 matrix. More...
 
typedef mat< 4, 2, uint, lowp > lowp_umat4x2
 Low-qualifier unsigned integer 4x2 matrix. More...
 
typedef mat< 4, 3, uint, lowp > lowp_umat4x3
 Low-qualifier unsigned integer 4x3 matrix. More...
 
typedef mat< 4, 4, uint, lowp > lowp_umat4x4
 Low-qualifier unsigned integer 4x4 matrix. More...
 
typedef mat< 2, 2, int, mediump > mediump_imat2
 Medium-qualifier signed integer 2x2 matrix. More...
 
typedef mat< 2, 2, int, mediump > mediump_imat2x2
 Medium-qualifier signed integer 2x2 matrix. More...
 
typedef mat< 2, 3, int, mediump > mediump_imat2x3
 Medium-qualifier signed integer 2x3 matrix. More...
 
typedef mat< 2, 4, int, mediump > mediump_imat2x4
 Medium-qualifier signed integer 2x4 matrix. More...
 
typedef mat< 3, 3, int, mediump > mediump_imat3
 Medium-qualifier signed integer 3x3 matrix. More...
 
typedef mat< 3, 2, int, mediump > mediump_imat3x2
 Medium-qualifier signed integer 3x2 matrix. More...
 
typedef mat< 3, 3, int, mediump > mediump_imat3x3
 Medium-qualifier signed integer 3x3 matrix. More...
 
typedef mat< 3, 4, int, mediump > mediump_imat3x4
 Medium-qualifier signed integer 3x4 matrix. More...
 
typedef mat< 4, 4, int, mediump > mediump_imat4
 Medium-qualifier signed integer 4x4 matrix. More...
 
typedef mat< 4, 2, int, mediump > mediump_imat4x2
 Medium-qualifier signed integer 4x2 matrix. More...
 
typedef mat< 4, 3, int, mediump > mediump_imat4x3
 Medium-qualifier signed integer 4x3 matrix. More...
 
typedef mat< 4, 4, int, mediump > mediump_imat4x4
 Medium-qualifier signed integer 4x4 matrix. More...
 
typedef mat< 2, 2, uint, mediump > mediump_umat2
 Medium-qualifier unsigned integer 2x2 matrix. More...
 
typedef mat< 2, 2, uint, mediump > mediump_umat2x2
 Medium-qualifier unsigned integer 2x2 matrix. More...
 
typedef mat< 2, 3, uint, mediump > mediump_umat2x3
 Medium-qualifier unsigned integer 2x3 matrix. More...
 
typedef mat< 2, 4, uint, mediump > mediump_umat2x4
 Medium-qualifier unsigned integer 2x4 matrix. More...
 
typedef mat< 3, 3, uint, mediump > mediump_umat3
 Medium-qualifier unsigned integer 3x3 matrix. More...
 
typedef mat< 3, 2, uint, mediump > mediump_umat3x2
 Medium-qualifier unsigned integer 3x2 matrix. More...
 
typedef mat< 3, 3, uint, mediump > mediump_umat3x3
 Medium-qualifier unsigned integer 3x3 matrix. More...
 
typedef mat< 3, 4, uint, mediump > mediump_umat3x4
 Medium-qualifier unsigned integer 3x4 matrix. More...
 
typedef mat< 4, 4, uint, mediump > mediump_umat4
 Medium-qualifier unsigned integer 4x4 matrix. More...
 
typedef mat< 4, 2, uint, mediump > mediump_umat4x2
 Medium-qualifier unsigned integer 4x2 matrix. More...
 
typedef mat< 4, 3, uint, mediump > mediump_umat4x3
 Medium-qualifier unsigned integer 4x3 matrix. More...
 
typedef mat< 4, 4, uint, mediump > mediump_umat4x4
 Medium-qualifier unsigned integer 4x4 matrix. More...
 
typedef mediump_umat2 umat2
 Unsigned integer 2x2 matrix. More...
 
typedef mediump_umat2x2 umat2x2
 Unsigned integer 2x2 matrix. More...
 
typedef mediump_umat2x3 umat2x3
 Unsigned integer 2x3 matrix. More...
 
typedef mediump_umat2x4 umat2x4
 Unsigned integer 2x4 matrix. More...
 
typedef mediump_umat3 umat3
 Unsigned integer 3x3 matrix. More...
 
typedef mediump_umat3x2 umat3x2
 Unsigned integer 3x2 matrix. More...
 
typedef mediump_umat3x3 umat3x3
 Unsigned integer 3x3 matrix. More...
 
typedef mediump_umat3x4 umat3x4
 Unsigned integer 3x4 matrix. More...
 
typedef mediump_umat4 umat4
 Unsigned integer 4x4 matrix. More...
 
typedef mediump_umat4x2 umat4x2
 Unsigned integer 4x2 matrix. More...
 
typedef mediump_umat4x3 umat4x3
 Unsigned integer 4x3 matrix. More...
 
typedef mediump_umat4x4 umat4x4
 Unsigned integer 4x4 matrix. More...
 

Detailed Description

Include <glm/gtc/matrix_integer.hpp> to use the features of this extension.

Defines a number of matrices with integer types.

Typedef Documentation

typedef mat<2, 2, int, highp> highp_imat2

High-qualifier signed integer 2x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 37 of file matrix_integer.hpp.

typedef mat<2, 2, int, highp> highp_imat2x2

High-qualifier signed integer 2x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 49 of file matrix_integer.hpp.

typedef mat<2, 3, int, highp> highp_imat2x3

High-qualifier signed integer 2x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 53 of file matrix_integer.hpp.

typedef mat<2, 4, int, highp> highp_imat2x4

High-qualifier signed integer 2x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 57 of file matrix_integer.hpp.

typedef mat<3, 3, int, highp> highp_imat3

High-qualifier signed integer 3x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 41 of file matrix_integer.hpp.

typedef mat<3, 2, int, highp> highp_imat3x2

High-qualifier signed integer 3x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 61 of file matrix_integer.hpp.

typedef mat<3, 3, int, highp> highp_imat3x3

High-qualifier signed integer 3x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 65 of file matrix_integer.hpp.

typedef mat<3, 4, int, highp> highp_imat3x4

High-qualifier signed integer 3x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 69 of file matrix_integer.hpp.

typedef mat<4, 4, int, highp> highp_imat4

High-qualifier signed integer 4x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 45 of file matrix_integer.hpp.

typedef mat<4, 2, int, highp> highp_imat4x2

High-qualifier signed integer 4x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 73 of file matrix_integer.hpp.

typedef mat<4, 3, int, highp> highp_imat4x3

High-qualifier signed integer 4x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 77 of file matrix_integer.hpp.

typedef mat<4, 4, int, highp> highp_imat4x4

High-qualifier signed integer 4x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 81 of file matrix_integer.hpp.

typedef mat<2, 2, uint, highp> highp_umat2

High-qualifier unsigned integer 2x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 186 of file matrix_integer.hpp.

typedef mat<2, 2, uint, highp> highp_umat2x2

High-qualifier unsigned integer 2x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 198 of file matrix_integer.hpp.

typedef mat<2, 3, uint, highp> highp_umat2x3

High-qualifier unsigned integer 2x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 202 of file matrix_integer.hpp.

typedef mat<2, 4, uint, highp> highp_umat2x4

High-qualifier unsigned integer 2x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 206 of file matrix_integer.hpp.

typedef mat<3, 3, uint, highp> highp_umat3

High-qualifier unsigned integer 3x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 190 of file matrix_integer.hpp.

typedef mat<3, 2, uint, highp> highp_umat3x2

High-qualifier unsigned integer 3x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 210 of file matrix_integer.hpp.

typedef mat<3, 3, uint, highp> highp_umat3x3

High-qualifier unsigned integer 3x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 214 of file matrix_integer.hpp.

typedef mat<3, 4, uint, highp> highp_umat3x4

High-qualifier unsigned integer 3x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 218 of file matrix_integer.hpp.

typedef mat<4, 4, uint, highp> highp_umat4

High-qualifier unsigned integer 4x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 194 of file matrix_integer.hpp.

typedef mat<4, 2, uint, highp> highp_umat4x2

High-qualifier unsigned integer 4x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 222 of file matrix_integer.hpp.

typedef mat<4, 3, uint, highp> highp_umat4x3

High-qualifier unsigned integer 4x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 226 of file matrix_integer.hpp.

typedef mat<4, 4, uint, highp> highp_umat4x4

High-qualifier unsigned integer 4x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 230 of file matrix_integer.hpp.

typedef mediump_imat2 imat2

Signed integer 2x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 362 of file matrix_integer.hpp.

typedef mediump_imat2x2 imat2x2

Signed integer 2x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 374 of file matrix_integer.hpp.

typedef mediump_imat2x3 imat2x3

Signed integer 2x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 378 of file matrix_integer.hpp.

typedef mediump_imat2x4 imat2x4

Signed integer 2x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 382 of file matrix_integer.hpp.

typedef mediump_imat3 imat3

Signed integer 3x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 366 of file matrix_integer.hpp.

typedef mediump_imat3x2 imat3x2

Signed integer 3x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 386 of file matrix_integer.hpp.

typedef mediump_imat3x3 imat3x3

Signed integer 3x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 390 of file matrix_integer.hpp.

typedef mediump_imat3x4 imat3x4

Signed integer 3x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 394 of file matrix_integer.hpp.

typedef mediump_imat4 imat4

Signed integer 4x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 370 of file matrix_integer.hpp.

typedef mediump_imat4x2 imat4x2

Signed integer 4x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 398 of file matrix_integer.hpp.

typedef mediump_imat4x3 imat4x3

Signed integer 4x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 402 of file matrix_integer.hpp.

typedef mediump_imat4x4 imat4x4

Signed integer 4x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 406 of file matrix_integer.hpp.

typedef mat<2, 2, int, lowp> lowp_imat2

Low-qualifier signed integer 2x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 136 of file matrix_integer.hpp.

typedef mat<2, 2, int, lowp> lowp_imat2x2

Low-qualifier signed integer 2x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 149 of file matrix_integer.hpp.

typedef mat<2, 3, int, lowp> lowp_imat2x3

Low-qualifier signed integer 2x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 153 of file matrix_integer.hpp.

typedef mat<2, 4, int, lowp> lowp_imat2x4

Low-qualifier signed integer 2x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 157 of file matrix_integer.hpp.

typedef mat<3, 3, int, lowp> lowp_imat3

Low-qualifier signed integer 3x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 140 of file matrix_integer.hpp.

typedef mat<3, 2, int, lowp> lowp_imat3x2

Low-qualifier signed integer 3x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 161 of file matrix_integer.hpp.

typedef mat<3, 3, int, lowp> lowp_imat3x3

Low-qualifier signed integer 3x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 165 of file matrix_integer.hpp.

typedef mat<3, 4, int, lowp> lowp_imat3x4

Low-qualifier signed integer 3x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 169 of file matrix_integer.hpp.

typedef mat<4, 4, int, lowp> lowp_imat4

Low-qualifier signed integer 4x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 144 of file matrix_integer.hpp.

typedef mat<4, 2, int, lowp> lowp_imat4x2

Low-qualifier signed integer 4x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 173 of file matrix_integer.hpp.

typedef mat<4, 3, int, lowp> lowp_imat4x3

Low-qualifier signed integer 4x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 177 of file matrix_integer.hpp.

typedef mat<4, 4, int, lowp> lowp_imat4x4

Low-qualifier signed integer 4x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 181 of file matrix_integer.hpp.

typedef mat<2, 2, uint, lowp> lowp_umat2

Low-qualifier unsigned integer 2x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 285 of file matrix_integer.hpp.

typedef mat<2, 2, uint, lowp> lowp_umat2x2

Low-qualifier unsigned integer 2x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 298 of file matrix_integer.hpp.

typedef mat<2, 3, uint, lowp> lowp_umat2x3

Low-qualifier unsigned integer 2x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 302 of file matrix_integer.hpp.

typedef mat<2, 4, uint, lowp> lowp_umat2x4

Low-qualifier unsigned integer 2x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 306 of file matrix_integer.hpp.

typedef mat<3, 3, uint, lowp> lowp_umat3

Low-qualifier unsigned integer 3x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 289 of file matrix_integer.hpp.

typedef mat<3, 2, uint, lowp> lowp_umat3x2

Low-qualifier unsigned integer 3x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 310 of file matrix_integer.hpp.

typedef mat<3, 3, uint, lowp> lowp_umat3x3

Low-qualifier unsigned integer 3x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 314 of file matrix_integer.hpp.

typedef mat<3, 4, uint, lowp> lowp_umat3x4

Low-qualifier unsigned integer 3x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 318 of file matrix_integer.hpp.

typedef mat<4, 4, uint, lowp> lowp_umat4

Low-qualifier unsigned integer 4x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 293 of file matrix_integer.hpp.

typedef mat<4, 2, uint, lowp> lowp_umat4x2

Low-qualifier unsigned integer 4x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 322 of file matrix_integer.hpp.

typedef mat<4, 3, uint, lowp> lowp_umat4x3

Low-qualifier unsigned integer 4x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 326 of file matrix_integer.hpp.

typedef mat<4, 4, uint, lowp> lowp_umat4x4

Low-qualifier unsigned integer 4x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 330 of file matrix_integer.hpp.

typedef mat<2, 2, int, mediump> mediump_imat2

Medium-qualifier signed integer 2x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 86 of file matrix_integer.hpp.

typedef mat<2, 2, int, mediump> mediump_imat2x2

Medium-qualifier signed integer 2x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 99 of file matrix_integer.hpp.

typedef mat<2, 3, int, mediump> mediump_imat2x3

Medium-qualifier signed integer 2x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 103 of file matrix_integer.hpp.

typedef mat<2, 4, int, mediump> mediump_imat2x4

Medium-qualifier signed integer 2x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 107 of file matrix_integer.hpp.

typedef mat<3, 3, int, mediump> mediump_imat3

Medium-qualifier signed integer 3x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 90 of file matrix_integer.hpp.

typedef mat<3, 2, int, mediump> mediump_imat3x2

Medium-qualifier signed integer 3x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 111 of file matrix_integer.hpp.

typedef mat<3, 3, int, mediump> mediump_imat3x3

Medium-qualifier signed integer 3x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 115 of file matrix_integer.hpp.

typedef mat<3, 4, int, mediump> mediump_imat3x4

Medium-qualifier signed integer 3x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 119 of file matrix_integer.hpp.

typedef mat<4, 4, int, mediump> mediump_imat4

Medium-qualifier signed integer 4x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 94 of file matrix_integer.hpp.

typedef mat<4, 2, int, mediump> mediump_imat4x2

Medium-qualifier signed integer 4x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 123 of file matrix_integer.hpp.

typedef mat<4, 3, int, mediump> mediump_imat4x3

Medium-qualifier signed integer 4x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 127 of file matrix_integer.hpp.

typedef mat<4, 4, int, mediump> mediump_imat4x4

Medium-qualifier signed integer 4x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 131 of file matrix_integer.hpp.

typedef mat<2, 2, uint, mediump> mediump_umat2

Medium-qualifier unsigned integer 2x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 235 of file matrix_integer.hpp.

typedef mat<2, 2, uint, mediump> mediump_umat2x2

Medium-qualifier unsigned integer 2x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 248 of file matrix_integer.hpp.

typedef mat<2, 3, uint, mediump> mediump_umat2x3

Medium-qualifier unsigned integer 2x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 252 of file matrix_integer.hpp.

typedef mat<2, 4, uint, mediump> mediump_umat2x4

Medium-qualifier unsigned integer 2x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 256 of file matrix_integer.hpp.

typedef mat<3, 3, uint, mediump> mediump_umat3

Medium-qualifier unsigned integer 3x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 239 of file matrix_integer.hpp.

typedef mat<3, 2, uint, mediump> mediump_umat3x2

Medium-qualifier unsigned integer 3x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 260 of file matrix_integer.hpp.

typedef mat<3, 3, uint, mediump> mediump_umat3x3

Medium-qualifier unsigned integer 3x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 264 of file matrix_integer.hpp.

typedef mat<3, 4, uint, mediump> mediump_umat3x4

Medium-qualifier unsigned integer 3x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 268 of file matrix_integer.hpp.

typedef mat<4, 4, uint, mediump> mediump_umat4

Medium-qualifier unsigned integer 4x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 243 of file matrix_integer.hpp.

typedef mat<4, 2, uint, mediump> mediump_umat4x2

Medium-qualifier unsigned integer 4x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 272 of file matrix_integer.hpp.

typedef mat<4, 3, uint, mediump> mediump_umat4x3

Medium-qualifier unsigned integer 4x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 276 of file matrix_integer.hpp.

typedef mat<4, 4, uint, mediump> mediump_umat4x4

Medium-qualifier unsigned integer 4x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 280 of file matrix_integer.hpp.

typedef mediump_umat2 umat2

Unsigned integer 2x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 439 of file matrix_integer.hpp.

typedef mediump_umat2x2 umat2x2

Unsigned integer 2x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 451 of file matrix_integer.hpp.

typedef mediump_umat2x3 umat2x3

Unsigned integer 2x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 455 of file matrix_integer.hpp.

typedef mediump_umat2x4 umat2x4

Unsigned integer 2x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 459 of file matrix_integer.hpp.

typedef mediump_umat3 umat3

Unsigned integer 3x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 443 of file matrix_integer.hpp.

typedef mediump_umat3x2 umat3x2

Unsigned integer 3x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 463 of file matrix_integer.hpp.

typedef mediump_umat3x3 umat3x3

Unsigned integer 3x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 467 of file matrix_integer.hpp.

typedef mediump_umat3x4 umat3x4

Unsigned integer 3x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 471 of file matrix_integer.hpp.

typedef mediump_umat4 umat4

Unsigned integer 4x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 447 of file matrix_integer.hpp.

typedef mediump_umat4x2 umat4x2

Unsigned integer 4x2 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 475 of file matrix_integer.hpp.

typedef mediump_umat4x3 umat4x3

Unsigned integer 4x3 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 479 of file matrix_integer.hpp.

typedef mediump_umat4x4 umat4x4

Unsigned integer 4x4 matrix.

See also
GLM_GTC_matrix_integer

Definition at line 483 of file matrix_integer.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00295.html ================================================ 0.9.9 API documentation: GLM_GTC_matrix_inverse
0.9.9 API documentation
GLM_GTC_matrix_inverse

Include <glm/gtc/matrix_integer.hpp> to use the features of this extension. More...

Functions

template<typename genType >
GLM_FUNC_DECL genType affineInverse (genType const &m)
 Fast matrix inverse for affine matrix. More...
 
template<typename genType >
GLM_FUNC_DECL genType inverseTranspose (genType const &m)
 Compute the inverse transpose of a matrix. More...
 

Detailed Description

Include <glm/gtc/matrix_integer.hpp> to use the features of this extension.

Defines additional matrix inverting functions.

Function Documentation

GLM_FUNC_DECL genType glm::affineInverse ( genType const &  m)

Fast matrix inverse for affine matrix.

Parameters
mInput matrix to invert.
Template Parameters
genTypeSquared floating-point matrix: half, float or double. Inverse of matrix based of half-qualifier floating point value is highly innacurate.
See also
GLM_GTC_matrix_inverse
GLM_FUNC_DECL genType glm::inverseTranspose ( genType const &  m)

Compute the inverse transpose of a matrix.

Parameters
mInput matrix to invert transpose.
Template Parameters
genTypeSquared floating-point matrix: half, float or double. Inverse of matrix based of half-qualifier floating point value is highly innacurate.
See also
GLM_GTC_matrix_inverse
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00296.html ================================================ 0.9.9 API documentation: GLM_GTC_matrix_transform
0.9.9 API documentation
GLM_GTC_matrix_transform

Include <glm/gtc/matrix_transform.hpp> to use the features of this extension. More...

Include <glm/gtc/matrix_transform.hpp> to use the features of this extension.

Defines functions that generate common transformation matrices.

The matrices generated by this extension use standard OpenGL fixed-function conventions. For example, the lookAt function generates a transform from world space into the specific eye space that the projective matrix functions (perspective, ortho, etc) are designed to expect. The OpenGL compatibility specifications defines the particular layout of this eye space.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00297.html ================================================ 0.9.9 API documentation: GLM_GTC_noise
0.9.9 API documentation

Include <glm/gtc/noise.hpp> to use the features of this extension. More...

Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T perlin (vec< L, T, Q > const &p)
 Classic perlin noise. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T perlin (vec< L, T, Q > const &p, vec< L, T, Q > const &rep)
 Periodic perlin noise. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T simplex (vec< L, T, Q > const &p)
 Simplex noise. More...
 

Detailed Description

Include <glm/gtc/noise.hpp> to use the features of this extension.

Defines 2D, 3D and 4D procedural noise functions Based on the work of Stefan Gustavson and Ashima Arts on "webgl-noise": https://github.com/ashima/webgl-noise Following Stefan Gustavson's paper "Simplex noise demystified": http://www.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf

Function Documentation

GLM_FUNC_DECL T glm::perlin ( vec< L, T, Q > const &  p)

Classic perlin noise.

See also
GLM_GTC_noise
GLM_FUNC_DECL T glm::perlin ( vec< L, T, Q > const &  p,
vec< L, T, Q > const &  rep 
)

Periodic perlin noise.

See also
GLM_GTC_noise
GLM_FUNC_DECL T glm::simplex ( vec< L, T, Q > const &  p)

Simplex noise.

See also
GLM_GTC_noise
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00298.html ================================================ 0.9.9 API documentation: GLM_GTC_packing
0.9.9 API documentation

Include <glm/gtc/packing.hpp> to use the features of this extension. More...

Functions

GLM_FUNC_DECL uint32 packF2x11_1x10 (vec3 const &v)
 First, converts the first two components of the normalized floating-point value v into 11-bit signless floating-point values. More...
 
GLM_FUNC_DECL uint32 packF3x9_E1x5 (vec3 const &v)
 First, converts the first two components of the normalized floating-point value v into 11-bit signless floating-point values. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, uint16, Q > packHalf (vec< L, float, Q > const &v)
 Returns an unsigned integer vector obtained by converting the components of a floating-point vector to the 16-bit floating-point representation found in the OpenGL Specification. More...
 
GLM_FUNC_DECL uint16 packHalf1x16 (float v)
 Returns an unsigned integer obtained by converting the components of a floating-point scalar to the 16-bit floating-point representation found in the OpenGL Specification, and then packing this 16-bit value into a 16-bit unsigned integer. More...
 
GLM_FUNC_DECL uint64 packHalf4x16 (vec4 const &v)
 Returns an unsigned integer obtained by converting the components of a four-component floating-point vector to the 16-bit floating-point representation found in the OpenGL Specification, and then packing these four 16-bit values into a 64-bit unsigned integer. More...
 
GLM_FUNC_DECL uint32 packI3x10_1x2 (ivec4 const &v)
 Returns an unsigned integer obtained by converting the components of a four-component signed integer vector to the 10-10-10-2-bit signed integer representation found in the OpenGL Specification, and then packing these four values into a 32-bit unsigned integer. More...
 
GLM_FUNC_DECL int packInt2x16 (i16vec2 const &v)
 Convert each component from an integer vector into a packed integer. More...
 
GLM_FUNC_DECL int64 packInt2x32 (i32vec2 const &v)
 Convert each component from an integer vector into a packed integer. More...
 
GLM_FUNC_DECL int16 packInt2x8 (i8vec2 const &v)
 Convert each component from an integer vector into a packed integer. More...
 
GLM_FUNC_DECL int64 packInt4x16 (i16vec4 const &v)
 Convert each component from an integer vector into a packed integer. More...
 
GLM_FUNC_DECL int32 packInt4x8 (i8vec4 const &v)
 Convert each component from an integer vector into a packed integer. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > packRGBM (vec< 3, T, Q > const &rgb)
 Returns an unsigned integer vector obtained by converting the components of a floating-point vector to the 16-bit floating-point representation found in the OpenGL Specification. More...
 
template<typename intType , length_t L, typename floatType , qualifier Q>
GLM_FUNC_DECL vec< L, intType, Q > packSnorm (vec< L, floatType, Q > const &v)
 Convert each component of the normalized floating-point vector into signed integer values. More...
 
GLM_FUNC_DECL uint16 packSnorm1x16 (float v)
 First, converts the normalized floating-point value v into 16-bit integer value. More...
 
GLM_FUNC_DECL uint8 packSnorm1x8 (float s)
 First, converts the normalized floating-point value v into 8-bit integer value. More...
 
GLM_FUNC_DECL uint16 packSnorm2x8 (vec2 const &v)
 First, converts each component of the normalized floating-point value v into 8-bit integer values. More...
 
GLM_FUNC_DECL uint32 packSnorm3x10_1x2 (vec4 const &v)
 First, converts the first three components of the normalized floating-point value v into 10-bit signed integer values. More...
 
GLM_FUNC_DECL uint64 packSnorm4x16 (vec4 const &v)
 First, converts each component of the normalized floating-point value v into 16-bit integer values. More...
 
GLM_FUNC_DECL uint32 packU3x10_1x2 (uvec4 const &v)
 Returns an unsigned integer obtained by converting the components of a four-component unsigned integer vector to the 10-10-10-2-bit unsigned integer representation found in the OpenGL Specification, and then packing these four values into a 32-bit unsigned integer. More...
 
GLM_FUNC_DECL uint packUint2x16 (u16vec2 const &v)
 Convert each component from an integer vector into a packed unsigned integer. More...
 
GLM_FUNC_DECL uint64 packUint2x32 (u32vec2 const &v)
 Convert each component from an integer vector into a packed unsigned integer. More...
 
GLM_FUNC_DECL uint16 packUint2x8 (u8vec2 const &v)
 Convert each component from an integer vector into a packed unsigned integer. More...
 
GLM_FUNC_DECL uint64 packUint4x16 (u16vec4 const &v)
 Convert each component from an integer vector into a packed unsigned integer. More...
 
GLM_FUNC_DECL uint32 packUint4x8 (u8vec4 const &v)
 Convert each component from an integer vector into a packed unsigned integer. More...
 
template<typename uintType , length_t L, typename floatType , qualifier Q>
GLM_FUNC_DECL vec< L, uintType, Q > packUnorm (vec< L, floatType, Q > const &v)
 Convert each component of the normalized floating-point vector into unsigned integer values. More...
 
GLM_FUNC_DECL uint16 packUnorm1x16 (float v)
 First, converts the normalized floating-point value v into a 16-bit integer value. More...
 
GLM_FUNC_DECL uint16 packUnorm1x5_1x6_1x5 (vec3 const &v)
 Convert each component of the normalized floating-point vector into unsigned integer values. More...
 
GLM_FUNC_DECL uint8 packUnorm1x8 (float v)
 First, converts the normalized floating-point value v into a 8-bit integer value. More...
 
GLM_FUNC_DECL uint8 packUnorm2x3_1x2 (vec3 const &v)
 Convert each component of the normalized floating-point vector into unsigned integer values. More...
 
GLM_FUNC_DECL uint8 packUnorm2x4 (vec2 const &v)
 Convert each component of the normalized floating-point vector into unsigned integer values. More...
 
GLM_FUNC_DECL uint16 packUnorm2x8 (vec2 const &v)
 First, converts each component of the normalized floating-point value v into 8-bit integer values. More...
 
GLM_FUNC_DECL uint32 packUnorm3x10_1x2 (vec4 const &v)
 First, converts the first three components of the normalized floating-point value v into 10-bit unsigned integer values. More...
 
GLM_FUNC_DECL uint16 packUnorm3x5_1x1 (vec4 const &v)
 Convert each component of the normalized floating-point vector into unsigned integer values. More...
 
GLM_FUNC_DECL uint64 packUnorm4x16 (vec4 const &v)
 First, converts each component of the normalized floating-point value v into 16-bit integer values. More...
 
GLM_FUNC_DECL uint16 packUnorm4x4 (vec4 const &v)
 Convert each component of the normalized floating-point vector into unsigned integer values. More...
 
GLM_FUNC_DECL vec3 unpackF2x11_1x10 (uint32 p)
 First, unpacks a single 32-bit unsigned integer p into two 11-bit signless floating-point values and one 10-bit signless floating-point value . More...
 
GLM_FUNC_DECL vec3 unpackF3x9_E1x5 (uint32 p)
 First, unpacks a single 32-bit unsigned integer p into two 11-bit signless floating-point values and one 10-bit signless floating-point value . More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, float, Q > unpackHalf (vec< L, uint16, Q > const &p)
 Returns a floating-point vector with components obtained by reinterpreting an integer vector as 16-bit floating-point numbers and converting them to 32-bit floating-point values. More...
 
GLM_FUNC_DECL float unpackHalf1x16 (uint16 v)
 Returns a floating-point scalar with components obtained by unpacking a 16-bit unsigned integer into a 16-bit value, interpreted as a 16-bit floating-point number according to the OpenGL Specification, and converting it to 32-bit floating-point values. More...
 
GLM_FUNC_DECL vec4 unpackHalf4x16 (uint64 p)
 Returns a four-component floating-point vector with components obtained by unpacking a 64-bit unsigned integer into four 16-bit values, interpreting those values as 16-bit floating-point numbers according to the OpenGL Specification, and converting them to 32-bit floating-point values. More...
 
GLM_FUNC_DECL ivec4 unpackI3x10_1x2 (uint32 p)
 Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-bit signed integers. More...
 
GLM_FUNC_DECL i16vec2 unpackInt2x16 (int p)
 Convert a packed integer into an integer vector. More...
 
GLM_FUNC_DECL i32vec2 unpackInt2x32 (int64 p)
 Convert a packed integer into an integer vector. More...
 
GLM_FUNC_DECL i8vec2 unpackInt2x8 (int16 p)
 Convert a packed integer into an integer vector. More...
 
GLM_FUNC_DECL i16vec4 unpackInt4x16 (int64 p)
 Convert a packed integer into an integer vector. More...
 
GLM_FUNC_DECL i8vec4 unpackInt4x8 (int32 p)
 Convert a packed integer into an integer vector. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > unpackRGBM (vec< 4, T, Q > const &rgbm)
 Returns a floating-point vector with components obtained by reinterpreting an integer vector as 16-bit floating-point numbers and converting them to 32-bit floating-point values. More...
 
template<typename floatType , length_t L, typename intType , qualifier Q>
GLM_FUNC_DECL vec< L, floatType, Q > unpackSnorm (vec< L, intType, Q > const &v)
 Convert a packed integer to a normalized floating-point vector. More...
 
GLM_FUNC_DECL float unpackSnorm1x16 (uint16 p)
 First, unpacks a single 16-bit unsigned integer p into a single 16-bit signed integers. More...
 
GLM_FUNC_DECL float unpackSnorm1x8 (uint8 p)
 First, unpacks a single 8-bit unsigned integer p into a single 8-bit signed integers. More...
 
GLM_FUNC_DECL vec2 unpackSnorm2x8 (uint16 p)
 First, unpacks a single 16-bit unsigned integer p into a pair of 8-bit signed integers. More...
 
GLM_FUNC_DECL vec4 unpackSnorm3x10_1x2 (uint32 p)
 First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers. More...
 
GLM_FUNC_DECL vec4 unpackSnorm4x16 (uint64 p)
 First, unpacks a single 64-bit unsigned integer p into four 16-bit signed integers. More...
 
GLM_FUNC_DECL uvec4 unpackU3x10_1x2 (uint32 p)
 Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-bit unsigned integers. More...
 
GLM_FUNC_DECL u16vec2 unpackUint2x16 (uint p)
 Convert a packed integer into an integer vector. More...
 
GLM_FUNC_DECL u32vec2 unpackUint2x32 (uint64 p)
 Convert a packed integer into an integer vector. More...
 
GLM_FUNC_DECL u8vec2 unpackUint2x8 (uint16 p)
 Convert a packed integer into an integer vector. More...
 
GLM_FUNC_DECL u16vec4 unpackUint4x16 (uint64 p)
 Convert a packed integer into an integer vector. More...
 
GLM_FUNC_DECL u8vec4 unpackUint4x8 (uint32 p)
 Convert a packed integer into an integer vector. More...
 
template<typename floatType , length_t L, typename uintType , qualifier Q>
GLM_FUNC_DECL vec< L, floatType, Q > unpackUnorm (vec< L, uintType, Q > const &v)
 Convert a packed integer to a normalized floating-point vector. More...
 
GLM_FUNC_DECL float unpackUnorm1x16 (uint16 p)
 First, unpacks a single 16-bit unsigned integer p into a of 16-bit unsigned integers. More...
 
GLM_FUNC_DECL vec3 unpackUnorm1x5_1x6_1x5 (uint16 p)
 Convert a packed integer to a normalized floating-point vector. More...
 
GLM_FUNC_DECL float unpackUnorm1x8 (uint8 p)
 Convert a single 8-bit integer to a normalized floating-point value. More...
 
GLM_FUNC_DECL vec3 unpackUnorm2x3_1x2 (uint8 p)
 Convert a packed integer to a normalized floating-point vector. More...
 
GLM_FUNC_DECL vec2 unpackUnorm2x4 (uint8 p)
 Convert a packed integer to a normalized floating-point vector. More...
 
GLM_FUNC_DECL vec2 unpackUnorm2x8 (uint16 p)
 First, unpacks a single 16-bit unsigned integer p into a pair of 8-bit unsigned integers. More...
 
GLM_FUNC_DECL vec4 unpackUnorm3x10_1x2 (uint32 p)
 First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers. More...
 
GLM_FUNC_DECL vec4 unpackUnorm3x5_1x1 (uint16 p)
 Convert a packed integer to a normalized floating-point vector. More...
 
GLM_FUNC_DECL vec4 unpackUnorm4x16 (uint64 p)
 First, unpacks a single 64-bit unsigned integer p into four 16-bit unsigned integers. More...
 
GLM_FUNC_DECL vec4 unpackUnorm4x4 (uint16 p)
 Convert a packed integer to a normalized floating-point vector. More...
 

Detailed Description

Include <glm/gtc/packing.hpp> to use the features of this extension.

This extension provides a set of function to convert vertors to packed formats.

Function Documentation

GLM_FUNC_DECL uint32 glm::packF2x11_1x10 ( vec3 const &  v)

First, converts the first two components of the normalized floating-point value v into 11-bit signless floating-point values.

Then, converts the third component of the normalized floating-point value v into a 10-bit signless floating-point value. Then, the results are packed into the returned 32-bit unsigned integer.

The first vector component specifies the 11 least-significant bits of the result; the last component specifies the 10 most-significant bits.

See also
GLM_GTC_packing
vec3 unpackF2x11_1x10(uint32 const& p)
GLM_FUNC_DECL uint32 glm::packF3x9_E1x5 ( vec3 const &  v)

First, converts the first two components of the normalized floating-point value v into 11-bit signless floating-point values.

Then, converts the third component of the normalized floating-point value v into a 10-bit signless floating-point value. Then, the results are packed into the returned 32-bit unsigned integer.

The first vector component specifies the 11 least-significant bits of the result; the last component specifies the 10 most-significant bits.

packF3x9_E1x5 allows encoding into RGBE / RGB9E5 format

See also
GLM_GTC_packing
vec3 unpackF3x9_E1x5(uint32 const& p)
GLM_FUNC_DECL vec<L, uint16, Q> glm::packHalf ( vec< L, float, Q > const &  v)

Returns an unsigned integer vector obtained by converting the components of a floating-point vector to the 16-bit floating-point representation found in the OpenGL Specification.

The first vector component specifies the 16 least-significant bits of the result; the forth component specifies the 16 most-significant bits.

See also
GLM_GTC_packing
vec<L, float, Q> unpackHalf(vec<L, uint16, Q> const& p)
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL uint16 glm::packHalf1x16 ( float  v)

Returns an unsigned integer obtained by converting the components of a floating-point scalar to the 16-bit floating-point representation found in the OpenGL Specification, and then packing this 16-bit value into a 16-bit unsigned integer.

See also
GLM_GTC_packing
uint32 packHalf2x16(vec2 const& v)
uint64 packHalf4x16(vec4 const& v)
GLSL packHalf2x16 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL uint64 glm::packHalf4x16 ( vec4 const &  v)

Returns an unsigned integer obtained by converting the components of a four-component floating-point vector to the 16-bit floating-point representation found in the OpenGL Specification, and then packing these four 16-bit values into a 64-bit unsigned integer.

The first vector component specifies the 16 least-significant bits of the result; the forth component specifies the 16 most-significant bits.

See also
GLM_GTC_packing
uint16 packHalf1x16(float const& v)
uint32 packHalf2x16(vec2 const& v)
GLSL packHalf2x16 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL uint32 glm::packI3x10_1x2 ( ivec4 const &  v)

Returns an unsigned integer obtained by converting the components of a four-component signed integer vector to the 10-10-10-2-bit signed integer representation found in the OpenGL Specification, and then packing these four values into a 32-bit unsigned integer.

The first vector component specifies the 10 least-significant bits of the result; the forth component specifies the 2 most-significant bits.

See also
GLM_GTC_packing
uint32 packI3x10_1x2(uvec4 const& v)
uint32 packSnorm3x10_1x2(vec4 const& v)
uint32 packUnorm3x10_1x2(vec4 const& v)
ivec4 unpackI3x10_1x2(uint32 const& p)
GLM_FUNC_DECL int glm::packInt2x16 ( i16vec2 const &  v)

Convert each component from an integer vector into a packed integer.

See also
GLM_GTC_packing
i16vec2 unpackInt2x16(int p)
GLM_FUNC_DECL int64 glm::packInt2x32 ( i32vec2 const &  v)

Convert each component from an integer vector into a packed integer.

See also
GLM_GTC_packing
i32vec2 unpackInt2x32(int p)
GLM_FUNC_DECL int16 glm::packInt2x8 ( i8vec2 const &  v)

Convert each component from an integer vector into a packed integer.

See also
GLM_GTC_packing
i8vec2 unpackInt2x8(int16 p)
GLM_FUNC_DECL int64 glm::packInt4x16 ( i16vec4 const &  v)

Convert each component from an integer vector into a packed integer.

See also
GLM_GTC_packing
i16vec4 unpackInt4x16(int64 p)
GLM_FUNC_DECL int32 glm::packInt4x8 ( i8vec4 const &  v)

Convert each component from an integer vector into a packed integer.

See also
GLM_GTC_packing
i8vec4 unpackInt4x8(int32 p)
GLM_FUNC_DECL vec<4, T, Q> glm::packRGBM ( vec< 3, T, Q > const &  rgb)

Returns an unsigned integer vector obtained by converting the components of a floating-point vector to the 16-bit floating-point representation found in the OpenGL Specification.

The first vector component specifies the 16 least-significant bits of the result; the forth component specifies the 16 most-significant bits.

See also
GLM_GTC_packing
vec<3, T, Q> unpackRGBM(vec<4, T, Q> const& p)
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL vec<L, intType, Q> glm::packSnorm ( vec< L, floatType, Q > const &  v)

Convert each component of the normalized floating-point vector into signed integer values.

See also
GLM_GTC_packing
vec<L, floatType, Q> unpackSnorm(vec<L, intType, Q> const& p);
GLM_FUNC_DECL uint16 glm::packSnorm1x16 ( float  v)

First, converts the normalized floating-point value v into 16-bit integer value.

Then, the results are packed into the returned 16-bit unsigned integer.

The conversion to fixed point is done as follows: packSnorm1x8: round(clamp(s, -1, +1) * 32767.0)

See also
GLM_GTC_packing
uint32 packSnorm2x16(vec2 const& v)
uint64 packSnorm4x16(vec4 const& v)
GLSL packSnorm4x8 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL uint8 glm::packSnorm1x8 ( float  s)

First, converts the normalized floating-point value v into 8-bit integer value.

Then, the results are packed into the returned 8-bit unsigned integer.

The conversion to fixed point is done as follows: packSnorm1x8: round(clamp(s, -1, +1) * 127.0)

See also
GLM_GTC_packing
uint16 packSnorm2x8(vec2 const& v)
uint32 packSnorm4x8(vec4 const& v)
GLSL packSnorm4x8 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL uint16 glm::packSnorm2x8 ( vec2 const &  v)

First, converts each component of the normalized floating-point value v into 8-bit integer values.

Then, the results are packed into the returned 16-bit unsigned integer.

The conversion for component c of v to fixed point is done as follows: packSnorm2x8: round(clamp(c, -1, +1) * 127.0)

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

See also
GLM_GTC_packing
uint8 packSnorm1x8(float const& v)
uint32 packSnorm4x8(vec4 const& v)
GLSL packSnorm4x8 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL uint32 glm::packSnorm3x10_1x2 ( vec4 const &  v)

First, converts the first three components of the normalized floating-point value v into 10-bit signed integer values.

Then, converts the forth component of the normalized floating-point value v into 2-bit signed integer values. Then, the results are packed into the returned 32-bit unsigned integer.

The conversion for component c of v to fixed point is done as follows: packSnorm3x10_1x2(xyz): round(clamp(c, -1, +1) * 511.0) packSnorm3x10_1x2(w): round(clamp(c, -1, +1) * 1.0)

The first vector component specifies the 10 least-significant bits of the result; the forth component specifies the 2 most-significant bits.

See also
GLM_GTC_packing
vec4 unpackSnorm3x10_1x2(uint32 const& p)
uint32 packUnorm3x10_1x2(vec4 const& v)
uint32 packU3x10_1x2(uvec4 const& v)
uint32 packI3x10_1x2(ivec4 const& v)
GLM_FUNC_DECL uint64 glm::packSnorm4x16 ( vec4 const &  v)

First, converts each component of the normalized floating-point value v into 16-bit integer values.

Then, the results are packed into the returned 64-bit unsigned integer.

The conversion for component c of v to fixed point is done as follows: packSnorm2x8: round(clamp(c, -1, +1) * 32767.0)

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

See also
GLM_GTC_packing
uint16 packSnorm1x16(float const& v)
uint32 packSnorm2x16(vec2 const& v)
GLSL packSnorm4x8 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL uint32 glm::packU3x10_1x2 ( uvec4 const &  v)

Returns an unsigned integer obtained by converting the components of a four-component unsigned integer vector to the 10-10-10-2-bit unsigned integer representation found in the OpenGL Specification, and then packing these four values into a 32-bit unsigned integer.

The first vector component specifies the 10 least-significant bits of the result; the forth component specifies the 2 most-significant bits.

See also
GLM_GTC_packing
uint32 packI3x10_1x2(ivec4 const& v)
uint32 packSnorm3x10_1x2(vec4 const& v)
uint32 packUnorm3x10_1x2(vec4 const& v)
ivec4 unpackU3x10_1x2(uint32 const& p)
GLM_FUNC_DECL uint glm::packUint2x16 ( u16vec2 const &  v)

Convert each component from an integer vector into a packed unsigned integer.

See also
GLM_GTC_packing
u16vec2 unpackUint2x16(uint p)
GLM_FUNC_DECL uint64 glm::packUint2x32 ( u32vec2 const &  v)

Convert each component from an integer vector into a packed unsigned integer.

See also
GLM_GTC_packing
u32vec2 unpackUint2x32(int p)
GLM_FUNC_DECL uint16 glm::packUint2x8 ( u8vec2 const &  v)

Convert each component from an integer vector into a packed unsigned integer.

See also
GLM_GTC_packing
u8vec2 unpackInt2x8(uint16 p)
GLM_FUNC_DECL uint64 glm::packUint4x16 ( u16vec4 const &  v)

Convert each component from an integer vector into a packed unsigned integer.

See also
GLM_GTC_packing
u16vec4 unpackUint4x16(uint64 p)
GLM_FUNC_DECL uint32 glm::packUint4x8 ( u8vec4 const &  v)

Convert each component from an integer vector into a packed unsigned integer.

See also
GLM_GTC_packing
u8vec4 unpackUint4x8(uint32 p)
GLM_FUNC_DECL vec<L, uintType, Q> glm::packUnorm ( vec< L, floatType, Q > const &  v)

Convert each component of the normalized floating-point vector into unsigned integer values.

See also
GLM_GTC_packing
vec<L, floatType, Q> unpackUnorm(vec<L, intType, Q> const& p);
GLM_FUNC_DECL uint16 glm::packUnorm1x16 ( float  v)

First, converts the normalized floating-point value v into a 16-bit integer value.

Then, the results are packed into the returned 16-bit unsigned integer.

The conversion for component c of v to fixed point is done as follows: packUnorm1x16: round(clamp(c, 0, +1) * 65535.0)

See also
GLM_GTC_packing
uint16 packSnorm1x16(float const& v)
uint64 packSnorm4x16(vec4 const& v)
GLSL packUnorm4x8 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL uint16 glm::packUnorm1x5_1x6_1x5 ( vec3 const &  v)

Convert each component of the normalized floating-point vector into unsigned integer values.

See also
GLM_GTC_packing
vec3 unpackUnorm1x5_1x6_1x5(uint16 p)
GLM_FUNC_DECL uint8 glm::packUnorm1x8 ( float  v)

First, converts the normalized floating-point value v into a 8-bit integer value.

Then, the results are packed into the returned 8-bit unsigned integer.

The conversion for component c of v to fixed point is done as follows: packUnorm1x8: round(clamp(c, 0, +1) * 255.0)

See also
GLM_GTC_packing
uint16 packUnorm2x8(vec2 const& v)
uint32 packUnorm4x8(vec4 const& v)
GLSL packUnorm4x8 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL uint8 glm::packUnorm2x3_1x2 ( vec3 const &  v)

Convert each component of the normalized floating-point vector into unsigned integer values.

See also
GLM_GTC_packing
vec3 unpackUnorm2x3_1x2(uint8 p)
GLM_FUNC_DECL uint8 glm::packUnorm2x4 ( vec2 const &  v)

Convert each component of the normalized floating-point vector into unsigned integer values.

See also
GLM_GTC_packing
vec2 unpackUnorm2x4(uint8 p)
GLM_FUNC_DECL uint16 glm::packUnorm2x8 ( vec2 const &  v)

First, converts each component of the normalized floating-point value v into 8-bit integer values.

Then, the results are packed into the returned 16-bit unsigned integer.

The conversion for component c of v to fixed point is done as follows: packUnorm2x8: round(clamp(c, 0, +1) * 255.0)

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

See also
GLM_GTC_packing
uint8 packUnorm1x8(float const& v)
uint32 packUnorm4x8(vec4 const& v)
GLSL packUnorm4x8 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL uint32 glm::packUnorm3x10_1x2 ( vec4 const &  v)

First, converts the first three components of the normalized floating-point value v into 10-bit unsigned integer values.

Then, converts the forth component of the normalized floating-point value v into 2-bit signed uninteger values. Then, the results are packed into the returned 32-bit unsigned integer.

The conversion for component c of v to fixed point is done as follows: packUnorm3x10_1x2(xyz): round(clamp(c, 0, +1) * 1023.0) packUnorm3x10_1x2(w): round(clamp(c, 0, +1) * 3.0)

The first vector component specifies the 10 least-significant bits of the result; the forth component specifies the 2 most-significant bits.

See also
GLM_GTC_packing
vec4 unpackUnorm3x10_1x2(uint32 const& p)
uint32 packUnorm3x10_1x2(vec4 const& v)
uint32 packU3x10_1x2(uvec4 const& v)
uint32 packI3x10_1x2(ivec4 const& v)
GLM_FUNC_DECL uint16 glm::packUnorm3x5_1x1 ( vec4 const &  v)

Convert each component of the normalized floating-point vector into unsigned integer values.

See also
GLM_GTC_packing
vec4 unpackUnorm3x5_1x1(uint16 p)
GLM_FUNC_DECL uint64 glm::packUnorm4x16 ( vec4 const &  v)

First, converts each component of the normalized floating-point value v into 16-bit integer values.

Then, the results are packed into the returned 64-bit unsigned integer.

The conversion for component c of v to fixed point is done as follows: packUnorm4x16: round(clamp(c, 0, +1) * 65535.0)

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

See also
GLM_GTC_packing
uint16 packUnorm1x16(float const& v)
uint32 packUnorm2x16(vec2 const& v)
GLSL packUnorm4x8 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL uint16 glm::packUnorm4x4 ( vec4 const &  v)

Convert each component of the normalized floating-point vector into unsigned integer values.

See also
GLM_GTC_packing
vec4 unpackUnorm4x4(uint16 p)
GLM_FUNC_DECL vec3 glm::unpackF2x11_1x10 ( uint32  p)

First, unpacks a single 32-bit unsigned integer p into two 11-bit signless floating-point values and one 10-bit signless floating-point value .

Then, each component is converted to a normalized floating-point value to generate the returned three-component vector.

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

See also
GLM_GTC_packing
uint32 packF2x11_1x10(vec3 const& v)
GLM_FUNC_DECL vec3 glm::unpackF3x9_E1x5 ( uint32  p)

First, unpacks a single 32-bit unsigned integer p into two 11-bit signless floating-point values and one 10-bit signless floating-point value .

Then, each component is converted to a normalized floating-point value to generate the returned three-component vector.

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

unpackF3x9_E1x5 allows decoding RGBE / RGB9E5 data

See also
GLM_GTC_packing
uint32 packF3x9_E1x5(vec3 const& v)
GLM_FUNC_DECL vec<L, float, Q> glm::unpackHalf ( vec< L, uint16, Q > const &  p)

Returns a floating-point vector with components obtained by reinterpreting an integer vector as 16-bit floating-point numbers and converting them to 32-bit floating-point values.

The first component of the vector is obtained from the 16 least-significant bits of v; the forth component is obtained from the 16 most-significant bits of v.

See also
GLM_GTC_packing
vec<L, uint16, Q> packHalf(vec<L, float, Q> const& v)
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL float glm::unpackHalf1x16 ( uint16  v)

Returns a floating-point scalar with components obtained by unpacking a 16-bit unsigned integer into a 16-bit value, interpreted as a 16-bit floating-point number according to the OpenGL Specification, and converting it to 32-bit floating-point values.

See also
GLM_GTC_packing
vec2 unpackHalf2x16(uint32 const& v)
vec4 unpackHalf4x16(uint64 const& v)
GLSL unpackHalf2x16 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL vec4 glm::unpackHalf4x16 ( uint64  p)

Returns a four-component floating-point vector with components obtained by unpacking a 64-bit unsigned integer into four 16-bit values, interpreting those values as 16-bit floating-point numbers according to the OpenGL Specification, and converting them to 32-bit floating-point values.

The first component of the vector is obtained from the 16 least-significant bits of v; the forth component is obtained from the 16 most-significant bits of v.

See also
GLM_GTC_packing
float unpackHalf1x16(uint16 const& v)
vec2 unpackHalf2x16(uint32 const& v)
GLSL unpackHalf2x16 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL ivec4 glm::unpackI3x10_1x2 ( uint32  p)

Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-bit signed integers.

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

See also
GLM_GTC_packing
uint32 packU3x10_1x2(uvec4 const& v)
vec4 unpackSnorm3x10_1x2(uint32 const& p);
uvec4 unpackI3x10_1x2(uint32 const& p);
GLM_FUNC_DECL i16vec2 glm::unpackInt2x16 ( int  p)

Convert a packed integer into an integer vector.

See also
GLM_GTC_packing
int packInt2x16(i16vec2 const& v)
GLM_FUNC_DECL i32vec2 glm::unpackInt2x32 ( int64  p)

Convert a packed integer into an integer vector.

See also
GLM_GTC_packing
int packInt2x16(i32vec2 const& v)
GLM_FUNC_DECL i8vec2 glm::unpackInt2x8 ( int16  p)

Convert a packed integer into an integer vector.

See also
GLM_GTC_packing
int16 packInt2x8(i8vec2 const& v)
GLM_FUNC_DECL i16vec4 glm::unpackInt4x16 ( int64  p)

Convert a packed integer into an integer vector.

See also
GLM_GTC_packing
int64 packInt4x16(i16vec4 const& v)
GLM_FUNC_DECL i8vec4 glm::unpackInt4x8 ( int32  p)

Convert a packed integer into an integer vector.

See also
GLM_GTC_packing
int32 packInt2x8(i8vec4 const& v)
GLM_FUNC_DECL vec<3, T, Q> glm::unpackRGBM ( vec< 4, T, Q > const &  rgbm)

Returns a floating-point vector with components obtained by reinterpreting an integer vector as 16-bit floating-point numbers and converting them to 32-bit floating-point values.

The first component of the vector is obtained from the 16 least-significant bits of v; the forth component is obtained from the 16 most-significant bits of v.

See also
GLM_GTC_packing
vec<4, T, Q> packRGBM(vec<3, float, Q> const& v)
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL vec<L, floatType, Q> glm::unpackSnorm ( vec< L, intType, Q > const &  v)

Convert a packed integer to a normalized floating-point vector.

See also
GLM_GTC_packing
vec<L, intType, Q> packSnorm(vec<L, floatType, Q> const& v)
GLM_FUNC_DECL float glm::unpackSnorm1x16 ( uint16  p)

First, unpacks a single 16-bit unsigned integer p into a single 16-bit signed integers.

Then, each component is converted to a normalized floating-point value to generate the returned scalar.

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm1x16: clamp(f / 32767.0, -1, +1)

See also
GLM_GTC_packing
vec2 unpackSnorm2x16(uint32 p)
vec4 unpackSnorm4x16(uint64 p)
GLSL unpackSnorm4x8 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL float glm::unpackSnorm1x8 ( uint8  p)

First, unpacks a single 8-bit unsigned integer p into a single 8-bit signed integers.

Then, the value is converted to a normalized floating-point value to generate the returned scalar.

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm1x8: clamp(f / 127.0, -1, +1)

See also
GLM_GTC_packing
vec2 unpackSnorm2x8(uint16 p)
vec4 unpackSnorm4x8(uint32 p)
GLSL unpackSnorm4x8 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL vec2 glm::unpackSnorm2x8 ( uint16  p)

First, unpacks a single 16-bit unsigned integer p into a pair of 8-bit signed integers.

Then, each component is converted to a normalized floating-point value to generate the returned two-component vector.

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm2x8: clamp(f / 127.0, -1, +1)

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

See also
GLM_GTC_packing
float unpackSnorm1x8(uint8 p)
vec4 unpackSnorm4x8(uint32 p)
GLSL unpackSnorm4x8 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL vec4 glm::unpackSnorm3x10_1x2 ( uint32  p)

First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers.

Then, each component is converted to a normalized floating-point value to generate the returned four-component vector.

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm3x10_1x2(xyz): clamp(f / 511.0, -1, +1) unpackSnorm3x10_1x2(w): clamp(f / 511.0, -1, +1)

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

See also
GLM_GTC_packing
uint32 packSnorm3x10_1x2(vec4 const& v)
vec4 unpackUnorm3x10_1x2(uint32 const& p))
uvec4 unpackI3x10_1x2(uint32 const& p)
uvec4 unpackU3x10_1x2(uint32 const& p)
GLM_FUNC_DECL vec4 glm::unpackSnorm4x16 ( uint64  p)

First, unpacks a single 64-bit unsigned integer p into four 16-bit signed integers.

Then, each component is converted to a normalized floating-point value to generate the returned four-component vector.

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm4x16: clamp(f / 32767.0, -1, +1)

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

See also
GLM_GTC_packing
float unpackSnorm1x16(uint16 p)
vec2 unpackSnorm2x16(uint32 p)
GLSL unpackSnorm4x8 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL uvec4 glm::unpackU3x10_1x2 ( uint32  p)

Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-bit unsigned integers.

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

See also
GLM_GTC_packing
uint32 packU3x10_1x2(uvec4 const& v)
vec4 unpackSnorm3x10_1x2(uint32 const& p);
uvec4 unpackI3x10_1x2(uint32 const& p);
GLM_FUNC_DECL u16vec2 glm::unpackUint2x16 ( uint  p)

Convert a packed integer into an integer vector.

See also
GLM_GTC_packing
uint packUint2x16(u16vec2 const& v)
GLM_FUNC_DECL u32vec2 glm::unpackUint2x32 ( uint64  p)

Convert a packed integer into an integer vector.

See also
GLM_GTC_packing
int packUint2x16(u32vec2 const& v)
GLM_FUNC_DECL u8vec2 glm::unpackUint2x8 ( uint16  p)

Convert a packed integer into an integer vector.

See also
GLM_GTC_packing
uint16 packInt2x8(u8vec2 const& v)
GLM_FUNC_DECL u16vec4 glm::unpackUint4x16 ( uint64  p)

Convert a packed integer into an integer vector.

See also
GLM_GTC_packing
uint64 packUint4x16(u16vec4 const& v)
GLM_FUNC_DECL u8vec4 glm::unpackUint4x8 ( uint32  p)

Convert a packed integer into an integer vector.

See also
GLM_GTC_packing
uint32 packUint4x8(u8vec2 const& v)
GLM_FUNC_DECL vec<L, floatType, Q> glm::unpackUnorm ( vec< L, uintType, Q > const &  v)

Convert a packed integer to a normalized floating-point vector.

See also
GLM_GTC_packing
vec<L, intType, Q> packUnorm(vec<L, floatType, Q> const& v)
GLM_FUNC_DECL float glm::unpackUnorm1x16 ( uint16  p)

First, unpacks a single 16-bit unsigned integer p into a of 16-bit unsigned integers.

Then, the value is converted to a normalized floating-point value to generate the returned scalar.

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnorm1x16: f / 65535.0

See also
GLM_GTC_packing
vec2 unpackUnorm2x16(uint32 p)
vec4 unpackUnorm4x16(uint64 p)
GLSL unpackUnorm2x16 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL vec3 glm::unpackUnorm1x5_1x6_1x5 ( uint16  p)

Convert a packed integer to a normalized floating-point vector.

See also
GLM_GTC_packing
uint16 packUnorm1x5_1x6_1x5(vec3 const& v)
GLM_FUNC_DECL float glm::unpackUnorm1x8 ( uint8  p)

Convert a single 8-bit integer to a normalized floating-point value.

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnorm4x8: f / 255.0

See also
GLM_GTC_packing
vec2 unpackUnorm2x8(uint16 p)
vec4 unpackUnorm4x8(uint32 p)
GLSL unpackUnorm4x8 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL vec3 glm::unpackUnorm2x3_1x2 ( uint8  p)

Convert a packed integer to a normalized floating-point vector.

See also
GLM_GTC_packing
uint8 packUnorm2x3_1x2(vec3 const& v)
GLM_FUNC_DECL vec2 glm::unpackUnorm2x4 ( uint8  p)

Convert a packed integer to a normalized floating-point vector.

See also
GLM_GTC_packing
uint8 packUnorm2x4(vec2 const& v)
GLM_FUNC_DECL vec2 glm::unpackUnorm2x8 ( uint16  p)

First, unpacks a single 16-bit unsigned integer p into a pair of 8-bit unsigned integers.

Then, each component is converted to a normalized floating-point value to generate the returned two-component vector.

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnorm4x8: f / 255.0

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

See also
GLM_GTC_packing
float unpackUnorm1x8(uint8 v)
vec4 unpackUnorm4x8(uint32 p)
GLSL unpackUnorm4x8 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL vec4 glm::unpackUnorm3x10_1x2 ( uint32  p)

First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers.

Then, each component is converted to a normalized floating-point value to generate the returned four-component vector.

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm3x10_1x2(xyz): clamp(f / 1023.0, 0, +1) unpackSnorm3x10_1x2(w): clamp(f / 3.0, 0, +1)

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

See also
GLM_GTC_packing
uint32 packSnorm3x10_1x2(vec4 const& v)
vec4 unpackInorm3x10_1x2(uint32 const& p))
uvec4 unpackI3x10_1x2(uint32 const& p)
uvec4 unpackU3x10_1x2(uint32 const& p)
GLM_FUNC_DECL vec4 glm::unpackUnorm3x5_1x1 ( uint16  p)

Convert a packed integer to a normalized floating-point vector.

See also
GLM_GTC_packing
uint16 packUnorm3x5_1x1(vec4 const& v)
GLM_FUNC_DECL vec4 glm::unpackUnorm4x16 ( uint64  p)

First, unpacks a single 64-bit unsigned integer p into four 16-bit unsigned integers.

Then, each component is converted to a normalized floating-point value to generate the returned four-component vector.

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnormx4x16: f / 65535.0

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

See also
GLM_GTC_packing
float unpackUnorm1x16(uint16 p)
vec2 unpackUnorm2x16(uint32 p)
GLSL unpackUnorm2x16 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL vec4 glm::unpackUnorm4x4 ( uint16  p)

Convert a packed integer to a normalized floating-point vector.

See also
GLM_GTC_packing
uint16 packUnorm4x4(vec4 const& v)
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00299.html ================================================ 0.9.9 API documentation: GLM_GTC_quaternion
0.9.9 API documentation
GLM_GTC_quaternion

Include <glm/gtc/quaternion.hpp> to use the features of this extension. More...

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > eulerAngles (qua< T, Q > const &x)
 Returns euler angles, pitch as x, yaw as y, roll as z. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > greaterThan (qua< T, Q > const &x, qua< T, Q > const &y)
 Returns the component-wise comparison of result x > y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > greaterThanEqual (qua< T, Q > const &x, qua< T, Q > const &y)
 Returns the component-wise comparison of result x >= y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > lessThan (qua< T, Q > const &x, qua< T, Q > const &y)
 Returns the component-wise comparison result of x < y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > lessThanEqual (qua< T, Q > const &x, qua< T, Q > const &y)
 Returns the component-wise comparison of result x <= y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > mat3_cast (qua< T, Q > const &x)
 Converts a quaternion to a 3 * 3 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > mat4_cast (qua< T, Q > const &x)
 Converts a quaternion to a 4 * 4 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T pitch (qua< T, Q > const &x)
 Returns pitch value of euler angles expressed in radians. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > quat_cast (mat< 3, 3, T, Q > const &x)
 Converts a pure rotation 3 * 3 matrix to a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > quat_cast (mat< 4, 4, T, Q > const &x)
 Converts a pure rotation 4 * 4 matrix to a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > quatLookAt (vec< 3, T, Q > const &direction, vec< 3, T, Q > const &up)
 Build a look at quaternion based on the default handedness. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > quatLookAtLH (vec< 3, T, Q > const &direction, vec< 3, T, Q > const &up)
 Build a left-handed look at quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > quatLookAtRH (vec< 3, T, Q > const &direction, vec< 3, T, Q > const &up)
 Build a right-handed look at quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T roll (qua< T, Q > const &x)
 Returns roll value of euler angles expressed in radians. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T yaw (qua< T, Q > const &x)
 Returns yaw value of euler angles expressed in radians. More...
 

Detailed Description

Include <glm/gtc/quaternion.hpp> to use the features of this extension.

Defines a templated quaternion type and several quaternion operations.

Function Documentation

GLM_FUNC_DECL vec<3, T, Q> glm::eulerAngles ( qua< T, Q > const &  x)

Returns euler angles, pitch as x, yaw as y, roll as z.

The result is expressed in radians.

Template Parameters
TFloating-point scalar types.
See also
GLM_GTC_quaternion
GLM_FUNC_DECL vec<4, bool, Q> glm::greaterThan ( qua< T, Q > const &  x,
qua< T, Q > const &  y 
)

Returns the component-wise comparison of result x > y.

Template Parameters
TFloating-point scalar types
QValue from qualifier enum
See also
GLM_EXT_quaternion_relational
GLM_FUNC_DECL vec<4, bool, Q> glm::greaterThanEqual ( qua< T, Q > const &  x,
qua< T, Q > const &  y 
)

Returns the component-wise comparison of result x >= y.

Template Parameters
TFloating-point scalar types
QValue from qualifier enum
See also
GLM_EXT_quaternion_relational
GLM_FUNC_DECL vec<4, bool, Q> glm::lessThan ( qua< T, Q > const &  x,
qua< T, Q > const &  y 
)

Returns the component-wise comparison result of x < y.

Template Parameters
TFloating-point scalar types
QValue from qualifier enum
See also
GLM_EXT_quaternion_relational
GLM_FUNC_DECL vec<4, bool, Q> glm::lessThanEqual ( qua< T, Q > const &  x,
qua< T, Q > const &  y 
)

Returns the component-wise comparison of result x <= y.

Template Parameters
TFloating-point scalar types
QValue from qualifier enum
See also
GLM_EXT_quaternion_relational
GLM_FUNC_DECL mat<3, 3, T, Q> glm::mat3_cast ( qua< T, Q > const &  x)

Converts a quaternion to a 3 * 3 matrix.

Template Parameters
TFloating-point scalar types.
See also
GLM_GTC_quaternion

Referenced by glm::toMat3().

GLM_FUNC_DECL mat<4, 4, T, Q> glm::mat4_cast ( qua< T, Q > const &  x)

Converts a quaternion to a 4 * 4 matrix.

Template Parameters
TFloating-point scalar types.
See also
GLM_GTC_quaternion

Referenced by glm::toMat4().

GLM_FUNC_DECL T glm::pitch ( qua< T, Q > const &  x)

Returns pitch value of euler angles expressed in radians.

Template Parameters
TFloating-point scalar types.
See also
GLM_GTC_quaternion
GLM_FUNC_DECL qua<T, Q> glm::quat_cast ( mat< 3, 3, T, Q > const &  x)

Converts a pure rotation 3 * 3 matrix to a quaternion.

Template Parameters
TFloating-point scalar types.
See also
GLM_GTC_quaternion

Referenced by glm::toQuat().

GLM_FUNC_DECL qua<T, Q> glm::quat_cast ( mat< 4, 4, T, Q > const &  x)

Converts a pure rotation 4 * 4 matrix to a quaternion.

Template Parameters
TFloating-point scalar types.
See also
GLM_GTC_quaternion
GLM_FUNC_DECL qua<T, Q> glm::quatLookAt ( vec< 3, T, Q > const &  direction,
vec< 3, T, Q > const &  up 
)

Build a look at quaternion based on the default handedness.

Parameters
directionDesired forward direction. Needs to be normalized.
upUp vector, how the camera is oriented. Typically (0, 1, 0).
GLM_FUNC_DECL qua<T, Q> glm::quatLookAtLH ( vec< 3, T, Q > const &  direction,
vec< 3, T, Q > const &  up 
)

Build a left-handed look at quaternion.

Parameters
directionDesired forward direction onto which the +z-axis gets mapped. Needs to be normalized.
upUp vector, how the camera is oriented. Typically (0, 1, 0).
GLM_FUNC_DECL qua<T, Q> glm::quatLookAtRH ( vec< 3, T, Q > const &  direction,
vec< 3, T, Q > const &  up 
)

Build a right-handed look at quaternion.

Parameters
directionDesired forward direction onto which the -z-axis gets mapped. Needs to be normalized.
upUp vector, how the camera is oriented. Typically (0, 1, 0).
GLM_FUNC_DECL T glm::roll ( qua< T, Q > const &  x)

Returns roll value of euler angles expressed in radians.

Template Parameters
TFloating-point scalar types.
See also
GLM_GTC_quaternion
GLM_FUNC_DECL T glm::yaw ( qua< T, Q > const &  x)

Returns yaw value of euler angles expressed in radians.

Template Parameters
TFloating-point scalar types.
See also
GLM_GTC_quaternion
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00300.html ================================================ 0.9.9 API documentation: GLM_GTC_random
0.9.9 API documentation

Include <glm/gtc/random.hpp> to use the features of this extension. More...

Functions

template<typename T >
GLM_FUNC_DECL vec< 3, T, defaultp > ballRand (T Radius)
 Generate a random 3D vector which coordinates are regulary distributed within the volume of a ball of a given radius. More...
 
template<typename T >
GLM_FUNC_DECL vec< 2, T, defaultp > circularRand (T Radius)
 Generate a random 2D vector which coordinates are regulary distributed on a circle of a given radius. More...
 
template<typename T >
GLM_FUNC_DECL vec< 2, T, defaultp > diskRand (T Radius)
 Generate a random 2D vector which coordinates are regulary distributed within the area of a disk of a given radius. More...
 
template<typename genType >
GLM_FUNC_DECL genType gaussRand (genType Mean, genType Deviation)
 Generate random numbers in the interval [Min, Max], according a gaussian distribution. More...
 
template<typename genType >
GLM_FUNC_DECL genType linearRand (genType Min, genType Max)
 Generate random numbers in the interval [Min, Max], according a linear distribution. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > linearRand (vec< L, T, Q > const &Min, vec< L, T, Q > const &Max)
 Generate random numbers in the interval [Min, Max], according a linear distribution. More...
 
template<typename T >
GLM_FUNC_DECL vec< 3, T, defaultp > sphericalRand (T Radius)
 Generate a random 3D vector which coordinates are regulary distributed on a sphere of a given radius. More...
 

Detailed Description

Include <glm/gtc/random.hpp> to use the features of this extension.

Generate random number from various distribution methods.

Function Documentation

GLM_FUNC_DECL vec<3, T, defaultp> glm::ballRand ( Radius)

Generate a random 3D vector which coordinates are regulary distributed within the volume of a ball of a given radius.

See also
GLM_GTC_random
GLM_FUNC_DECL vec<2, T, defaultp> glm::circularRand ( Radius)

Generate a random 2D vector which coordinates are regulary distributed on a circle of a given radius.

See also
GLM_GTC_random
GLM_FUNC_DECL vec<2, T, defaultp> glm::diskRand ( Radius)

Generate a random 2D vector which coordinates are regulary distributed within the area of a disk of a given radius.

See also
GLM_GTC_random
GLM_FUNC_DECL genType glm::gaussRand ( genType  Mean,
genType  Deviation 
)

Generate random numbers in the interval [Min, Max], according a gaussian distribution.

See also
GLM_GTC_random
GLM_FUNC_DECL genType glm::linearRand ( genType  Min,
genType  Max 
)

Generate random numbers in the interval [Min, Max], according a linear distribution.

Parameters
MinMinimum value included in the sampling
MaxMaximum value included in the sampling
Template Parameters
genTypeValue type. Currently supported: float or double scalars.
See also
GLM_GTC_random
GLM_FUNC_DECL vec<L, T, Q> glm::linearRand ( vec< L, T, Q > const &  Min,
vec< L, T, Q > const &  Max 
)

Generate random numbers in the interval [Min, Max], according a linear distribution.

Parameters
MinMinimum value included in the sampling
MaxMaximum value included in the sampling
Template Parameters
TValue type. Currently supported: float or double.
See also
GLM_GTC_random
GLM_FUNC_DECL vec<3, T, defaultp> glm::sphericalRand ( Radius)

Generate a random 3D vector which coordinates are regulary distributed on a sphere of a given radius.

See also
GLM_GTC_random
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00301.html ================================================ 0.9.9 API documentation: GLM_GTC_reciprocal
0.9.9 API documentation
GLM_GTC_reciprocal

Include <glm/gtc/reciprocal.hpp> to use the features of this extension. More...

Functions

template<typename genType >
GLM_FUNC_DECL genType acot (genType x)
 Inverse cotangent function. More...
 
template<typename genType >
GLM_FUNC_DECL genType acoth (genType x)
 Inverse cotangent hyperbolic function. More...
 
template<typename genType >
GLM_FUNC_DECL genType acsc (genType x)
 Inverse cosecant function. More...
 
template<typename genType >
GLM_FUNC_DECL genType acsch (genType x)
 Inverse cosecant hyperbolic function. More...
 
template<typename genType >
GLM_FUNC_DECL genType asec (genType x)
 Inverse secant function. More...
 
template<typename genType >
GLM_FUNC_DECL genType asech (genType x)
 Inverse secant hyperbolic function. More...
 
template<typename genType >
GLM_FUNC_DECL genType cot (genType angle)
 Cotangent function. More...
 
template<typename genType >
GLM_FUNC_DECL genType coth (genType angle)
 Cotangent hyperbolic function. More...
 
template<typename genType >
GLM_FUNC_DECL genType csc (genType angle)
 Cosecant function. More...
 
template<typename genType >
GLM_FUNC_DECL genType csch (genType angle)
 Cosecant hyperbolic function. More...
 
template<typename genType >
GLM_FUNC_DECL genType sec (genType angle)
 Secant function. More...
 
template<typename genType >
GLM_FUNC_DECL genType sech (genType angle)
 Secant hyperbolic function. More...
 

Detailed Description

Include <glm/gtc/reciprocal.hpp> to use the features of this extension.

Define secant, cosecant and cotangent functions.

Function Documentation

GLM_FUNC_DECL genType glm::acot ( genType  x)

Inverse cotangent function.

Returns
Return an angle expressed in radians.
Template Parameters
genTypeFloating-point scalar or vector types.
See also
GLM_GTC_reciprocal
GLM_FUNC_DECL genType glm::acoth ( genType  x)

Inverse cotangent hyperbolic function.

Returns
Return an angle expressed in radians.
Template Parameters
genTypeFloating-point scalar or vector types.
See also
GLM_GTC_reciprocal
GLM_FUNC_DECL genType glm::acsc ( genType  x)

Inverse cosecant function.

Returns
Return an angle expressed in radians.
Template Parameters
genTypeFloating-point scalar or vector types.
See also
GLM_GTC_reciprocal
GLM_FUNC_DECL genType glm::acsch ( genType  x)

Inverse cosecant hyperbolic function.

Returns
Return an angle expressed in radians.
Template Parameters
genTypeFloating-point scalar or vector types.
See also
GLM_GTC_reciprocal
GLM_FUNC_DECL genType glm::asec ( genType  x)

Inverse secant function.

Returns
Return an angle expressed in radians.
Template Parameters
genTypeFloating-point scalar or vector types.
See also
GLM_GTC_reciprocal
GLM_FUNC_DECL genType glm::asech ( genType  x)

Inverse secant hyperbolic function.

Returns
Return an angle expressed in radians.
Template Parameters
genTypeFloating-point scalar or vector types.
See also
GLM_GTC_reciprocal
GLM_FUNC_DECL genType glm::cot ( genType  angle)

Cotangent function.

adjacent / opposite or 1 / tan(x)

Template Parameters
genTypeFloating-point scalar or vector types.
See also
GLM_GTC_reciprocal
GLM_FUNC_DECL genType glm::coth ( genType  angle)

Cotangent hyperbolic function.

Template Parameters
genTypeFloating-point scalar or vector types.
See also
GLM_GTC_reciprocal
GLM_FUNC_DECL genType glm::csc ( genType  angle)

Cosecant function.

hypotenuse / opposite or 1 / sin(x)

Template Parameters
genTypeFloating-point scalar or vector types.
See also
GLM_GTC_reciprocal
GLM_FUNC_DECL genType glm::csch ( genType  angle)

Cosecant hyperbolic function.

Template Parameters
genTypeFloating-point scalar or vector types.
See also
GLM_GTC_reciprocal
GLM_FUNC_DECL genType glm::sec ( genType  angle)

Secant function.

hypotenuse / adjacent or 1 / cos(x)

Template Parameters
genTypeFloating-point scalar or vector types.
See also
GLM_GTC_reciprocal
GLM_FUNC_DECL genType glm::sech ( genType  angle)

Secant hyperbolic function.

Template Parameters
genTypeFloating-point scalar or vector types.
See also
GLM_GTC_reciprocal
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00302.html ================================================ 0.9.9 API documentation: GLM_GTC_round
0.9.9 API documentation

Include <glm/gtc/round.hpp> to use the features of this extension. More...

Functions

template<typename genType >
GLM_FUNC_DECL genType ceilMultiple (genType v, genType Multiple)
 Higher multiple number of Source. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > ceilMultiple (vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
 Higher multiple number of Source. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType ceilPowerOfTwo (genIUType v)
 Return the power of two number which value is just higher the input value, round up to a power of two. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > ceilPowerOfTwo (vec< L, T, Q > const &v)
 Return the power of two number which value is just higher the input value, round up to a power of two. More...
 
template<typename genType >
GLM_FUNC_DECL genType floorMultiple (genType v, genType Multiple)
 Lower multiple number of Source. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > floorMultiple (vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
 Lower multiple number of Source. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType floorPowerOfTwo (genIUType v)
 Return the power of two number which value is just lower the input value, round down to a power of two. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > floorPowerOfTwo (vec< L, T, Q > const &v)
 Return the power of two number which value is just lower the input value, round down to a power of two. More...
 
template<typename genType >
GLM_FUNC_DECL genType roundMultiple (genType v, genType Multiple)
 Lower multiple number of Source. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > roundMultiple (vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)
 Lower multiple number of Source. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType roundPowerOfTwo (genIUType v)
 Return the power of two number which value is the closet to the input value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > roundPowerOfTwo (vec< L, T, Q > const &v)
 Return the power of two number which value is the closet to the input value. More...
 

Detailed Description

Include <glm/gtc/round.hpp> to use the features of this extension.

Rounding value to specific boundings

Function Documentation

GLM_FUNC_DECL genType glm::ceilMultiple ( genType  v,
genType  Multiple 
)

Higher multiple number of Source.

Template Parameters
genTypeFloating-point or integer scalar or vector types.
Parameters
vSource value to which is applied the function
MultipleMust be a null or positive value
See also
GLM_GTC_round
GLM_FUNC_DECL vec<L, T, Q> glm::ceilMultiple ( vec< L, T, Q > const &  v,
vec< L, T, Q > const &  Multiple 
)

Higher multiple number of Source.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point or integer scalar types
QValue from qualifier enum
Parameters
vSource values to which is applied the function
MultipleMust be a null or positive value
See also
GLM_GTC_round
GLM_FUNC_DECL genIUType glm::ceilPowerOfTwo ( genIUType  v)

Return the power of two number which value is just higher the input value, round up to a power of two.

See also
GLM_GTC_round
GLM_FUNC_DECL vec<L, T, Q> glm::ceilPowerOfTwo ( vec< L, T, Q > const &  v)

Return the power of two number which value is just higher the input value, round up to a power of two.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point or integer scalar types
QValue from qualifier enum
See also
GLM_GTC_round
GLM_FUNC_DECL genType glm::floorMultiple ( genType  v,
genType  Multiple 
)

Lower multiple number of Source.

Template Parameters
genTypeFloating-point or integer scalar or vector types.
Parameters
vSource value to which is applied the function
MultipleMust be a null or positive value
See also
GLM_GTC_round
GLM_FUNC_DECL vec<L, T, Q> glm::floorMultiple ( vec< L, T, Q > const &  v,
vec< L, T, Q > const &  Multiple 
)

Lower multiple number of Source.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point or integer scalar types
QValue from qualifier enum
Parameters
vSource values to which is applied the function
MultipleMust be a null or positive value
See also
GLM_GTC_round
GLM_FUNC_DECL genIUType glm::floorPowerOfTwo ( genIUType  v)

Return the power of two number which value is just lower the input value, round down to a power of two.

See also
GLM_GTC_round
GLM_FUNC_DECL vec<L, T, Q> glm::floorPowerOfTwo ( vec< L, T, Q > const &  v)

Return the power of two number which value is just lower the input value, round down to a power of two.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point or integer scalar types
QValue from qualifier enum
See also
GLM_GTC_round
GLM_FUNC_DECL genType glm::roundMultiple ( genType  v,
genType  Multiple 
)

Lower multiple number of Source.

Template Parameters
genTypeFloating-point or integer scalar or vector types.
Parameters
vSource value to which is applied the function
MultipleMust be a null or positive value
See also
GLM_GTC_round
GLM_FUNC_DECL vec<L, T, Q> glm::roundMultiple ( vec< L, T, Q > const &  v,
vec< L, T, Q > const &  Multiple 
)

Lower multiple number of Source.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point or integer scalar types
QValue from qualifier enum
Parameters
vSource values to which is applied the function
MultipleMust be a null or positive value
See also
GLM_GTC_round
GLM_FUNC_DECL genIUType glm::roundPowerOfTwo ( genIUType  v)

Return the power of two number which value is the closet to the input value.

See also
GLM_GTC_round
GLM_FUNC_DECL vec<L, T, Q> glm::roundPowerOfTwo ( vec< L, T, Q > const &  v)

Return the power of two number which value is the closet to the input value.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point or integer scalar types
QValue from qualifier enum
See also
GLM_GTC_round
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00303.html ================================================ 0.9.9 API documentation: GLM_GTC_type_aligned
0.9.9 API documentation
GLM_GTC_type_aligned

Include <glm/gtc/type_aligned.hpp> to use the features of this extension. More...

Typedefs

typedef aligned_highp_bvec1 aligned_bvec1
 1 component vector aligned in memory of bool values.
 
typedef aligned_highp_bvec2 aligned_bvec2
 2 components vector aligned in memory of bool values.
 
typedef aligned_highp_bvec3 aligned_bvec3
 3 components vector aligned in memory of bool values.
 
typedef aligned_highp_bvec4 aligned_bvec4
 4 components vector aligned in memory of bool values.
 
typedef aligned_highp_dmat2 aligned_dmat2
 2 by 2 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat2x2 aligned_dmat2x2
 2 by 2 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat2x3 aligned_dmat2x3
 2 by 3 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat2x4 aligned_dmat2x4
 2 by 4 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat3 aligned_dmat3
 3 by 3 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat3x2 aligned_dmat3x2
 3 by 2 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat3x3 aligned_dmat3x3
 3 by 3 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat3x4 aligned_dmat3x4
 3 by 4 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat4 aligned_dmat4
 4 by 4 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat4x2 aligned_dmat4x2
 4 by 2 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat4x3 aligned_dmat4x3
 4 by 3 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dmat4x4 aligned_dmat4x4
 4 by 4 matrix tightly aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dvec1 aligned_dvec1
 1 component vector aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dvec2 aligned_dvec2
 2 components vector aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dvec3 aligned_dvec3
 3 components vector aligned in memory of double-precision floating-point numbers.
 
typedef aligned_highp_dvec4 aligned_dvec4
 4 components vector aligned in memory of double-precision floating-point numbers.
 
typedef vec< 1, bool, aligned_highp > aligned_highp_bvec1
 1 component vector aligned in memory of bool values.
 
typedef vec< 2, bool, aligned_highp > aligned_highp_bvec2
 2 components vector aligned in memory of bool values.
 
typedef vec< 3, bool, aligned_highp > aligned_highp_bvec3
 3 components vector aligned in memory of bool values.
 
typedef vec< 4, bool, aligned_highp > aligned_highp_bvec4
 4 components vector aligned in memory of bool values.
 
typedef mat< 2, 2, double, aligned_highp > aligned_highp_dmat2
 2 by 2 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, aligned_highp > aligned_highp_dmat2x2
 2 by 2 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, double, aligned_highp > aligned_highp_dmat2x3
 2 by 3 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, double, aligned_highp > aligned_highp_dmat2x4
 2 by 4 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, aligned_highp > aligned_highp_dmat3
 3 by 3 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, double, aligned_highp > aligned_highp_dmat3x2
 3 by 2 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, aligned_highp > aligned_highp_dmat3x3
 3 by 3 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, double, aligned_highp > aligned_highp_dmat3x4
 3 by 4 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, aligned_highp > aligned_highp_dmat4
 4 by 4 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, double, aligned_highp > aligned_highp_dmat4x2
 4 by 2 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, double, aligned_highp > aligned_highp_dmat4x3
 4 by 3 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, aligned_highp > aligned_highp_dmat4x4
 4 by 4 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 1, double, aligned_highp > aligned_highp_dvec1
 1 component vector aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 2, double, aligned_highp > aligned_highp_dvec2
 2 components vector aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 3, double, aligned_highp > aligned_highp_dvec3
 3 components vector aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 4, double, aligned_highp > aligned_highp_dvec4
 4 components vector aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 1, int, aligned_highp > aligned_highp_ivec1
 1 component vector aligned in memory of signed integer numbers.
 
typedef vec< 2, int, aligned_highp > aligned_highp_ivec2
 2 components vector aligned in memory of signed integer numbers.
 
typedef vec< 3, int, aligned_highp > aligned_highp_ivec3
 3 components vector aligned in memory of signed integer numbers.
 
typedef vec< 4, int, aligned_highp > aligned_highp_ivec4
 4 components vector aligned in memory of signed integer numbers.
 
typedef mat< 2, 2, float, aligned_highp > aligned_highp_mat2
 2 by 2 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, aligned_highp > aligned_highp_mat2x2
 2 by 2 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, float, aligned_highp > aligned_highp_mat2x3
 2 by 3 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, float, aligned_highp > aligned_highp_mat2x4
 2 by 4 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, aligned_highp > aligned_highp_mat3
 3 by 3 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, float, aligned_highp > aligned_highp_mat3x2
 3 by 2 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, aligned_highp > aligned_highp_mat3x3
 3 by 3 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, float, aligned_highp > aligned_highp_mat3x4
 3 by 4 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, aligned_highp > aligned_highp_mat4
 4 by 4 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, float, aligned_highp > aligned_highp_mat4x2
 4 by 2 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, float, aligned_highp > aligned_highp_mat4x3
 4 by 3 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, aligned_highp > aligned_highp_mat4x4
 4 by 4 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 1, uint, aligned_highp > aligned_highp_uvec1
 1 component vector aligned in memory of unsigned integer numbers.
 
typedef vec< 2, uint, aligned_highp > aligned_highp_uvec2
 2 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 3, uint, aligned_highp > aligned_highp_uvec3
 3 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 4, uint, aligned_highp > aligned_highp_uvec4
 4 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 1, float, aligned_highp > aligned_highp_vec1
 1 component vector aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 2, float, aligned_highp > aligned_highp_vec2
 2 components vector aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 3, float, aligned_highp > aligned_highp_vec3
 3 components vector aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 4, float, aligned_highp > aligned_highp_vec4
 4 components vector aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef aligned_highp_ivec1 aligned_ivec1
 1 component vector aligned in memory of signed integer numbers.
 
typedef aligned_highp_ivec2 aligned_ivec2
 2 components vector aligned in memory of signed integer numbers.
 
typedef aligned_highp_ivec3 aligned_ivec3
 3 components vector aligned in memory of signed integer numbers.
 
typedef aligned_highp_ivec4 aligned_ivec4
 4 components vector aligned in memory of signed integer numbers.
 
typedef vec< 1, bool, aligned_lowp > aligned_lowp_bvec1
 1 component vector aligned in memory of bool values.
 
typedef vec< 2, bool, aligned_lowp > aligned_lowp_bvec2
 2 components vector aligned in memory of bool values.
 
typedef vec< 3, bool, aligned_lowp > aligned_lowp_bvec3
 3 components vector aligned in memory of bool values.
 
typedef vec< 4, bool, aligned_lowp > aligned_lowp_bvec4
 4 components vector aligned in memory of bool values.
 
typedef mat< 2, 2, double, aligned_lowp > aligned_lowp_dmat2
 2 by 2 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, aligned_lowp > aligned_lowp_dmat2x2
 2 by 2 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, double, aligned_lowp > aligned_lowp_dmat2x3
 2 by 3 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, double, aligned_lowp > aligned_lowp_dmat2x4
 2 by 4 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, aligned_lowp > aligned_lowp_dmat3
 3 by 3 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, double, aligned_lowp > aligned_lowp_dmat3x2
 3 by 2 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, aligned_lowp > aligned_lowp_dmat3x3
 3 by 3 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, double, aligned_lowp > aligned_lowp_dmat3x4
 3 by 4 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, aligned_lowp > aligned_lowp_dmat4
 4 by 4 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, double, aligned_lowp > aligned_lowp_dmat4x2
 4 by 2 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, double, aligned_lowp > aligned_lowp_dmat4x3
 4 by 3 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, aligned_lowp > aligned_lowp_dmat4x4
 4 by 4 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 1, double, aligned_lowp > aligned_lowp_dvec1
 1 component vector aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 2, double, aligned_lowp > aligned_lowp_dvec2
 2 components vector aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 3, double, aligned_lowp > aligned_lowp_dvec3
 3 components vector aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 4, double, aligned_lowp > aligned_lowp_dvec4
 4 components vector aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 1, int, aligned_lowp > aligned_lowp_ivec1
 1 component vector aligned in memory of signed integer numbers.
 
typedef vec< 2, int, aligned_lowp > aligned_lowp_ivec2
 2 components vector aligned in memory of signed integer numbers.
 
typedef vec< 3, int, aligned_lowp > aligned_lowp_ivec3
 3 components vector aligned in memory of signed integer numbers.
 
typedef vec< 4, int, aligned_lowp > aligned_lowp_ivec4
 4 components vector aligned in memory of signed integer numbers.
 
typedef mat< 2, 2, float, aligned_lowp > aligned_lowp_mat2
 2 by 2 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, aligned_lowp > aligned_lowp_mat2x2
 2 by 2 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, float, aligned_lowp > aligned_lowp_mat2x3
 2 by 3 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, float, aligned_lowp > aligned_lowp_mat2x4
 2 by 4 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, aligned_lowp > aligned_lowp_mat3
 3 by 3 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, float, aligned_lowp > aligned_lowp_mat3x2
 3 by 2 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, aligned_lowp > aligned_lowp_mat3x3
 3 by 3 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, float, aligned_lowp > aligned_lowp_mat3x4
 3 by 4 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, aligned_lowp > aligned_lowp_mat4
 4 by 4 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, float, aligned_lowp > aligned_lowp_mat4x2
 4 by 2 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, float, aligned_lowp > aligned_lowp_mat4x3
 4 by 3 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, aligned_lowp > aligned_lowp_mat4x4
 4 by 4 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 1, uint, aligned_lowp > aligned_lowp_uvec1
 1 component vector aligned in memory of unsigned integer numbers.
 
typedef vec< 2, uint, aligned_lowp > aligned_lowp_uvec2
 2 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 3, uint, aligned_lowp > aligned_lowp_uvec3
 3 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 4, uint, aligned_lowp > aligned_lowp_uvec4
 4 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 1, float, aligned_lowp > aligned_lowp_vec1
 1 component vector aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 2, float, aligned_lowp > aligned_lowp_vec2
 2 components vector aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 3, float, aligned_lowp > aligned_lowp_vec3
 3 components vector aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 4, float, aligned_lowp > aligned_lowp_vec4
 4 components vector aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef aligned_highp_mat2 aligned_mat2
 2 by 2 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat2x2 aligned_mat2x2
 2 by 2 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat2x3 aligned_mat2x3
 2 by 3 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat2x4 aligned_mat2x4
 2 by 4 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat3 aligned_mat3
 3 by 3 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat3x2 aligned_mat3x2
 3 by 2 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat3x3 aligned_mat3x3
 3 by 3 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat3x4 aligned_mat3x4
 3 by 4 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat4 aligned_mat4
 4 by 4 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat4x2 aligned_mat4x2
 4 by 2 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat4x3 aligned_mat4x3
 4 by 3 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_mat4x4 aligned_mat4x4
 4 by 4 matrix tightly aligned in memory of single-precision floating-point numbers.
 
typedef vec< 1, bool, aligned_mediump > aligned_mediump_bvec1
 1 component vector aligned in memory of bool values.
 
typedef vec< 2, bool, aligned_mediump > aligned_mediump_bvec2
 2 components vector aligned in memory of bool values.
 
typedef vec< 3, bool, aligned_mediump > aligned_mediump_bvec3
 3 components vector aligned in memory of bool values.
 
typedef vec< 4, bool, aligned_mediump > aligned_mediump_bvec4
 4 components vector aligned in memory of bool values.
 
typedef mat< 2, 2, double, aligned_mediump > aligned_mediump_dmat2
 2 by 2 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, aligned_mediump > aligned_mediump_dmat2x2
 2 by 2 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, double, aligned_mediump > aligned_mediump_dmat2x3
 2 by 3 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, double, aligned_mediump > aligned_mediump_dmat2x4
 2 by 4 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, aligned_mediump > aligned_mediump_dmat3
 3 by 3 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, double, aligned_mediump > aligned_mediump_dmat3x2
 3 by 2 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, aligned_mediump > aligned_mediump_dmat3x3
 3 by 3 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, double, aligned_mediump > aligned_mediump_dmat3x4
 3 by 4 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, aligned_mediump > aligned_mediump_dmat4
 4 by 4 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, double, aligned_mediump > aligned_mediump_dmat4x2
 4 by 2 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, double, aligned_mediump > aligned_mediump_dmat4x3
 4 by 3 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, aligned_mediump > aligned_mediump_dmat4x4
 4 by 4 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 1, double, aligned_mediump > aligned_mediump_dvec1
 1 component vector aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 2, double, aligned_mediump > aligned_mediump_dvec2
 2 components vector aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 3, double, aligned_mediump > aligned_mediump_dvec3
 3 components vector aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 4, double, aligned_mediump > aligned_mediump_dvec4
 4 components vector aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 1, int, aligned_mediump > aligned_mediump_ivec1
 1 component vector aligned in memory of signed integer numbers.
 
typedef vec< 2, int, aligned_mediump > aligned_mediump_ivec2
 2 components vector aligned in memory of signed integer numbers.
 
typedef vec< 3, int, aligned_mediump > aligned_mediump_ivec3
 3 components vector aligned in memory of signed integer numbers.
 
typedef vec< 4, int, aligned_mediump > aligned_mediump_ivec4
 4 components vector aligned in memory of signed integer numbers.
 
typedef mat< 2, 2, float, aligned_mediump > aligned_mediump_mat2
 2 by 2 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, aligned_mediump > aligned_mediump_mat2x2
 2 by 2 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, float, aligned_mediump > aligned_mediump_mat2x3
 2 by 3 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, float, aligned_mediump > aligned_mediump_mat2x4
 2 by 4 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, aligned_mediump > aligned_mediump_mat3
 3 by 3 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, float, aligned_mediump > aligned_mediump_mat3x2
 3 by 2 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, aligned_mediump > aligned_mediump_mat3x3
 3 by 3 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, float, aligned_mediump > aligned_mediump_mat3x4
 3 by 4 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, aligned_mediump > aligned_mediump_mat4
 4 by 4 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, float, aligned_mediump > aligned_mediump_mat4x2
 4 by 2 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, float, aligned_mediump > aligned_mediump_mat4x3
 4 by 3 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, aligned_mediump > aligned_mediump_mat4x4
 4 by 4 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 1, uint, aligned_mediump > aligned_mediump_uvec1
 1 component vector aligned in memory of unsigned integer numbers.
 
typedef vec< 2, uint, aligned_mediump > aligned_mediump_uvec2
 2 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 3, uint, aligned_mediump > aligned_mediump_uvec3
 3 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 4, uint, aligned_mediump > aligned_mediump_uvec4
 4 components vector aligned in memory of unsigned integer numbers.
 
typedef vec< 1, float, aligned_mediump > aligned_mediump_vec1
 1 component vector aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 2, float, aligned_mediump > aligned_mediump_vec2
 2 components vector aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 3, float, aligned_mediump > aligned_mediump_vec3
 3 components vector aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 4, float, aligned_mediump > aligned_mediump_vec4
 4 components vector aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef aligned_highp_uvec1 aligned_uvec1
 1 component vector aligned in memory of unsigned integer numbers.
 
typedef aligned_highp_uvec2 aligned_uvec2
 2 components vector aligned in memory of unsigned integer numbers.
 
typedef aligned_highp_uvec3 aligned_uvec3
 3 components vector aligned in memory of unsigned integer numbers.
 
typedef aligned_highp_uvec4 aligned_uvec4
 4 components vector aligned in memory of unsigned integer numbers.
 
typedef aligned_highp_vec1 aligned_vec1
 1 component vector aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_vec2 aligned_vec2
 2 components vector aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_vec3 aligned_vec3
 3 components vector aligned in memory of single-precision floating-point numbers.
 
typedef aligned_highp_vec4 aligned_vec4
 4 components vector aligned in memory of single-precision floating-point numbers.
 
typedef packed_highp_bvec1 packed_bvec1
 1 components vector tightly packed in memory of bool values.
 
typedef packed_highp_bvec2 packed_bvec2
 2 components vector tightly packed in memory of bool values.
 
typedef packed_highp_bvec3 packed_bvec3
 3 components vector tightly packed in memory of bool values.
 
typedef packed_highp_bvec4 packed_bvec4
 4 components vector tightly packed in memory of bool values.
 
typedef packed_highp_dmat2 packed_dmat2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat2x2 packed_dmat2x2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat2x3 packed_dmat2x3
 2 by 3 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat2x4 packed_dmat2x4
 2 by 4 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat3 packed_dmat3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat3x2 packed_dmat3x2
 3 by 2 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat3x3 packed_dmat3x3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat3x4 packed_dmat3x4
 3 by 4 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat4 packed_dmat4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat4x2 packed_dmat4x2
 4 by 2 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat4x3 packed_dmat4x3
 4 by 3 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dmat4x4 packed_dmat4x4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dvec1 packed_dvec1
 1 component vector tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dvec2 packed_dvec2
 2 components vector tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dvec3 packed_dvec3
 3 components vector tightly packed in memory of double-precision floating-point numbers.
 
typedef packed_highp_dvec4 packed_dvec4
 4 components vector tightly packed in memory of double-precision floating-point numbers.
 
typedef vec< 1, bool, packed_highp > packed_highp_bvec1
 1 component vector tightly packed in memory of bool values.
 
typedef vec< 2, bool, packed_highp > packed_highp_bvec2
 2 components vector tightly packed in memory of bool values.
 
typedef vec< 3, bool, packed_highp > packed_highp_bvec3
 3 components vector tightly packed in memory of bool values.
 
typedef vec< 4, bool, packed_highp > packed_highp_bvec4
 4 components vector tightly packed in memory of bool values.
 
typedef mat< 2, 2, double, packed_highp > packed_highp_dmat2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, packed_highp > packed_highp_dmat2x2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, double, packed_highp > packed_highp_dmat2x3
 2 by 3 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, double, packed_highp > packed_highp_dmat2x4
 2 by 4 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, packed_highp > packed_highp_dmat3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, double, packed_highp > packed_highp_dmat3x2
 3 by 2 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, packed_highp > packed_highp_dmat3x3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, double, packed_highp > packed_highp_dmat3x4
 3 by 4 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, packed_highp > packed_highp_dmat4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, double, packed_highp > packed_highp_dmat4x2
 4 by 2 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, double, packed_highp > packed_highp_dmat4x3
 4 by 3 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, packed_highp > packed_highp_dmat4x4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 1, double, packed_highp > packed_highp_dvec1
 1 component vector tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 2, double, packed_highp > packed_highp_dvec2
 2 components vector tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 3, double, packed_highp > packed_highp_dvec3
 3 components vector tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 4, double, packed_highp > packed_highp_dvec4
 4 components vector tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 1, int, packed_highp > packed_highp_ivec1
 1 component vector tightly packed in memory of signed integer numbers.
 
typedef vec< 2, int, packed_highp > packed_highp_ivec2
 2 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 3, int, packed_highp > packed_highp_ivec3
 3 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 4, int, packed_highp > packed_highp_ivec4
 4 components vector tightly packed in memory of signed integer numbers.
 
typedef mat< 2, 2, float, packed_highp > packed_highp_mat2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, packed_highp > packed_highp_mat2x2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, float, packed_highp > packed_highp_mat2x3
 2 by 3 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, float, packed_highp > packed_highp_mat2x4
 2 by 4 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, packed_highp > packed_highp_mat3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, float, packed_highp > packed_highp_mat3x2
 3 by 2 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, packed_highp > packed_highp_mat3x3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, float, packed_highp > packed_highp_mat3x4
 3 by 4 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, packed_highp > packed_highp_mat4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, float, packed_highp > packed_highp_mat4x2
 4 by 2 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, float, packed_highp > packed_highp_mat4x3
 4 by 3 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, packed_highp > packed_highp_mat4x4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 1, uint, packed_highp > packed_highp_uvec1
 1 component vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 2, uint, packed_highp > packed_highp_uvec2
 2 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 3, uint, packed_highp > packed_highp_uvec3
 3 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 4, uint, packed_highp > packed_highp_uvec4
 4 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 1, float, packed_highp > packed_highp_vec1
 1 component vector tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 2, float, packed_highp > packed_highp_vec2
 2 components vector tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 3, float, packed_highp > packed_highp_vec3
 3 components vector tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef vec< 4, float, packed_highp > packed_highp_vec4
 4 components vector tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs.
 
typedef packed_highp_ivec1 packed_ivec1
 1 component vector tightly packed in memory of signed integer numbers.
 
typedef packed_highp_ivec2 packed_ivec2
 2 components vector tightly packed in memory of signed integer numbers.
 
typedef packed_highp_ivec3 packed_ivec3
 3 components vector tightly packed in memory of signed integer numbers.
 
typedef packed_highp_ivec4 packed_ivec4
 4 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 1, bool, packed_lowp > packed_lowp_bvec1
 1 component vector tightly packed in memory of bool values.
 
typedef vec< 2, bool, packed_lowp > packed_lowp_bvec2
 2 components vector tightly packed in memory of bool values.
 
typedef vec< 3, bool, packed_lowp > packed_lowp_bvec3
 3 components vector tightly packed in memory of bool values.
 
typedef vec< 4, bool, packed_lowp > packed_lowp_bvec4
 4 components vector tightly packed in memory of bool values.
 
typedef mat< 2, 2, double, packed_lowp > packed_lowp_dmat2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, packed_lowp > packed_lowp_dmat2x2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, double, packed_lowp > packed_lowp_dmat2x3
 2 by 3 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, double, packed_lowp > packed_lowp_dmat2x4
 2 by 4 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, packed_lowp > packed_lowp_dmat3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, double, packed_lowp > packed_lowp_dmat3x2
 3 by 2 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, packed_lowp > packed_lowp_dmat3x3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, double, packed_lowp > packed_lowp_dmat3x4
 3 by 4 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, packed_lowp > packed_lowp_dmat4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, double, packed_lowp > packed_lowp_dmat4x2
 4 by 2 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, double, packed_lowp > packed_lowp_dmat4x3
 4 by 3 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, packed_lowp > packed_lowp_dmat4x4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 1, double, packed_lowp > packed_lowp_dvec1
 1 component vector tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 2, double, packed_lowp > packed_lowp_dvec2
 2 components vector tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 3, double, packed_lowp > packed_lowp_dvec3
 3 components vector tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 4, double, packed_lowp > packed_lowp_dvec4
 4 components vector tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 1, int, packed_lowp > packed_lowp_ivec1
 1 component vector tightly packed in memory of signed integer numbers.
 
typedef vec< 2, int, packed_lowp > packed_lowp_ivec2
 2 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 3, int, packed_lowp > packed_lowp_ivec3
 3 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 4, int, packed_lowp > packed_lowp_ivec4
 4 components vector tightly packed in memory of signed integer numbers.
 
typedef mat< 2, 2, float, packed_lowp > packed_lowp_mat2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, packed_lowp > packed_lowp_mat2x2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, float, packed_lowp > packed_lowp_mat2x3
 2 by 3 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, float, packed_lowp > packed_lowp_mat2x4
 2 by 4 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, packed_lowp > packed_lowp_mat3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, float, packed_lowp > packed_lowp_mat3x2
 3 by 2 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, packed_lowp > packed_lowp_mat3x3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, float, packed_lowp > packed_lowp_mat3x4
 3 by 4 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, packed_lowp > packed_lowp_mat4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, float, packed_lowp > packed_lowp_mat4x2
 4 by 2 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, float, packed_lowp > packed_lowp_mat4x3
 4 by 3 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, packed_lowp > packed_lowp_mat4x4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 1, uint, packed_lowp > packed_lowp_uvec1
 1 component vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 2, uint, packed_lowp > packed_lowp_uvec2
 2 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 3, uint, packed_lowp > packed_lowp_uvec3
 3 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 4, uint, packed_lowp > packed_lowp_uvec4
 4 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 1, float, packed_lowp > packed_lowp_vec1
 1 component vector tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 2, float, packed_lowp > packed_lowp_vec2
 2 components vector tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 3, float, packed_lowp > packed_lowp_vec3
 3 components vector tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef vec< 4, float, packed_lowp > packed_lowp_vec4
 4 components vector tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs.
 
typedef packed_highp_mat2 packed_mat2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat2x2 packed_mat2x2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat2x3 packed_mat2x3
 2 by 3 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat2x4 packed_mat2x4
 2 by 4 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat3 packed_mat3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat3x2 packed_mat3x2
 3 by 2 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat3x3 packed_mat3x3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat3x4 packed_mat3x4
 3 by 4 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat4 packed_mat4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat4x2 packed_mat4x2
 4 by 2 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat4x3 packed_mat4x3
 4 by 3 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_mat4x4 packed_mat4x4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers.
 
typedef vec< 1, bool, packed_mediump > packed_mediump_bvec1
 1 component vector tightly packed in memory of bool values.
 
typedef vec< 2, bool, packed_mediump > packed_mediump_bvec2
 2 components vector tightly packed in memory of bool values.
 
typedef vec< 3, bool, packed_mediump > packed_mediump_bvec3
 3 components vector tightly packed in memory of bool values.
 
typedef vec< 4, bool, packed_mediump > packed_mediump_bvec4
 4 components vector tightly packed in memory of bool values.
 
typedef mat< 2, 2, double, packed_mediump > packed_mediump_dmat2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, double, packed_mediump > packed_mediump_dmat2x2
 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, double, packed_mediump > packed_mediump_dmat2x3
 2 by 3 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, double, packed_mediump > packed_mediump_dmat2x4
 2 by 4 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, packed_mediump > packed_mediump_dmat3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, double, packed_mediump > packed_mediump_dmat3x2
 3 by 2 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, double, packed_mediump > packed_mediump_dmat3x3
 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, double, packed_mediump > packed_mediump_dmat3x4
 3 by 4 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, packed_mediump > packed_mediump_dmat4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, double, packed_mediump > packed_mediump_dmat4x2
 4 by 2 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, double, packed_mediump > packed_mediump_dmat4x3
 4 by 3 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, double, packed_mediump > packed_mediump_dmat4x4
 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 1, double, packed_mediump > packed_mediump_dvec1
 1 component vector tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 2, double, packed_mediump > packed_mediump_dvec2
 2 components vector tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 3, double, packed_mediump > packed_mediump_dvec3
 3 components vector tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 4, double, packed_mediump > packed_mediump_dvec4
 4 components vector tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 1, int, packed_mediump > packed_mediump_ivec1
 1 component vector tightly packed in memory of signed integer numbers.
 
typedef vec< 2, int, packed_mediump > packed_mediump_ivec2
 2 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 3, int, packed_mediump > packed_mediump_ivec3
 3 components vector tightly packed in memory of signed integer numbers.
 
typedef vec< 4, int, packed_mediump > packed_mediump_ivec4
 4 components vector tightly packed in memory of signed integer numbers.
 
typedef mat< 2, 2, float, packed_mediump > packed_mediump_mat2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 2, float, packed_mediump > packed_mediump_mat2x2
 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 3, float, packed_mediump > packed_mediump_mat2x3
 2 by 3 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 2, 4, float, packed_mediump > packed_mediump_mat2x4
 2 by 4 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, packed_mediump > packed_mediump_mat3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 2, float, packed_mediump > packed_mediump_mat3x2
 3 by 2 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 3, float, packed_mediump > packed_mediump_mat3x3
 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 3, 4, float, packed_mediump > packed_mediump_mat3x4
 3 by 4 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, packed_mediump > packed_mediump_mat4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 2, float, packed_mediump > packed_mediump_mat4x2
 4 by 2 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 3, float, packed_mediump > packed_mediump_mat4x3
 4 by 3 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef mat< 4, 4, float, packed_mediump > packed_mediump_mat4x4
 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 1, uint, packed_mediump > packed_mediump_uvec1
 1 component vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 2, uint, packed_mediump > packed_mediump_uvec2
 2 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 3, uint, packed_mediump > packed_mediump_uvec3
 3 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 4, uint, packed_mediump > packed_mediump_uvec4
 4 components vector tightly packed in memory of unsigned integer numbers.
 
typedef vec< 1, float, packed_mediump > packed_mediump_vec1
 1 component vector tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 2, float, packed_mediump > packed_mediump_vec2
 2 components vector tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 3, float, packed_mediump > packed_mediump_vec3
 3 components vector tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef vec< 4, float, packed_mediump > packed_mediump_vec4
 4 components vector tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs.
 
typedef packed_highp_uvec1 packed_uvec1
 1 component vector tightly packed in memory of unsigned integer numbers.
 
typedef packed_highp_uvec2 packed_uvec2
 2 components vector tightly packed in memory of unsigned integer numbers.
 
typedef packed_highp_uvec3 packed_uvec3
 3 components vector tightly packed in memory of unsigned integer numbers.
 
typedef packed_highp_uvec4 packed_uvec4
 4 components vector tightly packed in memory of unsigned integer numbers.
 
typedef packed_highp_vec1 packed_vec1
 1 component vector tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_vec2 packed_vec2
 2 components vector tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_vec3 packed_vec3
 3 components vector tightly packed in memory of single-precision floating-point numbers.
 
typedef packed_highp_vec4 packed_vec4
 4 components vector tightly packed in memory of single-precision floating-point numbers.
 

Detailed Description

Include <glm/gtc/type_aligned.hpp> to use the features of this extension.

Aligned types allowing SIMD optimizations of vectors and matrices types

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00304.html ================================================ 0.9.9 API documentation: GLM_GTC_type_precision
0.9.9 API documentation
GLM_GTC_type_precision

Include <glm/gtc/type_precision.hpp> to use the features of this extension. More...

Typedefs

typedef float f32
 Default 32 bit single-qualifier floating-point scalar. More...
 
typedef mat< 2, 2, f32, defaultp > f32mat2
 Single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 2, f32, defaultp > f32mat2x2
 Single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 3, f32, defaultp > f32mat2x3
 Single-qualifier floating-point 2x3 matrix. More...
 
typedef mat< 2, 4, f32, defaultp > f32mat2x4
 Single-qualifier floating-point 2x4 matrix. More...
 
typedef mat< 3, 3, f32, defaultp > f32mat3
 Single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 2, f32, defaultp > f32mat3x2
 Single-qualifier floating-point 3x2 matrix. More...
 
typedef mat< 3, 3, f32, defaultp > f32mat3x3
 Single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 4, f32, defaultp > f32mat3x4
 Single-qualifier floating-point 3x4 matrix. More...
 
typedef mat< 4, 4, f32, defaultp > f32mat4
 Single-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 4, 2, f32, defaultp > f32mat4x2
 Single-qualifier floating-point 4x2 matrix. More...
 
typedef mat< 4, 3, f32, defaultp > f32mat4x3
 Single-qualifier floating-point 4x3 matrix. More...
 
typedef mat< 4, 4, f32, defaultp > f32mat4x4
 Single-qualifier floating-point 4x4 matrix. More...
 
typedef qua< f32, defaultp > f32quat
 Single-qualifier floating-point quaternion. More...
 
typedef vec< 1, f32, defaultp > f32vec1
 Single-qualifier floating-point vector of 1 component. More...
 
typedef vec< 2, f32, defaultp > f32vec2
 Single-qualifier floating-point vector of 2 components. More...
 
typedef vec< 3, f32, defaultp > f32vec3
 Single-qualifier floating-point vector of 3 components. More...
 
typedef vec< 4, f32, defaultp > f32vec4
 Single-qualifier floating-point vector of 4 components. More...
 
typedef double f64
 Default 64 bit double-qualifier floating-point scalar. More...
 
typedef mat< 2, 2, f64, defaultp > f64mat2
 Double-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 2, f64, defaultp > f64mat2x2
 Double-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 3, f64, defaultp > f64mat2x3
 Double-qualifier floating-point 2x3 matrix. More...
 
typedef mat< 2, 4, f64, defaultp > f64mat2x4
 Double-qualifier floating-point 2x4 matrix. More...
 
typedef mat< 3, 3, f64, defaultp > f64mat3
 Double-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 2, f64, defaultp > f64mat3x2
 Double-qualifier floating-point 3x2 matrix. More...
 
typedef mat< 3, 3, f64, defaultp > f64mat3x3
 Double-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 4, f64, defaultp > f64mat3x4
 Double-qualifier floating-point 3x4 matrix. More...
 
typedef mat< 4, 4, f64, defaultp > f64mat4
 Double-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 4, 2, f64, defaultp > f64mat4x2
 Double-qualifier floating-point 4x2 matrix. More...
 
typedef mat< 4, 3, f64, defaultp > f64mat4x3
 Double-qualifier floating-point 4x3 matrix. More...
 
typedef mat< 4, 4, f64, defaultp > f64mat4x4
 Double-qualifier floating-point 4x4 matrix. More...
 
typedef qua< f64, defaultp > f64quat
 Double-qualifier floating-point quaternion. More...
 
typedef vec< 1, f64, defaultp > f64vec1
 Double-qualifier floating-point vector of 1 component. More...
 
typedef vec< 2, f64, defaultp > f64vec2
 Double-qualifier floating-point vector of 2 components. More...
 
typedef vec< 3, f64, defaultp > f64vec3
 Double-qualifier floating-point vector of 3 components. More...
 
typedef vec< 4, f64, defaultp > f64vec4
 Double-qualifier floating-point vector of 4 components. More...
 
typedef float float32
 Single-qualifier floating-point scalar. More...
 
typedef float float32_t
 Default 32 bit single-qualifier floating-point scalar. More...
 
typedef double float64
 Double-qualifier floating-point scalar. More...
 
typedef double float64_t
 Default 64 bit double-qualifier floating-point scalar. More...
 
typedef mat< 2, 2, f32, defaultp > fmat2
 Single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 2, f32, defaultp > fmat2x2
 Single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 3, f32, defaultp > fmat2x3
 Single-qualifier floating-point 2x3 matrix. More...
 
typedef mat< 2, 4, f32, defaultp > fmat2x4
 Single-qualifier floating-point 2x4 matrix. More...
 
typedef mat< 3, 3, f32, defaultp > fmat3
 Single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 2, f32, defaultp > fmat3x2
 Single-qualifier floating-point 3x2 matrix. More...
 
typedef mat< 3, 3, f32, defaultp > fmat3x3
 Single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 4, f32, defaultp > fmat3x4
 Single-qualifier floating-point 3x4 matrix. More...
 
typedef mat< 4, 4, f32, defaultp > fmat4
 Single-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 4, 2, f32, defaultp > fmat4x2
 Single-qualifier floating-point 4x2 matrix. More...
 
typedef mat< 4, 3, f32, defaultp > fmat4x3
 Single-qualifier floating-point 4x3 matrix. More...
 
typedef mat< 4, 4, f32, defaultp > fmat4x4
 Single-qualifier floating-point 4x4 matrix. More...
 
typedef vec< 1, f32, defaultp > fvec1
 Single-qualifier floating-point vector of 1 component. More...
 
typedef vec< 2, f32, defaultp > fvec2
 Single-qualifier floating-point vector of 2 components. More...
 
typedef vec< 3, f32, defaultp > fvec3
 Single-qualifier floating-point vector of 3 components. More...
 
typedef vec< 4, f32, defaultp > fvec4
 Single-qualifier floating-point vector of 4 components. More...
 
typedef float highp_f32
 High 32 bit single-qualifier floating-point scalar. More...
 
typedef mat< 2, 2, f32, highp > highp_f32mat2
 High single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 2, f32, highp > highp_f32mat2x2
 High single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 3, f32, highp > highp_f32mat2x3
 High single-qualifier floating-point 2x3 matrix. More...
 
typedef mat< 2, 4, f32, highp > highp_f32mat2x4
 High single-qualifier floating-point 2x4 matrix. More...
 
typedef mat< 3, 3, f32, highp > highp_f32mat3
 High single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 2, f32, highp > highp_f32mat3x2
 High single-qualifier floating-point 3x2 matrix. More...
 
typedef mat< 3, 3, f32, highp > highp_f32mat3x3
 High single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 4, f32, highp > highp_f32mat3x4
 High single-qualifier floating-point 3x4 matrix. More...
 
typedef mat< 4, 4, f32, highp > highp_f32mat4
 High single-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 4, 2, f32, highp > highp_f32mat4x2
 High single-qualifier floating-point 4x2 matrix. More...
 
typedef mat< 4, 3, f32, highp > highp_f32mat4x3
 High single-qualifier floating-point 4x3 matrix. More...
 
typedef mat< 4, 4, f32, highp > highp_f32mat4x4
 High single-qualifier floating-point 4x4 matrix. More...
 
typedef qua< f32, highp > highp_f32quat
 High single-qualifier floating-point quaternion. More...
 
typedef vec< 1, f32, highp > highp_f32vec1
 High single-qualifier floating-point vector of 1 component. More...
 
typedef vec< 2, f32, highp > highp_f32vec2
 High single-qualifier floating-point vector of 2 components. More...
 
typedef vec< 3, f32, highp > highp_f32vec3
 High single-qualifier floating-point vector of 3 components. More...
 
typedef vec< 4, f32, highp > highp_f32vec4
 High single-qualifier floating-point vector of 4 components. More...
 
typedef double highp_f64
 High 64 bit double-qualifier floating-point scalar. More...
 
typedef mat< 2, 2, f64, highp > highp_f64mat2
 High double-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 2, f64, highp > highp_f64mat2x2
 High double-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 3, f64, highp > highp_f64mat2x3
 High double-qualifier floating-point 2x3 matrix. More...
 
typedef mat< 2, 4, f64, highp > highp_f64mat2x4
 High double-qualifier floating-point 2x4 matrix. More...
 
typedef mat< 3, 3, f64, highp > highp_f64mat3
 High double-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 2, f64, highp > highp_f64mat3x2
 High double-qualifier floating-point 3x2 matrix. More...
 
typedef mat< 3, 3, f64, highp > highp_f64mat3x3
 High double-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 4, f64, highp > highp_f64mat3x4
 High double-qualifier floating-point 3x4 matrix. More...
 
typedef mat< 4, 4, f64, highp > highp_f64mat4
 High double-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 4, 2, f64, highp > highp_f64mat4x2
 High double-qualifier floating-point 4x2 matrix. More...
 
typedef mat< 4, 3, f64, highp > highp_f64mat4x3
 High double-qualifier floating-point 4x3 matrix. More...
 
typedef mat< 4, 4, f64, highp > highp_f64mat4x4
 High double-qualifier floating-point 4x4 matrix. More...
 
typedef qua< f64, highp > highp_f64quat
 High double-qualifier floating-point quaternion. More...
 
typedef vec< 1, f64, highp > highp_f64vec1
 High double-qualifier floating-point vector of 1 component. More...
 
typedef vec< 2, f64, highp > highp_f64vec2
 High double-qualifier floating-point vector of 2 components. More...
 
typedef vec< 3, f64, highp > highp_f64vec3
 High double-qualifier floating-point vector of 3 components. More...
 
typedef vec< 4, f64, highp > highp_f64vec4
 High double-qualifier floating-point vector of 4 components. More...
 
typedef float highp_float32
 High 32 bit single-qualifier floating-point scalar. More...
 
typedef float highp_float32_t
 High 32 bit single-qualifier floating-point scalar. More...
 
typedef double highp_float64
 High 64 bit double-qualifier floating-point scalar. More...
 
typedef double highp_float64_t
 High 64 bit double-qualifier floating-point scalar. More...
 
typedef mat< 2, 2, f32, highp > highp_fmat2
 High single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 2, f32, highp > highp_fmat2x2
 High single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 3, f32, highp > highp_fmat2x3
 High single-qualifier floating-point 2x3 matrix. More...
 
typedef mat< 2, 4, f32, highp > highp_fmat2x4
 High single-qualifier floating-point 2x4 matrix. More...
 
typedef mat< 3, 3, f32, highp > highp_fmat3
 High single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 2, f32, highp > highp_fmat3x2
 High single-qualifier floating-point 3x2 matrix. More...
 
typedef mat< 3, 3, f32, highp > highp_fmat3x3
 High single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 4, f32, highp > highp_fmat3x4
 High single-qualifier floating-point 3x4 matrix. More...
 
typedef mat< 4, 4, f32, highp > highp_fmat4
 High single-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 4, 2, f32, highp > highp_fmat4x2
 High single-qualifier floating-point 4x2 matrix. More...
 
typedef mat< 4, 3, f32, highp > highp_fmat4x3
 High single-qualifier floating-point 4x3 matrix. More...
 
typedef mat< 4, 4, f32, highp > highp_fmat4x4
 High single-qualifier floating-point 4x4 matrix. More...
 
typedef vec< 1, float, highp > highp_fvec1
 High single-qualifier floating-point vector of 1 component. More...
 
typedef vec< 2, float, highp > highp_fvec2
 High Single-qualifier floating-point vector of 2 components. More...
 
typedef vec< 3, float, highp > highp_fvec3
 High Single-qualifier floating-point vector of 3 components. More...
 
typedef vec< 4, float, highp > highp_fvec4
 High Single-qualifier floating-point vector of 4 components. More...
 
typedef int16 highp_i16
 High qualifier 16 bit signed integer type. More...
 
typedef vec< 1, i16, highp > highp_i16vec1
 High qualifier 16 bit signed integer scalar type. More...
 
typedef vec< 2, i16, highp > highp_i16vec2
 High qualifier 16 bit signed integer vector of 2 components type. More...
 
typedef vec< 3, i16, highp > highp_i16vec3
 High qualifier 16 bit signed integer vector of 3 components type. More...
 
typedef vec< 4, i16, highp > highp_i16vec4
 High qualifier 16 bit signed integer vector of 4 components type. More...
 
typedef int32 highp_i32
 High qualifier 32 bit signed integer type. More...
 
typedef vec< 1, i32, highp > highp_i32vec1
 High qualifier 32 bit signed integer scalar type. More...
 
typedef vec< 2, i32, highp > highp_i32vec2
 High qualifier 32 bit signed integer vector of 2 components type. More...
 
typedef vec< 3, i32, highp > highp_i32vec3
 High qualifier 32 bit signed integer vector of 3 components type. More...
 
typedef vec< 4, i32, highp > highp_i32vec4
 High qualifier 32 bit signed integer vector of 4 components type. More...
 
typedef int64 highp_i64
 High qualifier 64 bit signed integer type. More...
 
typedef vec< 1, i64, highp > highp_i64vec1
 High qualifier 64 bit signed integer scalar type. More...
 
typedef vec< 2, i64, highp > highp_i64vec2
 High qualifier 64 bit signed integer vector of 2 components type. More...
 
typedef vec< 3, i64, highp > highp_i64vec3
 High qualifier 64 bit signed integer vector of 3 components type. More...
 
typedef vec< 4, i64, highp > highp_i64vec4
 High qualifier 64 bit signed integer vector of 4 components type. More...
 
typedef int8 highp_i8
 High qualifier 8 bit signed integer type. More...
 
typedef vec< 1, i8, highp > highp_i8vec1
 High qualifier 8 bit signed integer scalar type. More...
 
typedef vec< 2, i8, highp > highp_i8vec2
 High qualifier 8 bit signed integer vector of 2 components type. More...
 
typedef vec< 3, i8, highp > highp_i8vec3
 High qualifier 8 bit signed integer vector of 3 components type. More...
 
typedef vec< 4, i8, highp > highp_i8vec4
 High qualifier 8 bit signed integer vector of 4 components type. More...
 
typedef int16 highp_int16
 High qualifier 16 bit signed integer type. More...
 
typedef int16 highp_int16_t
 High qualifier 16 bit signed integer type. More...
 
typedef int32 highp_int32
 High qualifier 32 bit signed integer type. More...
 
typedef int32 highp_int32_t
 32 bit signed integer type. More...
 
typedef int64 highp_int64
 High qualifier 64 bit signed integer type. More...
 
typedef int64 highp_int64_t
 High qualifier 64 bit signed integer type. More...
 
typedef int8 highp_int8
 High qualifier 8 bit signed integer type. More...
 
typedef int8 highp_int8_t
 High qualifier 8 bit signed integer type. More...
 
typedef uint16 highp_u16
 High qualifier 16 bit unsigned integer type. More...
 
typedef vec< 1, u16, highp > highp_u16vec1
 High qualifier 16 bit unsigned integer scalar type. More...
 
typedef vec< 2, u16, highp > highp_u16vec2
 High qualifier 16 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 3, u16, highp > highp_u16vec3
 High qualifier 16 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 4, u16, highp > highp_u16vec4
 High qualifier 16 bit unsigned integer vector of 4 components type. More...
 
typedef uint32 highp_u32
 High qualifier 32 bit unsigned integer type. More...
 
typedef vec< 1, u32, highp > highp_u32vec1
 High qualifier 32 bit unsigned integer scalar type. More...
 
typedef vec< 2, u32, highp > highp_u32vec2
 High qualifier 32 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 3, u32, highp > highp_u32vec3
 High qualifier 32 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 4, u32, highp > highp_u32vec4
 High qualifier 32 bit unsigned integer vector of 4 components type. More...
 
typedef uint64 highp_u64
 High qualifier 64 bit unsigned integer type. More...
 
typedef vec< 1, u64, highp > highp_u64vec1
 High qualifier 64 bit unsigned integer scalar type. More...
 
typedef vec< 2, u64, highp > highp_u64vec2
 High qualifier 64 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 3, u64, highp > highp_u64vec3
 High qualifier 64 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 4, u64, highp > highp_u64vec4
 High qualifier 64 bit unsigned integer vector of 4 components type. More...
 
typedef uint8 highp_u8
 High qualifier 8 bit unsigned integer type. More...
 
typedef vec< 1, u8, highp > highp_u8vec1
 High qualifier 8 bit unsigned integer scalar type. More...
 
typedef vec< 2, u8, highp > highp_u8vec2
 High qualifier 8 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 3, u8, highp > highp_u8vec3
 High qualifier 8 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 4, u8, highp > highp_u8vec4
 High qualifier 8 bit unsigned integer vector of 4 components type. More...
 
typedef uint16 highp_uint16
 High qualifier 16 bit unsigned integer type. More...
 
typedef uint16 highp_uint16_t
 High qualifier 16 bit unsigned integer type. More...
 
typedef uint32 highp_uint32
 High qualifier 32 bit unsigned integer type. More...
 
typedef uint32 highp_uint32_t
 High qualifier 32 bit unsigned integer type. More...
 
typedef uint64 highp_uint64
 High qualifier 64 bit unsigned integer type. More...
 
typedef uint64 highp_uint64_t
 High qualifier 64 bit unsigned integer type. More...
 
typedef uint8 highp_uint8
 High qualifier 8 bit unsigned integer type. More...
 
typedef uint8 highp_uint8_t
 High qualifier 8 bit unsigned integer type. More...
 
typedef int16 i16
 16 bit signed integer type. More...
 
typedef vec< 1, i16, defaultp > i16vec1
 16 bit signed integer scalar type. More...
 
typedef vec< 2, i16, defaultp > i16vec2
 16 bit signed integer vector of 2 components type. More...
 
typedef vec< 3, i16, defaultp > i16vec3
 16 bit signed integer vector of 3 components type. More...
 
typedef vec< 4, i16, defaultp > i16vec4
 16 bit signed integer vector of 4 components type. More...
 
typedef int32 i32
 32 bit signed integer type. More...
 
typedef vec< 1, i32, defaultp > i32vec1
 32 bit signed integer scalar type. More...
 
typedef vec< 2, i32, defaultp > i32vec2
 32 bit signed integer vector of 2 components type. More...
 
typedef vec< 3, i32, defaultp > i32vec3
 32 bit signed integer vector of 3 components type. More...
 
typedef vec< 4, i32, defaultp > i32vec4
 32 bit signed integer vector of 4 components type. More...
 
typedef int64 i64
 64 bit signed integer type. More...
 
typedef vec< 1, i64, defaultp > i64vec1
 64 bit signed integer scalar type. More...
 
typedef vec< 2, i64, defaultp > i64vec2
 64 bit signed integer vector of 2 components type. More...
 
typedef vec< 3, i64, defaultp > i64vec3
 64 bit signed integer vector of 3 components type. More...
 
typedef vec< 4, i64, defaultp > i64vec4
 64 bit signed integer vector of 4 components type. More...
 
typedef int8 i8
 8 bit signed integer type. More...
 
typedef vec< 1, i8, defaultp > i8vec1
 8 bit signed integer scalar type. More...
 
typedef vec< 2, i8, defaultp > i8vec2
 8 bit signed integer vector of 2 components type. More...
 
typedef vec< 3, i8, defaultp > i8vec3
 8 bit signed integer vector of 3 components type. More...
 
typedef vec< 4, i8, defaultp > i8vec4
 8 bit signed integer vector of 4 components type. More...
 
typedef int16 int16_t
 16 bit signed integer type. More...
 
typedef int32 int32_t
 32 bit signed integer type. More...
 
typedef int64 int64_t
 64 bit signed integer type. More...
 
typedef int8 int8_t
 8 bit signed integer type. More...
 
typedef float lowp_f32
 Low 32 bit single-qualifier floating-point scalar. More...
 
typedef mat< 2, 2, f32, lowp > lowp_f32mat2
 Low single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 2, f32, lowp > lowp_f32mat2x2
 Low single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 3, f32, lowp > lowp_f32mat2x3
 Low single-qualifier floating-point 2x3 matrix. More...
 
typedef mat< 2, 4, f32, lowp > lowp_f32mat2x4
 Low single-qualifier floating-point 2x4 matrix. More...
 
typedef mat< 3, 3, f32, lowp > lowp_f32mat3
 Low single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 2, f32, lowp > lowp_f32mat3x2
 Low single-qualifier floating-point 3x2 matrix. More...
 
typedef mat< 3, 3, f32, lowp > lowp_f32mat3x3
 Low single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 4, f32, lowp > lowp_f32mat3x4
 Low single-qualifier floating-point 3x4 matrix. More...
 
typedef mat< 4, 4, f32, lowp > lowp_f32mat4
 Low single-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 4, 2, f32, lowp > lowp_f32mat4x2
 Low single-qualifier floating-point 4x2 matrix. More...
 
typedef mat< 4, 3, f32, lowp > lowp_f32mat4x3
 Low single-qualifier floating-point 4x3 matrix. More...
 
typedef mat< 4, 4, f32, lowp > lowp_f32mat4x4
 Low single-qualifier floating-point 4x4 matrix. More...
 
typedef qua< f32, lowp > lowp_f32quat
 Low single-qualifier floating-point quaternion. More...
 
typedef vec< 1, f32, lowp > lowp_f32vec1
 Low single-qualifier floating-point vector of 1 component. More...
 
typedef vec< 2, f32, lowp > lowp_f32vec2
 Low single-qualifier floating-point vector of 2 components. More...
 
typedef vec< 3, f32, lowp > lowp_f32vec3
 Low single-qualifier floating-point vector of 3 components. More...
 
typedef vec< 4, f32, lowp > lowp_f32vec4
 Low single-qualifier floating-point vector of 4 components. More...
 
typedef double lowp_f64
 Low 64 bit double-qualifier floating-point scalar. More...
 
typedef mat< 2, 2, f64, lowp > lowp_f64mat2
 Low double-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 2, f64, lowp > lowp_f64mat2x2
 Low double-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 3, f64, lowp > lowp_f64mat2x3
 Low double-qualifier floating-point 2x3 matrix. More...
 
typedef mat< 2, 4, f64, lowp > lowp_f64mat2x4
 Low double-qualifier floating-point 2x4 matrix. More...
 
typedef mat< 3, 3, f64, lowp > lowp_f64mat3
 Low double-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 2, f64, lowp > lowp_f64mat3x2
 Low double-qualifier floating-point 3x2 matrix. More...
 
typedef mat< 3, 3, f64, lowp > lowp_f64mat3x3
 Low double-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 4, f64, lowp > lowp_f64mat3x4
 Low double-qualifier floating-point 3x4 matrix. More...
 
typedef mat< 4, 4, f64, lowp > lowp_f64mat4
 Low double-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 4, 2, f64, lowp > lowp_f64mat4x2
 Low double-qualifier floating-point 4x2 matrix. More...
 
typedef mat< 4, 3, f64, lowp > lowp_f64mat4x3
 Low double-qualifier floating-point 4x3 matrix. More...
 
typedef mat< 4, 4, f64, lowp > lowp_f64mat4x4
 Low double-qualifier floating-point 4x4 matrix. More...
 
typedef qua< f64, lowp > lowp_f64quat
 Low double-qualifier floating-point quaternion. More...
 
typedef vec< 1, f64, lowp > lowp_f64vec1
 Low double-qualifier floating-point vector of 1 component. More...
 
typedef vec< 2, f64, lowp > lowp_f64vec2
 Low double-qualifier floating-point vector of 2 components. More...
 
typedef vec< 3, f64, lowp > lowp_f64vec3
 Low double-qualifier floating-point vector of 3 components. More...
 
typedef vec< 4, f64, lowp > lowp_f64vec4
 Low double-qualifier floating-point vector of 4 components. More...
 
typedef float lowp_float32
 Low 32 bit single-qualifier floating-point scalar. More...
 
typedef float lowp_float32_t
 Low 32 bit single-qualifier floating-point scalar. More...
 
typedef double lowp_float64
 Low 64 bit double-qualifier floating-point scalar. More...
 
typedef double lowp_float64_t
 Low 64 bit double-qualifier floating-point scalar. More...
 
typedef mat< 2, 2, f32, lowp > lowp_fmat2
 Low single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 2, f32, lowp > lowp_fmat2x2
 Low single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 3, f32, lowp > lowp_fmat2x3
 Low single-qualifier floating-point 2x3 matrix. More...
 
typedef mat< 2, 4, f32, lowp > lowp_fmat2x4
 Low single-qualifier floating-point 2x4 matrix. More...
 
typedef mat< 3, 3, f32, lowp > lowp_fmat3
 Low single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 2, f32, lowp > lowp_fmat3x2
 Low single-qualifier floating-point 3x2 matrix. More...
 
typedef mat< 3, 3, f32, lowp > lowp_fmat3x3
 Low single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 4, f32, lowp > lowp_fmat3x4
 Low single-qualifier floating-point 3x4 matrix. More...
 
typedef mat< 4, 4, f32, lowp > lowp_fmat4
 Low single-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 4, 2, f32, lowp > lowp_fmat4x2
 Low single-qualifier floating-point 4x2 matrix. More...
 
typedef mat< 4, 3, f32, lowp > lowp_fmat4x3
 Low single-qualifier floating-point 4x3 matrix. More...
 
typedef mat< 4, 4, f32, lowp > lowp_fmat4x4
 Low single-qualifier floating-point 4x4 matrix. More...
 
typedef vec< 1, float, lowp > lowp_fvec1
 Low single-qualifier floating-point vector of 1 component. More...
 
typedef vec< 2, float, lowp > lowp_fvec2
 Low single-qualifier floating-point vector of 2 components. More...
 
typedef vec< 3, float, lowp > lowp_fvec3
 Low single-qualifier floating-point vector of 3 components. More...
 
typedef vec< 4, float, lowp > lowp_fvec4
 Low single-qualifier floating-point vector of 4 components. More...
 
typedef int16 lowp_i16
 Low qualifier 16 bit signed integer type. More...
 
typedef vec< 1, i16, lowp > lowp_i16vec1
 Low qualifier 16 bit signed integer scalar type. More...
 
typedef vec< 2, i16, lowp > lowp_i16vec2
 Low qualifier 16 bit signed integer vector of 2 components type. More...
 
typedef vec< 3, i16, lowp > lowp_i16vec3
 Low qualifier 16 bit signed integer vector of 3 components type. More...
 
typedef vec< 4, i16, lowp > lowp_i16vec4
 Low qualifier 16 bit signed integer vector of 4 components type. More...
 
typedef int32 lowp_i32
 Low qualifier 32 bit signed integer type. More...
 
typedef vec< 1, i32, lowp > lowp_i32vec1
 Low qualifier 32 bit signed integer scalar type. More...
 
typedef vec< 2, i32, lowp > lowp_i32vec2
 Low qualifier 32 bit signed integer vector of 2 components type. More...
 
typedef vec< 3, i32, lowp > lowp_i32vec3
 Low qualifier 32 bit signed integer vector of 3 components type. More...
 
typedef vec< 4, i32, lowp > lowp_i32vec4
 Low qualifier 32 bit signed integer vector of 4 components type. More...
 
typedef int64 lowp_i64
 Low qualifier 64 bit signed integer type. More...
 
typedef vec< 1, i64, lowp > lowp_i64vec1
 Low qualifier 64 bit signed integer scalar type. More...
 
typedef vec< 2, i64, lowp > lowp_i64vec2
 Low qualifier 64 bit signed integer vector of 2 components type. More...
 
typedef vec< 3, i64, lowp > lowp_i64vec3
 Low qualifier 64 bit signed integer vector of 3 components type. More...
 
typedef vec< 4, i64, lowp > lowp_i64vec4
 Low qualifier 64 bit signed integer vector of 4 components type. More...
 
typedef int8 lowp_i8
 Low qualifier 8 bit signed integer type. More...
 
typedef vec< 1, i8, lowp > lowp_i8vec1
 Low qualifier 8 bit signed integer scalar type. More...
 
typedef vec< 2, i8, lowp > lowp_i8vec2
 Low qualifier 8 bit signed integer vector of 2 components type. More...
 
typedef vec< 3, i8, lowp > lowp_i8vec3
 Low qualifier 8 bit signed integer vector of 3 components type. More...
 
typedef vec< 4, i8, lowp > lowp_i8vec4
 Low qualifier 8 bit signed integer vector of 4 components type. More...
 
typedef int16 lowp_int16
 Low qualifier 16 bit signed integer type. More...
 
typedef int16 lowp_int16_t
 Low qualifier 16 bit signed integer type. More...
 
typedef int32 lowp_int32
 Low qualifier 32 bit signed integer type. More...
 
typedef int32 lowp_int32_t
 Low qualifier 32 bit signed integer type. More...
 
typedef int64 lowp_int64
 Low qualifier 64 bit signed integer type. More...
 
typedef int64 lowp_int64_t
 Low qualifier 64 bit signed integer type. More...
 
typedef int8 lowp_int8
 Low qualifier 8 bit signed integer type. More...
 
typedef int8 lowp_int8_t
 Low qualifier 8 bit signed integer type. More...
 
typedef uint16 lowp_u16
 Low qualifier 16 bit unsigned integer type. More...
 
typedef vec< 1, u16, lowp > lowp_u16vec1
 Low qualifier 16 bit unsigned integer scalar type. More...
 
typedef vec< 2, u16, lowp > lowp_u16vec2
 Low qualifier 16 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 3, u16, lowp > lowp_u16vec3
 Low qualifier 16 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 4, u16, lowp > lowp_u16vec4
 Low qualifier 16 bit unsigned integer vector of 4 components type. More...
 
typedef uint32 lowp_u32
 Low qualifier 32 bit unsigned integer type. More...
 
typedef vec< 1, u32, lowp > lowp_u32vec1
 Low qualifier 32 bit unsigned integer scalar type. More...
 
typedef vec< 2, u32, lowp > lowp_u32vec2
 Low qualifier 32 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 3, u32, lowp > lowp_u32vec3
 Low qualifier 32 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 4, u32, lowp > lowp_u32vec4
 Low qualifier 32 bit unsigned integer vector of 4 components type. More...
 
typedef uint64 lowp_u64
 Low qualifier 64 bit unsigned integer type. More...
 
typedef vec< 1, u64, lowp > lowp_u64vec1
 Low qualifier 64 bit unsigned integer scalar type. More...
 
typedef vec< 2, u64, lowp > lowp_u64vec2
 Low qualifier 64 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 3, u64, lowp > lowp_u64vec3
 Low qualifier 64 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 4, u64, lowp > lowp_u64vec4
 Low qualifier 64 bit unsigned integer vector of 4 components type. More...
 
typedef uint8 lowp_u8
 Low qualifier 8 bit unsigned integer type. More...
 
typedef vec< 1, u8, lowp > lowp_u8vec1
 Low qualifier 8 bit unsigned integer scalar type. More...
 
typedef vec< 2, u8, lowp > lowp_u8vec2
 Low qualifier 8 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 3, u8, lowp > lowp_u8vec3
 Low qualifier 8 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 4, u8, lowp > lowp_u8vec4
 Low qualifier 8 bit unsigned integer vector of 4 components type. More...
 
typedef uint16 lowp_uint16
 Low qualifier 16 bit unsigned integer type. More...
 
typedef uint16 lowp_uint16_t
 Low qualifier 16 bit unsigned integer type. More...
 
typedef uint32 lowp_uint32
 Low qualifier 32 bit unsigned integer type. More...
 
typedef uint32 lowp_uint32_t
 Low qualifier 32 bit unsigned integer type. More...
 
typedef uint64 lowp_uint64
 Low qualifier 64 bit unsigned integer type. More...
 
typedef uint64 lowp_uint64_t
 Low qualifier 64 bit unsigned integer type. More...
 
typedef uint8 lowp_uint8
 Low qualifier 8 bit unsigned integer type. More...
 
typedef uint8 lowp_uint8_t
 Low qualifier 8 bit unsigned integer type. More...
 
typedef float mediump_f32
 Medium 32 bit single-qualifier floating-point scalar. More...
 
typedef mat< 2, 2, f32, mediump > mediump_f32mat2
 Medium single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 2, f32, mediump > mediump_f32mat2x2
 High single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 3, f32, mediump > mediump_f32mat2x3
 Medium single-qualifier floating-point 2x3 matrix. More...
 
typedef mat< 2, 4, f32, mediump > mediump_f32mat2x4
 Medium single-qualifier floating-point 2x4 matrix. More...
 
typedef mat< 3, 3, f32, mediump > mediump_f32mat3
 Medium single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 2, f32, mediump > mediump_f32mat3x2
 Medium single-qualifier floating-point 3x2 matrix. More...
 
typedef mat< 3, 3, f32, mediump > mediump_f32mat3x3
 Medium single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 4, f32, mediump > mediump_f32mat3x4
 Medium single-qualifier floating-point 3x4 matrix. More...
 
typedef mat< 4, 4, f32, mediump > mediump_f32mat4
 Medium single-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 4, 2, f32, mediump > mediump_f32mat4x2
 Medium single-qualifier floating-point 4x2 matrix. More...
 
typedef mat< 4, 3, f32, mediump > mediump_f32mat4x3
 Medium single-qualifier floating-point 4x3 matrix. More...
 
typedef mat< 4, 4, f32, mediump > mediump_f32mat4x4
 Medium single-qualifier floating-point 4x4 matrix. More...
 
typedef qua< f32, mediump > mediump_f32quat
 Medium single-qualifier floating-point quaternion. More...
 
typedef vec< 1, f32, mediump > mediump_f32vec1
 Medium single-qualifier floating-point vector of 1 component. More...
 
typedef vec< 2, f32, mediump > mediump_f32vec2
 Medium single-qualifier floating-point vector of 2 components. More...
 
typedef vec< 3, f32, mediump > mediump_f32vec3
 Medium single-qualifier floating-point vector of 3 components. More...
 
typedef vec< 4, f32, mediump > mediump_f32vec4
 Medium single-qualifier floating-point vector of 4 components. More...
 
typedef double mediump_f64
 Medium 64 bit double-qualifier floating-point scalar. More...
 
typedef mat< 2, 2, f64, mediump > mediump_f64mat2
 Medium double-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 2, f64, mediump > mediump_f64mat2x2
 Medium double-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 3, f64, mediump > mediump_f64mat2x3
 Medium double-qualifier floating-point 2x3 matrix. More...
 
typedef mat< 2, 4, f64, mediump > mediump_f64mat2x4
 Medium double-qualifier floating-point 2x4 matrix. More...
 
typedef mat< 3, 3, f64, mediump > mediump_f64mat3
 Medium double-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 2, f64, mediump > mediump_f64mat3x2
 Medium double-qualifier floating-point 3x2 matrix. More...
 
typedef mat< 3, 3, f64, mediump > mediump_f64mat3x3
 Medium double-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 4, f64, mediump > mediump_f64mat3x4
 Medium double-qualifier floating-point 3x4 matrix. More...
 
typedef mat< 4, 4, f64, mediump > mediump_f64mat4
 Medium double-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 4, 2, f64, mediump > mediump_f64mat4x2
 Medium double-qualifier floating-point 4x2 matrix. More...
 
typedef mat< 4, 3, f64, mediump > mediump_f64mat4x3
 Medium double-qualifier floating-point 4x3 matrix. More...
 
typedef mat< 4, 4, f64, mediump > mediump_f64mat4x4
 Medium double-qualifier floating-point 4x4 matrix. More...
 
typedef qua< f64, mediump > mediump_f64quat
 Medium double-qualifier floating-point quaternion. More...
 
typedef vec< 1, f64, mediump > mediump_f64vec1
 Medium double-qualifier floating-point vector of 1 component. More...
 
typedef vec< 2, f64, mediump > mediump_f64vec2
 Medium double-qualifier floating-point vector of 2 components. More...
 
typedef vec< 3, f64, mediump > mediump_f64vec3
 Medium double-qualifier floating-point vector of 3 components. More...
 
typedef vec< 4, f64, mediump > mediump_f64vec4
 Medium double-qualifier floating-point vector of 4 components. More...
 
typedef float mediump_float32
 Medium 32 bit single-qualifier floating-point scalar. More...
 
typedef float mediump_float32_t
 Medium 32 bit single-qualifier floating-point scalar. More...
 
typedef double mediump_float64
 Medium 64 bit double-qualifier floating-point scalar. More...
 
typedef double mediump_float64_t
 Medium 64 bit double-qualifier floating-point scalar. More...
 
typedef mat< 2, 2, f32, mediump > mediump_fmat2
 Medium single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 2, f32, mediump > mediump_fmat2x2
 Medium single-qualifier floating-point 1x1 matrix. More...
 
typedef mat< 2, 3, f32, mediump > mediump_fmat2x3
 Medium single-qualifier floating-point 2x3 matrix. More...
 
typedef mat< 2, 4, f32, mediump > mediump_fmat2x4
 Medium single-qualifier floating-point 2x4 matrix. More...
 
typedef mat< 3, 3, f32, mediump > mediump_fmat3
 Medium single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 2, f32, mediump > mediump_fmat3x2
 Medium single-qualifier floating-point 3x2 matrix. More...
 
typedef mat< 3, 3, f32, mediump > mediump_fmat3x3
 Medium single-qualifier floating-point 3x3 matrix. More...
 
typedef mat< 3, 4, f32, mediump > mediump_fmat3x4
 Medium single-qualifier floating-point 3x4 matrix. More...
 
typedef mat< 4, 4, f32, mediump > mediump_fmat4
 Medium single-qualifier floating-point 4x4 matrix. More...
 
typedef mat< 4, 2, f32, mediump > mediump_fmat4x2
 Medium single-qualifier floating-point 4x2 matrix. More...
 
typedef mat< 4, 3, f32, mediump > mediump_fmat4x3
 Medium single-qualifier floating-point 4x3 matrix. More...
 
typedef mat< 4, 4, f32, mediump > mediump_fmat4x4
 Medium single-qualifier floating-point 4x4 matrix. More...
 
typedef vec< 1, float, mediump > mediump_fvec1
 Medium single-qualifier floating-point vector of 1 component. More...
 
typedef vec< 2, float, mediump > mediump_fvec2
 Medium Single-qualifier floating-point vector of 2 components. More...
 
typedef vec< 3, float, mediump > mediump_fvec3
 Medium Single-qualifier floating-point vector of 3 components. More...
 
typedef vec< 4, float, mediump > mediump_fvec4
 Medium Single-qualifier floating-point vector of 4 components. More...
 
typedef int16 mediump_i16
 Medium qualifier 16 bit signed integer type. More...
 
typedef vec< 1, i16, mediump > mediump_i16vec1
 Medium qualifier 16 bit signed integer scalar type. More...
 
typedef vec< 2, i16, mediump > mediump_i16vec2
 Medium qualifier 16 bit signed integer vector of 2 components type. More...
 
typedef vec< 3, i16, mediump > mediump_i16vec3
 Medium qualifier 16 bit signed integer vector of 3 components type. More...
 
typedef vec< 4, i16, mediump > mediump_i16vec4
 Medium qualifier 16 bit signed integer vector of 4 components type. More...
 
typedef int32 mediump_i32
 Medium qualifier 32 bit signed integer type. More...
 
typedef vec< 1, i32, mediump > mediump_i32vec1
 Medium qualifier 32 bit signed integer scalar type. More...
 
typedef vec< 2, i32, mediump > mediump_i32vec2
 Medium qualifier 32 bit signed integer vector of 2 components type. More...
 
typedef vec< 3, i32, mediump > mediump_i32vec3
 Medium qualifier 32 bit signed integer vector of 3 components type. More...
 
typedef vec< 4, i32, mediump > mediump_i32vec4
 Medium qualifier 32 bit signed integer vector of 4 components type. More...
 
typedef int64 mediump_i64
 Medium qualifier 64 bit signed integer type. More...
 
typedef vec< 1, i64, mediump > mediump_i64vec1
 Medium qualifier 64 bit signed integer scalar type. More...
 
typedef vec< 2, i64, mediump > mediump_i64vec2
 Medium qualifier 64 bit signed integer vector of 2 components type. More...
 
typedef vec< 3, i64, mediump > mediump_i64vec3
 Medium qualifier 64 bit signed integer vector of 3 components type. More...
 
typedef vec< 4, i64, mediump > mediump_i64vec4
 Medium qualifier 64 bit signed integer vector of 4 components type. More...
 
typedef int8 mediump_i8
 Medium qualifier 8 bit signed integer type. More...
 
typedef vec< 1, i8, mediump > mediump_i8vec1
 Medium qualifier 8 bit signed integer scalar type. More...
 
typedef vec< 2, i8, mediump > mediump_i8vec2
 Medium qualifier 8 bit signed integer vector of 2 components type. More...
 
typedef vec< 3, i8, mediump > mediump_i8vec3
 Medium qualifier 8 bit signed integer vector of 3 components type. More...
 
typedef vec< 4, i8, mediump > mediump_i8vec4
 Medium qualifier 8 bit signed integer vector of 4 components type. More...
 
typedef int16 mediump_int16
 Medium qualifier 16 bit signed integer type. More...
 
typedef int16 mediump_int16_t
 Medium qualifier 16 bit signed integer type. More...
 
typedef int32 mediump_int32
 Medium qualifier 32 bit signed integer type. More...
 
typedef int32 mediump_int32_t
 Medium qualifier 32 bit signed integer type. More...
 
typedef int64 mediump_int64
 Medium qualifier 64 bit signed integer type. More...
 
typedef int64 mediump_int64_t
 Medium qualifier 64 bit signed integer type. More...
 
typedef int8 mediump_int8
 Medium qualifier 8 bit signed integer type. More...
 
typedef int8 mediump_int8_t
 Medium qualifier 8 bit signed integer type. More...
 
typedef uint16 mediump_u16
 Medium qualifier 16 bit unsigned integer type. More...
 
typedef vec< 1, u16, mediump > mediump_u16vec1
 Medium qualifier 16 bit unsigned integer scalar type. More...
 
typedef vec< 2, u16, mediump > mediump_u16vec2
 Medium qualifier 16 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 3, u16, mediump > mediump_u16vec3
 Medium qualifier 16 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 4, u16, mediump > mediump_u16vec4
 Medium qualifier 16 bit unsigned integer vector of 4 components type. More...
 
typedef uint32 mediump_u32
 Medium qualifier 32 bit unsigned integer type. More...
 
typedef vec< 1, u32, mediump > mediump_u32vec1
 Medium qualifier 32 bit unsigned integer scalar type. More...
 
typedef vec< 2, u32, mediump > mediump_u32vec2
 Medium qualifier 32 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 3, u32, mediump > mediump_u32vec3
 Medium qualifier 32 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 4, u32, mediump > mediump_u32vec4
 Medium qualifier 32 bit unsigned integer vector of 4 components type. More...
 
typedef uint64 mediump_u64
 Medium qualifier 64 bit unsigned integer type. More...
 
typedef vec< 1, u64, mediump > mediump_u64vec1
 Medium qualifier 64 bit unsigned integer scalar type. More...
 
typedef vec< 2, u64, mediump > mediump_u64vec2
 Medium qualifier 64 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 3, u64, mediump > mediump_u64vec3
 Medium qualifier 64 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 4, u64, mediump > mediump_u64vec4
 Medium qualifier 64 bit unsigned integer vector of 4 components type. More...
 
typedef uint8 mediump_u8
 Medium qualifier 8 bit unsigned integer type. More...
 
typedef vec< 1, u8, mediump > mediump_u8vec1
 Medium qualifier 8 bit unsigned integer scalar type. More...
 
typedef vec< 2, u8, mediump > mediump_u8vec2
 Medium qualifier 8 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 3, u8, mediump > mediump_u8vec3
 Medium qualifier 8 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 4, u8, mediump > mediump_u8vec4
 Medium qualifier 8 bit unsigned integer vector of 4 components type. More...
 
typedef uint16 mediump_uint16
 Medium qualifier 16 bit unsigned integer type. More...
 
typedef uint16 mediump_uint16_t
 Medium qualifier 16 bit unsigned integer type. More...
 
typedef uint32 mediump_uint32
 Medium qualifier 32 bit unsigned integer type. More...
 
typedef uint32 mediump_uint32_t
 Medium qualifier 32 bit unsigned integer type. More...
 
typedef uint64 mediump_uint64
 Medium qualifier 64 bit unsigned integer type. More...
 
typedef uint64 mediump_uint64_t
 Medium qualifier 64 bit unsigned integer type. More...
 
typedef uint8 mediump_uint8
 Medium qualifier 8 bit unsigned integer type. More...
 
typedef uint8 mediump_uint8_t
 Medium qualifier 8 bit unsigned integer type. More...
 
typedef uint16 u16
 Default qualifier 16 bit unsigned integer type. More...
 
typedef vec< 1, u16, defaultp > u16vec1
 Default qualifier 16 bit unsigned integer scalar type. More...
 
typedef vec< 2, u16, defaultp > u16vec2
 Default qualifier 16 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 3, u16, defaultp > u16vec3
 Default qualifier 16 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 4, u16, defaultp > u16vec4
 Default qualifier 16 bit unsigned integer vector of 4 components type. More...
 
typedef uint32 u32
 Default qualifier 32 bit unsigned integer type. More...
 
typedef vec< 1, u32, defaultp > u32vec1
 Default qualifier 32 bit unsigned integer scalar type. More...
 
typedef vec< 2, u32, defaultp > u32vec2
 Default qualifier 32 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 3, u32, defaultp > u32vec3
 Default qualifier 32 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 4, u32, defaultp > u32vec4
 Default qualifier 32 bit unsigned integer vector of 4 components type. More...
 
typedef uint64 u64
 Default qualifier 64 bit unsigned integer type. More...
 
typedef vec< 1, u64, defaultp > u64vec1
 Default qualifier 64 bit unsigned integer scalar type. More...
 
typedef vec< 2, u64, defaultp > u64vec2
 Default qualifier 64 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 3, u64, defaultp > u64vec3
 Default qualifier 64 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 4, u64, defaultp > u64vec4
 Default qualifier 64 bit unsigned integer vector of 4 components type. More...
 
typedef uint8 u8
 Default qualifier 8 bit unsigned integer type. More...
 
typedef vec< 1, u8, defaultp > u8vec1
 Default qualifier 8 bit unsigned integer scalar type. More...
 
typedef vec< 2, u8, defaultp > u8vec2
 Default qualifier 8 bit unsigned integer vector of 2 components type. More...
 
typedef vec< 3, u8, defaultp > u8vec3
 Default qualifier 8 bit unsigned integer vector of 3 components type. More...
 
typedef vec< 4, u8, defaultp > u8vec4
 Default qualifier 8 bit unsigned integer vector of 4 components type. More...
 
typedef uint16 uint16_t
 Default qualifier 16 bit unsigned integer type. More...
 
typedef uint32 uint32_t
 Default qualifier 32 bit unsigned integer type. More...
 
typedef uint64 uint64_t
 Default qualifier 64 bit unsigned integer type. More...
 
typedef uint8 uint8_t
 Default qualifier 8 bit unsigned integer type. More...
 

Detailed Description

Include <glm/gtc/type_precision.hpp> to use the features of this extension.

Defines specific C++-based qualifier types.

Typedef Documentation

typedef float32 f32

Default 32 bit single-qualifier floating-point scalar.

32 bit single-qualifier floating-point scalar.

See also
GLM_GTC_type_precision

Definition at line 150 of file fwd.hpp.

typedef mat< 2, 2, f32, defaultp > f32mat2

Single-qualifier floating-point 1x1 matrix.

See also
GLM_GTC_type_precision Single-qualifier floating-point 2x2 matrix.
GLM_GTC_type_precision

Definition at line 552 of file fwd.hpp.

typedef mat< 2, 2, f32, defaultp > f32mat2x2

Single-qualifier floating-point 1x1 matrix.

See also
GLM_GTC_type_precision Single-qualifier floating-point 2x2 matrix.
GLM_GTC_type_precision

Definition at line 700 of file fwd.hpp.

typedef mat< 2, 3, f32, defaultp > f32mat2x3

Single-qualifier floating-point 2x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 703 of file fwd.hpp.

typedef mat< 2, 4, f32, defaultp > f32mat2x4

Single-qualifier floating-point 2x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 706 of file fwd.hpp.

typedef mat< 3, 3, f32, defaultp > f32mat3

Single-qualifier floating-point 3x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 553 of file fwd.hpp.

typedef mat< 3, 2, f32, defaultp > f32mat3x2

Single-qualifier floating-point 3x2 matrix.

See also
GLM_GTC_type_precision

Definition at line 701 of file fwd.hpp.

typedef mat< 3, 3, f32, defaultp > f32mat3x3

Single-qualifier floating-point 3x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 704 of file fwd.hpp.

typedef mat< 3, 4, f32, defaultp > f32mat3x4

Single-qualifier floating-point 3x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 707 of file fwd.hpp.

typedef mat< 4, 4, f32, defaultp > f32mat4

Single-qualifier floating-point 4x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 554 of file fwd.hpp.

typedef mat< 4, 2, f32, defaultp > f32mat4x2

Single-qualifier floating-point 4x2 matrix.

See also
GLM_GTC_type_precision

Definition at line 702 of file fwd.hpp.

typedef mat< 4, 3, f32, defaultp > f32mat4x3

Single-qualifier floating-point 4x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 705 of file fwd.hpp.

typedef mat< 4, 4, f32, defaultp > f32mat4x4

Single-qualifier floating-point 4x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 708 of file fwd.hpp.

typedef qua< f32, defaultp > f32quat

Single-qualifier floating-point quaternion.

See also
GLM_GTC_type_precision

Definition at line 805 of file fwd.hpp.

typedef vec< 1, f32, defaultp > f32vec1

Single-qualifier floating-point vector of 1 component.

See also
GLM_GTC_type_precision

Definition at line 461 of file fwd.hpp.

typedef vec< 2, f32, defaultp > f32vec2

Single-qualifier floating-point vector of 2 components.

See also
GLM_GTC_type_precision

Definition at line 462 of file fwd.hpp.

typedef vec< 3, f32, defaultp > f32vec3

Single-qualifier floating-point vector of 3 components.

See also
GLM_GTC_type_precision

Definition at line 463 of file fwd.hpp.

typedef vec< 4, f32, defaultp > f32vec4

Single-qualifier floating-point vector of 4 components.

See also
GLM_GTC_type_precision

Definition at line 464 of file fwd.hpp.

typedef float64 f64

Default 64 bit double-qualifier floating-point scalar.

64 bit double-qualifier floating-point scalar.

See also
GLM_GTC_type_precision

Definition at line 166 of file fwd.hpp.

typedef mat< 2, 2, f64, defaultp > f64mat2

Double-qualifier floating-point 1x1 matrix.

See also
GLM_GTC_type_precision Double-qualifier floating-point 2x2 matrix.
GLM_GTC_type_precision

Definition at line 584 of file fwd.hpp.

typedef mat< 2, 2, f64, defaultp > f64mat2x2

Double-qualifier floating-point 1x1 matrix.

See also
GLM_GTC_type_precision Double-qualifier floating-point 2x2 matrix.
GLM_GTC_type_precision

Definition at line 780 of file fwd.hpp.

typedef mat< 2, 3, f64, defaultp > f64mat2x3

Double-qualifier floating-point 2x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 783 of file fwd.hpp.

typedef mat< 2, 4, f64, defaultp > f64mat2x4

Double-qualifier floating-point 2x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 786 of file fwd.hpp.

typedef mat< 3, 3, f64, defaultp > f64mat3

Double-qualifier floating-point 3x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 585 of file fwd.hpp.

typedef mat< 3, 2, f64, defaultp > f64mat3x2

Double-qualifier floating-point 3x2 matrix.

See also
GLM_GTC_type_precision

Definition at line 781 of file fwd.hpp.

typedef mat< 3, 3, f64, defaultp > f64mat3x3

Double-qualifier floating-point 3x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 784 of file fwd.hpp.

typedef mat< 3, 4, f64, defaultp > f64mat3x4

Double-qualifier floating-point 3x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 787 of file fwd.hpp.

typedef mat< 4, 4, f64, defaultp > f64mat4

Double-qualifier floating-point 4x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 586 of file fwd.hpp.

typedef mat< 4, 2, f64, defaultp > f64mat4x2

Double-qualifier floating-point 4x2 matrix.

See also
GLM_GTC_type_precision

Definition at line 782 of file fwd.hpp.

typedef mat< 4, 3, f64, defaultp > f64mat4x3

Double-qualifier floating-point 4x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 785 of file fwd.hpp.

typedef mat< 4, 4, f64, defaultp > f64mat4x4

Double-qualifier floating-point 4x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 788 of file fwd.hpp.

typedef qua< f64, defaultp > f64quat

Double-qualifier floating-point quaternion.

See also
GLM_GTC_type_precision

Definition at line 815 of file fwd.hpp.

typedef vec< 1, f64, defaultp > f64vec1

Double-qualifier floating-point vector of 1 component.

See also
GLM_GTC_type_precision

Definition at line 501 of file fwd.hpp.

typedef vec< 2, f64, defaultp > f64vec2

Double-qualifier floating-point vector of 2 components.

See also
GLM_GTC_type_precision

Definition at line 502 of file fwd.hpp.

typedef vec< 3, f64, defaultp > f64vec3

Double-qualifier floating-point vector of 3 components.

See also
GLM_GTC_type_precision

Definition at line 503 of file fwd.hpp.

typedef vec< 4, f64, defaultp > f64vec4

Double-qualifier floating-point vector of 4 components.

See also
GLM_GTC_type_precision

Definition at line 504 of file fwd.hpp.

typedef float float32

Single-qualifier floating-point scalar.

See also
GLM_GTC_type_precision

Definition at line 155 of file fwd.hpp.

typedef float32 float32_t

Default 32 bit single-qualifier floating-point scalar.

32 bit single-qualifier floating-point scalar.

See also
GLM_GTC_type_precision

Definition at line 160 of file fwd.hpp.

typedef double float64

Double-qualifier floating-point scalar.

See also
GLM_GTC_type_precision

Definition at line 171 of file fwd.hpp.

typedef float64 float64_t

Default 64 bit double-qualifier floating-point scalar.

64 bit double-qualifier floating-point scalar.

See also
GLM_GTC_type_precision

Definition at line 176 of file fwd.hpp.

typedef mat< 2, 2, f32, defaultp > fmat2

Single-qualifier floating-point 1x1 matrix.

See also
GLM_GTC_type_precision Single-qualifier floating-point 2x2 matrix.
GLM_GTC_type_precision

Definition at line 536 of file fwd.hpp.

typedef mat< 2, 2, f32, defaultp > fmat2x2

Single-qualifier floating-point 1x1 matrix.

See also
GLM_GTC_type_precision Single-qualifier floating-point 2x2 matrix.
GLM_GTC_type_precision

Definition at line 660 of file fwd.hpp.

typedef mat< 2, 3, f32, defaultp > fmat2x3

Single-qualifier floating-point 2x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 663 of file fwd.hpp.

typedef mat< 2, 4, f32, defaultp > fmat2x4

Single-qualifier floating-point 2x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 666 of file fwd.hpp.

typedef mat< 3, 3, f32, defaultp > fmat3

Single-qualifier floating-point 3x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 537 of file fwd.hpp.

typedef mat< 3, 2, f32, defaultp > fmat3x2

Single-qualifier floating-point 3x2 matrix.

See also
GLM_GTC_type_precision

Definition at line 661 of file fwd.hpp.

typedef mat< 3, 3, f32, defaultp > fmat3x3

Single-qualifier floating-point 3x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 664 of file fwd.hpp.

typedef mat< 3, 4, f32, defaultp > fmat3x4

Single-qualifier floating-point 3x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 667 of file fwd.hpp.

typedef mat< 4, 4, f32, defaultp > fmat4

Single-qualifier floating-point 4x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 538 of file fwd.hpp.

typedef mat< 4, 2, f32, defaultp > fmat4x2

Single-qualifier floating-point 4x2 matrix.

See also
GLM_GTC_type_precision

Definition at line 662 of file fwd.hpp.

typedef mat< 4, 3, f32, defaultp > fmat4x3

Single-qualifier floating-point 4x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 665 of file fwd.hpp.

typedef mat< 4, 4, f32, defaultp > fmat4x4

Single-qualifier floating-point 4x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 668 of file fwd.hpp.

typedef vec< 1, float, defaultp > fvec1

Single-qualifier floating-point vector of 1 component.

See also
GLM_GTC_type_precision

Definition at line 441 of file fwd.hpp.

typedef vec< 2, float, defaultp > fvec2

Single-qualifier floating-point vector of 2 components.

See also
GLM_GTC_type_precision

Definition at line 442 of file fwd.hpp.

typedef vec< 3, float, defaultp > fvec3

Single-qualifier floating-point vector of 3 components.

See also
GLM_GTC_type_precision

Definition at line 443 of file fwd.hpp.

typedef vec< 4, float, defaultp > fvec4

Single-qualifier floating-point vector of 4 components.

See also
GLM_GTC_type_precision

Definition at line 444 of file fwd.hpp.

typedef float32 highp_f32

High 32 bit single-qualifier floating-point scalar.

See also
GLM_GTC_type_precision

Definition at line 149 of file fwd.hpp.

typedef highp_f32mat2x2 highp_f32mat2

High single-qualifier floating-point 1x1 matrix.

See also
GLM_GTC_type_precision High single-qualifier floating-point 2x2 matrix.
GLM_GTC_type_precision

Definition at line 548 of file fwd.hpp.

typedef mat< 2, 2, f32, highp > highp_f32mat2x2

High single-qualifier floating-point 1x1 matrix.

See also
GLM_GTC_type_precision High single-qualifier floating-point 2x2 matrix.
GLM_GTC_type_precision

Definition at line 690 of file fwd.hpp.

typedef mat< 2, 3, f32, highp > highp_f32mat2x3

High single-qualifier floating-point 2x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 691 of file fwd.hpp.

typedef mat< 2, 4, f32, highp > highp_f32mat2x4

High single-qualifier floating-point 2x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 692 of file fwd.hpp.

typedef highp_f32mat3x3 highp_f32mat3

High single-qualifier floating-point 3x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 549 of file fwd.hpp.

typedef mat< 3, 2, f32, highp > highp_f32mat3x2

High single-qualifier floating-point 3x2 matrix.

See also
GLM_GTC_type_precision

Definition at line 693 of file fwd.hpp.

typedef mat< 3, 3, f32, highp > highp_f32mat3x3

High single-qualifier floating-point 3x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 694 of file fwd.hpp.

typedef mat< 3, 4, f32, highp > highp_f32mat3x4

High single-qualifier floating-point 3x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 695 of file fwd.hpp.

typedef highp_f32mat4x4 highp_f32mat4

High single-qualifier floating-point 4x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 550 of file fwd.hpp.

typedef mat< 4, 2, f32, highp > highp_f32mat4x2

High single-qualifier floating-point 4x2 matrix.

See also
GLM_GTC_type_precision

Definition at line 696 of file fwd.hpp.

typedef mat< 4, 3, f32, highp > highp_f32mat4x3

High single-qualifier floating-point 4x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 697 of file fwd.hpp.

typedef mat< 4, 4, f32, highp > highp_f32mat4x4

High single-qualifier floating-point 4x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 698 of file fwd.hpp.

typedef qua< f32, highp > highp_f32quat

High single-qualifier floating-point quaternion.

See also
GLM_GTC_type_precision

Definition at line 804 of file fwd.hpp.

typedef vec< 1, f32, highp > highp_f32vec1

High single-qualifier floating-point vector of 1 component.

See also
GLM_GTC_type_precision

Definition at line 456 of file fwd.hpp.

typedef vec< 2, f32, highp > highp_f32vec2

High single-qualifier floating-point vector of 2 components.

See also
GLM_GTC_type_precision

Definition at line 457 of file fwd.hpp.

typedef vec< 3, f32, highp > highp_f32vec3

High single-qualifier floating-point vector of 3 components.

See also
GLM_GTC_type_precision

Definition at line 458 of file fwd.hpp.

typedef vec< 4, f32, highp > highp_f32vec4

High single-qualifier floating-point vector of 4 components.

See also
GLM_GTC_type_precision

Definition at line 459 of file fwd.hpp.

typedef float64 highp_f64

High 64 bit double-qualifier floating-point scalar.

See also
GLM_GTC_type_precision

Definition at line 165 of file fwd.hpp.

typedef highp_f64mat2x2 highp_f64mat2

High double-qualifier floating-point 1x1 matrix.

See also
GLM_GTC_type_precision High double-qualifier floating-point 2x2 matrix.
GLM_GTC_type_precision

Definition at line 580 of file fwd.hpp.

typedef mat< 2, 2, f64, highp > highp_f64mat2x2

High double-qualifier floating-point 1x1 matrix.

See also
GLM_GTC_type_precision High double-qualifier floating-point 2x2 matrix.
GLM_GTC_type_precision

Definition at line 770 of file fwd.hpp.

typedef mat< 2, 3, f64, highp > highp_f64mat2x3

High double-qualifier floating-point 2x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 771 of file fwd.hpp.

typedef mat< 2, 4, f64, highp > highp_f64mat2x4

High double-qualifier floating-point 2x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 772 of file fwd.hpp.

typedef highp_f64mat3x3 highp_f64mat3

High double-qualifier floating-point 3x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 581 of file fwd.hpp.

typedef mat< 3, 2, f64, highp > highp_f64mat3x2

High double-qualifier floating-point 3x2 matrix.

See also
GLM_GTC_type_precision

Definition at line 773 of file fwd.hpp.

typedef mat< 3, 3, f64, highp > highp_f64mat3x3

High double-qualifier floating-point 3x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 774 of file fwd.hpp.

typedef mat< 3, 4, f64, highp > highp_f64mat3x4

High double-qualifier floating-point 3x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 775 of file fwd.hpp.

typedef highp_f64mat4x4 highp_f64mat4

High double-qualifier floating-point 4x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 582 of file fwd.hpp.

typedef mat< 4, 2, f64, highp > highp_f64mat4x2

High double-qualifier floating-point 4x2 matrix.

See also
GLM_GTC_type_precision

Definition at line 776 of file fwd.hpp.

typedef mat< 4, 3, f64, highp > highp_f64mat4x3

High double-qualifier floating-point 4x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 777 of file fwd.hpp.

typedef mat< 4, 4, f64, highp > highp_f64mat4x4

High double-qualifier floating-point 4x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 778 of file fwd.hpp.

typedef qua< f64, highp > highp_f64quat

High double-qualifier floating-point quaternion.

See also
GLM_GTC_type_precision

Definition at line 814 of file fwd.hpp.

typedef vec< 1, f64, highp > highp_f64vec1

High double-qualifier floating-point vector of 1 component.

See also
GLM_GTC_type_precision

Definition at line 496 of file fwd.hpp.

typedef vec< 2, f64, highp > highp_f64vec2

High double-qualifier floating-point vector of 2 components.

See also
GLM_GTC_type_precision

Definition at line 497 of file fwd.hpp.

typedef vec< 3, f64, highp > highp_f64vec3

High double-qualifier floating-point vector of 3 components.

See also
GLM_GTC_type_precision

Definition at line 498 of file fwd.hpp.

typedef vec< 4, f64, highp > highp_f64vec4

High double-qualifier floating-point vector of 4 components.

See also
GLM_GTC_type_precision

Definition at line 499 of file fwd.hpp.

typedef float32 highp_float32

High 32 bit single-qualifier floating-point scalar.

See also
GLM_GTC_type_precision

Definition at line 154 of file fwd.hpp.

typedef float32 highp_float32_t

High 32 bit single-qualifier floating-point scalar.

See also
GLM_GTC_type_precision

Definition at line 159 of file fwd.hpp.

typedef float64 highp_float64

High 64 bit double-qualifier floating-point scalar.

See also
GLM_GTC_type_precision

Definition at line 170 of file fwd.hpp.

typedef float64 highp_float64_t

High 64 bit double-qualifier floating-point scalar.

See also
GLM_GTC_type_precision

Definition at line 175 of file fwd.hpp.

typedef highp_fmat2x2 highp_fmat2

High single-qualifier floating-point 1x1 matrix.

See also
GLM_GTC_type_precision High single-qualifier floating-point 2x2 matrix.
GLM_GTC_type_precision

Definition at line 532 of file fwd.hpp.

typedef mat< 2, 2, f32, highp > highp_fmat2x2

High single-qualifier floating-point 1x1 matrix.

See also
GLM_GTC_type_precision High single-qualifier floating-point 2x2 matrix.
GLM_GTC_type_precision

Definition at line 650 of file fwd.hpp.

typedef mat< 2, 3, f32, highp > highp_fmat2x3

High single-qualifier floating-point 2x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 651 of file fwd.hpp.

typedef mat< 2, 4, f32, highp > highp_fmat2x4

High single-qualifier floating-point 2x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 652 of file fwd.hpp.

typedef highp_fmat3x3 highp_fmat3

High single-qualifier floating-point 3x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 533 of file fwd.hpp.

typedef mat< 3, 2, f32, highp > highp_fmat3x2

High single-qualifier floating-point 3x2 matrix.

See also
GLM_GTC_type_precision

Definition at line 653 of file fwd.hpp.

typedef mat< 3, 3, f32, highp > highp_fmat3x3

High single-qualifier floating-point 3x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 654 of file fwd.hpp.

typedef mat< 3, 4, f32, highp > highp_fmat3x4

High single-qualifier floating-point 3x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 655 of file fwd.hpp.

typedef highp_fmat4x4 highp_fmat4

High single-qualifier floating-point 4x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 534 of file fwd.hpp.

typedef mat< 4, 2, f32, highp > highp_fmat4x2

High single-qualifier floating-point 4x2 matrix.

See also
GLM_GTC_type_precision

Definition at line 656 of file fwd.hpp.

typedef mat< 4, 3, f32, highp > highp_fmat4x3

High single-qualifier floating-point 4x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 657 of file fwd.hpp.

typedef mat< 4, 4, f32, highp > highp_fmat4x4

High single-qualifier floating-point 4x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 658 of file fwd.hpp.

typedef vec< 1, float, highp > highp_fvec1

High single-qualifier floating-point vector of 1 component.

See also
GLM_GTC_type_precision

Definition at line 436 of file fwd.hpp.

typedef vec< 2, float, highp > highp_fvec2

High Single-qualifier floating-point vector of 2 components.

See also
core_precision

Definition at line 437 of file fwd.hpp.

typedef vec< 3, float, highp > highp_fvec3

High Single-qualifier floating-point vector of 3 components.

See also
core_precision

Definition at line 438 of file fwd.hpp.

typedef vec< 4, float, highp > highp_fvec4

High Single-qualifier floating-point vector of 4 components.

See also
core_precision

Definition at line 439 of file fwd.hpp.

typedef detail::int16 highp_i16

High qualifier 16 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 47 of file fwd.hpp.

typedef vec< 1, i16, highp > highp_i16vec1

High qualifier 16 bit signed integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 252 of file fwd.hpp.

typedef vec< 2, i16, highp > highp_i16vec2

High qualifier 16 bit signed integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 253 of file fwd.hpp.

typedef vec< 3, i16, highp > highp_i16vec3

High qualifier 16 bit signed integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 254 of file fwd.hpp.

typedef vec< 4, i16, highp > highp_i16vec4

High qualifier 16 bit signed integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 255 of file fwd.hpp.

typedef detail::int32 highp_i32

High qualifier 32 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 61 of file fwd.hpp.

typedef vec< 1, i32, highp > highp_i32vec1

High qualifier 32 bit signed integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 272 of file fwd.hpp.

typedef vec< 2, i32, highp > highp_i32vec2

High qualifier 32 bit signed integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 273 of file fwd.hpp.

typedef vec< 3, i32, highp > highp_i32vec3

High qualifier 32 bit signed integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 274 of file fwd.hpp.

typedef vec< 4, i32, highp > highp_i32vec4

High qualifier 32 bit signed integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 275 of file fwd.hpp.

typedef detail::int64 highp_i64

High qualifier 64 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 75 of file fwd.hpp.

typedef vec< 1, i64, highp > highp_i64vec1

High qualifier 64 bit signed integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 292 of file fwd.hpp.

typedef vec< 2, i64, highp > highp_i64vec2

High qualifier 64 bit signed integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 293 of file fwd.hpp.

typedef vec< 3, i64, highp > highp_i64vec3

High qualifier 64 bit signed integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 294 of file fwd.hpp.

typedef vec< 4, i64, highp > highp_i64vec4

High qualifier 64 bit signed integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 295 of file fwd.hpp.

typedef detail::int8 highp_i8

High qualifier 8 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 33 of file fwd.hpp.

typedef vec< 1, i8, highp > highp_i8vec1

High qualifier 8 bit signed integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 232 of file fwd.hpp.

typedef vec< 2, i8, highp > highp_i8vec2

High qualifier 8 bit signed integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 233 of file fwd.hpp.

typedef vec< 3, i8, highp > highp_i8vec3

High qualifier 8 bit signed integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 234 of file fwd.hpp.

typedef vec< 4, i8, highp > highp_i8vec4

High qualifier 8 bit signed integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 235 of file fwd.hpp.

typedef detail::int16 highp_int16

High qualifier 16 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 52 of file fwd.hpp.

typedef detail::int16 highp_int16_t

High qualifier 16 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 56 of file fwd.hpp.

typedef detail::int32 highp_int32

High qualifier 32 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 66 of file fwd.hpp.

typedef detail::int32 highp_int32_t

32 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 70 of file fwd.hpp.

typedef detail::int64 highp_int64

High qualifier 64 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 80 of file fwd.hpp.

typedef detail::int64 highp_int64_t

High qualifier 64 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 84 of file fwd.hpp.

typedef detail::int8 highp_int8

High qualifier 8 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 38 of file fwd.hpp.

typedef detail::int8 highp_int8_t

High qualifier 8 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 42 of file fwd.hpp.

typedef detail::uint16 highp_u16

High qualifier 16 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 105 of file fwd.hpp.

typedef vec< 1, u16, highp > highp_u16vec1

High qualifier 16 bit unsigned integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 354 of file fwd.hpp.

typedef vec< 2, u16, highp > highp_u16vec2

High qualifier 16 bit unsigned integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 355 of file fwd.hpp.

typedef vec< 3, u16, highp > highp_u16vec3

High qualifier 16 bit unsigned integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 356 of file fwd.hpp.

typedef vec< 4, u16, highp > highp_u16vec4

High qualifier 16 bit unsigned integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 357 of file fwd.hpp.

typedef detail::uint32 highp_u32

High qualifier 32 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 119 of file fwd.hpp.

typedef vec< 1, u32, highp > highp_u32vec1

High qualifier 32 bit unsigned integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 374 of file fwd.hpp.

typedef vec< 2, u32, highp > highp_u32vec2

High qualifier 32 bit unsigned integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 375 of file fwd.hpp.

typedef vec< 3, u32, highp > highp_u32vec3

High qualifier 32 bit unsigned integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 376 of file fwd.hpp.

typedef vec< 4, u32, highp > highp_u32vec4

High qualifier 32 bit unsigned integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 377 of file fwd.hpp.

typedef detail::uint64 highp_u64

High qualifier 64 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 133 of file fwd.hpp.

typedef vec< 1, u64, highp > highp_u64vec1

High qualifier 64 bit unsigned integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 394 of file fwd.hpp.

typedef vec< 2, u64, highp > highp_u64vec2

High qualifier 64 bit unsigned integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 395 of file fwd.hpp.

typedef vec< 3, u64, highp > highp_u64vec3

High qualifier 64 bit unsigned integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 396 of file fwd.hpp.

typedef vec< 4, u64, highp > highp_u64vec4

High qualifier 64 bit unsigned integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 397 of file fwd.hpp.

typedef detail::uint8 highp_u8

High qualifier 8 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 91 of file fwd.hpp.

typedef vec< 1, u8, highp > highp_u8vec1

High qualifier 8 bit unsigned integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 334 of file fwd.hpp.

typedef vec< 2, u8, highp > highp_u8vec2

High qualifier 8 bit unsigned integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 335 of file fwd.hpp.

typedef vec< 3, u8, highp > highp_u8vec3

High qualifier 8 bit unsigned integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 336 of file fwd.hpp.

typedef vec< 4, u8, highp > highp_u8vec4

High qualifier 8 bit unsigned integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 337 of file fwd.hpp.

typedef detail::uint16 highp_uint16

High qualifier 16 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 110 of file fwd.hpp.

typedef detail::uint16 highp_uint16_t

High qualifier 16 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 114 of file fwd.hpp.

typedef detail::uint32 highp_uint32

High qualifier 32 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 124 of file fwd.hpp.

typedef detail::uint32 highp_uint32_t

High qualifier 32 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 128 of file fwd.hpp.

typedef detail::uint64 highp_uint64

High qualifier 64 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 138 of file fwd.hpp.

typedef detail::uint64 highp_uint64_t

High qualifier 64 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 142 of file fwd.hpp.

typedef detail::uint8 highp_uint8

High qualifier 8 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 96 of file fwd.hpp.

typedef detail::uint8 highp_uint8_t

High qualifier 8 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 100 of file fwd.hpp.

typedef detail::int16 i16

16 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 48 of file fwd.hpp.

typedef vec< 1, i16, defaultp > i16vec1

16 bit signed integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 257 of file fwd.hpp.

typedef vec< 2, i16, defaultp > i16vec2

16 bit signed integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 258 of file fwd.hpp.

typedef vec< 3, i16, defaultp > i16vec3

16 bit signed integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 259 of file fwd.hpp.

typedef vec< 4, i16, defaultp > i16vec4

16 bit signed integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 260 of file fwd.hpp.

typedef detail::int32 i32

32 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 62 of file fwd.hpp.

typedef vec< 1, i32, defaultp > i32vec1

32 bit signed integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 277 of file fwd.hpp.

typedef vec< 2, i32, defaultp > i32vec2

32 bit signed integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 278 of file fwd.hpp.

typedef vec< 3, i32, defaultp > i32vec3

32 bit signed integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 279 of file fwd.hpp.

typedef vec< 4, i32, defaultp > i32vec4

32 bit signed integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 280 of file fwd.hpp.

typedef detail::int64 i64

64 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 76 of file fwd.hpp.

typedef vec< 1, i64, defaultp > i64vec1

64 bit signed integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 297 of file fwd.hpp.

typedef vec< 2, i64, defaultp > i64vec2

64 bit signed integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 298 of file fwd.hpp.

typedef vec< 3, i64, defaultp > i64vec3

64 bit signed integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 299 of file fwd.hpp.

typedef vec< 4, i64, defaultp > i64vec4

64 bit signed integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 300 of file fwd.hpp.

typedef detail::int8 i8

8 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 34 of file fwd.hpp.

typedef vec< 1, i8, defaultp > i8vec1

8 bit signed integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 237 of file fwd.hpp.

typedef vec< 2, i8, defaultp > i8vec2

8 bit signed integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 238 of file fwd.hpp.

typedef vec< 3, i8, defaultp > i8vec3

8 bit signed integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 239 of file fwd.hpp.

typedef vec< 4, i8, defaultp > i8vec4

8 bit signed integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 240 of file fwd.hpp.

typedef detail::int16 int16_t

16 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 57 of file fwd.hpp.

typedef detail::int32 int32_t

32 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 71 of file fwd.hpp.

typedef detail::int64 int64_t

64 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 85 of file fwd.hpp.

typedef detail::int8 int8_t

8 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 43 of file fwd.hpp.

typedef float32 lowp_f32

Low 32 bit single-qualifier floating-point scalar.

See also
GLM_GTC_type_precision

Definition at line 147 of file fwd.hpp.

typedef lowp_f32mat2x2 lowp_f32mat2

Low single-qualifier floating-point 1x1 matrix.

See also
GLM_GTC_type_precision Low single-qualifier floating-point 2x2 matrix.
GLM_GTC_type_precision

Definition at line 540 of file fwd.hpp.

typedef mat< 2, 2, f32, lowp > lowp_f32mat2x2

Low single-qualifier floating-point 1x1 matrix.

See also
GLM_GTC_type_precision Low single-qualifier floating-point 2x2 matrix.
GLM_GTC_type_precision

Definition at line 670 of file fwd.hpp.

typedef mat< 2, 3, f32, lowp > lowp_f32mat2x3

Low single-qualifier floating-point 2x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 671 of file fwd.hpp.

typedef mat< 2, 4, f32, lowp > lowp_f32mat2x4

Low single-qualifier floating-point 2x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 672 of file fwd.hpp.

typedef lowp_f32mat3x3 lowp_f32mat3

Low single-qualifier floating-point 3x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 541 of file fwd.hpp.

typedef mat< 3, 2, f32, lowp > lowp_f32mat3x2

Low single-qualifier floating-point 3x2 matrix.

See also
GLM_GTC_type_precision

Definition at line 673 of file fwd.hpp.

typedef mat< 3, 3, f32, lowp > lowp_f32mat3x3

Low single-qualifier floating-point 3x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 674 of file fwd.hpp.

typedef mat< 3, 4, f32, lowp > lowp_f32mat3x4

Low single-qualifier floating-point 3x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 675 of file fwd.hpp.

typedef lowp_f32mat4x4 lowp_f32mat4

Low single-qualifier floating-point 4x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 542 of file fwd.hpp.

typedef mat< 4, 2, f32, lowp > lowp_f32mat4x2

Low single-qualifier floating-point 4x2 matrix.

See also
GLM_GTC_type_precision

Definition at line 676 of file fwd.hpp.

typedef mat< 4, 3, f32, lowp > lowp_f32mat4x3

Low single-qualifier floating-point 4x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 677 of file fwd.hpp.

typedef mat< 4, 4, f32, lowp > lowp_f32mat4x4

Low single-qualifier floating-point 4x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 678 of file fwd.hpp.

typedef qua< f32, lowp > lowp_f32quat

Low single-qualifier floating-point quaternion.

See also
GLM_GTC_type_precision

Definition at line 802 of file fwd.hpp.

typedef vec< 1, f32, lowp > lowp_f32vec1

Low single-qualifier floating-point vector of 1 component.

See also
GLM_GTC_type_precision

Definition at line 446 of file fwd.hpp.

typedef vec< 2, f32, lowp > lowp_f32vec2

Low single-qualifier floating-point vector of 2 components.

See also
core_precision

Definition at line 447 of file fwd.hpp.

typedef vec< 3, f32, lowp > lowp_f32vec3

Low single-qualifier floating-point vector of 3 components.

See also
core_precision

Definition at line 448 of file fwd.hpp.

typedef vec< 4, f32, lowp > lowp_f32vec4

Low single-qualifier floating-point vector of 4 components.

See also
core_precision

Definition at line 449 of file fwd.hpp.

typedef float64 lowp_f64

Low 64 bit double-qualifier floating-point scalar.

See also
GLM_GTC_type_precision

Definition at line 163 of file fwd.hpp.

typedef lowp_f64mat2x2 lowp_f64mat2

Low double-qualifier floating-point 1x1 matrix.

See also
GLM_GTC_type_precision Low double-qualifier floating-point 2x2 matrix.
GLM_GTC_type_precision

Definition at line 572 of file fwd.hpp.

typedef mat< 2, 2, f64, lowp > lowp_f64mat2x2

Low double-qualifier floating-point 1x1 matrix.

See also
GLM_GTC_type_precision Low double-qualifier floating-point 2x2 matrix.
GLM_GTC_type_precision

Definition at line 750 of file fwd.hpp.

typedef mat< 2, 3, f64, lowp > lowp_f64mat2x3

Low double-qualifier floating-point 2x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 751 of file fwd.hpp.

typedef mat< 2, 4, f64, lowp > lowp_f64mat2x4

Low double-qualifier floating-point 2x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 752 of file fwd.hpp.

typedef lowp_f64mat3x3 lowp_f64mat3

Low double-qualifier floating-point 3x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 573 of file fwd.hpp.

typedef mat< 3, 2, f64, lowp > lowp_f64mat3x2

Low double-qualifier floating-point 3x2 matrix.

See also
GLM_GTC_type_precision

Definition at line 753 of file fwd.hpp.

typedef mat< 3, 3, f64, lowp > lowp_f64mat3x3

Low double-qualifier floating-point 3x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 754 of file fwd.hpp.

typedef mat< 3, 4, f64, lowp > lowp_f64mat3x4

Low double-qualifier floating-point 3x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 755 of file fwd.hpp.

typedef lowp_f64mat4x4 lowp_f64mat4

Low double-qualifier floating-point 4x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 574 of file fwd.hpp.

typedef mat< 4, 2, f64, lowp > lowp_f64mat4x2

Low double-qualifier floating-point 4x2 matrix.

See also
GLM_GTC_type_precision

Definition at line 756 of file fwd.hpp.

typedef mat< 4, 3, f64, lowp > lowp_f64mat4x3

Low double-qualifier floating-point 4x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 757 of file fwd.hpp.

typedef mat< 4, 4, f64, lowp > lowp_f64mat4x4

Low double-qualifier floating-point 4x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 758 of file fwd.hpp.

typedef qua< f64, lowp > lowp_f64quat

Low double-qualifier floating-point quaternion.

See also
GLM_GTC_type_precision

Definition at line 812 of file fwd.hpp.

typedef vec< 1, f64, lowp > lowp_f64vec1

Low double-qualifier floating-point vector of 1 component.

See also
GLM_GTC_type_precision

Definition at line 486 of file fwd.hpp.

typedef vec< 2, f64, lowp > lowp_f64vec2

Low double-qualifier floating-point vector of 2 components.

See also
GLM_GTC_type_precision

Definition at line 487 of file fwd.hpp.

typedef vec< 3, f64, lowp > lowp_f64vec3

Low double-qualifier floating-point vector of 3 components.

See also
GLM_GTC_type_precision

Definition at line 488 of file fwd.hpp.

typedef vec< 4, f64, lowp > lowp_f64vec4

Low double-qualifier floating-point vector of 4 components.

See also
GLM_GTC_type_precision

Definition at line 489 of file fwd.hpp.

typedef float32 lowp_float32

Low 32 bit single-qualifier floating-point scalar.

See also
GLM_GTC_type_precision

Definition at line 152 of file fwd.hpp.

typedef float32 lowp_float32_t

Low 32 bit single-qualifier floating-point scalar.

See also
GLM_GTC_type_precision

Definition at line 157 of file fwd.hpp.

typedef float64 lowp_float64

Low 64 bit double-qualifier floating-point scalar.

See also
GLM_GTC_type_precision

Definition at line 168 of file fwd.hpp.

typedef float64 lowp_float64_t

Low 64 bit double-qualifier floating-point scalar.

See also
GLM_GTC_type_precision

Definition at line 173 of file fwd.hpp.

typedef lowp_fmat2x2 lowp_fmat2

Low single-qualifier floating-point 1x1 matrix.

See also
GLM_GTC_type_precision Low single-qualifier floating-point 2x2 matrix.
GLM_GTC_type_precision

Definition at line 524 of file fwd.hpp.

typedef mat< 2, 2, f32, lowp > lowp_fmat2x2

Low single-qualifier floating-point 1x1 matrix.

See also
GLM_GTC_type_precision Low single-qualifier floating-point 2x2 matrix.
GLM_GTC_type_precision

Definition at line 630 of file fwd.hpp.

typedef mat< 2, 3, f32, lowp > lowp_fmat2x3

Low single-qualifier floating-point 2x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 631 of file fwd.hpp.

typedef mat< 2, 4, f32, lowp > lowp_fmat2x4

Low single-qualifier floating-point 2x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 632 of file fwd.hpp.

typedef lowp_fmat3x3 lowp_fmat3

Low single-qualifier floating-point 3x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 525 of file fwd.hpp.

typedef mat< 3, 2, f32, lowp > lowp_fmat3x2

Low single-qualifier floating-point 3x2 matrix.

See also
GLM_GTC_type_precision

Definition at line 633 of file fwd.hpp.

typedef mat< 3, 3, f32, lowp > lowp_fmat3x3

Low single-qualifier floating-point 3x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 634 of file fwd.hpp.

typedef mat< 3, 4, f32, lowp > lowp_fmat3x4

Low single-qualifier floating-point 3x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 635 of file fwd.hpp.

typedef lowp_fmat4x4 lowp_fmat4

Low single-qualifier floating-point 4x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 526 of file fwd.hpp.

typedef mat< 4, 2, f32, lowp > lowp_fmat4x2

Low single-qualifier floating-point 4x2 matrix.

See also
GLM_GTC_type_precision

Definition at line 636 of file fwd.hpp.

typedef mat< 4, 3, f32, lowp > lowp_fmat4x3

Low single-qualifier floating-point 4x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 637 of file fwd.hpp.

typedef mat< 4, 4, f32, lowp > lowp_fmat4x4

Low single-qualifier floating-point 4x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 638 of file fwd.hpp.

typedef vec< 1, float, lowp > lowp_fvec1

Low single-qualifier floating-point vector of 1 component.

See also
GLM_GTC_type_precision

Definition at line 426 of file fwd.hpp.

typedef vec< 2, float, lowp > lowp_fvec2

Low single-qualifier floating-point vector of 2 components.

See also
GLM_GTC_type_precision

Definition at line 427 of file fwd.hpp.

typedef vec< 3, float, lowp > lowp_fvec3

Low single-qualifier floating-point vector of 3 components.

See also
GLM_GTC_type_precision

Definition at line 428 of file fwd.hpp.

typedef vec< 4, float, lowp > lowp_fvec4

Low single-qualifier floating-point vector of 4 components.

See also
GLM_GTC_type_precision

Definition at line 429 of file fwd.hpp.

typedef detail::int16 lowp_i16

Low qualifier 16 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 45 of file fwd.hpp.

typedef vec< 1, i16, lowp > lowp_i16vec1

Low qualifier 16 bit signed integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 242 of file fwd.hpp.

typedef vec< 2, i16, lowp > lowp_i16vec2

Low qualifier 16 bit signed integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 243 of file fwd.hpp.

typedef vec< 3, i16, lowp > lowp_i16vec3

Low qualifier 16 bit signed integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 244 of file fwd.hpp.

typedef vec< 4, i16, lowp > lowp_i16vec4

Low qualifier 16 bit signed integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 245 of file fwd.hpp.

typedef detail::int32 lowp_i32

Low qualifier 32 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 59 of file fwd.hpp.

typedef vec< 1, i32, lowp > lowp_i32vec1

Low qualifier 32 bit signed integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 262 of file fwd.hpp.

typedef vec< 2, i32, lowp > lowp_i32vec2

Low qualifier 32 bit signed integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 263 of file fwd.hpp.

typedef vec< 3, i32, lowp > lowp_i32vec3

Low qualifier 32 bit signed integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 264 of file fwd.hpp.

typedef vec< 4, i32, lowp > lowp_i32vec4

Low qualifier 32 bit signed integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 265 of file fwd.hpp.

typedef detail::int64 lowp_i64

Low qualifier 64 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 73 of file fwd.hpp.

typedef vec< 1, i64, lowp > lowp_i64vec1

Low qualifier 64 bit signed integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 282 of file fwd.hpp.

typedef vec< 2, i64, lowp > lowp_i64vec2

Low qualifier 64 bit signed integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 283 of file fwd.hpp.

typedef vec< 3, i64, lowp > lowp_i64vec3

Low qualifier 64 bit signed integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 284 of file fwd.hpp.

typedef vec< 4, i64, lowp > lowp_i64vec4

Low qualifier 64 bit signed integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 285 of file fwd.hpp.

typedef detail::int8 lowp_i8

Low qualifier 8 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 31 of file fwd.hpp.

typedef vec< 1, i8, lowp > lowp_i8vec1

Low qualifier 8 bit signed integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 222 of file fwd.hpp.

typedef vec< 2, i8, lowp > lowp_i8vec2

Low qualifier 8 bit signed integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 223 of file fwd.hpp.

typedef vec< 3, i8, lowp > lowp_i8vec3

Low qualifier 8 bit signed integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 224 of file fwd.hpp.

typedef vec< 4, i8, lowp > lowp_i8vec4

Low qualifier 8 bit signed integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 225 of file fwd.hpp.

typedef detail::int16 lowp_int16

Low qualifier 16 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 50 of file fwd.hpp.

typedef detail::int16 lowp_int16_t

Low qualifier 16 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 54 of file fwd.hpp.

typedef detail::int32 lowp_int32

Low qualifier 32 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 64 of file fwd.hpp.

typedef detail::int32 lowp_int32_t

Low qualifier 32 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 68 of file fwd.hpp.

typedef detail::int64 lowp_int64

Low qualifier 64 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 78 of file fwd.hpp.

typedef detail::int64 lowp_int64_t

Low qualifier 64 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 82 of file fwd.hpp.

typedef detail::int8 lowp_int8

Low qualifier 8 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 36 of file fwd.hpp.

typedef detail::int8 lowp_int8_t

Low qualifier 8 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 40 of file fwd.hpp.

typedef detail::uint16 lowp_u16

Low qualifier 16 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 103 of file fwd.hpp.

typedef vec< 1, u16, lowp > lowp_u16vec1

Low qualifier 16 bit unsigned integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 344 of file fwd.hpp.

typedef vec< 2, u16, lowp > lowp_u16vec2

Low qualifier 16 bit unsigned integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 345 of file fwd.hpp.

typedef vec< 3, u16, lowp > lowp_u16vec3

Low qualifier 16 bit unsigned integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 346 of file fwd.hpp.

typedef vec< 4, u16, lowp > lowp_u16vec4

Low qualifier 16 bit unsigned integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 347 of file fwd.hpp.

typedef detail::uint32 lowp_u32

Low qualifier 32 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 117 of file fwd.hpp.

typedef vec< 1, u32, lowp > lowp_u32vec1

Low qualifier 32 bit unsigned integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 364 of file fwd.hpp.

typedef vec< 2, u32, lowp > lowp_u32vec2

Low qualifier 32 bit unsigned integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 365 of file fwd.hpp.

typedef vec< 3, u32, lowp > lowp_u32vec3

Low qualifier 32 bit unsigned integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 366 of file fwd.hpp.

typedef vec< 4, u32, lowp > lowp_u32vec4

Low qualifier 32 bit unsigned integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 367 of file fwd.hpp.

typedef detail::uint64 lowp_u64

Low qualifier 64 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 131 of file fwd.hpp.

typedef vec< 1, u64, lowp > lowp_u64vec1

Low qualifier 64 bit unsigned integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 384 of file fwd.hpp.

typedef vec< 2, u64, lowp > lowp_u64vec2

Low qualifier 64 bit unsigned integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 385 of file fwd.hpp.

typedef vec< 3, u64, lowp > lowp_u64vec3

Low qualifier 64 bit unsigned integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 386 of file fwd.hpp.

typedef vec< 4, u64, lowp > lowp_u64vec4

Low qualifier 64 bit unsigned integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 387 of file fwd.hpp.

typedef detail::uint8 lowp_u8

Low qualifier 8 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 89 of file fwd.hpp.

typedef vec< 1, u8, lowp > lowp_u8vec1

Low qualifier 8 bit unsigned integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 324 of file fwd.hpp.

typedef vec< 2, u8, lowp > lowp_u8vec2

Low qualifier 8 bit unsigned integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 325 of file fwd.hpp.

typedef vec< 3, u8, lowp > lowp_u8vec3

Low qualifier 8 bit unsigned integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 326 of file fwd.hpp.

typedef vec< 4, u8, lowp > lowp_u8vec4

Low qualifier 8 bit unsigned integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 327 of file fwd.hpp.

typedef detail::uint16 lowp_uint16

Low qualifier 16 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 108 of file fwd.hpp.

typedef detail::uint16 lowp_uint16_t

Low qualifier 16 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 112 of file fwd.hpp.

typedef detail::uint32 lowp_uint32

Low qualifier 32 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 122 of file fwd.hpp.

typedef detail::uint32 lowp_uint32_t

Low qualifier 32 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 126 of file fwd.hpp.

typedef detail::uint64 lowp_uint64

Low qualifier 64 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 136 of file fwd.hpp.

typedef detail::uint64 lowp_uint64_t

Low qualifier 64 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 140 of file fwd.hpp.

typedef detail::uint8 lowp_uint8

Low qualifier 8 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 94 of file fwd.hpp.

typedef detail::uint8 lowp_uint8_t

Low qualifier 8 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 98 of file fwd.hpp.

typedef float32 mediump_f32

Medium 32 bit single-qualifier floating-point scalar.

See also
GLM_GTC_type_precision

Definition at line 148 of file fwd.hpp.

typedef mediump_f32mat2x2 mediump_f32mat2

Medium single-qualifier floating-point 1x1 matrix.

See also
GLM_GTC_type_precision Medium single-qualifier floating-point 2x2 matrix.
GLM_GTC_type_precision

Definition at line 544 of file fwd.hpp.

typedef mat< 2, 2, f32, mediump > mediump_f32mat2x2

High single-qualifier floating-point 1x1 matrix.

See also
GLM_GTC_type_precision Low single-qualifier floating-point 2x2 matrix.
GLM_GTC_type_precision

Definition at line 680 of file fwd.hpp.

typedef mat< 2, 3, f32, mediump > mediump_f32mat2x3

Medium single-qualifier floating-point 2x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 681 of file fwd.hpp.

typedef mat< 2, 4, f32, mediump > mediump_f32mat2x4

Medium single-qualifier floating-point 2x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 682 of file fwd.hpp.

typedef mediump_f32mat3x3 mediump_f32mat3

Medium single-qualifier floating-point 3x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 545 of file fwd.hpp.

typedef mat< 3, 2, f32, mediump > mediump_f32mat3x2

Medium single-qualifier floating-point 3x2 matrix.

See also
GLM_GTC_type_precision

Definition at line 683 of file fwd.hpp.

typedef mat< 3, 3, f32, mediump > mediump_f32mat3x3

Medium single-qualifier floating-point 3x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 684 of file fwd.hpp.

typedef mat< 3, 4, f32, mediump > mediump_f32mat3x4

Medium single-qualifier floating-point 3x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 685 of file fwd.hpp.

typedef mediump_f32mat4x4 mediump_f32mat4

Medium single-qualifier floating-point 4x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 546 of file fwd.hpp.

typedef mat< 4, 2, f32, mediump > mediump_f32mat4x2

Medium single-qualifier floating-point 4x2 matrix.

See also
GLM_GTC_type_precision

Definition at line 686 of file fwd.hpp.

typedef mat< 4, 3, f32, mediump > mediump_f32mat4x3

Medium single-qualifier floating-point 4x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 687 of file fwd.hpp.

typedef mat< 4, 4, f32, mediump > mediump_f32mat4x4

Medium single-qualifier floating-point 4x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 688 of file fwd.hpp.

typedef qua< f32, mediump > mediump_f32quat

Medium single-qualifier floating-point quaternion.

See also
GLM_GTC_type_precision

Definition at line 803 of file fwd.hpp.

typedef vec< 1, f32, mediump > mediump_f32vec1

Medium single-qualifier floating-point vector of 1 component.

See also
GLM_GTC_type_precision

Definition at line 451 of file fwd.hpp.

typedef vec< 2, f32, mediump > mediump_f32vec2

Medium single-qualifier floating-point vector of 2 components.

See also
core_precision

Definition at line 452 of file fwd.hpp.

typedef vec< 3, f32, mediump > mediump_f32vec3

Medium single-qualifier floating-point vector of 3 components.

See also
core_precision

Definition at line 453 of file fwd.hpp.

typedef vec< 4, f32, mediump > mediump_f32vec4

Medium single-qualifier floating-point vector of 4 components.

See also
core_precision

Definition at line 454 of file fwd.hpp.

typedef float64 mediump_f64

Medium 64 bit double-qualifier floating-point scalar.

See also
GLM_GTC_type_precision

Definition at line 164 of file fwd.hpp.

typedef mediump_f64mat2x2 mediump_f64mat2

Medium double-qualifier floating-point 1x1 matrix.

See also
GLM_GTC_type_precision Medium double-qualifier floating-point 2x2 matrix.
GLM_GTC_type_precision

Definition at line 576 of file fwd.hpp.

typedef mat< 2, 2, f64, mediump > mediump_f64mat2x2

Medium double-qualifier floating-point 1x1 matrix.

See also
GLM_GTC_type_precision Medium double-qualifier floating-point 2x2 matrix.
GLM_GTC_type_precision

Definition at line 760 of file fwd.hpp.

typedef mat< 2, 3, f64, mediump > mediump_f64mat2x3

Medium double-qualifier floating-point 2x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 761 of file fwd.hpp.

typedef mat< 2, 4, f64, mediump > mediump_f64mat2x4

Medium double-qualifier floating-point 2x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 762 of file fwd.hpp.

typedef mediump_f64mat3x3 mediump_f64mat3

Medium double-qualifier floating-point 3x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 577 of file fwd.hpp.

typedef mat< 3, 2, f64, mediump > mediump_f64mat3x2

Medium double-qualifier floating-point 3x2 matrix.

See also
GLM_GTC_type_precision

Definition at line 763 of file fwd.hpp.

typedef mat< 3, 3, f64, mediump > mediump_f64mat3x3

Medium double-qualifier floating-point 3x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 764 of file fwd.hpp.

typedef mat< 3, 4, f64, mediump > mediump_f64mat3x4

Medium double-qualifier floating-point 3x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 765 of file fwd.hpp.

typedef mediump_f64mat4x4 mediump_f64mat4

Medium double-qualifier floating-point 4x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 578 of file fwd.hpp.

typedef mat< 4, 2, f64, mediump > mediump_f64mat4x2

Medium double-qualifier floating-point 4x2 matrix.

See also
GLM_GTC_type_precision

Definition at line 766 of file fwd.hpp.

typedef mat< 4, 3, f64, mediump > mediump_f64mat4x3

Medium double-qualifier floating-point 4x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 767 of file fwd.hpp.

typedef mat< 4, 4, f64, mediump > mediump_f64mat4x4

Medium double-qualifier floating-point 4x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 768 of file fwd.hpp.

typedef qua< f64, mediump > mediump_f64quat

Medium double-qualifier floating-point quaternion.

See also
GLM_GTC_type_precision

Definition at line 813 of file fwd.hpp.

typedef vec< 1, f64, mediump > mediump_f64vec1

Medium double-qualifier floating-point vector of 1 component.

See also
GLM_GTC_type_precision

Definition at line 491 of file fwd.hpp.

typedef vec< 2, f64, mediump > mediump_f64vec2

Medium double-qualifier floating-point vector of 2 components.

See also
GLM_GTC_type_precision

Definition at line 492 of file fwd.hpp.

typedef vec< 3, f64, mediump > mediump_f64vec3

Medium double-qualifier floating-point vector of 3 components.

See also
GLM_GTC_type_precision

Definition at line 493 of file fwd.hpp.

typedef vec< 4, f64, mediump > mediump_f64vec4

Medium double-qualifier floating-point vector of 4 components.

See also
GLM_GTC_type_precision

Definition at line 494 of file fwd.hpp.

typedef float32 mediump_float32

Medium 32 bit single-qualifier floating-point scalar.

See also
GLM_GTC_type_precision

Definition at line 153 of file fwd.hpp.

typedef float32 mediump_float32_t

Medium 32 bit single-qualifier floating-point scalar.

See also
GLM_GTC_type_precision

Definition at line 158 of file fwd.hpp.

typedef float64 mediump_float64

Medium 64 bit double-qualifier floating-point scalar.

See also
GLM_GTC_type_precision

Definition at line 169 of file fwd.hpp.

typedef float64 mediump_float64_t

Medium 64 bit double-qualifier floating-point scalar.

See also
GLM_GTC_type_precision

Definition at line 174 of file fwd.hpp.

typedef mediump_fmat2x2 mediump_fmat2

Medium single-qualifier floating-point 1x1 matrix.

See also
GLM_GTC_type_precision Medium single-qualifier floating-point 2x2 matrix.
GLM_GTC_type_precision

Definition at line 528 of file fwd.hpp.

typedef mat< 2, 2, f32, mediump > mediump_fmat2x2

Medium single-qualifier floating-point 1x1 matrix.

See also
GLM_GTC_type_precision Medium single-qualifier floating-point 2x2 matrix.
GLM_GTC_type_precision

Definition at line 640 of file fwd.hpp.

typedef mat< 2, 3, f32, mediump > mediump_fmat2x3

Medium single-qualifier floating-point 2x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 641 of file fwd.hpp.

typedef mat< 2, 4, f32, mediump > mediump_fmat2x4

Medium single-qualifier floating-point 2x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 642 of file fwd.hpp.

typedef mediump_fmat3x3 mediump_fmat3

Medium single-qualifier floating-point 3x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 529 of file fwd.hpp.

typedef mat< 3, 2, f32, mediump > mediump_fmat3x2

Medium single-qualifier floating-point 3x2 matrix.

See also
GLM_GTC_type_precision

Definition at line 643 of file fwd.hpp.

typedef mat< 3, 3, f32, mediump > mediump_fmat3x3

Medium single-qualifier floating-point 3x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 644 of file fwd.hpp.

typedef mat< 3, 4, f32, mediump > mediump_fmat3x4

Medium single-qualifier floating-point 3x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 645 of file fwd.hpp.

typedef mediump_fmat4x4 mediump_fmat4

Medium single-qualifier floating-point 4x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 530 of file fwd.hpp.

typedef mat< 4, 2, f32, mediump > mediump_fmat4x2

Medium single-qualifier floating-point 4x2 matrix.

See also
GLM_GTC_type_precision

Definition at line 646 of file fwd.hpp.

typedef mat< 4, 3, f32, mediump > mediump_fmat4x3

Medium single-qualifier floating-point 4x3 matrix.

See also
GLM_GTC_type_precision

Definition at line 647 of file fwd.hpp.

typedef mat< 4, 4, f32, mediump > mediump_fmat4x4

Medium single-qualifier floating-point 4x4 matrix.

See also
GLM_GTC_type_precision

Definition at line 648 of file fwd.hpp.

typedef vec< 1, float, mediump > mediump_fvec1

Medium single-qualifier floating-point vector of 1 component.

See also
GLM_GTC_type_precision

Definition at line 431 of file fwd.hpp.

typedef vec< 2, float, mediump > mediump_fvec2

Medium Single-qualifier floating-point vector of 2 components.

See also
GLM_GTC_type_precision

Definition at line 432 of file fwd.hpp.

typedef vec< 3, float, mediump > mediump_fvec3

Medium Single-qualifier floating-point vector of 3 components.

See also
GLM_GTC_type_precision

Definition at line 433 of file fwd.hpp.

typedef vec< 4, float, mediump > mediump_fvec4

Medium Single-qualifier floating-point vector of 4 components.

See also
GLM_GTC_type_precision

Definition at line 434 of file fwd.hpp.

typedef detail::int16 mediump_i16

Medium qualifier 16 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 46 of file fwd.hpp.

typedef vec< 1, i16, mediump > mediump_i16vec1

Medium qualifier 16 bit signed integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 247 of file fwd.hpp.

typedef vec< 2, i16, mediump > mediump_i16vec2

Medium qualifier 16 bit signed integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 248 of file fwd.hpp.

typedef vec< 3, i16, mediump > mediump_i16vec3

Medium qualifier 16 bit signed integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 249 of file fwd.hpp.

typedef vec< 4, i16, mediump > mediump_i16vec4

Medium qualifier 16 bit signed integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 250 of file fwd.hpp.

typedef detail::int32 mediump_i32

Medium qualifier 32 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 60 of file fwd.hpp.

typedef vec< 1, i32, mediump > mediump_i32vec1

Medium qualifier 32 bit signed integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 267 of file fwd.hpp.

typedef vec< 2, i32, mediump > mediump_i32vec2

Medium qualifier 32 bit signed integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 268 of file fwd.hpp.

typedef vec< 3, i32, mediump > mediump_i32vec3

Medium qualifier 32 bit signed integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 269 of file fwd.hpp.

typedef vec< 4, i32, mediump > mediump_i32vec4

Medium qualifier 32 bit signed integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 270 of file fwd.hpp.

typedef detail::int64 mediump_i64

Medium qualifier 64 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 74 of file fwd.hpp.

typedef vec< 1, i64, mediump > mediump_i64vec1

Medium qualifier 64 bit signed integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 287 of file fwd.hpp.

typedef vec< 2, i64, mediump > mediump_i64vec2

Medium qualifier 64 bit signed integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 288 of file fwd.hpp.

typedef vec< 3, i64, mediump > mediump_i64vec3

Medium qualifier 64 bit signed integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 289 of file fwd.hpp.

typedef vec< 4, i64, mediump > mediump_i64vec4

Medium qualifier 64 bit signed integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 290 of file fwd.hpp.

typedef detail::int8 mediump_i8

Medium qualifier 8 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 32 of file fwd.hpp.

typedef vec< 1, i8, mediump > mediump_i8vec1

Medium qualifier 8 bit signed integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 227 of file fwd.hpp.

typedef vec< 2, i8, mediump > mediump_i8vec2

Medium qualifier 8 bit signed integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 228 of file fwd.hpp.

typedef vec< 3, i8, mediump > mediump_i8vec3

Medium qualifier 8 bit signed integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 229 of file fwd.hpp.

typedef vec< 4, i8, mediump > mediump_i8vec4

Medium qualifier 8 bit signed integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 230 of file fwd.hpp.

typedef detail::int16 mediump_int16

Medium qualifier 16 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 51 of file fwd.hpp.

typedef detail::int16 mediump_int16_t

Medium qualifier 16 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 55 of file fwd.hpp.

typedef detail::int32 mediump_int32

Medium qualifier 32 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 65 of file fwd.hpp.

typedef detail::int32 mediump_int32_t

Medium qualifier 32 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 69 of file fwd.hpp.

typedef detail::int64 mediump_int64

Medium qualifier 64 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 79 of file fwd.hpp.

typedef detail::int64 mediump_int64_t

Medium qualifier 64 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 83 of file fwd.hpp.

typedef detail::int8 mediump_int8

Medium qualifier 8 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 37 of file fwd.hpp.

typedef detail::int8 mediump_int8_t

Medium qualifier 8 bit signed integer type.

See also
GLM_GTC_type_precision

Definition at line 41 of file fwd.hpp.

typedef detail::uint16 mediump_u16

Medium qualifier 16 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 104 of file fwd.hpp.

typedef vec< 1, u16, mediump > mediump_u16vec1

Medium qualifier 16 bit unsigned integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 349 of file fwd.hpp.

typedef vec< 2, u16, mediump > mediump_u16vec2

Medium qualifier 16 bit unsigned integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 350 of file fwd.hpp.

typedef vec< 3, u16, mediump > mediump_u16vec3

Medium qualifier 16 bit unsigned integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 351 of file fwd.hpp.

typedef vec< 4, u16, mediump > mediump_u16vec4

Medium qualifier 16 bit unsigned integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 352 of file fwd.hpp.

typedef detail::uint32 mediump_u32

Medium qualifier 32 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 118 of file fwd.hpp.

typedef vec< 1, u32, mediump > mediump_u32vec1

Medium qualifier 32 bit unsigned integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 369 of file fwd.hpp.

typedef vec< 2, u32, mediump > mediump_u32vec2

Medium qualifier 32 bit unsigned integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 370 of file fwd.hpp.

typedef vec< 3, u32, mediump > mediump_u32vec3

Medium qualifier 32 bit unsigned integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 371 of file fwd.hpp.

typedef vec< 4, u32, mediump > mediump_u32vec4

Medium qualifier 32 bit unsigned integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 372 of file fwd.hpp.

typedef detail::uint64 mediump_u64

Medium qualifier 64 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 132 of file fwd.hpp.

typedef vec< 1, u64, mediump > mediump_u64vec1

Medium qualifier 64 bit unsigned integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 389 of file fwd.hpp.

typedef vec< 2, u64, mediump > mediump_u64vec2

Medium qualifier 64 bit unsigned integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 390 of file fwd.hpp.

typedef vec< 3, u64, mediump > mediump_u64vec3

Medium qualifier 64 bit unsigned integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 391 of file fwd.hpp.

typedef vec< 4, u64, mediump > mediump_u64vec4

Medium qualifier 64 bit unsigned integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 392 of file fwd.hpp.

typedef detail::uint8 mediump_u8

Medium qualifier 8 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 90 of file fwd.hpp.

typedef vec< 1, u8, mediump > mediump_u8vec1

Medium qualifier 8 bit unsigned integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 329 of file fwd.hpp.

typedef vec< 2, u8, mediump > mediump_u8vec2

Medium qualifier 8 bit unsigned integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 330 of file fwd.hpp.

typedef vec< 3, u8, mediump > mediump_u8vec3

Medium qualifier 8 bit unsigned integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 331 of file fwd.hpp.

typedef vec< 4, u8, mediump > mediump_u8vec4

Medium qualifier 8 bit unsigned integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 332 of file fwd.hpp.

typedef detail::uint16 mediump_uint16

Medium qualifier 16 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 109 of file fwd.hpp.

typedef detail::uint16 mediump_uint16_t

Medium qualifier 16 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 113 of file fwd.hpp.

typedef detail::uint32 mediump_uint32

Medium qualifier 32 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 123 of file fwd.hpp.

typedef detail::uint32 mediump_uint32_t

Medium qualifier 32 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 127 of file fwd.hpp.

typedef detail::uint64 mediump_uint64

Medium qualifier 64 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 137 of file fwd.hpp.

typedef detail::uint64 mediump_uint64_t

Medium qualifier 64 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 141 of file fwd.hpp.

typedef detail::uint8 mediump_uint8

Medium qualifier 8 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 95 of file fwd.hpp.

typedef detail::uint8 mediump_uint8_t

Medium qualifier 8 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 99 of file fwd.hpp.

typedef detail::uint16 u16

Default qualifier 16 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 106 of file fwd.hpp.

typedef vec< 1, u16, defaultp > u16vec1

Default qualifier 16 bit unsigned integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 359 of file fwd.hpp.

typedef vec< 2, u16, defaultp > u16vec2

Default qualifier 16 bit unsigned integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 360 of file fwd.hpp.

typedef vec< 3, u16, defaultp > u16vec3

Default qualifier 16 bit unsigned integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 361 of file fwd.hpp.

typedef vec< 4, u16, defaultp > u16vec4

Default qualifier 16 bit unsigned integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 362 of file fwd.hpp.

typedef detail::uint32 u32

Default qualifier 32 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 120 of file fwd.hpp.

typedef vec< 1, u32, defaultp > u32vec1

Default qualifier 32 bit unsigned integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 379 of file fwd.hpp.

typedef vec< 2, u32, defaultp > u32vec2

Default qualifier 32 bit unsigned integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 380 of file fwd.hpp.

typedef vec< 3, u32, defaultp > u32vec3

Default qualifier 32 bit unsigned integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 381 of file fwd.hpp.

typedef vec< 4, u32, defaultp > u32vec4

Default qualifier 32 bit unsigned integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 382 of file fwd.hpp.

typedef detail::uint64 u64

Default qualifier 64 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 134 of file fwd.hpp.

typedef vec< 1, u64, defaultp > u64vec1

Default qualifier 64 bit unsigned integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 399 of file fwd.hpp.

typedef vec< 2, u64, defaultp > u64vec2

Default qualifier 64 bit unsigned integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 400 of file fwd.hpp.

typedef vec< 3, u64, defaultp > u64vec3

Default qualifier 64 bit unsigned integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 401 of file fwd.hpp.

typedef vec< 4, u64, defaultp > u64vec4

Default qualifier 64 bit unsigned integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 402 of file fwd.hpp.

typedef detail::uint8 u8

Default qualifier 8 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 92 of file fwd.hpp.

typedef vec< 1, u8, defaultp > u8vec1

Default qualifier 8 bit unsigned integer scalar type.

See also
GLM_GTC_type_precision

Definition at line 339 of file fwd.hpp.

typedef vec< 2, u8, defaultp > u8vec2

Default qualifier 8 bit unsigned integer vector of 2 components type.

See also
GLM_GTC_type_precision

Definition at line 340 of file fwd.hpp.

typedef vec< 3, u8, defaultp > u8vec3

Default qualifier 8 bit unsigned integer vector of 3 components type.

See also
GLM_GTC_type_precision

Definition at line 341 of file fwd.hpp.

typedef vec< 4, u8, defaultp > u8vec4

Default qualifier 8 bit unsigned integer vector of 4 components type.

See also
GLM_GTC_type_precision

Definition at line 342 of file fwd.hpp.

typedef detail::uint16 uint16_t

Default qualifier 16 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 115 of file fwd.hpp.

typedef detail::uint32 uint32_t

Default qualifier 32 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 129 of file fwd.hpp.

typedef detail::uint64 uint64_t

Default qualifier 64 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 143 of file fwd.hpp.

typedef detail::uint8 uint8_t

Default qualifier 8 bit unsigned integer type.

See also
GLM_GTC_type_precision

Definition at line 101 of file fwd.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00305.html ================================================ 0.9.9 API documentation: GLM_GTC_type_ptr
0.9.9 API documentation

Include <glm/gtc/type_ptr.hpp> to use the features of this extension. More...

Functions

template<typename T >
GLM_FUNC_DECL mat< 2, 2, T, defaultp > make_mat2 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 2, 2, T, defaultp > make_mat2x2 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 2, 3, T, defaultp > make_mat2x3 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 2, 4, T, defaultp > make_mat2x4 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 3, 3, T, defaultp > make_mat3 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 3, 2, T, defaultp > make_mat3x2 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 3, 3, T, defaultp > make_mat3x3 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 3, 4, T, defaultp > make_mat3x4 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > make_mat4 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 2, T, defaultp > make_mat4x2 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 3, T, defaultp > make_mat4x3 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > make_mat4x4 (T const *const ptr)
 Build a matrix from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL qua< T, defaultp > make_quat (T const *const ptr)
 Build a quaternion from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 1, T, Q > make_vec1 (vec< 1, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 1, T, Q > make_vec1 (vec< 2, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 1, T, Q > make_vec1 (vec< 3, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 1, T, Q > make_vec1 (vec< 4, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, T, Q > make_vec2 (vec< 1, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, T, Q > make_vec2 (vec< 2, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, T, Q > make_vec2 (vec< 3, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, T, Q > make_vec2 (vec< 4, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL vec< 2, T, defaultp > make_vec2 (T const *const ptr)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > make_vec3 (vec< 1, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > make_vec3 (vec< 2, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > make_vec3 (vec< 3, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > make_vec3 (vec< 4, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL vec< 3, T, defaultp > make_vec3 (T const *const ptr)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > make_vec4 (vec< 1, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > make_vec4 (vec< 2, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > make_vec4 (vec< 3, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > make_vec4 (vec< 4, T, Q > const &v)
 Build a vector from a pointer. More...
 
template<typename T >
GLM_FUNC_DECL vec< 4, T, defaultp > make_vec4 (T const *const ptr)
 Build a vector from a pointer. More...
 
template<typename genType >
GLM_FUNC_DECL genType::value_type const * value_ptr (genType const &v)
 Return the constant address to the data of the input parameter. More...
 

Detailed Description

Include <glm/gtc/type_ptr.hpp> to use the features of this extension.

Handles the interaction between pointers and vector, matrix types.

This extension defines an overloaded function, glm::value_ptr. It returns a pointer to the memory layout of the object. Matrix types store their values in column-major order.

This is useful for uploading data to matrices or copying data to buffer objects.

Example:

#include <glm/glm.hpp>
glm::vec3 aVector(3);
glm::mat4 someMatrix(1.0);
glUniform3fv(uniformLoc, 1, glm::value_ptr(aVector));
glUniformMatrix4fv(uniformMatrixLoc, 1, GL_FALSE, glm::value_ptr(someMatrix));

<glm/gtc/type_ptr.hpp> need to be included to use the features of this extension.

Function Documentation

GLM_FUNC_DECL mat<2, 2, T, defaultp> glm::make_mat2 ( T const *const  ptr)

Build a matrix from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL mat<2, 2, T, defaultp> glm::make_mat2x2 ( T const *const  ptr)

Build a matrix from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL mat<2, 3, T, defaultp> glm::make_mat2x3 ( T const *const  ptr)

Build a matrix from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL mat<2, 4, T, defaultp> glm::make_mat2x4 ( T const *const  ptr)

Build a matrix from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL mat<3, 3, T, defaultp> glm::make_mat3 ( T const *const  ptr)

Build a matrix from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL mat<3, 2, T, defaultp> glm::make_mat3x2 ( T const *const  ptr)

Build a matrix from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL mat<3, 3, T, defaultp> glm::make_mat3x3 ( T const *const  ptr)

Build a matrix from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL mat<3, 4, T, defaultp> glm::make_mat3x4 ( T const *const  ptr)

Build a matrix from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::make_mat4 ( T const *const  ptr)

Build a matrix from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL mat<4, 2, T, defaultp> glm::make_mat4x2 ( T const *const  ptr)

Build a matrix from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL mat<4, 3, T, defaultp> glm::make_mat4x3 ( T const *const  ptr)

Build a matrix from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::make_mat4x4 ( T const *const  ptr)

Build a matrix from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL qua<T, defaultp> glm::make_quat ( T const *const  ptr)

Build a quaternion from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL vec<1, T, Q> glm::make_vec1 ( vec< 1, T, Q > const &  v)

Build a vector from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL vec<1, T, Q> glm::make_vec1 ( vec< 2, T, Q > const &  v)

Build a vector from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL vec<1, T, Q> glm::make_vec1 ( vec< 3, T, Q > const &  v)

Build a vector from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL vec<1, T, Q> glm::make_vec1 ( vec< 4, T, Q > const &  v)

Build a vector from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL vec<2, T, Q> glm::make_vec2 ( vec< 1, T, Q > const &  v)

Build a vector from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL vec<2, T, Q> glm::make_vec2 ( vec< 2, T, Q > const &  v)

Build a vector from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL vec<2, T, Q> glm::make_vec2 ( vec< 3, T, Q > const &  v)

Build a vector from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL vec<2, T, Q> glm::make_vec2 ( vec< 4, T, Q > const &  v)

Build a vector from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL vec<2, T, defaultp> glm::make_vec2 ( T const *const  ptr)

Build a vector from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL vec<3, T, Q> glm::make_vec3 ( vec< 1, T, Q > const &  v)

Build a vector from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL vec<3, T, Q> glm::make_vec3 ( vec< 2, T, Q > const &  v)

Build a vector from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL vec<3, T, Q> glm::make_vec3 ( vec< 3, T, Q > const &  v)

Build a vector from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL vec<3, T, Q> glm::make_vec3 ( vec< 4, T, Q > const &  v)

Build a vector from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL vec<3, T, defaultp> glm::make_vec3 ( T const *const  ptr)

Build a vector from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL vec<4, T, Q> glm::make_vec4 ( vec< 1, T, Q > const &  v)

Build a vector from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL vec<4, T, Q> glm::make_vec4 ( vec< 2, T, Q > const &  v)

Build a vector from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL vec<4, T, Q> glm::make_vec4 ( vec< 3, T, Q > const &  v)

Build a vector from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL vec<4, T, Q> glm::make_vec4 ( vec< 4, T, Q > const &  v)

Build a vector from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL vec<4, T, defaultp> glm::make_vec4 ( T const *const  ptr)

Build a vector from a pointer.

See also
GLM_GTC_type_ptr
GLM_FUNC_DECL genType::value_type const* glm::value_ptr ( genType const &  v)

Return the constant address to the data of the input parameter.

See also
GLM_GTC_type_ptr
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00306.html ================================================ 0.9.9 API documentation: GLM_GTC_ulp
0.9.9 API documentation

Include <glm/gtc/ulp.hpp> to use the features of this extension. More...

Include <glm/gtc/ulp.hpp> to use the features of this extension.

Allow the measurement of the accuracy of a function against a reference implementation. This extension works on floating-point data and provide results in ULP.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00307.html ================================================ 0.9.9 API documentation: GLM_GTC_vec1
0.9.9 API documentation

Include <glm/gtc/vec1.hpp> to use the features of this extension. More...

Include <glm/gtc/vec1.hpp> to use the features of this extension.

Add vec1, ivec1, uvec1 and bvec1 types.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00308.html ================================================ 0.9.9 API documentation: GLM_GTX_associated_min_max
0.9.9 API documentation
GLM_GTX_associated_min_max

Include <glm/gtx/associated_min_max.hpp> to use the features of this extension. More...

Functions

template<typename T , typename U >
GLM_FUNC_DECL U associatedMax (T x, U a, T y, U b)
 Maximum comparison between 2 variables and returns 2 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 2, U, Q > associatedMax (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b)
 Maximum comparison between 2 variables and returns 2 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > associatedMax (T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b)
 Maximum comparison between 2 variables and returns 2 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b)
 Maximum comparison between 2 variables and returns 2 associated variable values. More...
 
template<typename T , typename U >
GLM_FUNC_DECL U associatedMax (T x, U a, T y, U b, T z, U c)
 Maximum comparison between 3 variables and returns 3 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c)
 Maximum comparison between 3 variables and returns 3 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > associatedMax (T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b, T z, vec< L, U, Q > const &c)
 Maximum comparison between 3 variables and returns 3 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c)
 Maximum comparison between 3 variables and returns 3 associated variable values. More...
 
template<typename T , typename U >
GLM_FUNC_DECL U associatedMax (T x, U a, T y, U b, T z, U c, T w, U d)
 Maximum comparison between 4 variables and returns 4 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c, vec< L, T, Q > const &w, vec< L, U, Q > const &d)
 Maximum comparison between 4 variables and returns 4 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMax (T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b, T z, vec< L, U, Q > const &c, T w, vec< L, U, Q > const &d)
 Maximum comparison between 4 variables and returns 4 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMax (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c, vec< L, T, Q > const &w, U d)
 Maximum comparison between 4 variables and returns 4 associated variable values. More...
 
template<typename T , typename U , qualifier Q>
GLM_FUNC_DECL U associatedMin (T x, U a, T y, U b)
 Minimum comparison between 2 variables and returns 2 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< 2, U, Q > associatedMin (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b)
 Minimum comparison between 2 variables and returns 2 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMin (T x, const vec< L, U, Q > &a, T y, const vec< L, U, Q > &b)
 Minimum comparison between 2 variables and returns 2 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMin (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b)
 Minimum comparison between 2 variables and returns 2 associated variable values. More...
 
template<typename T , typename U >
GLM_FUNC_DECL U associatedMin (T x, U a, T y, U b, T z, U c)
 Minimum comparison between 3 variables and returns 3 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMin (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c)
 Minimum comparison between 3 variables and returns 3 associated variable values. More...
 
template<typename T , typename U >
GLM_FUNC_DECL U associatedMin (T x, U a, T y, U b, T z, U c, T w, U d)
 Minimum comparison between 4 variables and returns 4 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMin (vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c, vec< L, T, Q > const &w, vec< L, U, Q > const &d)
 Minimum comparison between 4 variables and returns 4 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMin (T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b, T z, vec< L, U, Q > const &c, T w, vec< L, U, Q > const &d)
 Minimum comparison between 4 variables and returns 4 associated variable values. More...
 
template<length_t L, typename T , typename U , qualifier Q>
GLM_FUNC_DECL vec< L, U, Q > associatedMin (vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c, vec< L, T, Q > const &w, U d)
 Minimum comparison between 4 variables and returns 4 associated variable values. More...
 

Detailed Description

Include <glm/gtx/associated_min_max.hpp> to use the features of this extension.

Min and max functions that return associated values not the compared onces.

Function Documentation

GLM_FUNC_DECL U glm::associatedMax ( x,
a,
y,
b 
)

Maximum comparison between 2 variables and returns 2 associated variable values.

See also
GLM_GTX_associated_min_max
GLM_FUNC_DECL vec<2, U, Q> glm::associatedMax ( vec< L, T, Q > const &  x,
vec< L, U, Q > const &  a,
vec< L, T, Q > const &  y,
vec< L, U, Q > const &  b 
)

Maximum comparison between 2 variables and returns 2 associated variable values.

See also
GLM_GTX_associated_min_max
GLM_FUNC_DECL vec<L, T, Q> glm::associatedMax ( x,
vec< L, U, Q > const &  a,
y,
vec< L, U, Q > const &  b 
)

Maximum comparison between 2 variables and returns 2 associated variable values.

See also
GLM_GTX_associated_min_max
GLM_FUNC_DECL vec<L, U, Q> glm::associatedMax ( vec< L, T, Q > const &  x,
a,
vec< L, T, Q > const &  y,
b 
)

Maximum comparison between 2 variables and returns 2 associated variable values.

See also
GLM_GTX_associated_min_max
GLM_FUNC_DECL U glm::associatedMax ( x,
a,
y,
b,
z,
c 
)

Maximum comparison between 3 variables and returns 3 associated variable values.

See also
GLM_GTX_associated_min_max
GLM_FUNC_DECL vec<L, U, Q> glm::associatedMax ( vec< L, T, Q > const &  x,
vec< L, U, Q > const &  a,
vec< L, T, Q > const &  y,
vec< L, U, Q > const &  b,
vec< L, T, Q > const &  z,
vec< L, U, Q > const &  c 
)

Maximum comparison between 3 variables and returns 3 associated variable values.

See also
GLM_GTX_associated_min_max
GLM_FUNC_DECL vec<L, T, Q> glm::associatedMax ( x,
vec< L, U, Q > const &  a,
y,
vec< L, U, Q > const &  b,
z,
vec< L, U, Q > const &  c 
)

Maximum comparison between 3 variables and returns 3 associated variable values.

See also
GLM_GTX_associated_min_max
GLM_FUNC_DECL vec<L, U, Q> glm::associatedMax ( vec< L, T, Q > const &  x,
a,
vec< L, T, Q > const &  y,
b,
vec< L, T, Q > const &  z,
c 
)

Maximum comparison between 3 variables and returns 3 associated variable values.

See also
GLM_GTX_associated_min_max
GLM_FUNC_DECL U glm::associatedMax ( x,
a,
y,
b,
z,
c,
w,
d 
)

Maximum comparison between 4 variables and returns 4 associated variable values.

See also
GLM_GTX_associated_min_max
GLM_FUNC_DECL vec<L, U, Q> glm::associatedMax ( vec< L, T, Q > const &  x,
vec< L, U, Q > const &  a,
vec< L, T, Q > const &  y,
vec< L, U, Q > const &  b,
vec< L, T, Q > const &  z,
vec< L, U, Q > const &  c,
vec< L, T, Q > const &  w,
vec< L, U, Q > const &  d 
)

Maximum comparison between 4 variables and returns 4 associated variable values.

See also
GLM_GTX_associated_min_max
GLM_FUNC_DECL vec<L, U, Q> glm::associatedMax ( x,
vec< L, U, Q > const &  a,
y,
vec< L, U, Q > const &  b,
z,
vec< L, U, Q > const &  c,
w,
vec< L, U, Q > const &  d 
)

Maximum comparison between 4 variables and returns 4 associated variable values.

See also
GLM_GTX_associated_min_max
GLM_FUNC_DECL vec<L, U, Q> glm::associatedMax ( vec< L, T, Q > const &  x,
a,
vec< L, T, Q > const &  y,
b,
vec< L, T, Q > const &  z,
c,
vec< L, T, Q > const &  w,
d 
)

Maximum comparison between 4 variables and returns 4 associated variable values.

See also
GLM_GTX_associated_min_max
GLM_FUNC_DECL U glm::associatedMin ( x,
a,
y,
b 
)

Minimum comparison between 2 variables and returns 2 associated variable values.

See also
GLM_GTX_associated_min_max
GLM_FUNC_DECL vec<2, U, Q> glm::associatedMin ( vec< L, T, Q > const &  x,
vec< L, U, Q > const &  a,
vec< L, T, Q > const &  y,
vec< L, U, Q > const &  b 
)

Minimum comparison between 2 variables and returns 2 associated variable values.

See also
GLM_GTX_associated_min_max
GLM_FUNC_DECL vec<L, U, Q> glm::associatedMin ( x,
const vec< L, U, Q > &  a,
y,
const vec< L, U, Q > &  b 
)

Minimum comparison between 2 variables and returns 2 associated variable values.

See also
GLM_GTX_associated_min_max
GLM_FUNC_DECL vec<L, U, Q> glm::associatedMin ( vec< L, T, Q > const &  x,
a,
vec< L, T, Q > const &  y,
b 
)

Minimum comparison between 2 variables and returns 2 associated variable values.

See also
GLM_GTX_associated_min_max
GLM_FUNC_DECL U glm::associatedMin ( x,
a,
y,
b,
z,
c 
)

Minimum comparison between 3 variables and returns 3 associated variable values.

See also
GLM_GTX_associated_min_max
GLM_FUNC_DECL vec<L, U, Q> glm::associatedMin ( vec< L, T, Q > const &  x,
vec< L, U, Q > const &  a,
vec< L, T, Q > const &  y,
vec< L, U, Q > const &  b,
vec< L, T, Q > const &  z,
vec< L, U, Q > const &  c 
)

Minimum comparison between 3 variables and returns 3 associated variable values.

See also
GLM_GTX_associated_min_max
GLM_FUNC_DECL U glm::associatedMin ( x,
a,
y,
b,
z,
c,
w,
d 
)

Minimum comparison between 4 variables and returns 4 associated variable values.

See also
GLM_GTX_associated_min_max
GLM_FUNC_DECL vec<L, U, Q> glm::associatedMin ( vec< L, T, Q > const &  x,
vec< L, U, Q > const &  a,
vec< L, T, Q > const &  y,
vec< L, U, Q > const &  b,
vec< L, T, Q > const &  z,
vec< L, U, Q > const &  c,
vec< L, T, Q > const &  w,
vec< L, U, Q > const &  d 
)

Minimum comparison between 4 variables and returns 4 associated variable values.

See also
GLM_GTX_associated_min_max
GLM_FUNC_DECL vec<L, U, Q> glm::associatedMin ( x,
vec< L, U, Q > const &  a,
y,
vec< L, U, Q > const &  b,
z,
vec< L, U, Q > const &  c,
w,
vec< L, U, Q > const &  d 
)

Minimum comparison between 4 variables and returns 4 associated variable values.

See also
GLM_GTX_associated_min_max
GLM_FUNC_DECL vec<L, U, Q> glm::associatedMin ( vec< L, T, Q > const &  x,
a,
vec< L, T, Q > const &  y,
b,
vec< L, T, Q > const &  z,
c,
vec< L, T, Q > const &  w,
d 
)

Minimum comparison between 4 variables and returns 4 associated variable values.

See also
GLM_GTX_associated_min_max
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00309.html ================================================ 0.9.9 API documentation: GLM_GTX_bit
0.9.9 API documentation

Include <glm/gtx/bit.hpp> to use the features of this extension. More...

Functions

template<typename genIUType >
GLM_FUNC_DECL genIUType highestBitValue (genIUType Value)
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > highestBitValue (vec< L, T, Q > const &value)
 Find the highest bit set to 1 in a integer variable and return its value. More...
 
template<typename genIUType >
GLM_FUNC_DECL genIUType lowestBitValue (genIUType Value)
 
template<typename genIUType >
GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoAbove (genIUType Value)
 Return the power of two number which value is just higher the input value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_DEPRECATED GLM_FUNC_DECL vec< L, T, Q > powerOfTwoAbove (vec< L, T, Q > const &value)
 Return the power of two number which value is just higher the input value. More...
 
template<typename genIUType >
GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoBelow (genIUType Value)
 Return the power of two number which value is just lower the input value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_DEPRECATED GLM_FUNC_DECL vec< L, T, Q > powerOfTwoBelow (vec< L, T, Q > const &value)
 Return the power of two number which value is just lower the input value. More...
 
template<typename genIUType >
GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoNearest (genIUType Value)
 Return the power of two number which value is the closet to the input value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_DEPRECATED GLM_FUNC_DECL vec< L, T, Q > powerOfTwoNearest (vec< L, T, Q > const &value)
 Return the power of two number which value is the closet to the input value. More...
 

Detailed Description

Include <glm/gtx/bit.hpp> to use the features of this extension.

Allow to perform bit operations on integer values

Function Documentation

GLM_FUNC_DECL genIUType glm::highestBitValue ( genIUType  Value)
See also
GLM_GTX_bit
GLM_FUNC_DECL vec<L, T, Q> glm::highestBitValue ( vec< L, T, Q > const &  value)

Find the highest bit set to 1 in a integer variable and return its value.

See also
GLM_GTX_bit
GLM_FUNC_DECL genIUType glm::lowestBitValue ( genIUType  Value)
See also
GLM_GTX_bit
GLM_DEPRECATED GLM_FUNC_DECL genIUType glm::powerOfTwoAbove ( genIUType  Value)

Return the power of two number which value is just higher the input value.

Deprecated, use ceilPowerOfTwo from GTC_round instead

See also
GLM_GTC_round
GLM_GTX_bit
GLM_DEPRECATED GLM_FUNC_DECL vec<L, T, Q> glm::powerOfTwoAbove ( vec< L, T, Q > const &  value)

Return the power of two number which value is just higher the input value.

Deprecated, use ceilPowerOfTwo from GTC_round instead

See also
GLM_GTC_round
GLM_GTX_bit
GLM_DEPRECATED GLM_FUNC_DECL genIUType glm::powerOfTwoBelow ( genIUType  Value)

Return the power of two number which value is just lower the input value.

Deprecated, use floorPowerOfTwo from GTC_round instead

See also
GLM_GTC_round
GLM_GTX_bit
GLM_DEPRECATED GLM_FUNC_DECL vec<L, T, Q> glm::powerOfTwoBelow ( vec< L, T, Q > const &  value)

Return the power of two number which value is just lower the input value.

Deprecated, use floorPowerOfTwo from GTC_round instead

See also
GLM_GTC_round
GLM_GTX_bit
GLM_DEPRECATED GLM_FUNC_DECL genIUType glm::powerOfTwoNearest ( genIUType  Value)

Return the power of two number which value is the closet to the input value.

Deprecated, use roundPowerOfTwo from GTC_round instead

See also
GLM_GTC_round
GLM_GTX_bit
GLM_DEPRECATED GLM_FUNC_DECL vec<L, T, Q> glm::powerOfTwoNearest ( vec< L, T, Q > const &  value)

Return the power of two number which value is the closet to the input value.

Deprecated, use roundPowerOfTwo from GTC_round instead

See also
GLM_GTC_round
GLM_GTX_bit
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00310.html ================================================ 0.9.9 API documentation: GLM_GTX_closest_point
0.9.9 API documentation
GLM_GTX_closest_point

Include <glm/gtx/closest_point.hpp> to use the features of this extension. More...

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > closestPointOnLine (vec< 3, T, Q > const &point, vec< 3, T, Q > const &a, vec< 3, T, Q > const &b)
 Find the point on a straight line which is the closet of a point. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, T, Q > closestPointOnLine (vec< 2, T, Q > const &point, vec< 2, T, Q > const &a, vec< 2, T, Q > const &b)
 2d lines work as well
 

Detailed Description

Include <glm/gtx/closest_point.hpp> to use the features of this extension.

Find the point on a straight line which is the closet of a point.

Function Documentation

GLM_FUNC_DECL vec<3, T, Q> glm::closestPointOnLine ( vec< 3, T, Q > const &  point,
vec< 3, T, Q > const &  a,
vec< 3, T, Q > const &  b 
)

Find the point on a straight line which is the closet of a point.

See also
GLM_GTX_closest_point
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00311.html ================================================ 0.9.9 API documentation: GLM_GTX_color_encoding
0.9.9 API documentation
GLM_GTX_color_encoding

Include <glm/gtx/color_encoding.hpp> to use the features of this extension. More...

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > convertD65XYZToD50XYZ (vec< 3, T, Q > const &ColorD65XYZ)
 Convert a D65 YUV color to D50 YUV.
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > convertD65XYZToLinearSRGB (vec< 3, T, Q > const &ColorD65XYZ)
 Convert a D65 YUV color to linear sRGB.
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > convertLinearSRGBToD50XYZ (vec< 3, T, Q > const &ColorLinearSRGB)
 Convert a linear sRGB color to D50 YUV.
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > convertLinearSRGBToD65XYZ (vec< 3, T, Q > const &ColorLinearSRGB)
 Convert a linear sRGB color to D65 YUV.
 

Detailed Description

Include <glm/gtx/color_encoding.hpp> to use the features of this extension.

Allow to perform bit operations on integer values

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00312.html ================================================ 0.9.9 API documentation: GLM_GTX_color_space
0.9.9 API documentation
GLM_GTX_color_space

Include <glm/gtx/color_space.hpp> to use the features of this extension. More...

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > hsvColor (vec< 3, T, Q > const &rgbValue)
 Converts a color from RGB color space to its color in HSV color space. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T luminosity (vec< 3, T, Q > const &color)
 Compute color luminosity associating ratios (0.33, 0.59, 0.11) to RGB canals. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rgbColor (vec< 3, T, Q > const &hsvValue)
 Converts a color from HSV color space to its color in RGB color space. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > saturation (T const s)
 Build a saturation matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > saturation (T const s, vec< 3, T, Q > const &color)
 Modify the saturation of a color. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > saturation (T const s, vec< 4, T, Q > const &color)
 Modify the saturation of a color. More...
 

Detailed Description

Include <glm/gtx/color_space.hpp> to use the features of this extension.

Related to RGB to HSV conversions and operations.

Function Documentation

GLM_FUNC_DECL vec<3, T, Q> glm::hsvColor ( vec< 3, T, Q > const &  rgbValue)

Converts a color from RGB color space to its color in HSV color space.

See also
GLM_GTX_color_space
GLM_FUNC_DECL T glm::luminosity ( vec< 3, T, Q > const &  color)

Compute color luminosity associating ratios (0.33, 0.59, 0.11) to RGB canals.

See also
GLM_GTX_color_space
GLM_FUNC_DECL vec<3, T, Q> glm::rgbColor ( vec< 3, T, Q > const &  hsvValue)

Converts a color from HSV color space to its color in RGB color space.

See also
GLM_GTX_color_space
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::saturation ( T const  s)

Build a saturation matrix.

See also
GLM_GTX_color_space
GLM_FUNC_DECL vec<3, T, Q> glm::saturation ( T const  s,
vec< 3, T, Q > const &  color 
)

Modify the saturation of a color.

See also
GLM_GTX_color_space
GLM_FUNC_DECL vec<4, T, Q> glm::saturation ( T const  s,
vec< 4, T, Q > const &  color 
)

Modify the saturation of a color.

See also
GLM_GTX_color_space
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00313.html ================================================ 0.9.9 API documentation: GLM_GTX_color_space_YCoCg
0.9.9 API documentation
GLM_GTX_color_space_YCoCg

Include <glm/gtx/color_space_YCoCg.hpp> to use the features of this extension. More...

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rgb2YCoCg (vec< 3, T, Q > const &rgbColor)
 Convert a color from RGB color space to YCoCg color space. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rgb2YCoCgR (vec< 3, T, Q > const &rgbColor)
 Convert a color from RGB color space to YCoCgR color space. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > YCoCg2rgb (vec< 3, T, Q > const &YCoCgColor)
 Convert a color from YCoCg color space to RGB color space. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > YCoCgR2rgb (vec< 3, T, Q > const &YCoCgColor)
 Convert a color from YCoCgR color space to RGB color space. More...
 

Detailed Description

Include <glm/gtx/color_space_YCoCg.hpp> to use the features of this extension.

RGB to YCoCg conversions and operations

Function Documentation

GLM_FUNC_DECL vec<3, T, Q> glm::rgb2YCoCg ( vec< 3, T, Q > const &  rgbColor)

Convert a color from RGB color space to YCoCg color space.

See also
GLM_GTX_color_space_YCoCg
GLM_FUNC_DECL vec<3, T, Q> glm::rgb2YCoCgR ( vec< 3, T, Q > const &  rgbColor)

Convert a color from RGB color space to YCoCgR color space.

See also
"YCoCg-R: A Color Space with RGB Reversibility and Low Dynamic Range"
GLM_GTX_color_space_YCoCg
GLM_FUNC_DECL vec<3, T, Q> glm::YCoCg2rgb ( vec< 3, T, Q > const &  YCoCgColor)

Convert a color from YCoCg color space to RGB color space.

See also
GLM_GTX_color_space_YCoCg
GLM_FUNC_DECL vec<3, T, Q> glm::YCoCgR2rgb ( vec< 3, T, Q > const &  YCoCgColor)

Convert a color from YCoCgR color space to RGB color space.

See also
"YCoCg-R: A Color Space with RGB Reversibility and Low Dynamic Range"
GLM_GTX_color_space_YCoCg
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00314.html ================================================ 0.9.9 API documentation: GLM_GTX_common
0.9.9 API documentation

Include <glm/gtx/common.hpp> to use the features of this extension. More...

Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > closeBounded (vec< L, T, Q > const &Value, vec< L, T, Q > const &Min, vec< L, T, Q > const &Max)
 Returns whether vector components values are within an interval. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fmod (vec< L, T, Q > const &v)
 Similar to 'mod' but with a different rounding and integer support. More...
 
template<typename genType >
GLM_FUNC_DECL genType::bool_type isdenormal (genType const &x)
 Returns true if x is a denormalized number Numbers whose absolute value is too small to be represented in the normal format are represented in an alternate, denormalized format. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > openBounded (vec< L, T, Q > const &Value, vec< L, T, Q > const &Min, vec< L, T, Q > const &Max)
 Returns whether vector components values are within an interval. More...
 

Detailed Description

Include <glm/gtx/common.hpp> to use the features of this extension.

Provide functions to increase the compatibility with Cg and HLSL languages

Function Documentation

GLM_FUNC_DECL vec<L, bool, Q> glm::closeBounded ( vec< L, T, Q > const &  Value,
vec< L, T, Q > const &  Min,
vec< L, T, Q > const &  Max 
)

Returns whether vector components values are within an interval.

A closed interval includes its endpoints, and is denoted with square brackets.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point or integer scalar types
QValue from qualifier enum
See also
GLM_EXT_vector_relational
GLM_FUNC_DECL vec<L, T, Q> glm::fmod ( vec< L, T, Q > const &  v)

Similar to 'mod' but with a different rounding and integer support.

Returns 'x - y * trunc(x/y)' instead of 'x - y * floor(x/y)'

See also
GLSL mod vs HLSL fmod
GLSL mod man page
GLM_FUNC_DECL genType::bool_type glm::isdenormal ( genType const &  x)

Returns true if x is a denormalized number Numbers whose absolute value is too small to be represented in the normal format are represented in an alternate, denormalized format.

This format is less precise but can represent values closer to zero.

Template Parameters
genTypeFloating-point scalar or vector types.
See also
GLSL isnan man page
GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL vec<L, bool, Q> glm::openBounded ( vec< L, T, Q > const &  Value,
vec< L, T, Q > const &  Min,
vec< L, T, Q > const &  Max 
)

Returns whether vector components values are within an interval.

A open interval excludes its endpoints, and is denoted with square brackets.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point or integer scalar types
QValue from qualifier enum
See also
GLM_EXT_vector_relational
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00315.html ================================================ 0.9.9 API documentation: GLM_GTX_compatibility
0.9.9 API documentation
GLM_GTX_compatibility

Include <glm/gtx/compatibility.hpp> to use the features of this extension. More...

Typedefs

typedef bool bool1
 boolean type with 1 component. (From GLM_GTX_compatibility extension)
 
typedef bool bool1x1
 boolean matrix with 1 x 1 component. (From GLM_GTX_compatibility extension)
 
typedef vec< 2, bool, highp > bool2
 boolean type with 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 2, bool, highp > bool2x2
 boolean matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 3, bool, highp > bool2x3
 boolean matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 4, bool, highp > bool2x4
 boolean matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 3, bool, highp > bool3
 boolean type with 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 2, bool, highp > bool3x2
 boolean matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 3, bool, highp > bool3x3
 boolean matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 4, bool, highp > bool3x4
 boolean matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 4, bool, highp > bool4
 boolean type with 4 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 2, bool, highp > bool4x2
 boolean matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 3, bool, highp > bool4x3
 boolean matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 4, bool, highp > bool4x4
 boolean matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef double double1
 double-qualifier floating-point vector with 1 component. (From GLM_GTX_compatibility extension)
 
typedef double double1x1
 double-qualifier floating-point matrix with 1 component. (From GLM_GTX_compatibility extension)
 
typedef vec< 2, double, highp > double2
 double-qualifier floating-point vector with 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 2, double, highp > double2x2
 double-qualifier floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 3, double, highp > double2x3
 double-qualifier floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 4, double, highp > double2x4
 double-qualifier floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 3, double, highp > double3
 double-qualifier floating-point vector with 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 2, double, highp > double3x2
 double-qualifier floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 3, double, highp > double3x3
 double-qualifier floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 4, double, highp > double3x4
 double-qualifier floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 4, double, highp > double4
 double-qualifier floating-point vector with 4 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 2, double, highp > double4x2
 double-qualifier floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 3, double, highp > double4x3
 double-qualifier floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 4, double, highp > double4x4
 double-qualifier floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef float float1
 single-qualifier floating-point vector with 1 component. (From GLM_GTX_compatibility extension)
 
typedef float float1x1
 single-qualifier floating-point matrix with 1 component. (From GLM_GTX_compatibility extension)
 
typedef vec< 2, float, highp > float2
 single-qualifier floating-point vector with 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 2, float, highp > float2x2
 single-qualifier floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 3, float, highp > float2x3
 single-qualifier floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 4, float, highp > float2x4
 single-qualifier floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 3, float, highp > float3
 single-qualifier floating-point vector with 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 2, float, highp > float3x2
 single-qualifier floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 3, float, highp > float3x3
 single-qualifier floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 4, float, highp > float3x4
 single-qualifier floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 4, float, highp > float4
 single-qualifier floating-point vector with 4 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 2, float, highp > float4x2
 single-qualifier floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 3, float, highp > float4x3
 single-qualifier floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 4, float, highp > float4x4
 single-qualifier floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef int int1
 integer vector with 1 component. (From GLM_GTX_compatibility extension)
 
typedef int int1x1
 integer matrix with 1 component. (From GLM_GTX_compatibility extension)
 
typedef vec< 2, int, highp > int2
 integer vector with 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 2, int, highp > int2x2
 integer matrix with 2 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 3, int, highp > int2x3
 integer matrix with 2 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 2, 4, int, highp > int2x4
 integer matrix with 2 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 3, int, highp > int3
 integer vector with 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 2, int, highp > int3x2
 integer matrix with 3 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 3, int, highp > int3x3
 integer matrix with 3 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 3, 4, int, highp > int3x4
 integer matrix with 3 x 4 components. (From GLM_GTX_compatibility extension)
 
typedef vec< 4, int, highp > int4
 integer vector with 4 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 2, int, highp > int4x2
 integer matrix with 4 x 2 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 3, int, highp > int4x3
 integer matrix with 4 x 3 components. (From GLM_GTX_compatibility extension)
 
typedef mat< 4, 4, int, highp > int4x4
 integer matrix with 4 x 4 components. (From GLM_GTX_compatibility extension)
 

Functions

template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T atan2 (T x, T y)
 Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > atan2 (const vec< 2, T, Q > &x, const vec< 2, T, Q > &y)
 Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > atan2 (const vec< 3, T, Q > &x, const vec< 3, T, Q > &y)
 Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > atan2 (const vec< 4, T, Q > &x, const vec< 4, T, Q > &y)
 Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility)
 
template<typename genType >
GLM_FUNC_DECL bool isfinite (genType const &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 1, bool, Q > isfinite (const vec< 1, T, Q > &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, bool, Q > isfinite (const vec< 2, T, Q > &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, bool, Q > isfinite (const vec< 3, T, Q > &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, bool, Q > isfinite (const vec< 4, T, Q > &x)
 Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility)
 
template<typename T >
GLM_FUNC_QUALIFIER T lerp (T x, T y, T a)
 Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > lerp (const vec< 2, T, Q > &x, const vec< 2, T, Q > &y, T a)
 Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > lerp (const vec< 3, T, Q > &x, const vec< 3, T, Q > &y, T a)
 Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > lerp (const vec< 4, T, Q > &x, const vec< 4, T, Q > &y, T a)
 Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > lerp (const vec< 2, T, Q > &x, const vec< 2, T, Q > &y, const vec< 2, T, Q > &a)
 Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > lerp (const vec< 3, T, Q > &x, const vec< 3, T, Q > &y, const vec< 3, T, Q > &a)
 Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > lerp (const vec< 4, T, Q > &x, const vec< 4, T, Q > &y, const vec< 4, T, Q > &a)
 Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER T saturate (T x)
 Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 2, T, Q > saturate (const vec< 2, T, Q > &x)
 Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 3, T, Q > saturate (const vec< 3, T, Q > &x)
 Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER vec< 4, T, Q > saturate (const vec< 4, T, Q > &x)
 Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility)
 

Detailed Description

Include <glm/gtx/compatibility.hpp> to use the features of this extension.

Provide functions to increase the compatibility with Cg and HLSL languages

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00316.html ================================================ 0.9.9 API documentation: GLM_GTX_component_wise
0.9.9 API documentation
GLM_GTX_component_wise

Include <glm/gtx/component_wise.hpp> to use the features of this extension. More...

Functions

template<typename genType >
GLM_FUNC_DECL genType::value_type compAdd (genType const &v)
 Add all vector components together. More...
 
template<typename genType >
GLM_FUNC_DECL genType::value_type compMax (genType const &v)
 Find the maximum value between single vector components. More...
 
template<typename genType >
GLM_FUNC_DECL genType::value_type compMin (genType const &v)
 Find the minimum value between single vector components. More...
 
template<typename genType >
GLM_FUNC_DECL genType::value_type compMul (genType const &v)
 Multiply all vector components together. More...
 
template<typename floatType , length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, floatType, Q > compNormalize (vec< L, T, Q > const &v)
 Convert an integer vector to a normalized float vector. More...
 
template<length_t L, typename T , typename floatType , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > compScale (vec< L, floatType, Q > const &v)
 Convert a normalized float vector to an integer vector. More...
 

Detailed Description

Include <glm/gtx/component_wise.hpp> to use the features of this extension.

Operations between components of a type

Function Documentation

GLM_FUNC_DECL genType::value_type glm::compAdd ( genType const &  v)

Add all vector components together.

See also
GLM_GTX_component_wise
GLM_FUNC_DECL genType::value_type glm::compMax ( genType const &  v)

Find the maximum value between single vector components.

See also
GLM_GTX_component_wise
GLM_FUNC_DECL genType::value_type glm::compMin ( genType const &  v)

Find the minimum value between single vector components.

See also
GLM_GTX_component_wise
GLM_FUNC_DECL genType::value_type glm::compMul ( genType const &  v)

Multiply all vector components together.

See also
GLM_GTX_component_wise
GLM_FUNC_DECL vec<L, floatType, Q> glm::compNormalize ( vec< L, T, Q > const &  v)

Convert an integer vector to a normalized float vector.

If the parameter value type is already a floating qualifier type, the value is passed through.

See also
GLM_GTX_component_wise
GLM_FUNC_DECL vec<L, T, Q> glm::compScale ( vec< L, floatType, Q > const &  v)

Convert a normalized float vector to an integer vector.

If the parameter value type is already a floating qualifier type, the value is passed through.

See also
GLM_GTX_component_wise
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00317.html ================================================ 0.9.9 API documentation: GLM_GTX_dual_quaternion
0.9.9 API documentation
GLM_GTX_dual_quaternion

Include <glm/gtx/dual_quaternion.hpp> to use the features of this extension. More...

Typedefs

typedef highp_ddualquat ddualquat
 Dual-quaternion of default double-qualifier floating-point numbers. More...
 
typedef highp_fdualquat dualquat
 Dual-quaternion of floating-point numbers. More...
 
typedef highp_fdualquat fdualquat
 Dual-quaternion of single-qualifier floating-point numbers. More...
 
typedef tdualquat< double, highp > highp_ddualquat
 Dual-quaternion of high double-qualifier floating-point numbers. More...
 
typedef tdualquat< float, highp > highp_dualquat
 Dual-quaternion of high single-qualifier floating-point numbers. More...
 
typedef tdualquat< float, highp > highp_fdualquat
 Dual-quaternion of high single-qualifier floating-point numbers. More...
 
typedef tdualquat< double, lowp > lowp_ddualquat
 Dual-quaternion of low double-qualifier floating-point numbers. More...
 
typedef tdualquat< float, lowp > lowp_dualquat
 Dual-quaternion of low single-qualifier floating-point numbers. More...
 
typedef tdualquat< float, lowp > lowp_fdualquat
 Dual-quaternion of low single-qualifier floating-point numbers. More...
 
typedef tdualquat< double, mediump > mediump_ddualquat
 Dual-quaternion of medium double-qualifier floating-point numbers. More...
 
typedef tdualquat< float, mediump > mediump_dualquat
 Dual-quaternion of medium single-qualifier floating-point numbers. More...
 
typedef tdualquat< float, mediump > mediump_fdualquat
 Dual-quaternion of medium single-qualifier floating-point numbers. More...
 

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > dual_quat_identity ()
 Creates an identity dual quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > dualquat_cast (mat< 2, 4, T, Q > const &x)
 Converts a 2 * 4 matrix (matrix which holds real and dual parts) to a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > dualquat_cast (mat< 3, 4, T, Q > const &x)
 Converts a 3 * 4 matrix (augmented matrix rotation + translation) to a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > inverse (tdualquat< T, Q > const &q)
 Returns the q inverse. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > lerp (tdualquat< T, Q > const &x, tdualquat< T, Q > const &y, T const &a)
 Returns the linear interpolation of two dual quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > mat2x4_cast (tdualquat< T, Q > const &x)
 Converts a quaternion to a 2 * 4 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > mat3x4_cast (tdualquat< T, Q > const &x)
 Converts a quaternion to a 3 * 4 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL tdualquat< T, Q > normalize (tdualquat< T, Q > const &q)
 Returns the normalized quaternion. More...
 

Detailed Description

Include <glm/gtx/dual_quaternion.hpp> to use the features of this extension.

Defines a templated dual-quaternion type and several dual-quaternion operations.

Typedef Documentation

typedef highp_ddualquat ddualquat

Dual-quaternion of default double-qualifier floating-point numbers.

See also
GLM_GTX_dual_quaternion

Definition at line 260 of file dual_quaternion.hpp.

typedef highp_fdualquat dualquat

Dual-quaternion of floating-point numbers.

See also
GLM_GTX_dual_quaternion

Definition at line 236 of file dual_quaternion.hpp.

typedef highp_fdualquat fdualquat

Dual-quaternion of single-qualifier floating-point numbers.

See also
GLM_GTX_dual_quaternion

Definition at line 241 of file dual_quaternion.hpp.

typedef tdualquat<double, highp> highp_ddualquat

Dual-quaternion of high double-qualifier floating-point numbers.

See also
GLM_GTX_dual_quaternion

Definition at line 229 of file dual_quaternion.hpp.

typedef tdualquat<float, highp> highp_dualquat

Dual-quaternion of high single-qualifier floating-point numbers.

See also
GLM_GTX_dual_quaternion

Definition at line 197 of file dual_quaternion.hpp.

typedef tdualquat<float, highp> highp_fdualquat

Dual-quaternion of high single-qualifier floating-point numbers.

See also
GLM_GTX_dual_quaternion

Definition at line 213 of file dual_quaternion.hpp.

typedef tdualquat<double, lowp> lowp_ddualquat

Dual-quaternion of low double-qualifier floating-point numbers.

See also
GLM_GTX_dual_quaternion

Definition at line 219 of file dual_quaternion.hpp.

typedef tdualquat<float, lowp> lowp_dualquat

Dual-quaternion of low single-qualifier floating-point numbers.

See also
GLM_GTX_dual_quaternion

Definition at line 187 of file dual_quaternion.hpp.

typedef tdualquat<float, lowp> lowp_fdualquat

Dual-quaternion of low single-qualifier floating-point numbers.

See also
GLM_GTX_dual_quaternion

Definition at line 203 of file dual_quaternion.hpp.

typedef tdualquat<double, mediump> mediump_ddualquat

Dual-quaternion of medium double-qualifier floating-point numbers.

See also
GLM_GTX_dual_quaternion

Definition at line 224 of file dual_quaternion.hpp.

typedef tdualquat<float, mediump> mediump_dualquat

Dual-quaternion of medium single-qualifier floating-point numbers.

See also
GLM_GTX_dual_quaternion

Definition at line 192 of file dual_quaternion.hpp.

typedef tdualquat<float, mediump> mediump_fdualquat

Dual-quaternion of medium single-qualifier floating-point numbers.

See also
GLM_GTX_dual_quaternion

Definition at line 208 of file dual_quaternion.hpp.

Function Documentation

GLM_FUNC_DECL tdualquat<T, Q> glm::dual_quat_identity ( )

Creates an identity dual quaternion.

See also
GLM_GTX_dual_quaternion
GLM_FUNC_DECL tdualquat<T, Q> glm::dualquat_cast ( mat< 2, 4, T, Q > const &  x)

Converts a 2 * 4 matrix (matrix which holds real and dual parts) to a quaternion.

See also
GLM_GTX_dual_quaternion
GLM_FUNC_DECL tdualquat<T, Q> glm::dualquat_cast ( mat< 3, 4, T, Q > const &  x)

Converts a 3 * 4 matrix (augmented matrix rotation + translation) to a quaternion.

See also
GLM_GTX_dual_quaternion
GLM_FUNC_DECL tdualquat<T, Q> glm::inverse ( tdualquat< T, Q > const &  q)

Returns the q inverse.

See also
GLM_GTX_dual_quaternion
GLM_FUNC_DECL tdualquat<T, Q> glm::lerp ( tdualquat< T, Q > const &  x,
tdualquat< T, Q > const &  y,
T const &  a 
)

Returns the linear interpolation of two dual quaternion.

See also
gtc_dual_quaternion
GLM_FUNC_DECL mat<2, 4, T, Q> glm::mat2x4_cast ( tdualquat< T, Q > const &  x)

Converts a quaternion to a 2 * 4 matrix.

See also
GLM_GTX_dual_quaternion
GLM_FUNC_DECL mat<3, 4, T, Q> glm::mat3x4_cast ( tdualquat< T, Q > const &  x)

Converts a quaternion to a 3 * 4 matrix.

See also
GLM_GTX_dual_quaternion
GLM_FUNC_DECL tdualquat<T, Q> glm::normalize ( tdualquat< T, Q > const &  q)

Returns the normalized quaternion.

See also
GLM_GTX_dual_quaternion
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00318.html ================================================ 0.9.9 API documentation: GLM_GTX_easing
0.9.9 API documentation

Include <glm/gtx/easing.hpp> to use the features of this extension. More...

Functions

template<typename genType >
GLM_FUNC_DECL genType backEaseIn (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType backEaseIn (genType const &a, genType const &o)
 
template<typename genType >
GLM_FUNC_DECL genType backEaseInOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType backEaseInOut (genType const &a, genType const &o)
 
template<typename genType >
GLM_FUNC_DECL genType backEaseOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType backEaseOut (genType const &a, genType const &o)
 
template<typename genType >
GLM_FUNC_DECL genType bounceEaseIn (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType bounceEaseInOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType bounceEaseOut (genType const &a)
 
template<typename genType >
GLM_FUNC_DECL genType circularEaseIn (genType const &a)
 Modelled after shifted quadrant IV of unit circle. More...
 
template<typename genType >
GLM_FUNC_DECL genType circularEaseInOut (genType const &a)
 Modelled after the piecewise circular function y = (1/2)(1 - sqrt(1 - 4x^2)) ; [0, 0.5) y = (1/2)(sqrt(-(2x - 3)*(2x - 1)) + 1) ; [0.5, 1]. More...
 
template<typename genType >
GLM_FUNC_DECL genType circularEaseOut (genType const &a)
 Modelled after shifted quadrant II of unit circle. More...
 
template<typename genType >
GLM_FUNC_DECL genType cubicEaseIn (genType const &a)
 Modelled after the cubic y = x^3.
 
template<typename genType >
GLM_FUNC_DECL genType cubicEaseInOut (genType const &a)
 Modelled after the piecewise cubic y = (1/2)((2x)^3) ; [0, 0.5) y = (1/2)((2x-2)^3 + 2) ; [0.5, 1]. More...
 
template<typename genType >
GLM_FUNC_DECL genType cubicEaseOut (genType const &a)
 Modelled after the cubic y = (x - 1)^3 + 1. More...
 
template<typename genType >
GLM_FUNC_DECL genType elasticEaseIn (genType const &a)
 Modelled after the damped sine wave y = sin(13pi/2*x)*pow(2, 10 * (x - 1)) More...
 
template<typename genType >
GLM_FUNC_DECL genType elasticEaseInOut (genType const &a)
 Modelled after the piecewise exponentially-damped sine wave: y = (1/2)*sin(13pi/2*(2*x))*pow(2, 10 * ((2*x) - 1)) ; [0,0.5) y = (1/2)*(sin(-13pi/2*((2x-1)+1))*pow(2,-10(2*x-1)) + 2) ; [0.5, 1]. More...
 
template<typename genType >
GLM_FUNC_DECL genType elasticEaseOut (genType const &a)
 Modelled after the damped sine wave y = sin(-13pi/2*(x + 1))*pow(2, -10x) + 1. More...
 
template<typename genType >
GLM_FUNC_DECL genType exponentialEaseIn (genType const &a)
 Modelled after the exponential function y = 2^(10(x - 1)) More...
 
template<typename genType >
GLM_FUNC_DECL genType exponentialEaseInOut (genType const &a)
 Modelled after the piecewise exponential y = (1/2)2^(10(2x - 1)) ; [0,0.5) y = -(1/2)*2^(-10(2x - 1))) + 1 ; [0.5,1]. More...
 
template<typename genType >
GLM_FUNC_DECL genType exponentialEaseOut (genType const &a)
 Modelled after the exponential function y = -2^(-10x) + 1. More...
 
template<typename genType >
GLM_FUNC_DECL genType linearInterpolation (genType const &a)
 Modelled after the line y = x. More...
 
template<typename genType >
GLM_FUNC_DECL genType quadraticEaseIn (genType const &a)
 Modelled after the parabola y = x^2. More...
 
template<typename genType >
GLM_FUNC_DECL genType quadraticEaseInOut (genType const &a)
 Modelled after the piecewise quadratic y = (1/2)((2x)^2) ; [0, 0.5) y = -(1/2)((2x-1)*(2x-3) - 1) ; [0.5, 1]. More...
 
template<typename genType >
GLM_FUNC_DECL genType quadraticEaseOut (genType const &a)
 Modelled after the parabola y = -x^2 + 2x. More...
 
template<typename genType >
GLM_FUNC_DECL genType quarticEaseIn (genType const &a)
 Modelled after the quartic x^4. More...
 
template<typename genType >
GLM_FUNC_DECL genType quarticEaseInOut (genType const &a)
 Modelled after the piecewise quartic y = (1/2)((2x)^4) ; [0, 0.5) y = -(1/2)((2x-2)^4 - 2) ; [0.5, 1]. More...
 
template<typename genType >
GLM_FUNC_DECL genType quarticEaseOut (genType const &a)
 Modelled after the quartic y = 1 - (x - 1)^4. More...
 
template<typename genType >
GLM_FUNC_DECL genType quinticEaseIn (genType const &a)
 Modelled after the quintic y = x^5. More...
 
template<typename genType >
GLM_FUNC_DECL genType quinticEaseInOut (genType const &a)
 Modelled after the piecewise quintic y = (1/2)((2x)^5) ; [0, 0.5) y = (1/2)((2x-2)^5 + 2) ; [0.5, 1]. More...
 
template<typename genType >
GLM_FUNC_DECL genType quinticEaseOut (genType const &a)
 Modelled after the quintic y = (x - 1)^5 + 1. More...
 
template<typename genType >
GLM_FUNC_DECL genType sineEaseIn (genType const &a)
 Modelled after quarter-cycle of sine wave. More...
 
template<typename genType >
GLM_FUNC_DECL genType sineEaseInOut (genType const &a)
 Modelled after half sine wave. More...
 
template<typename genType >
GLM_FUNC_DECL genType sineEaseOut (genType const &a)
 Modelled after quarter-cycle of sine wave (different phase) More...
 

Detailed Description

Include <glm/gtx/easing.hpp> to use the features of this extension.

Easing functions for animations and transitons All functions take a parameter x in the range [0.0,1.0]

Based on the AHEasing project of Warren Moore (https://github.com/warrenm/AHEasing)

Function Documentation

GLM_FUNC_DECL genType glm::backEaseIn ( genType const &  a)
See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::backEaseIn ( genType const &  a,
genType const &  o 
)
Parameters
aparameter
oOptional overshoot modifier
See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::backEaseInOut ( genType const &  a)
See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::backEaseInOut ( genType const &  a,
genType const &  o 
)
Parameters
aparameter
oOptional overshoot modifier
See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::backEaseOut ( genType const &  a)
See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::backEaseOut ( genType const &  a,
genType const &  o 
)
Parameters
aparameter
oOptional overshoot modifier
See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::bounceEaseIn ( genType const &  a)
See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::bounceEaseInOut ( genType const &  a)
See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::bounceEaseOut ( genType const &  a)
See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::circularEaseIn ( genType const &  a)

Modelled after shifted quadrant IV of unit circle.

See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::circularEaseInOut ( genType const &  a)

Modelled after the piecewise circular function y = (1/2)(1 - sqrt(1 - 4x^2)) ; [0, 0.5) y = (1/2)(sqrt(-(2x - 3)*(2x - 1)) + 1) ; [0.5, 1].

See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::circularEaseOut ( genType const &  a)

Modelled after shifted quadrant II of unit circle.

See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::cubicEaseInOut ( genType const &  a)

Modelled after the piecewise cubic y = (1/2)((2x)^3) ; [0, 0.5) y = (1/2)((2x-2)^3 + 2) ; [0.5, 1].

See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::cubicEaseOut ( genType const &  a)

Modelled after the cubic y = (x - 1)^3 + 1.

See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::elasticEaseIn ( genType const &  a)

Modelled after the damped sine wave y = sin(13pi/2*x)*pow(2, 10 * (x - 1))

See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::elasticEaseInOut ( genType const &  a)

Modelled after the piecewise exponentially-damped sine wave: y = (1/2)*sin(13pi/2*(2*x))*pow(2, 10 * ((2*x) - 1)) ; [0,0.5) y = (1/2)*(sin(-13pi/2*((2x-1)+1))*pow(2,-10(2*x-1)) + 2) ; [0.5, 1].

See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::elasticEaseOut ( genType const &  a)

Modelled after the damped sine wave y = sin(-13pi/2*(x + 1))*pow(2, -10x) + 1.

See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::exponentialEaseIn ( genType const &  a)

Modelled after the exponential function y = 2^(10(x - 1))

See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::exponentialEaseInOut ( genType const &  a)

Modelled after the piecewise exponential y = (1/2)2^(10(2x - 1)) ; [0,0.5) y = -(1/2)*2^(-10(2x - 1))) + 1 ; [0.5,1].

See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::exponentialEaseOut ( genType const &  a)

Modelled after the exponential function y = -2^(-10x) + 1.

See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::linearInterpolation ( genType const &  a)

Modelled after the line y = x.

See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::quadraticEaseIn ( genType const &  a)

Modelled after the parabola y = x^2.

See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::quadraticEaseInOut ( genType const &  a)

Modelled after the piecewise quadratic y = (1/2)((2x)^2) ; [0, 0.5) y = -(1/2)((2x-1)*(2x-3) - 1) ; [0.5, 1].

See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::quadraticEaseOut ( genType const &  a)

Modelled after the parabola y = -x^2 + 2x.

See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::quarticEaseIn ( genType const &  a)

Modelled after the quartic x^4.

See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::quarticEaseInOut ( genType const &  a)

Modelled after the piecewise quartic y = (1/2)((2x)^4) ; [0, 0.5) y = -(1/2)((2x-2)^4 - 2) ; [0.5, 1].

See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::quarticEaseOut ( genType const &  a)

Modelled after the quartic y = 1 - (x - 1)^4.

See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::quinticEaseIn ( genType const &  a)

Modelled after the quintic y = x^5.

See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::quinticEaseInOut ( genType const &  a)

Modelled after the piecewise quintic y = (1/2)((2x)^5) ; [0, 0.5) y = (1/2)((2x-2)^5 + 2) ; [0.5, 1].

See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::quinticEaseOut ( genType const &  a)

Modelled after the quintic y = (x - 1)^5 + 1.

See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::sineEaseIn ( genType const &  a)

Modelled after quarter-cycle of sine wave.

See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::sineEaseInOut ( genType const &  a)

Modelled after half sine wave.

See also
GLM_GTX_easing
GLM_FUNC_DECL genType glm::sineEaseOut ( genType const &  a)

Modelled after quarter-cycle of sine wave (different phase)

See also
GLM_GTX_easing
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00319.html ================================================ 0.9.9 API documentation: GLM_GTX_euler_angles
0.9.9 API documentation
GLM_GTX_euler_angles

Include <glm/gtx/euler_angles.hpp> to use the features of this extension. More...

Functions

template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > derivedEulerAngleX (T const &angleX, T const &angularVelocityX)
 Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about X-axis. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > derivedEulerAngleY (T const &angleY, T const &angularVelocityY)
 Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about Y-axis. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > derivedEulerAngleZ (T const &angleZ, T const &angularVelocityZ)
 Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about Z-axis. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleX (T const &angleX)
 Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXY (T const &angleX, T const &angleY)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXYX (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * X). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXYZ (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * Z). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXZ (T const &angleX, T const &angleZ)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXZX (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z * X). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleXZY (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z * Y). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleY (T const &angleY)
 Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYX (T const &angleY, T const &angleX)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYXY (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Y). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYXZ (T const &yaw, T const &pitch, T const &roll)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYZ (T const &angleY, T const &angleZ)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYZX (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z * X). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleYZY (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z * Y). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZ (T const &angleZ)
 Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z. More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZX (T const &angle, T const &angleX)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZXY (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X * Y). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZXZ (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X * Z). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZY (T const &angleZ, T const &angleY)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZYX (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y * X). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > eulerAngleZYZ (T const &t1, T const &t2, T const &t3)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y * Z). More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleXYX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (X * Y * X) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleXYZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (X * Y * Z) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleXZX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (X * Z * X) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleXZY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (X * Z * Y) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleYXY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Y * X * Y) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleYXZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Y * X * Z) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleYZX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Y * Z * X) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleYZY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Y * Z * Y) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleZXY (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Z * X * Y) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleZXZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Z * X * Z) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleZYX (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Z * Y * X) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL void extractEulerAngleZYZ (mat< 4, 4, T, defaultp > const &M, T &t1, T &t2, T &t3)
 Extracts the (Z * Y * Z) Euler angles from the rotation matrix M. More...
 
template<typename T >
GLM_FUNC_DECL mat< 2, 2, T, defaultp > orientate2 (T const &angle)
 Creates a 2D 2 * 2 rotation matrix from an euler angle. More...
 
template<typename T >
GLM_FUNC_DECL mat< 3, 3, T, defaultp > orientate3 (T const &angle)
 Creates a 2D 4 * 4 homogeneous rotation matrix from an euler angle. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > orientate3 (vec< 3, T, Q > const &angles)
 Creates a 3D 3 * 3 rotation matrix from euler angles (Y * X * Z). More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > orientate4 (vec< 3, T, Q > const &angles)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). More...
 
template<typename T >
GLM_FUNC_DECL mat< 4, 4, T, defaultp > yawPitchRoll (T const &yaw, T const &pitch, T const &roll)
 Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). More...
 

Detailed Description

Include <glm/gtx/euler_angles.hpp> to use the features of this extension.

Build matrices from Euler angles.

Extraction of Euler angles from rotation matrix. Based on the original paper 2014 Mike Day - Extracting Euler Angles from a Rotation Matrix.

Function Documentation

GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::derivedEulerAngleX ( T const &  angleX,
T const &  angularVelocityX 
)

Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about X-axis.

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::derivedEulerAngleY ( T const &  angleY,
T const &  angularVelocityY 
)

Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about Y-axis.

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::derivedEulerAngleZ ( T const &  angleZ,
T const &  angularVelocityZ 
)

Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about Z-axis.

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleX ( T const &  angleX)

Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X.

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleXY ( T const &  angleX,
T const &  angleY 
)

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y).

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleXYX ( T const &  t1,
T const &  t2,
T const &  t3 
)

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * X).

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleXYZ ( T const &  t1,
T const &  t2,
T const &  t3 
)

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * Z).

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleXZ ( T const &  angleX,
T const &  angleZ 
)

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z).

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleXZX ( T const &  t1,
T const &  t2,
T const &  t3 
)

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z * X).

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleXZY ( T const &  t1,
T const &  t2,
T const &  t3 
)

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z * Y).

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleY ( T const &  angleY)

Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y.

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleYX ( T const &  angleY,
T const &  angleX 
)

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X).

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleYXY ( T const &  t1,
T const &  t2,
T const &  t3 
)

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Y).

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleYXZ ( T const &  yaw,
T const &  pitch,
T const &  roll 
)

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleYZ ( T const &  angleY,
T const &  angleZ 
)

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z).

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleYZX ( T const &  t1,
T const &  t2,
T const &  t3 
)

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z * X).

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleYZY ( T const &  t1,
T const &  t2,
T const &  t3 
)

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z * Y).

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleZ ( T const &  angleZ)

Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z.

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleZX ( T const &  angle,
T const &  angleX 
)

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X).

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleZXY ( T const &  t1,
T const &  t2,
T const &  t3 
)

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X * Y).

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleZXZ ( T const &  t1,
T const &  t2,
T const &  t3 
)

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X * Z).

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleZY ( T const &  angleZ,
T const &  angleY 
)

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y).

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleZYX ( T const &  t1,
T const &  t2,
T const &  t3 
)

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y * X).

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::eulerAngleZYZ ( T const &  t1,
T const &  t2,
T const &  t3 
)

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y * Z).

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL void glm::extractEulerAngleXYX ( mat< 4, 4, T, defaultp > const &  M,
T &  t1,
T &  t2,
T &  t3 
)

Extracts the (X * Y * X) Euler angles from the rotation matrix M.

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL void glm::extractEulerAngleXYZ ( mat< 4, 4, T, defaultp > const &  M,
T &  t1,
T &  t2,
T &  t3 
)

Extracts the (X * Y * Z) Euler angles from the rotation matrix M.

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL void glm::extractEulerAngleXZX ( mat< 4, 4, T, defaultp > const &  M,
T &  t1,
T &  t2,
T &  t3 
)

Extracts the (X * Z * X) Euler angles from the rotation matrix M.

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL void glm::extractEulerAngleXZY ( mat< 4, 4, T, defaultp > const &  M,
T &  t1,
T &  t2,
T &  t3 
)

Extracts the (X * Z * Y) Euler angles from the rotation matrix M.

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL void glm::extractEulerAngleYXY ( mat< 4, 4, T, defaultp > const &  M,
T &  t1,
T &  t2,
T &  t3 
)

Extracts the (Y * X * Y) Euler angles from the rotation matrix M.

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL void glm::extractEulerAngleYXZ ( mat< 4, 4, T, defaultp > const &  M,
T &  t1,
T &  t2,
T &  t3 
)

Extracts the (Y * X * Z) Euler angles from the rotation matrix M.

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL void glm::extractEulerAngleYZX ( mat< 4, 4, T, defaultp > const &  M,
T &  t1,
T &  t2,
T &  t3 
)

Extracts the (Y * Z * X) Euler angles from the rotation matrix M.

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL void glm::extractEulerAngleYZY ( mat< 4, 4, T, defaultp > const &  M,
T &  t1,
T &  t2,
T &  t3 
)

Extracts the (Y * Z * Y) Euler angles from the rotation matrix M.

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL void glm::extractEulerAngleZXY ( mat< 4, 4, T, defaultp > const &  M,
T &  t1,
T &  t2,
T &  t3 
)

Extracts the (Z * X * Y) Euler angles from the rotation matrix M.

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL void glm::extractEulerAngleZXZ ( mat< 4, 4, T, defaultp > const &  M,
T &  t1,
T &  t2,
T &  t3 
)

Extracts the (Z * X * Z) Euler angles from the rotation matrix M.

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL void glm::extractEulerAngleZYX ( mat< 4, 4, T, defaultp > const &  M,
T &  t1,
T &  t2,
T &  t3 
)

Extracts the (Z * Y * X) Euler angles from the rotation matrix M.

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL void glm::extractEulerAngleZYZ ( mat< 4, 4, T, defaultp > const &  M,
T &  t1,
T &  t2,
T &  t3 
)

Extracts the (Z * Y * Z) Euler angles from the rotation matrix M.

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL mat<2, 2, T, defaultp> glm::orientate2 ( T const &  angle)

Creates a 2D 2 * 2 rotation matrix from an euler angle.

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL mat<3, 3, T, defaultp> glm::orientate3 ( T const &  angle)

Creates a 2D 4 * 4 homogeneous rotation matrix from an euler angle.

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL mat<3, 3, T, Q> glm::orientate3 ( vec< 3, T, Q > const &  angles)

Creates a 3D 3 * 3 rotation matrix from euler angles (Y * X * Z).

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL mat<4, 4, T, Q> glm::orientate4 ( vec< 3, T, Q > const &  angles)

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).

See also
GLM_GTX_euler_angles
GLM_FUNC_DECL mat<4, 4, T, defaultp> glm::yawPitchRoll ( T const &  yaw,
T const &  pitch,
T const &  roll 
)

Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z).

See also
GLM_GTX_euler_angles
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00320.html ================================================ 0.9.9 API documentation: GLM_GTX_extend
0.9.9 API documentation

Include <glm/gtx/extend.hpp> to use the features of this extension. More...

Functions

template<typename genType >
GLM_FUNC_DECL genType extend (genType const &Origin, genType const &Source, typename genType::value_type const Length)
 Extends of Length the Origin position using the (Source - Origin) direction. More...
 

Detailed Description

Include <glm/gtx/extend.hpp> to use the features of this extension.

Extend a position from a source to a position at a defined length.

Function Documentation

GLM_FUNC_DECL genType glm::extend ( genType const &  Origin,
genType const &  Source,
typename genType::value_type const  Length 
)

Extends of Length the Origin position using the (Source - Origin) direction.

See also
GLM_GTX_extend
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00321.html ================================================ 0.9.9 API documentation: GLM_GTX_extented_min_max
0.9.9 API documentation
GLM_GTX_extented_min_max

Include <glm/gtx/extented_min_max.hpp> to use the features of this extension. More...

Functions

template<typename genType >
GLM_FUNC_DECL genType fclamp (genType x, genType minVal, genType maxVal)
 Returns min(max(x, minVal), maxVal) for each component in x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fclamp (vec< L, T, Q > const &x, T minVal, T maxVal)
 Returns min(max(x, minVal), maxVal) for each component in x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fclamp (vec< L, T, Q > const &x, vec< L, T, Q > const &minVal, vec< L, T, Q > const &maxVal)
 Returns min(max(x, minVal), maxVal) for each component in x. More...
 
template<typename genType >
GLM_FUNC_DECL genType fmax (genType x, genType y)
 Returns y if x < y; otherwise, it returns x. More...
 
template<typename genType >
GLM_FUNC_DECL genType fmin (genType x, genType y)
 Returns y if y < x; otherwise, it returns x. More...
 
template<typename T >
GLM_FUNC_DECL T max (T const &x, T const &y, T const &z)
 Return the maximum component-wise values of 3 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)
 Return the maximum component-wise values of 3 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, C< T > const &y, C< T > const &z)
 Return the maximum component-wise values of 3 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T max (T const &x, T const &y, T const &z, T const &w)
 Return the maximum component-wise values of 4 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)
 Return the maximum component-wise values of 4 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > max (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 Return the maximum component-wise values of 4 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T min (T const &x, T const &y, T const &z)
 Return the minimum component-wise values of 3 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)
 Return the minimum component-wise values of 3 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, C< T > const &y, C< T > const &z)
 Return the minimum component-wise values of 3 inputs. More...
 
template<typename T >
GLM_FUNC_DECL T min (T const &x, T const &y, T const &z, T const &w)
 Return the minimum component-wise values of 4 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)
 Return the minimum component-wise values of 4 inputs. More...
 
template<typename T , template< typename > class C>
GLM_FUNC_DECL C< T > min (C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)
 Return the minimum component-wise values of 4 inputs. More...
 

Detailed Description

Include <glm/gtx/extented_min_max.hpp> to use the features of this extension.

Min and max functions for 3 to 4 parameters.

Function Documentation

GLM_FUNC_DECL genType glm::fclamp ( genType  x,
genType  minVal,
genType  maxVal 
)

Returns min(max(x, minVal), maxVal) for each component in x.

If one of the two arguments is NaN, the value of the other argument is returned.

Template Parameters
genTypeFloating-point scalar or vector types.
See also
gtx_extented_min_max
GLM_FUNC_DECL vec<L, T, Q> glm::fclamp ( vec< L, T, Q > const &  x,
minVal,
maxVal 
)

Returns min(max(x, minVal), maxVal) for each component in x.

If one of the two arguments is NaN, the value of the other argument is returned.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
gtx_extented_min_max
GLM_FUNC_DECL vec<L, T, Q> glm::fclamp ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  minVal,
vec< L, T, Q > const &  maxVal 
)

Returns min(max(x, minVal), maxVal) for each component in x.

If one of the two arguments is NaN, the value of the other argument is returned.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
gtx_extented_min_max
GLM_FUNC_DECL genType glm::fmax ( genType  x,
genType  y 
)

Returns y if x < y; otherwise, it returns x.

If one of the two arguments is NaN, the value of the other argument is returned.

Template Parameters
genTypeFloating-point; scalar or vector types.
See also
gtx_extented_min_max
std::fmax documentation
GLM_FUNC_DECL genType glm::fmin ( genType  x,
genType  y 
)

Returns y if y < x; otherwise, it returns x.

If one of the two arguments is NaN, the value of the other argument is returned.

Template Parameters
genTypeFloating-point or integer; scalar or vector types.
See also
gtx_extented_min_max
GLM_FUNC_DECL T glm::max ( T const &  x,
T const &  y,
T const &  z 
)

Return the maximum component-wise values of 3 inputs.

See also
gtx_extented_min_max
GLM_FUNC_DECL C<T> glm::max ( C< T > const &  x,
typename C< T >::T const &  y,
typename C< T >::T const &  z 
)

Return the maximum component-wise values of 3 inputs.

See also
gtx_extented_min_max
GLM_FUNC_DECL C<T> glm::max ( C< T > const &  x,
C< T > const &  y,
C< T > const &  z 
)

Return the maximum component-wise values of 3 inputs.

See also
gtx_extented_min_max
GLM_FUNC_DECL T glm::max ( T const &  x,
T const &  y,
T const &  z,
T const &  w 
)

Return the maximum component-wise values of 4 inputs.

See also
gtx_extented_min_max
GLM_FUNC_DECL C<T> glm::max ( C< T > const &  x,
typename C< T >::T const &  y,
typename C< T >::T const &  z,
typename C< T >::T const &  w 
)

Return the maximum component-wise values of 4 inputs.

See also
gtx_extented_min_max
GLM_FUNC_DECL C<T> glm::max ( C< T > const &  x,
C< T > const &  y,
C< T > const &  z,
C< T > const &  w 
)

Return the maximum component-wise values of 4 inputs.

See also
gtx_extented_min_max
GLM_FUNC_DECL T glm::min ( T const &  x,
T const &  y,
T const &  z 
)

Return the minimum component-wise values of 3 inputs.

See also
gtx_extented_min_max
GLM_FUNC_DECL C<T> glm::min ( C< T > const &  x,
typename C< T >::T const &  y,
typename C< T >::T const &  z 
)

Return the minimum component-wise values of 3 inputs.

See also
gtx_extented_min_max
GLM_FUNC_DECL C<T> glm::min ( C< T > const &  x,
C< T > const &  y,
C< T > const &  z 
)

Return the minimum component-wise values of 3 inputs.

See also
gtx_extented_min_max
GLM_FUNC_DECL T glm::min ( T const &  x,
T const &  y,
T const &  z,
T const &  w 
)

Return the minimum component-wise values of 4 inputs.

See also
gtx_extented_min_max
GLM_FUNC_DECL C<T> glm::min ( C< T > const &  x,
typename C< T >::T const &  y,
typename C< T >::T const &  z,
typename C< T >::T const &  w 
)

Return the minimum component-wise values of 4 inputs.

See also
gtx_extented_min_max
GLM_FUNC_DECL C<T> glm::min ( C< T > const &  x,
C< T > const &  y,
C< T > const &  z,
C< T > const &  w 
)

Return the minimum component-wise values of 4 inputs.

See also
gtx_extented_min_max
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00322.html ================================================ 0.9.9 API documentation: GLM_GTX_exterior_product
0.9.9 API documentation
GLM_GTX_exterior_product

Include <glm/gtx/exterior_product.hpp> to use the features of this extension. More...

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL T cross (vec< 2, T, Q > const &v, vec< 2, T, Q > const &u)
 Returns the cross product of x and y. More...
 

Detailed Description

Include <glm/gtx/exterior_product.hpp> to use the features of this extension.

Allow to perform bit operations on integer values

Function Documentation

GLM_FUNC_DECL T glm::cross ( vec< 2, T, Q > const &  v,
vec< 2, T, Q > const &  u 
)

Returns the cross product of x and y.

Template Parameters
TFloating-point scalar types
QValue from qualifier enum
See also
Exterior product
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00323.html ================================================ 0.9.9 API documentation: GLM_GTX_fast_exponential
0.9.9 API documentation
GLM_GTX_fast_exponential

Include <glm/gtx/fast_exponential.hpp> to use the features of this extension. More...

Functions

template<typename T >
GLM_FUNC_DECL T fastExp (T x)
 Faster than the common exp function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastExp (vec< L, T, Q > const &x)
 Faster than the common exp function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T fastExp2 (T x)
 Faster than the common exp2 function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastExp2 (vec< L, T, Q > const &x)
 Faster than the common exp2 function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T fastLog (T x)
 Faster than the common log function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastLog (vec< L, T, Q > const &x)
 Faster than the common exp2 function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T fastLog2 (T x)
 Faster than the common log2 function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastLog2 (vec< L, T, Q > const &x)
 Faster than the common log2 function but less accurate. More...
 
template<typename genType >
GLM_FUNC_DECL genType fastPow (genType x, genType y)
 Faster than the common pow function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastPow (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Faster than the common pow function but less accurate. More...
 
template<typename genTypeT , typename genTypeU >
GLM_FUNC_DECL genTypeT fastPow (genTypeT x, genTypeU y)
 Faster than the common pow function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastPow (vec< L, T, Q > const &x)
 Faster than the common pow function but less accurate. More...
 

Detailed Description

Include <glm/gtx/fast_exponential.hpp> to use the features of this extension.

Fast but less accurate implementations of exponential based functions.

Function Documentation

GLM_FUNC_DECL T glm::fastExp ( x)

Faster than the common exp function but less accurate.

See also
GLM_GTX_fast_exponential
GLM_FUNC_DECL vec<L, T, Q> glm::fastExp ( vec< L, T, Q > const &  x)

Faster than the common exp function but less accurate.

See also
GLM_GTX_fast_exponential
GLM_FUNC_DECL T glm::fastExp2 ( x)

Faster than the common exp2 function but less accurate.

See also
GLM_GTX_fast_exponential
GLM_FUNC_DECL vec<L, T, Q> glm::fastExp2 ( vec< L, T, Q > const &  x)

Faster than the common exp2 function but less accurate.

See also
GLM_GTX_fast_exponential
GLM_FUNC_DECL T glm::fastLog ( x)

Faster than the common log function but less accurate.

See also
GLM_GTX_fast_exponential
GLM_FUNC_DECL vec<L, T, Q> glm::fastLog ( vec< L, T, Q > const &  x)

Faster than the common exp2 function but less accurate.

See also
GLM_GTX_fast_exponential
GLM_FUNC_DECL T glm::fastLog2 ( x)

Faster than the common log2 function but less accurate.

See also
GLM_GTX_fast_exponential
GLM_FUNC_DECL vec<L, T, Q> glm::fastLog2 ( vec< L, T, Q > const &  x)

Faster than the common log2 function but less accurate.

See also
GLM_GTX_fast_exponential
GLM_FUNC_DECL genType glm::fastPow ( genType  x,
genType  y 
)

Faster than the common pow function but less accurate.

See also
GLM_GTX_fast_exponential
GLM_FUNC_DECL vec<L, T, Q> glm::fastPow ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  y 
)

Faster than the common pow function but less accurate.

See also
GLM_GTX_fast_exponential
GLM_FUNC_DECL genTypeT glm::fastPow ( genTypeT  x,
genTypeU  y 
)

Faster than the common pow function but less accurate.

See also
GLM_GTX_fast_exponential
GLM_FUNC_DECL vec<L, T, Q> glm::fastPow ( vec< L, T, Q > const &  x)

Faster than the common pow function but less accurate.

See also
GLM_GTX_fast_exponential
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00324.html ================================================ 0.9.9 API documentation: GLM_GTX_fast_square_root
0.9.9 API documentation
GLM_GTX_fast_square_root

Include <glm/gtx/fast_square_root.hpp> to use the features of this extension. More...

Functions

template<typename genType >
GLM_FUNC_DECL genType fastDistance (genType x, genType y)
 Faster than the common distance function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T fastDistance (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Faster than the common distance function but less accurate. More...
 
template<typename genType >
GLM_FUNC_DECL genType fastInverseSqrt (genType x)
 Faster than the common inversesqrt function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastInverseSqrt (vec< L, T, Q > const &x)
 Faster than the common inversesqrt function but less accurate. More...
 
template<typename genType >
GLM_FUNC_DECL genType fastLength (genType x)
 Faster than the common length function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T fastLength (vec< L, T, Q > const &x)
 Faster than the common length function but less accurate. More...
 
template<typename genType >
GLM_FUNC_DECL genType fastNormalize (genType const &x)
 Faster than the common normalize function but less accurate. More...
 
template<typename genType >
GLM_FUNC_DECL genType fastSqrt (genType x)
 Faster than the common sqrt function but less accurate. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > fastSqrt (vec< L, T, Q > const &x)
 Faster than the common sqrt function but less accurate. More...
 

Detailed Description

Include <glm/gtx/fast_square_root.hpp> to use the features of this extension.

Fast but less accurate implementations of square root based functions.

  • Sqrt optimisation based on Newton's method, www.gamedev.net/community/forums/topic.asp?topic id=139956

Function Documentation

GLM_FUNC_DECL genType glm::fastDistance ( genType  x,
genType  y 
)

Faster than the common distance function but less accurate.

See also
GLM_GTX_fast_square_root extension.
GLM_FUNC_DECL T glm::fastDistance ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  y 
)

Faster than the common distance function but less accurate.

See also
GLM_GTX_fast_square_root extension.
GLM_FUNC_DECL genType glm::fastInverseSqrt ( genType  x)

Faster than the common inversesqrt function but less accurate.

See also
GLM_GTX_fast_square_root extension.
GLM_FUNC_DECL vec<L, T, Q> glm::fastInverseSqrt ( vec< L, T, Q > const &  x)

Faster than the common inversesqrt function but less accurate.

See also
GLM_GTX_fast_square_root extension.
GLM_FUNC_DECL genType glm::fastLength ( genType  x)

Faster than the common length function but less accurate.

See also
GLM_GTX_fast_square_root extension.
GLM_FUNC_DECL T glm::fastLength ( vec< L, T, Q > const &  x)

Faster than the common length function but less accurate.

See also
GLM_GTX_fast_square_root extension.
GLM_FUNC_DECL genType glm::fastNormalize ( genType const &  x)

Faster than the common normalize function but less accurate.

See also
GLM_GTX_fast_square_root extension.
GLM_FUNC_DECL genType glm::fastSqrt ( genType  x)

Faster than the common sqrt function but less accurate.

See also
GLM_GTX_fast_square_root extension.
GLM_FUNC_DECL vec<L, T, Q> glm::fastSqrt ( vec< L, T, Q > const &  x)

Faster than the common sqrt function but less accurate.

See also
GLM_GTX_fast_square_root extension.
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00325.html ================================================ 0.9.9 API documentation: GLM_GTX_fast_trigonometry
0.9.9 API documentation
GLM_GTX_fast_trigonometry

Include <glm/gtx/fast_trigonometry.hpp> to use the features of this extension. More...

Functions

template<typename T >
GLM_FUNC_DECL T fastAcos (T angle)
 Faster than the common acos function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T fastAsin (T angle)
 Faster than the common asin function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T fastAtan (T y, T x)
 Faster than the common atan function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T fastAtan (T angle)
 Faster than the common atan function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T fastCos (T angle)
 Faster than the common cos function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T fastSin (T angle)
 Faster than the common sin function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T fastTan (T angle)
 Faster than the common tan function but less accurate. More...
 
template<typename T >
GLM_FUNC_DECL T wrapAngle (T angle)
 Wrap an angle to [0 2pi[ From GLM_GTX_fast_trigonometry extension. More...
 

Detailed Description

Include <glm/gtx/fast_trigonometry.hpp> to use the features of this extension.

Fast but less accurate implementations of trigonometric functions.

Function Documentation

GLM_FUNC_DECL T glm::fastAcos ( angle)

Faster than the common acos function but less accurate.

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

GLM_FUNC_DECL T glm::fastAsin ( angle)

Faster than the common asin function but less accurate.

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

GLM_FUNC_DECL T glm::fastAtan ( y,
x 
)

Faster than the common atan function but less accurate.

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

GLM_FUNC_DECL T glm::fastAtan ( angle)

Faster than the common atan function but less accurate.

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

GLM_FUNC_DECL T glm::fastCos ( angle)

Faster than the common cos function but less accurate.

From GLM_GTX_fast_trigonometry extension.

GLM_FUNC_DECL T glm::fastSin ( angle)

Faster than the common sin function but less accurate.

From GLM_GTX_fast_trigonometry extension.

GLM_FUNC_DECL T glm::fastTan ( angle)

Faster than the common tan function but less accurate.

Defined between -2pi and 2pi. From GLM_GTX_fast_trigonometry extension.

GLM_FUNC_DECL T glm::wrapAngle ( angle)

Wrap an angle to [0 2pi[ From GLM_GTX_fast_trigonometry extension.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00326.html ================================================ 0.9.9 API documentation: GLM_GTX_functions
0.9.9 API documentation

Include <glm/gtx/functions.hpp> to use the features of this extension. More...

Functions

template<typename T >
GLM_FUNC_DECL T gauss (T x, T ExpectedValue, T StandardDeviation)
 1D gauss function More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T gauss (vec< 2, T, Q > const &Coord, vec< 2, T, Q > const &ExpectedValue, vec< 2, T, Q > const &StandardDeviation)
 2D gauss function More...
 

Detailed Description

Include <glm/gtx/functions.hpp> to use the features of this extension.

List of useful common functions.

Function Documentation

GLM_FUNC_DECL T glm::gauss ( x,
ExpectedValue,
StandardDeviation 
)

1D gauss function

See also
GLM_GTC_epsilon
GLM_FUNC_DECL T glm::gauss ( vec< 2, T, Q > const &  Coord,
vec< 2, T, Q > const &  ExpectedValue,
vec< 2, T, Q > const &  StandardDeviation 
)

2D gauss function

See also
GLM_GTC_epsilon
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00327.html ================================================ 0.9.9 API documentation: GLM_GTX_gradient_paint
0.9.9 API documentation
GLM_GTX_gradient_paint

Include <glm/gtx/gradient_paint.hpp> to use the features of this extension. More...

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL T linearGradient (vec< 2, T, Q > const &Point0, vec< 2, T, Q > const &Point1, vec< 2, T, Q > const &Position)
 Return a color from a linear gradient. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T radialGradient (vec< 2, T, Q > const &Center, T const &Radius, vec< 2, T, Q > const &Focal, vec< 2, T, Q > const &Position)
 Return a color from a radial gradient. More...
 

Detailed Description

Include <glm/gtx/gradient_paint.hpp> to use the features of this extension.

Functions that return the color of procedural gradient for specific coordinates.

Function Documentation

GLM_FUNC_DECL T glm::linearGradient ( vec< 2, T, Q > const &  Point0,
vec< 2, T, Q > const &  Point1,
vec< 2, T, Q > const &  Position 
)

Return a color from a linear gradient.

See also
- GLM_GTX_gradient_paint
GLM_FUNC_DECL T glm::radialGradient ( vec< 2, T, Q > const &  Center,
T const &  Radius,
vec< 2, T, Q > const &  Focal,
vec< 2, T, Q > const &  Position 
)

Return a color from a radial gradient.

See also
- GLM_GTX_gradient_paint
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00328.html ================================================ 0.9.9 API documentation: GLM_GTX_handed_coordinate_space
0.9.9 API documentation
GLM_GTX_handed_coordinate_space

Include <glm/gtx/handed_coordinate_system.hpp> to use the features of this extension. More...

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL bool leftHanded (vec< 3, T, Q > const &tangent, vec< 3, T, Q > const &binormal, vec< 3, T, Q > const &normal)
 Return if a trihedron left handed or not. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool rightHanded (vec< 3, T, Q > const &tangent, vec< 3, T, Q > const &binormal, vec< 3, T, Q > const &normal)
 Return if a trihedron right handed or not. More...
 

Detailed Description

Include <glm/gtx/handed_coordinate_system.hpp> to use the features of this extension.

To know if a set of three basis vectors defines a right or left-handed coordinate system.

Function Documentation

GLM_FUNC_DECL bool glm::leftHanded ( vec< 3, T, Q > const &  tangent,
vec< 3, T, Q > const &  binormal,
vec< 3, T, Q > const &  normal 
)

Return if a trihedron left handed or not.

From GLM_GTX_handed_coordinate_space extension.

GLM_FUNC_DECL bool glm::rightHanded ( vec< 3, T, Q > const &  tangent,
vec< 3, T, Q > const &  binormal,
vec< 3, T, Q > const &  normal 
)

Return if a trihedron right handed or not.

From GLM_GTX_handed_coordinate_space extension.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00329.html ================================================ 0.9.9 API documentation: GLM_GTX_hash
0.9.9 API documentation

Include <glm/gtx/hash.hpp> to use the features of this extension. More...

Include <glm/gtx/hash.hpp> to use the features of this extension.

Add std::hash support for glm types

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00330.html ================================================ 0.9.9 API documentation: GLM_GTX_integer
0.9.9 API documentation

Include <glm/gtx/integer.hpp> to use the features of this extension. More...

Typedefs

typedef signed int sint
 32bit signed integer. More...
 

Functions

template<typename genType >
GLM_FUNC_DECL genType factorial (genType const &x)
 Return the factorial value of a number (!12 max, integer only) From GLM_GTX_integer extension. More...
 
GLM_FUNC_DECL unsigned int floor_log2 (unsigned int x)
 Returns the floor log2 of x. More...
 
GLM_FUNC_DECL int mod (int x, int y)
 Modulus. More...
 
GLM_FUNC_DECL uint mod (uint x, uint y)
 Modulus. More...
 
GLM_FUNC_DECL uint nlz (uint x)
 Returns the number of leading zeros. More...
 
GLM_FUNC_DECL int pow (int x, uint y)
 Returns x raised to the y power. More...
 
GLM_FUNC_DECL uint pow (uint x, uint y)
 Returns x raised to the y power. More...
 
GLM_FUNC_DECL int sqrt (int x)
 Returns the positive square root of x. More...
 
GLM_FUNC_DECL uint sqrt (uint x)
 Returns the positive square root of x. More...
 

Detailed Description

Include <glm/gtx/integer.hpp> to use the features of this extension.

Add support for integer for core functions

Typedef Documentation

typedef signed int sint

32bit signed integer.

From GLM_GTX_integer extension.

Definition at line 55 of file gtx/integer.hpp.

Function Documentation

GLM_FUNC_DECL genType glm::factorial ( genType const &  x)

Return the factorial value of a number (!12 max, integer only) From GLM_GTX_integer extension.

GLM_FUNC_DECL unsigned int glm::floor_log2 ( unsigned int  x)

Returns the floor log2 of x.

From GLM_GTX_integer extension.

GLM_FUNC_DECL int glm::mod ( int  x,
int  y 
)

Modulus.

Returns x - y * floor(x / y) for each component in x using the floating point value y. From GLM_GTX_integer extension.

GLM_FUNC_DECL uint glm::mod ( uint  x,
uint  y 
)

Modulus.

Returns x - y * floor(x / y) for each component in x using the floating point value y. From GLM_GTX_integer extension.

GLM_FUNC_DECL uint glm::nlz ( uint  x)

Returns the number of leading zeros.

From GLM_GTX_integer extension.

GLM_FUNC_DECL int glm::pow ( int  x,
uint  y 
)

Returns x raised to the y power.

From GLM_GTX_integer extension.

GLM_FUNC_DECL uint glm::pow ( uint  x,
uint  y 
)

Returns x raised to the y power.

From GLM_GTX_integer extension.

GLM_FUNC_DECL int glm::sqrt ( int  x)

Returns the positive square root of x.

From GLM_GTX_integer extension.

GLM_FUNC_DECL uint glm::sqrt ( uint  x)

Returns the positive square root of x.

From GLM_GTX_integer extension.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00331.html ================================================ 0.9.9 API documentation: GLM_GTX_intersect
0.9.9 API documentation

Include <glm/gtx/intersect.hpp> to use the features of this extension. More...

Functions

template<typename genType >
GLM_FUNC_DECL bool intersectLineSphere (genType const &point0, genType const &point1, genType const &sphereCenter, typename genType::value_type sphereRadius, genType &intersectionPosition1, genType &intersectionNormal1, genType &intersectionPosition2=genType(), genType &intersectionNormal2=genType())
 Compute the intersection of a line and a sphere. More...
 
template<typename genType >
GLM_FUNC_DECL bool intersectLineTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &position)
 Compute the intersection of a line and a triangle. More...
 
template<typename genType >
GLM_FUNC_DECL bool intersectRayPlane (genType const &orig, genType const &dir, genType const &planeOrig, genType const &planeNormal, typename genType::value_type &intersectionDistance)
 Compute the intersection of a ray and a plane. More...
 
template<typename genType >
GLM_FUNC_DECL bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, typename genType::value_type const sphereRadiusSquared, typename genType::value_type &intersectionDistance)
 Compute the intersection distance of a ray and a sphere. More...
 
template<typename genType >
GLM_FUNC_DECL bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, const typename genType::value_type sphereRadius, genType &intersectionPosition, genType &intersectionNormal)
 Compute the intersection of a ray and a sphere. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool intersectRayTriangle (vec< 3, T, Q > const &orig, vec< 3, T, Q > const &dir, vec< 3, T, Q > const &v0, vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2, vec< 2, T, Q > &baryPosition, T &distance)
 Compute the intersection of a ray and a triangle. More...
 

Detailed Description

Include <glm/gtx/intersect.hpp> to use the features of this extension.

Add intersection functions

Function Documentation

GLM_FUNC_DECL bool glm::intersectLineSphere ( genType const &  point0,
genType const &  point1,
genType const &  sphereCenter,
typename genType::value_type  sphereRadius,
genType &  intersectionPosition1,
genType &  intersectionNormal1,
genType &  intersectionPosition2 = genType(),
genType &  intersectionNormal2 = genType() 
)

Compute the intersection of a line and a sphere.

From GLM_GTX_intersect extension

GLM_FUNC_DECL bool glm::intersectLineTriangle ( genType const &  orig,
genType const &  dir,
genType const &  vert0,
genType const &  vert1,
genType const &  vert2,
genType &  position 
)

Compute the intersection of a line and a triangle.

From GLM_GTX_intersect extension.

GLM_FUNC_DECL bool glm::intersectRayPlane ( genType const &  orig,
genType const &  dir,
genType const &  planeOrig,
genType const &  planeNormal,
typename genType::value_type &  intersectionDistance 
)

Compute the intersection of a ray and a plane.

Ray direction and plane normal must be unit length. From GLM_GTX_intersect extension.

GLM_FUNC_DECL bool glm::intersectRaySphere ( genType const &  rayStarting,
genType const &  rayNormalizedDirection,
genType const &  sphereCenter,
typename genType::value_type const  sphereRadiusSquared,
typename genType::value_type &  intersectionDistance 
)

Compute the intersection distance of a ray and a sphere.

The ray direction vector is unit length. From GLM_GTX_intersect extension.

GLM_FUNC_DECL bool glm::intersectRaySphere ( genType const &  rayStarting,
genType const &  rayNormalizedDirection,
genType const &  sphereCenter,
const typename genType::value_type  sphereRadius,
genType &  intersectionPosition,
genType &  intersectionNormal 
)

Compute the intersection of a ray and a sphere.

From GLM_GTX_intersect extension.

GLM_FUNC_DECL bool glm::intersectRayTriangle ( vec< 3, T, Q > const &  orig,
vec< 3, T, Q > const &  dir,
vec< 3, T, Q > const &  v0,
vec< 3, T, Q > const &  v1,
vec< 3, T, Q > const &  v2,
vec< 2, T, Q > &  baryPosition,
T &  distance 
)

Compute the intersection of a ray and a triangle.

Based om Tomas Möller implementation http://fileadmin.cs.lth.se/cs/Personal/Tomas_Akenine-Moller/raytri/ From GLM_GTX_intersect extension.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00332.html ================================================ 0.9.9 API documentation: GLM_GTX_io
0.9.9 API documentation

Include <glm/gtx/io.hpp> to use the features of this extension. More...

Detailed Description

Include <glm/gtx/io.hpp> to use the features of this extension.

std::[w]ostream support for glm types

std::[w]ostream support for glm types + qualifier/width/etc. manipulators based on howard hinnant's std::chrono io proposal [http://home.roadrunner.com/~hinnant/bloomington/chrono_io.html]

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00333.html ================================================ 0.9.9 API documentation: GLM_GTX_log_base
0.9.9 API documentation

Include <glm/gtx/log_base.hpp> to use the features of this extension. More...

Functions

template<typename genType >
GLM_FUNC_DECL genType log (genType const &x, genType const &base)
 Logarithm for any base. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > sign (vec< L, T, Q > const &x, vec< L, T, Q > const &base)
 Logarithm for any base. More...
 

Detailed Description

Include <glm/gtx/log_base.hpp> to use the features of this extension.

Logarithm for any base. base can be a vector or a scalar.

Function Documentation

GLM_FUNC_DECL genType glm::log ( genType const &  x,
genType const &  base 
)

Logarithm for any base.

From GLM_GTX_log_base.

GLM_FUNC_DECL vec<L, T, Q> glm::sign ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  base 
)

Logarithm for any base.

From GLM_GTX_log_base.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00334.html ================================================ 0.9.9 API documentation: GLM_GTX_matrix_cross_product
0.9.9 API documentation
GLM_GTX_matrix_cross_product

Include <glm/gtx/matrix_cross_product.hpp> to use the features of this extension. More...

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > matrixCross3 (vec< 3, T, Q > const &x)
 Build a cross product matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > matrixCross4 (vec< 3, T, Q > const &x)
 Build a cross product matrix. More...
 

Detailed Description

Include <glm/gtx/matrix_cross_product.hpp> to use the features of this extension.

Build cross product matrices

Function Documentation

GLM_FUNC_DECL mat<3, 3, T, Q> glm::matrixCross3 ( vec< 3, T, Q > const &  x)

Build a cross product matrix.

From GLM_GTX_matrix_cross_product extension.

GLM_FUNC_DECL mat<4, 4, T, Q> glm::matrixCross4 ( vec< 3, T, Q > const &  x)

Build a cross product matrix.

From GLM_GTX_matrix_cross_product extension.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00335.html ================================================ 0.9.9 API documentation: GLM_GTX_matrix_decompose
0.9.9 API documentation
GLM_GTX_matrix_decompose

Include <glm/gtx/matrix_decompose.hpp> to use the features of this extension. More...

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL bool decompose (mat< 4, 4, T, Q > const &modelMatrix, vec< 3, T, Q > &scale, qua< T, Q > &orientation, vec< 3, T, Q > &translation, vec< 3, T, Q > &skew, vec< 4, T, Q > &perspective)
 Decomposes a model matrix to translations, rotation and scale components. More...
 

Detailed Description

Include <glm/gtx/matrix_decompose.hpp> to use the features of this extension.

Decomposes a model matrix to translations, rotation and scale components

Function Documentation

GLM_FUNC_DECL bool glm::decompose ( mat< 4, 4, T, Q > const &  modelMatrix,
vec< 3, T, Q > &  scale,
qua< T, Q > &  orientation,
vec< 3, T, Q > &  translation,
vec< 3, T, Q > &  skew,
vec< 4, T, Q > &  perspective 
)

Decomposes a model matrix to translations, rotation and scale components.

See also
GLM_GTX_matrix_decompose
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00336.html ================================================ 0.9.9 API documentation: GLM_GTX_matrix_factorisation
0.9.9 API documentation
GLM_GTX_matrix_factorisation

Include <glm/gtx/matrix_factorisation.hpp> to use the features of this extension. More...

Functions

template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL mat< C, R, T, Q > fliplr (mat< C, R, T, Q > const &in)
 Flips the matrix columns right and left. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL mat< C, R, T, Q > flipud (mat< C, R, T, Q > const &in)
 Flips the matrix rows up and down. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL void qr_decompose (mat< C, R, T, Q > const &in, mat<(C< R?C:R), R, T, Q > &q, mat< C,(C< R?C:R), T, Q > &r)
 Performs QR factorisation of a matrix. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL void rq_decompose (mat< C, R, T, Q > const &in, mat<(C< R?C:R), R, T, Q > &r, mat< C,(C< R?C:R), T, Q > &q)
 Performs RQ factorisation of a matrix. More...
 

Detailed Description

Include <glm/gtx/matrix_factorisation.hpp> to use the features of this extension.

Functions to factor matrices in various forms

Function Documentation

GLM_FUNC_DECL mat<C, R, T, Q> glm::fliplr ( mat< C, R, T, Q > const &  in)

Flips the matrix columns right and left.

From GLM_GTX_matrix_factorisation extension.

GLM_FUNC_DECL mat<C, R, T, Q> glm::flipud ( mat< C, R, T, Q > const &  in)

Flips the matrix rows up and down.

From GLM_GTX_matrix_factorisation extension.

GLM_FUNC_DECL void glm::qr_decompose ( mat< C, R, T, Q > const &  in)

Performs QR factorisation of a matrix.

Returns 2 matrices, q and r, such that the columns of q are orthonormal and span the same subspace than those of the input matrix, r is an upper triangular matrix, and q*r=in. Given an n-by-m input matrix, q has dimensions min(n,m)-by-m, and r has dimensions n-by-min(n,m).

From GLM_GTX_matrix_factorisation extension.

GLM_FUNC_DECL void glm::rq_decompose ( mat< C, R, T, Q > const &  in)

Performs RQ factorisation of a matrix.

Returns 2 matrices, r and q, such that r is an upper triangular matrix, the rows of q are orthonormal and span the same subspace than those of the input matrix, and r*q=in. Note that in the context of RQ factorisation, the diagonal is seen as starting in the lower-right corner of the matrix, instead of the usual upper-left. Given an n-by-m input matrix, r has dimensions min(n,m)-by-m, and q has dimensions n-by-min(n,m).

From GLM_GTX_matrix_factorisation extension.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00337.html ================================================ 0.9.9 API documentation: GLM_GTX_matrix_interpolation
0.9.9 API documentation
GLM_GTX_matrix_interpolation

Include <glm/gtx/matrix_interpolation.hpp> to use the features of this extension. More...

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL void axisAngle (mat< 4, 4, T, Q > const &Mat, vec< 3, T, Q > &Axis, T &Angle)
 Get the axis and angle of the rotation from a matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > axisAngleMatrix (vec< 3, T, Q > const &Axis, T const Angle)
 Build a matrix from axis and angle. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > extractMatrixRotation (mat< 4, 4, T, Q > const &Mat)
 Extracts the rotation part of a matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > interpolate (mat< 4, 4, T, Q > const &m1, mat< 4, 4, T, Q > const &m2, T const Delta)
 Build a interpolation of 4 * 4 matrixes. More...
 

Detailed Description

Include <glm/gtx/matrix_interpolation.hpp> to use the features of this extension.

Allows to directly interpolate two matrices.

Function Documentation

GLM_FUNC_DECL void glm::axisAngle ( mat< 4, 4, T, Q > const &  Mat,
vec< 3, T, Q > &  Axis,
T &  Angle 
)

Get the axis and angle of the rotation from a matrix.

From GLM_GTX_matrix_interpolation extension.

GLM_FUNC_DECL mat<4, 4, T, Q> glm::axisAngleMatrix ( vec< 3, T, Q > const &  Axis,
T const  Angle 
)

Build a matrix from axis and angle.

From GLM_GTX_matrix_interpolation extension.

GLM_FUNC_DECL mat<4, 4, T, Q> glm::extractMatrixRotation ( mat< 4, 4, T, Q > const &  Mat)

Extracts the rotation part of a matrix.

From GLM_GTX_matrix_interpolation extension.

GLM_FUNC_DECL mat<4, 4, T, Q> glm::interpolate ( mat< 4, 4, T, Q > const &  m1,
mat< 4, 4, T, Q > const &  m2,
T const  Delta 
)

Build a interpolation of 4 * 4 matrixes.

From GLM_GTX_matrix_interpolation extension. Warning! works only with rotation and/or translation matrixes, scale will generate unexpected results.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00338.html ================================================ 0.9.9 API documentation: GLM_GTX_matrix_major_storage
0.9.9 API documentation
GLM_GTX_matrix_major_storage

Include <glm/gtx/matrix_major_storage.hpp> to use the features of this extension. More...

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > colMajor2 (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 Build a column major matrix from column vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > colMajor2 (mat< 2, 2, T, Q > const &m)
 Build a column major matrix from other matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > colMajor3 (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2, vec< 3, T, Q > const &v3)
 Build a column major matrix from column vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > colMajor3 (mat< 3, 3, T, Q > const &m)
 Build a column major matrix from other matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > colMajor4 (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2, vec< 4, T, Q > const &v3, vec< 4, T, Q > const &v4)
 Build a column major matrix from column vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > colMajor4 (mat< 4, 4, T, Q > const &m)
 Build a column major matrix from other matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > rowMajor2 (vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)
 Build a row major matrix from row vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > rowMajor2 (mat< 2, 2, T, Q > const &m)
 Build a row major matrix from other matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > rowMajor3 (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2, vec< 3, T, Q > const &v3)
 Build a row major matrix from row vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > rowMajor3 (mat< 3, 3, T, Q > const &m)
 Build a row major matrix from other matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > rowMajor4 (vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2, vec< 4, T, Q > const &v3, vec< 4, T, Q > const &v4)
 Build a row major matrix from row vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > rowMajor4 (mat< 4, 4, T, Q > const &m)
 Build a row major matrix from other matrix. More...
 

Detailed Description

Include <glm/gtx/matrix_major_storage.hpp> to use the features of this extension.

Build matrices with specific matrix order, row or column

Function Documentation

GLM_FUNC_DECL mat<2, 2, T, Q> glm::colMajor2 ( vec< 2, T, Q > const &  v1,
vec< 2, T, Q > const &  v2 
)

Build a column major matrix from column vectors.

From GLM_GTX_matrix_major_storage extension.

GLM_FUNC_DECL mat<2, 2, T, Q> glm::colMajor2 ( mat< 2, 2, T, Q > const &  m)

Build a column major matrix from other matrix.

From GLM_GTX_matrix_major_storage extension.

GLM_FUNC_DECL mat<3, 3, T, Q> glm::colMajor3 ( vec< 3, T, Q > const &  v1,
vec< 3, T, Q > const &  v2,
vec< 3, T, Q > const &  v3 
)

Build a column major matrix from column vectors.

From GLM_GTX_matrix_major_storage extension.

GLM_FUNC_DECL mat<3, 3, T, Q> glm::colMajor3 ( mat< 3, 3, T, Q > const &  m)

Build a column major matrix from other matrix.

From GLM_GTX_matrix_major_storage extension.

GLM_FUNC_DECL mat<4, 4, T, Q> glm::colMajor4 ( vec< 4, T, Q > const &  v1,
vec< 4, T, Q > const &  v2,
vec< 4, T, Q > const &  v3,
vec< 4, T, Q > const &  v4 
)

Build a column major matrix from column vectors.

From GLM_GTX_matrix_major_storage extension.

GLM_FUNC_DECL mat<4, 4, T, Q> glm::colMajor4 ( mat< 4, 4, T, Q > const &  m)

Build a column major matrix from other matrix.

From GLM_GTX_matrix_major_storage extension.

GLM_FUNC_DECL mat<2, 2, T, Q> glm::rowMajor2 ( vec< 2, T, Q > const &  v1,
vec< 2, T, Q > const &  v2 
)

Build a row major matrix from row vectors.

From GLM_GTX_matrix_major_storage extension.

GLM_FUNC_DECL mat<2, 2, T, Q> glm::rowMajor2 ( mat< 2, 2, T, Q > const &  m)

Build a row major matrix from other matrix.

From GLM_GTX_matrix_major_storage extension.

GLM_FUNC_DECL mat<3, 3, T, Q> glm::rowMajor3 ( vec< 3, T, Q > const &  v1,
vec< 3, T, Q > const &  v2,
vec< 3, T, Q > const &  v3 
)

Build a row major matrix from row vectors.

From GLM_GTX_matrix_major_storage extension.

GLM_FUNC_DECL mat<3, 3, T, Q> glm::rowMajor3 ( mat< 3, 3, T, Q > const &  m)

Build a row major matrix from other matrix.

From GLM_GTX_matrix_major_storage extension.

GLM_FUNC_DECL mat<4, 4, T, Q> glm::rowMajor4 ( vec< 4, T, Q > const &  v1,
vec< 4, T, Q > const &  v2,
vec< 4, T, Q > const &  v3,
vec< 4, T, Q > const &  v4 
)

Build a row major matrix from row vectors.

From GLM_GTX_matrix_major_storage extension.

GLM_FUNC_DECL mat<4, 4, T, Q> glm::rowMajor4 ( mat< 4, 4, T, Q > const &  m)

Build a row major matrix from other matrix.

From GLM_GTX_matrix_major_storage extension.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00339.html ================================================ 0.9.9 API documentation: GLM_GTX_matrix_operation
0.9.9 API documentation
GLM_GTX_matrix_operation

Include <glm/gtx/matrix_operation.hpp> to use the features of this extension. More...

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > adjugate (mat< 2, 2, T, Q > const &m)
 Build an adjugate matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > adjugate (mat< 3, 3, T, Q > const &m)
 Build an adjugate matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > adjugate (mat< 4, 4, T, Q > const &m)
 Build an adjugate matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 2, T, Q > diagonal2x2 (vec< 2, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 3, T, Q > diagonal2x3 (vec< 2, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 2, 4, T, Q > diagonal2x4 (vec< 2, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 2, T, Q > diagonal3x2 (vec< 2, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > diagonal3x3 (vec< 3, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 4, T, Q > diagonal3x4 (vec< 3, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 2, T, Q > diagonal4x2 (vec< 2, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 3, T, Q > diagonal4x3 (vec< 3, T, Q > const &v)
 Build a diagonal matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > diagonal4x4 (vec< 4, T, Q > const &v)
 Build a diagonal matrix. More...
 

Detailed Description

Include <glm/gtx/matrix_operation.hpp> to use the features of this extension.

Build diagonal matrices from vectors.

Function Documentation

GLM_FUNC_DECL mat<2, 2, T, Q> glm::adjugate ( mat< 2, 2, T, Q > const &  m)

Build an adjugate matrix.

From GLM_GTX_matrix_operation extension.

GLM_FUNC_DECL mat<3, 3, T, Q> glm::adjugate ( mat< 3, 3, T, Q > const &  m)

Build an adjugate matrix.

From GLM_GTX_matrix_operation extension.

GLM_FUNC_DECL mat<4, 4, T, Q> glm::adjugate ( mat< 4, 4, T, Q > const &  m)

Build an adjugate matrix.

From GLM_GTX_matrix_operation extension.

GLM_FUNC_DECL mat<2, 2, T, Q> glm::diagonal2x2 ( vec< 2, T, Q > const &  v)

Build a diagonal matrix.

From GLM_GTX_matrix_operation extension.

GLM_FUNC_DECL mat<2, 3, T, Q> glm::diagonal2x3 ( vec< 2, T, Q > const &  v)

Build a diagonal matrix.

From GLM_GTX_matrix_operation extension.

GLM_FUNC_DECL mat<2, 4, T, Q> glm::diagonal2x4 ( vec< 2, T, Q > const &  v)

Build a diagonal matrix.

From GLM_GTX_matrix_operation extension.

GLM_FUNC_DECL mat<3, 2, T, Q> glm::diagonal3x2 ( vec< 2, T, Q > const &  v)

Build a diagonal matrix.

From GLM_GTX_matrix_operation extension.

GLM_FUNC_DECL mat<3, 3, T, Q> glm::diagonal3x3 ( vec< 3, T, Q > const &  v)

Build a diagonal matrix.

From GLM_GTX_matrix_operation extension.

GLM_FUNC_DECL mat<3, 4, T, Q> glm::diagonal3x4 ( vec< 3, T, Q > const &  v)

Build a diagonal matrix.

From GLM_GTX_matrix_operation extension.

GLM_FUNC_DECL mat<4, 2, T, Q> glm::diagonal4x2 ( vec< 2, T, Q > const &  v)

Build a diagonal matrix.

From GLM_GTX_matrix_operation extension.

GLM_FUNC_DECL mat<4, 3, T, Q> glm::diagonal4x3 ( vec< 3, T, Q > const &  v)

Build a diagonal matrix.

From GLM_GTX_matrix_operation extension.

GLM_FUNC_DECL mat<4, 4, T, Q> glm::diagonal4x4 ( vec< 4, T, Q > const &  v)

Build a diagonal matrix.

From GLM_GTX_matrix_operation extension.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00340.html ================================================ 0.9.9 API documentation: GLM_GTX_matrix_query
0.9.9 API documentation
GLM_GTX_matrix_query

Include <glm/gtx/matrix_query.hpp> to use the features of this extension. More...

Functions

template<length_t C, length_t R, typename T , qualifier Q, template< length_t, length_t, typename, qualifier > class matType>
GLM_FUNC_DECL bool isIdentity (matType< C, R, T, Q > const &m, T const &epsilon)
 Return whether a matrix is an identity matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool isNormalized (mat< 2, 2, T, Q > const &m, T const &epsilon)
 Return whether a matrix is a normalized matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool isNormalized (mat< 3, 3, T, Q > const &m, T const &epsilon)
 Return whether a matrix is a normalized matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool isNormalized (mat< 4, 4, T, Q > const &m, T const &epsilon)
 Return whether a matrix is a normalized matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool isNull (mat< 2, 2, T, Q > const &m, T const &epsilon)
 Return whether a matrix a null matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool isNull (mat< 3, 3, T, Q > const &m, T const &epsilon)
 Return whether a matrix a null matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool isNull (mat< 4, 4, T, Q > const &m, T const &epsilon)
 Return whether a matrix is a null matrix. More...
 
template<length_t C, length_t R, typename T , qualifier Q, template< length_t, length_t, typename, qualifier > class matType>
GLM_FUNC_DECL bool isOrthogonal (matType< C, R, T, Q > const &m, T const &epsilon)
 Return whether a matrix is an orthonormalized matrix. More...
 

Detailed Description

Include <glm/gtx/matrix_query.hpp> to use the features of this extension.

Query to evaluate matrix properties

Function Documentation

GLM_FUNC_DECL bool glm::isIdentity ( matType< C, R, T, Q > const &  m,
T const &  epsilon 
)

Return whether a matrix is an identity matrix.

From GLM_GTX_matrix_query extension.

GLM_FUNC_DECL bool glm::isNormalized ( mat< 2, 2, T, Q > const &  m,
T const &  epsilon 
)

Return whether a matrix is a normalized matrix.

From GLM_GTX_matrix_query extension.

GLM_FUNC_DECL bool glm::isNormalized ( mat< 3, 3, T, Q > const &  m,
T const &  epsilon 
)

Return whether a matrix is a normalized matrix.

From GLM_GTX_matrix_query extension.

GLM_FUNC_DECL bool glm::isNormalized ( mat< 4, 4, T, Q > const &  m,
T const &  epsilon 
)

Return whether a matrix is a normalized matrix.

From GLM_GTX_matrix_query extension.

GLM_FUNC_DECL bool glm::isNull ( mat< 2, 2, T, Q > const &  m,
T const &  epsilon 
)

Return whether a matrix a null matrix.

From GLM_GTX_matrix_query extension.

GLM_FUNC_DECL bool glm::isNull ( mat< 3, 3, T, Q > const &  m,
T const &  epsilon 
)

Return whether a matrix a null matrix.

From GLM_GTX_matrix_query extension.

GLM_FUNC_DECL bool glm::isNull ( mat< 4, 4, T, Q > const &  m,
T const &  epsilon 
)

Return whether a matrix is a null matrix.

From GLM_GTX_matrix_query extension.

GLM_FUNC_DECL bool glm::isOrthogonal ( matType< C, R, T, Q > const &  m,
T const &  epsilon 
)

Return whether a matrix is an orthonormalized matrix.

From GLM_GTX_matrix_query extension.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00341.html ================================================ 0.9.9 API documentation: GLM_GTX_matrix_transform_2d
0.9.9 API documentation
GLM_GTX_matrix_transform_2d

Include <glm/gtx/matrix_transform_2d.hpp> to use the features of this extension. More...

Functions

template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > rotate (mat< 3, 3, T, Q > const &m, T angle)
 Builds a rotation 3 * 3 matrix created from an angle. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > scale (mat< 3, 3, T, Q > const &m, vec< 2, T, Q > const &v)
 Builds a scale 3 * 3 matrix created from a vector of 2 components. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > shearX (mat< 3, 3, T, Q > const &m, T y)
 Builds an horizontal (parallel to the x axis) shear 3 * 3 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > shearY (mat< 3, 3, T, Q > const &m, T x)
 Builds a vertical (parallel to the y axis) shear 3 * 3 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_QUALIFIER mat< 3, 3, T, Q > translate (mat< 3, 3, T, Q > const &m, vec< 2, T, Q > const &v)
 Builds a translation 3 * 3 matrix created from a vector of 2 components. More...
 

Detailed Description

Include <glm/gtx/matrix_transform_2d.hpp> to use the features of this extension.

Defines functions that generate common 2d transformation matrices.

Function Documentation

GLM_FUNC_QUALIFIER mat<3, 3, T, Q> glm::rotate ( mat< 3, 3, T, Q > const &  m,
angle 
)

Builds a rotation 3 * 3 matrix created from an angle.

Parameters
mInput matrix multiplied by this translation matrix.
angleRotation angle expressed in radians.
GLM_FUNC_QUALIFIER mat<3, 3, T, Q> glm::scale ( mat< 3, 3, T, Q > const &  m,
vec< 2, T, Q > const &  v 
)

Builds a scale 3 * 3 matrix created from a vector of 2 components.

Parameters
mInput matrix multiplied by this translation matrix.
vCoordinates of a scale vector.
GLM_FUNC_QUALIFIER mat<3, 3, T, Q> glm::shearX ( mat< 3, 3, T, Q > const &  m,
y 
)

Builds an horizontal (parallel to the x axis) shear 3 * 3 matrix.

Parameters
mInput matrix multiplied by this translation matrix.
yShear factor.
GLM_FUNC_QUALIFIER mat<3, 3, T, Q> glm::shearY ( mat< 3, 3, T, Q > const &  m,
x 
)

Builds a vertical (parallel to the y axis) shear 3 * 3 matrix.

Parameters
mInput matrix multiplied by this translation matrix.
xShear factor.
GLM_FUNC_QUALIFIER mat<3, 3, T, Q> glm::translate ( mat< 3, 3, T, Q > const &  m,
vec< 2, T, Q > const &  v 
)

Builds a translation 3 * 3 matrix created from a vector of 2 components.

Parameters
mInput matrix multiplied by this translation matrix.
vCoordinates of a translation vector.
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00342.html ================================================ 0.9.9 API documentation: GLM_GTX_mixed_producte
0.9.9 API documentation
GLM_GTX_mixed_producte

Include <glm/gtx/mixed_product.hpp> to use the features of this extension. More...

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL T mixedProduct (vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2, vec< 3, T, Q > const &v3)
 Mixed product of 3 vectors (from GLM_GTX_mixed_product extension)
 

Detailed Description

Include <glm/gtx/mixed_product.hpp> to use the features of this extension.

Mixed product of 3 vectors.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00343.html ================================================ 0.9.9 API documentation: GLM_GTX_norm
0.9.9 API documentation

Include <glm/gtx/norm.hpp> to use the features of this extension. More...

Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T distance2 (vec< L, T, Q > const &p0, vec< L, T, Q > const &p1)
 Returns the squared distance between p0 and p1, i.e., length2(p0 - p1). More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T l1Norm (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)
 Returns the L1 norm between x and y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T l1Norm (vec< 3, T, Q > const &v)
 Returns the L1 norm of v. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T l2Norm (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)
 Returns the L2 norm between x and y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T l2Norm (vec< 3, T, Q > const &x)
 Returns the L2 norm of v. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T length2 (vec< L, T, Q > const &x)
 Returns the squared length of x. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T lMaxNorm (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)
 Returns the LMax norm between x and y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T lMaxNorm (vec< 3, T, Q > const &x)
 Returns the LMax norm of v. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T lxNorm (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y, unsigned int Depth)
 Returns the L norm between x and y. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T lxNorm (vec< 3, T, Q > const &x, unsigned int Depth)
 Returns the L norm of v. More...
 

Detailed Description

Include <glm/gtx/norm.hpp> to use the features of this extension.

Various ways to compute vector norms.

Function Documentation

GLM_FUNC_DECL T glm::distance2 ( vec< L, T, Q > const &  p0,
vec< L, T, Q > const &  p1 
)

Returns the squared distance between p0 and p1, i.e., length2(p0 - p1).

From GLM_GTX_norm extension.

GLM_FUNC_DECL T glm::l1Norm ( vec< 3, T, Q > const &  x,
vec< 3, T, Q > const &  y 
)

Returns the L1 norm between x and y.

From GLM_GTX_norm extension.

GLM_FUNC_DECL T glm::l1Norm ( vec< 3, T, Q > const &  v)

Returns the L1 norm of v.

From GLM_GTX_norm extension.

GLM_FUNC_DECL T glm::l2Norm ( vec< 3, T, Q > const &  x,
vec< 3, T, Q > const &  y 
)

Returns the L2 norm between x and y.

From GLM_GTX_norm extension.

GLM_FUNC_DECL T glm::l2Norm ( vec< 3, T, Q > const &  x)

Returns the L2 norm of v.

From GLM_GTX_norm extension.

GLM_FUNC_DECL T glm::length2 ( vec< L, T, Q > const &  x)

Returns the squared length of x.

From GLM_GTX_norm extension.

GLM_FUNC_DECL T glm::lMaxNorm ( vec< 3, T, Q > const &  x,
vec< 3, T, Q > const &  y 
)

Returns the LMax norm between x and y.

From GLM_GTX_norm extension.

GLM_FUNC_DECL T glm::lMaxNorm ( vec< 3, T, Q > const &  x)

Returns the LMax norm of v.

From GLM_GTX_norm extension.

GLM_FUNC_DECL T glm::lxNorm ( vec< 3, T, Q > const &  x,
vec< 3, T, Q > const &  y,
unsigned int  Depth 
)

Returns the L norm between x and y.

From GLM_GTX_norm extension.

GLM_FUNC_DECL T glm::lxNorm ( vec< 3, T, Q > const &  x,
unsigned int  Depth 
)

Returns the L norm of v.

From GLM_GTX_norm extension.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00344.html ================================================ 0.9.9 API documentation: GLM_GTX_normal
0.9.9 API documentation

Include <glm/gtx/normal.hpp> to use the features of this extension. More...

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > triangleNormal (vec< 3, T, Q > const &p1, vec< 3, T, Q > const &p2, vec< 3, T, Q > const &p3)
 Computes triangle normal from triangle points. More...
 

Detailed Description

Include <glm/gtx/normal.hpp> to use the features of this extension.

Compute the normal of a triangle.

Function Documentation

GLM_FUNC_DECL vec<3, T, Q> glm::triangleNormal ( vec< 3, T, Q > const &  p1,
vec< 3, T, Q > const &  p2,
vec< 3, T, Q > const &  p3 
)

Computes triangle normal from triangle points.

See also
GLM_GTX_normal
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00345.html ================================================ 0.9.9 API documentation: GLM_GTX_normalize_dot
0.9.9 API documentation
GLM_GTX_normalize_dot

Include <glm/gtx/normalized_dot.hpp> to use the features of this extension. More...

Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T fastNormalizeDot (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Normalize parameters and returns the dot product of x and y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T normalizeDot (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Normalize parameters and returns the dot product of x and y. More...
 

Detailed Description

Include <glm/gtx/normalized_dot.hpp> to use the features of this extension.

Dot product of vectors that need to be normalize with a single square root.

Function Documentation

GLM_FUNC_DECL T glm::fastNormalizeDot ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  y 
)

Normalize parameters and returns the dot product of x and y.

Faster that dot(fastNormalize(x), fastNormalize(y)).

See also
GLM_GTX_normalize_dot extension.
GLM_FUNC_DECL T glm::normalizeDot ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  y 
)

Normalize parameters and returns the dot product of x and y.

It's faster that dot(normalize(x), normalize(y)).

See also
GLM_GTX_normalize_dot extension.
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00346.html ================================================ 0.9.9 API documentation: GLM_GTX_number_precision
0.9.9 API documentation
GLM_GTX_number_precision

Include <glm/gtx/number_precision.hpp> to use the features of this extension. More...

Typedefs

typedef f32 f32mat1
 Single-qualifier floating-point scalar. (from GLM_GTX_number_precision extension)
 
typedef f32 f32mat1x1
 Single-qualifier floating-point scalar. (from GLM_GTX_number_precision extension)
 
typedef f32 f32vec1
 Single-qualifier floating-point scalar. (from GLM_GTX_number_precision extension)
 
typedef f64 f64mat1
 Double-qualifier floating-point scalar. (from GLM_GTX_number_precision extension)
 
typedef f64 f64mat1x1
 Double-qualifier floating-point scalar. (from GLM_GTX_number_precision extension)
 
typedef f64 f64vec1
 Single-qualifier floating-point scalar. (from GLM_GTX_number_precision extension)
 
typedef u16 u16vec1
 16bit unsigned integer scalar. (from GLM_GTX_number_precision extension)
 
typedef u32 u32vec1
 32bit unsigned integer scalar. (from GLM_GTX_number_precision extension)
 
typedef u64 u64vec1
 64bit unsigned integer scalar. (from GLM_GTX_number_precision extension)
 
typedef u8 u8vec1
 8bit unsigned integer scalar. (from GLM_GTX_number_precision extension)
 

Detailed Description

Include <glm/gtx/number_precision.hpp> to use the features of this extension.

Defined size types.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00347.html ================================================ 0.9.9 API documentation: GLM_GTX_optimum_pow
0.9.9 API documentation
GLM_GTX_optimum_pow

Include <glm/gtx/optimum_pow.hpp> to use the features of this extension. More...

Functions

template<typename genType >
GLM_FUNC_DECL genType pow2 (genType const &x)
 Returns x raised to the power of 2. More...
 
template<typename genType >
GLM_FUNC_DECL genType pow3 (genType const &x)
 Returns x raised to the power of 3. More...
 
template<typename genType >
GLM_FUNC_DECL genType pow4 (genType const &x)
 Returns x raised to the power of 4. More...
 

Detailed Description

Include <glm/gtx/optimum_pow.hpp> to use the features of this extension.

Integer exponentiation of power functions.

Function Documentation

GLM_FUNC_DECL genType glm::gtx::pow2 ( genType const &  x)

Returns x raised to the power of 2.

See also
GLM_GTX_optimum_pow
GLM_FUNC_DECL genType glm::gtx::pow3 ( genType const &  x)

Returns x raised to the power of 3.

See also
GLM_GTX_optimum_pow
GLM_FUNC_DECL genType glm::gtx::pow4 ( genType const &  x)

Returns x raised to the power of 4.

See also
GLM_GTX_optimum_pow
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00348.html ================================================ 0.9.9 API documentation: GLM_GTX_orthonormalize
0.9.9 API documentation
GLM_GTX_orthonormalize

Include <glm/gtx/orthonormalize.hpp> to use the features of this extension. More...

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > orthonormalize (mat< 3, 3, T, Q > const &m)
 Returns the orthonormalized matrix of m. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > orthonormalize (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)
 Orthonormalizes x according y. More...
 

Detailed Description

Include <glm/gtx/orthonormalize.hpp> to use the features of this extension.

Orthonormalize matrices.

Function Documentation

GLM_FUNC_DECL mat<3, 3, T, Q> glm::orthonormalize ( mat< 3, 3, T, Q > const &  m)

Returns the orthonormalized matrix of m.

See also
GLM_GTX_orthonormalize
GLM_FUNC_DECL vec<3, T, Q> glm::orthonormalize ( vec< 3, T, Q > const &  x,
vec< 3, T, Q > const &  y 
)

Orthonormalizes x according y.

See also
GLM_GTX_orthonormalize
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00349.html ================================================ 0.9.9 API documentation: GLM_GTX_perpendicular
0.9.9 API documentation
GLM_GTX_perpendicular

Include <glm/gtx/perpendicular.hpp> to use the features of this extension. More...

Functions

template<typename genType >
GLM_FUNC_DECL genType perp (genType const &x, genType const &Normal)
 Projects x a perpendicular axis of Normal. More...
 

Detailed Description

Include <glm/gtx/perpendicular.hpp> to use the features of this extension.

Perpendicular of a vector from other one

Function Documentation

GLM_FUNC_DECL genType glm::perp ( genType const &  x,
genType const &  Normal 
)

Projects x a perpendicular axis of Normal.

From GLM_GTX_perpendicular extension.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00350.html ================================================ 0.9.9 API documentation: GLM_GTX_polar_coordinates
0.9.9 API documentation
GLM_GTX_polar_coordinates

Include <glm/gtx/polar_coordinates.hpp> to use the features of this extension. More...

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > euclidean (vec< 2, T, Q > const &polar)
 Convert Polar to Euclidean coordinates. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > polar (vec< 3, T, Q > const &euclidean)
 Convert Euclidean to Polar coordinates, x is the xz distance, y, the latitude and z the longitude. More...
 

Detailed Description

Include <glm/gtx/polar_coordinates.hpp> to use the features of this extension.

Conversion from Euclidean space to polar space and revert.

Function Documentation

GLM_FUNC_DECL vec<3, T, Q> glm::euclidean ( vec< 2, T, Q > const &  polar)

Convert Polar to Euclidean coordinates.

See also
GLM_GTX_polar_coordinates
GLM_FUNC_DECL vec<3, T, Q> glm::polar ( vec< 3, T, Q > const &  euclidean)

Convert Euclidean to Polar coordinates, x is the xz distance, y, the latitude and z the longitude.

See also
GLM_GTX_polar_coordinates
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00351.html ================================================ 0.9.9 API documentation: GLM_GTX_projection
0.9.9 API documentation

Include <glm/gtx/projection.hpp> to use the features of this extension. More...

Functions

template<typename genType >
GLM_FUNC_DECL genType proj (genType const &x, genType const &Normal)
 Projects x on Normal. More...
 

Detailed Description

Include <glm/gtx/projection.hpp> to use the features of this extension.

Projection of a vector to other one

Function Documentation

GLM_FUNC_DECL genType glm::proj ( genType const &  x,
genType const &  Normal 
)

Projects x on Normal.

Parameters
[in]xA vector to project
[in]NormalA normal that doesn't need to be of unit length.
See also
GLM_GTX_projection
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00352.html ================================================ 0.9.9 API documentation: GLM_GTX_quaternion
0.9.9 API documentation

Include <glm/gtx/quaternion.hpp> to use the features of this extension. More...

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > cross (qua< T, Q > const &q, vec< 3, T, Q > const &v)
 Compute a cross product between a quaternion and a vector. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > cross (vec< 3, T, Q > const &v, qua< T, Q > const &q)
 Compute a cross product between a vector and a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T extractRealComponent (qua< T, Q > const &q)
 Extract the real component of a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > fastMix (qua< T, Q > const &x, qua< T, Q > const &y, T const &a)
 Quaternion normalized linear interpolation. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > intermediate (qua< T, Q > const &prev, qua< T, Q > const &curr, qua< T, Q > const &next)
 Returns an intermediate control point for squad interpolation. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T length2 (qua< T, Q > const &q)
 Returns the squared length of x. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > quat_identity ()
 Create an identity quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rotate (qua< T, Q > const &q, vec< 3, T, Q > const &v)
 Returns quarternion square root. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > rotate (qua< T, Q > const &q, vec< 4, T, Q > const &v)
 Rotates a 4 components vector by a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > rotation (vec< 3, T, Q > const &orig, vec< 3, T, Q > const &dest)
 Compute the rotation between two vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > shortMix (qua< T, Q > const &x, qua< T, Q > const &y, T const &a)
 Quaternion interpolation using the rotation short path. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > squad (qua< T, Q > const &q1, qua< T, Q > const &q2, qua< T, Q > const &s1, qua< T, Q > const &s2, T const &h)
 Compute a point on a path according squad equation. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > toMat3 (qua< T, Q > const &x)
 Converts a quaternion to a 3 * 3 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > toMat4 (qua< T, Q > const &x)
 Converts a quaternion to a 4 * 4 matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > toQuat (mat< 3, 3, T, Q > const &x)
 Converts a 3 * 3 matrix to a quaternion. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > toQuat (mat< 4, 4, T, Q > const &x)
 Converts a 4 * 4 matrix to a quaternion. More...
 

Detailed Description

Include <glm/gtx/quaternion.hpp> to use the features of this extension.

Extented quaternion types and functions

Function Documentation

GLM_FUNC_DECL vec<3, T, Q> glm::cross ( qua< T, Q > const &  q,
vec< 3, T, Q > const &  v 
)

Compute a cross product between a quaternion and a vector.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL vec<3, T, Q> glm::cross ( vec< 3, T, Q > const &  v,
qua< T, Q > const &  q 
)

Compute a cross product between a vector and a quaternion.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL T glm::extractRealComponent ( qua< T, Q > const &  q)

Extract the real component of a quaternion.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL qua<T, Q> glm::fastMix ( qua< T, Q > const &  x,
qua< T, Q > const &  y,
T const &  a 
)

Quaternion normalized linear interpolation.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL qua<T, Q> glm::intermediate ( qua< T, Q > const &  prev,
qua< T, Q > const &  curr,
qua< T, Q > const &  next 
)

Returns an intermediate control point for squad interpolation.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL T glm::length2 ( qua< T, Q > const &  q)

Returns the squared length of x.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL qua<T, Q> glm::quat_identity ( )

Create an identity quaternion.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL vec<3, T, Q> glm::rotate ( qua< T, Q > const &  q,
vec< 3, T, Q > const &  v 
)

Returns quarternion square root.

See also
GLM_GTX_quaternion Rotates a 3 components vector by a quaternion.
GLM_GTX_quaternion
GLM_FUNC_DECL vec<4, T, Q> glm::rotate ( qua< T, Q > const &  q,
vec< 4, T, Q > const &  v 
)

Rotates a 4 components vector by a quaternion.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL qua<T, Q> glm::rotation ( vec< 3, T, Q > const &  orig,
vec< 3, T, Q > const &  dest 
)

Compute the rotation between two vectors.

Parameters
origvector, needs to be normalized
destvector, needs to be normalized
See also
GLM_GTX_quaternion
GLM_FUNC_DECL qua<T, Q> glm::shortMix ( qua< T, Q > const &  x,
qua< T, Q > const &  y,
T const &  a 
)

Quaternion interpolation using the rotation short path.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL qua<T, Q> glm::squad ( qua< T, Q > const &  q1,
qua< T, Q > const &  q2,
qua< T, Q > const &  s1,
qua< T, Q > const &  s2,
T const &  h 
)

Compute a point on a path according squad equation.

q1 and q2 are control points; s1 and s2 are intermediate control points.

See also
GLM_GTX_quaternion
GLM_FUNC_DECL mat<3, 3, T, Q> glm::toMat3 ( qua< T, Q > const &  x)

Converts a quaternion to a 3 * 3 matrix.

See also
GLM_GTX_quaternion

Definition at line 113 of file gtx/quaternion.hpp.

References glm::mat3_cast().

GLM_FUNC_DECL mat<4, 4, T, Q> glm::toMat4 ( qua< T, Q > const &  x)

Converts a quaternion to a 4 * 4 matrix.

See also
GLM_GTX_quaternion

Definition at line 120 of file gtx/quaternion.hpp.

References glm::mat4_cast().

GLM_FUNC_DECL qua<T, Q> glm::toQuat ( mat< 3, 3, T, Q > const &  x)

Converts a 3 * 3 matrix to a quaternion.

See also
GLM_GTX_quaternion

Definition at line 127 of file gtx/quaternion.hpp.

References glm::quat_cast().

GLM_FUNC_DECL qua<T, Q> glm::toQuat ( mat< 4, 4, T, Q > const &  x)

Converts a 4 * 4 matrix to a quaternion.

See also
GLM_GTX_quaternion

Definition at line 134 of file gtx/quaternion.hpp.

References glm::quat_cast().

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00353.html ================================================ 0.9.9 API documentation: GLM_GTX_range
0.9.9 API documentation

Include <glm/gtx/range.hpp> to use the features of this extension. More...

Detailed Description

Include <glm/gtx/range.hpp> to use the features of this extension.

Defines begin and end for vectors and matrices. Useful for range-based for loop. The range is defined over the elements, not over columns or rows (e.g. mat4 has 16 elements).

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00354.html ================================================ 0.9.9 API documentation: GLM_GTX_raw_data
0.9.9 API documentation

Include <glm/gtx/raw_data.hpp> to use the features of this extension. More...

Typedefs

typedef detail::uint8 byte
 Type for byte numbers. More...
 
typedef detail::uint32 dword
 Type for dword numbers. More...
 
typedef detail::uint64 qword
 Type for qword numbers. More...
 
typedef detail::uint16 word
 Type for word numbers. More...
 

Detailed Description

Include <glm/gtx/raw_data.hpp> to use the features of this extension.

Projection of a vector to other one

Typedef Documentation

typedef detail::uint8 byte

Type for byte numbers.

From GLM_GTX_raw_data extension.

Definition at line 34 of file raw_data.hpp.

typedef detail::uint32 dword

Type for dword numbers.

From GLM_GTX_raw_data extension.

Definition at line 42 of file raw_data.hpp.

typedef detail::uint64 qword

Type for qword numbers.

From GLM_GTX_raw_data extension.

Definition at line 46 of file raw_data.hpp.

typedef detail::uint16 word

Type for word numbers.

From GLM_GTX_raw_data extension.

Definition at line 38 of file raw_data.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00355.html ================================================ 0.9.9 API documentation: GLM_GTX_rotate_normalized_axis
0.9.9 API documentation
GLM_GTX_rotate_normalized_axis

Include <glm/gtx/rotate_normalized_axis.hpp> to use the features of this extension. More...

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > rotateNormalizedAxis (mat< 4, 4, T, Q > const &m, T const &angle, vec< 3, T, Q > const &axis)
 Builds a rotation 4 * 4 matrix created from a normalized axis and an angle. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL qua< T, Q > rotateNormalizedAxis (qua< T, Q > const &q, T const &angle, vec< 3, T, Q > const &axis)
 Rotates a quaternion from a vector of 3 components normalized axis and an angle. More...
 

Detailed Description

Include <glm/gtx/rotate_normalized_axis.hpp> to use the features of this extension.

Quaternions and matrices rotations around normalized axis.

Function Documentation

GLM_FUNC_DECL mat<4, 4, T, Q> glm::rotateNormalizedAxis ( mat< 4, 4, T, Q > const &  m,
T const &  angle,
vec< 3, T, Q > const &  axis 
)

Builds a rotation 4 * 4 matrix created from a normalized axis and an angle.

Parameters
mInput matrix multiplied by this rotation matrix.
angleRotation angle expressed in radians.
axisRotation axis, must be normalized.
Template Parameters
TValue type used to build the matrix. Currently supported: half (not recommended), float or double.
See also
GLM_GTX_rotate_normalized_axis
- rotate(T angle, T x, T y, T z)
- rotate(mat<4, 4, T, Q> const& m, T angle, T x, T y, T z)
- rotate(T angle, vec<3, T, Q> const& v)
GLM_FUNC_DECL qua<T, Q> glm::rotateNormalizedAxis ( qua< T, Q > const &  q,
T const &  angle,
vec< 3, T, Q > const &  axis 
)

Rotates a quaternion from a vector of 3 components normalized axis and an angle.

Parameters
qSource orientation
angleAngle expressed in radians.
axisNormalized axis of the rotation, must be normalized.
See also
GLM_GTX_rotate_normalized_axis
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00356.html ================================================ 0.9.9 API documentation: GLM_GTX_rotate_vector
0.9.9 API documentation
GLM_GTX_rotate_vector

Include <glm/gtx/rotate_vector.hpp> to use the features of this extension. More...

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > orientation (vec< 3, T, Q > const &Normal, vec< 3, T, Q > const &Up)
 Build a rotation matrix from a normal and a up vector. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 2, T, Q > rotate (vec< 2, T, Q > const &v, T const &angle)
 Rotate a two dimensional vector. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rotate (vec< 3, T, Q > const &v, T const &angle, vec< 3, T, Q > const &normal)
 Rotate a three dimensional vector around an axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > rotate (vec< 4, T, Q > const &v, T const &angle, vec< 3, T, Q > const &normal)
 Rotate a four dimensional vector around an axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rotateX (vec< 3, T, Q > const &v, T const &angle)
 Rotate a three dimensional vector around the X axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > rotateX (vec< 4, T, Q > const &v, T const &angle)
 Rotate a four dimensional vector around the X axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rotateY (vec< 3, T, Q > const &v, T const &angle)
 Rotate a three dimensional vector around the Y axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > rotateY (vec< 4, T, Q > const &v, T const &angle)
 Rotate a four dimensional vector around the Y axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > rotateZ (vec< 3, T, Q > const &v, T const &angle)
 Rotate a three dimensional vector around the Z axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 4, T, Q > rotateZ (vec< 4, T, Q > const &v, T const &angle)
 Rotate a four dimensional vector around the Z axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL vec< 3, T, Q > slerp (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y, T const &a)
 Returns Spherical interpolation between two vectors. More...
 

Detailed Description

Include <glm/gtx/rotate_vector.hpp> to use the features of this extension.

Function to directly rotate a vector

Function Documentation

GLM_FUNC_DECL mat<4, 4, T, Q> glm::orientation ( vec< 3, T, Q > const &  Normal,
vec< 3, T, Q > const &  Up 
)

Build a rotation matrix from a normal and a up vector.

From GLM_GTX_rotate_vector extension.

GLM_FUNC_DECL vec<2, T, Q> glm::rotate ( vec< 2, T, Q > const &  v,
T const &  angle 
)

Rotate a two dimensional vector.

From GLM_GTX_rotate_vector extension.

GLM_FUNC_DECL vec<3, T, Q> glm::rotate ( vec< 3, T, Q > const &  v,
T const &  angle,
vec< 3, T, Q > const &  normal 
)

Rotate a three dimensional vector around an axis.

From GLM_GTX_rotate_vector extension.

GLM_FUNC_DECL vec<4, T, Q> glm::rotate ( vec< 4, T, Q > const &  v,
T const &  angle,
vec< 3, T, Q > const &  normal 
)

Rotate a four dimensional vector around an axis.

From GLM_GTX_rotate_vector extension.

GLM_FUNC_DECL vec<3, T, Q> glm::rotateX ( vec< 3, T, Q > const &  v,
T const &  angle 
)

Rotate a three dimensional vector around the X axis.

From GLM_GTX_rotate_vector extension.

GLM_FUNC_DECL vec<4, T, Q> glm::rotateX ( vec< 4, T, Q > const &  v,
T const &  angle 
)

Rotate a four dimensional vector around the X axis.

From GLM_GTX_rotate_vector extension.

GLM_FUNC_DECL vec<3, T, Q> glm::rotateY ( vec< 3, T, Q > const &  v,
T const &  angle 
)

Rotate a three dimensional vector around the Y axis.

From GLM_GTX_rotate_vector extension.

GLM_FUNC_DECL vec<4, T, Q> glm::rotateY ( vec< 4, T, Q > const &  v,
T const &  angle 
)

Rotate a four dimensional vector around the Y axis.

From GLM_GTX_rotate_vector extension.

GLM_FUNC_DECL vec<3, T, Q> glm::rotateZ ( vec< 3, T, Q > const &  v,
T const &  angle 
)

Rotate a three dimensional vector around the Z axis.

From GLM_GTX_rotate_vector extension.

GLM_FUNC_DECL vec<4, T, Q> glm::rotateZ ( vec< 4, T, Q > const &  v,
T const &  angle 
)

Rotate a four dimensional vector around the Z axis.

From GLM_GTX_rotate_vector extension.

GLM_FUNC_DECL vec<3, T, Q> glm::slerp ( vec< 3, T, Q > const &  x,
vec< 3, T, Q > const &  y,
T const &  a 
)

Returns Spherical interpolation between two vectors.

Parameters
xA first vector
yA second vector
aInterpolation factor. The interpolation is defined beyond the range [0, 1].
See also
GLM_GTX_rotate_vector
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00357.html ================================================ 0.9.9 API documentation: GLM_GTX_scalar_relational
0.9.9 API documentation
GLM_GTX_scalar_relational

Include <glm/gtx/scalar_relational.hpp> to use the features of this extension. More...

Include <glm/gtx/scalar_relational.hpp> to use the features of this extension.

Extend a position from a source to a position at a defined length.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00358.html ================================================ 0.9.9 API documentation: GLM_GTX_spline
0.9.9 API documentation

Include <glm/gtx/spline.hpp> to use the features of this extension. More...

Functions

template<typename genType >
GLM_FUNC_DECL genType catmullRom (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 Return a point from a catmull rom curve. More...
 
template<typename genType >
GLM_FUNC_DECL genType cubic (genType const &v1, genType const &v2, genType const &v3, genType const &v4, typename genType::value_type const &s)
 Return a point from a cubic curve. More...
 
template<typename genType >
GLM_FUNC_DECL genType hermite (genType const &v1, genType const &t1, genType const &v2, genType const &t2, typename genType::value_type const &s)
 Return a point from a hermite curve. More...
 

Detailed Description

Include <glm/gtx/spline.hpp> to use the features of this extension.

Spline functions

Function Documentation

GLM_FUNC_DECL genType glm::catmullRom ( genType const &  v1,
genType const &  v2,
genType const &  v3,
genType const &  v4,
typename genType::value_type const &  s 
)

Return a point from a catmull rom curve.

See also
GLM_GTX_spline extension.
GLM_FUNC_DECL genType glm::cubic ( genType const &  v1,
genType const &  v2,
genType const &  v3,
genType const &  v4,
typename genType::value_type const &  s 
)

Return a point from a cubic curve.

See also
GLM_GTX_spline extension.
GLM_FUNC_DECL genType glm::hermite ( genType const &  v1,
genType const &  t1,
genType const &  v2,
genType const &  t2,
typename genType::value_type const &  s 
)

Return a point from a hermite curve.

See also
GLM_GTX_spline extension.
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00359.html ================================================ 0.9.9 API documentation: GLM_GTX_std_based_type
0.9.9 API documentation
GLM_GTX_std_based_type

Include <glm/gtx/std_based_type.hpp> to use the features of this extension. More...

Typedefs

typedef vec< 1, std::size_t, defaultp > size1
 Vector type based of one std::size_t component. More...
 
typedef vec< 1, std::size_t, defaultp > size1_t
 Vector type based of one std::size_t component. More...
 
typedef vec< 2, std::size_t, defaultp > size2
 Vector type based of two std::size_t components. More...
 
typedef vec< 2, std::size_t, defaultp > size2_t
 Vector type based of two std::size_t components. More...
 
typedef vec< 3, std::size_t, defaultp > size3
 Vector type based of three std::size_t components. More...
 
typedef vec< 3, std::size_t, defaultp > size3_t
 Vector type based of three std::size_t components. More...
 
typedef vec< 4, std::size_t, defaultp > size4
 Vector type based of four std::size_t components. More...
 
typedef vec< 4, std::size_t, defaultp > size4_t
 Vector type based of four std::size_t components. More...
 

Detailed Description

Include <glm/gtx/std_based_type.hpp> to use the features of this extension.

Adds vector types based on STL value types.

Typedef Documentation

typedef vec<1, std::size_t, defaultp> size1

Vector type based of one std::size_t component.

See also
GLM_GTX_std_based_type

Definition at line 35 of file std_based_type.hpp.

typedef vec<1, std::size_t, defaultp> size1_t

Vector type based of one std::size_t component.

See also
GLM_GTX_std_based_type

Definition at line 51 of file std_based_type.hpp.

typedef vec<2, std::size_t, defaultp> size2

Vector type based of two std::size_t components.

See also
GLM_GTX_std_based_type

Definition at line 39 of file std_based_type.hpp.

typedef vec<2, std::size_t, defaultp> size2_t

Vector type based of two std::size_t components.

See also
GLM_GTX_std_based_type

Definition at line 55 of file std_based_type.hpp.

typedef vec<3, std::size_t, defaultp> size3

Vector type based of three std::size_t components.

See also
GLM_GTX_std_based_type

Definition at line 43 of file std_based_type.hpp.

typedef vec<3, std::size_t, defaultp> size3_t

Vector type based of three std::size_t components.

See also
GLM_GTX_std_based_type

Definition at line 59 of file std_based_type.hpp.

typedef vec<4, std::size_t, defaultp> size4

Vector type based of four std::size_t components.

See also
GLM_GTX_std_based_type

Definition at line 47 of file std_based_type.hpp.

typedef vec<4, std::size_t, defaultp> size4_t

Vector type based of four std::size_t components.

See also
GLM_GTX_std_based_type

Definition at line 63 of file std_based_type.hpp.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00360.html ================================================ 0.9.9 API documentation: GLM_GTX_string_cast
0.9.9 API documentation
GLM_GTX_string_cast

Include <glm/gtx/string_cast.hpp> to use the features of this extension. More...

Functions

template<typename genType >
GLM_FUNC_DECL std::string to_string (genType const &x)
 Create a string from a GLM vector or matrix typed variable. More...
 

Detailed Description

Include <glm/gtx/string_cast.hpp> to use the features of this extension.

Setup strings for GLM type values

This extension is not supported with CUDA

Function Documentation

GLM_FUNC_DECL std::string glm::to_string ( genType const &  x)

Create a string from a GLM vector or matrix typed variable.

See also
GLM_GTX_string_cast extension.
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00361.html ================================================ 0.9.9 API documentation: GLM_GTX_texture
0.9.9 API documentation

Include <glm/gtx/texture.hpp> to use the features of this extension. More...

Functions

template<length_t L, typename T , qualifier Q>
levels (vec< L, T, Q > const &Extent)
 Compute the number of mipmaps levels necessary to create a mipmap complete texture. More...
 

Detailed Description

Include <glm/gtx/texture.hpp> to use the features of this extension.

Wrapping mode of texture coordinates.

Function Documentation

T glm::levels ( vec< L, T, Q > const &  Extent)

Compute the number of mipmaps levels necessary to create a mipmap complete texture.

Parameters
ExtentExtent of the texture base level mipmap
Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point or signed integer scalar types
QValue from qualifier enum
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00362.html ================================================ 0.9.9 API documentation: GLM_GTX_transform
0.9.9 API documentation

Include <glm/gtx/transform.hpp> to use the features of this extension. More...

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > rotate (T angle, vec< 3, T, Q > const &v)
 Builds a rotation 4 * 4 matrix created from an axis of 3 scalars and an angle expressed in radians. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > scale (vec< 3, T, Q > const &v)
 Transforms a matrix with a scale 4 * 4 matrix created from a vector of 3 components. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > translate (vec< 3, T, Q > const &v)
 Transforms a matrix with a translation 4 * 4 matrix created from 3 scalars. More...
 

Detailed Description

Include <glm/gtx/transform.hpp> to use the features of this extension.

Add transformation matrices

Function Documentation

GLM_FUNC_DECL mat<4, 4, T, Q> glm::rotate ( angle,
vec< 3, T, Q > const &  v 
)

Builds a rotation 4 * 4 matrix created from an axis of 3 scalars and an angle expressed in radians.

See also
GLM_GTC_matrix_transform
GLM_GTX_transform
GLM_FUNC_DECL mat<4, 4, T, Q> glm::scale ( vec< 3, T, Q > const &  v)

Transforms a matrix with a scale 4 * 4 matrix created from a vector of 3 components.

See also
GLM_GTC_matrix_transform
GLM_GTX_transform
GLM_FUNC_DECL mat<4, 4, T, Q> glm::translate ( vec< 3, T, Q > const &  v)

Transforms a matrix with a translation 4 * 4 matrix created from 3 scalars.

See also
GLM_GTC_matrix_transform
GLM_GTX_transform
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00363.html ================================================ 0.9.9 API documentation: GLM_GTX_transform2
0.9.9 API documentation

Include <glm/gtx/transform2.hpp> to use the features of this extension. More...

Functions

template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > proj2D (mat< 3, 3, T, Q > const &m, vec< 3, T, Q > const &normal)
 Build planar projection matrix along normal axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > proj3D (mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &normal)
 Build planar projection matrix along normal axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > scaleBias (T scale, T bias)
 Build a scale bias matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > scaleBias (mat< 4, 4, T, Q > const &m, T scale, T bias)
 Build a scale bias matrix. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > shearX2D (mat< 3, 3, T, Q > const &m, T y)
 Transforms a matrix with a shearing on X axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > shearX3D (mat< 4, 4, T, Q > const &m, T y, T z)
 Transforms a matrix with a shearing on X axis From GLM_GTX_transform2 extension. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 3, 3, T, Q > shearY2D (mat< 3, 3, T, Q > const &m, T x)
 Transforms a matrix with a shearing on Y axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > shearY3D (mat< 4, 4, T, Q > const &m, T x, T z)
 Transforms a matrix with a shearing on Y axis. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL mat< 4, 4, T, Q > shearZ3D (mat< 4, 4, T, Q > const &m, T x, T y)
 Transforms a matrix with a shearing on Z axis. More...
 

Detailed Description

Include <glm/gtx/transform2.hpp> to use the features of this extension.

Add extra transformation matrices

Function Documentation

GLM_FUNC_DECL mat<3, 3, T, Q> glm::proj2D ( mat< 3, 3, T, Q > const &  m,
vec< 3, T, Q > const &  normal 
)

Build planar projection matrix along normal axis.

From GLM_GTX_transform2 extension.

GLM_FUNC_DECL mat<4, 4, T, Q> glm::proj3D ( mat< 4, 4, T, Q > const &  m,
vec< 3, T, Q > const &  normal 
)

Build planar projection matrix along normal axis.

From GLM_GTX_transform2 extension.

GLM_FUNC_DECL mat<4, 4, T, Q> glm::scaleBias ( scale,
bias 
)

Build a scale bias matrix.

From GLM_GTX_transform2 extension.

GLM_FUNC_DECL mat<4, 4, T, Q> glm::scaleBias ( mat< 4, 4, T, Q > const &  m,
scale,
bias 
)

Build a scale bias matrix.

From GLM_GTX_transform2 extension.

GLM_FUNC_DECL mat<3, 3, T, Q> glm::shearX2D ( mat< 3, 3, T, Q > const &  m,
y 
)

Transforms a matrix with a shearing on X axis.

From GLM_GTX_transform2 extension.

GLM_FUNC_DECL mat<4, 4, T, Q> glm::shearX3D ( mat< 4, 4, T, Q > const &  m,
y,
z 
)

Transforms a matrix with a shearing on X axis From GLM_GTX_transform2 extension.

GLM_FUNC_DECL mat<3, 3, T, Q> glm::shearY2D ( mat< 3, 3, T, Q > const &  m,
x 
)

Transforms a matrix with a shearing on Y axis.

From GLM_GTX_transform2 extension.

GLM_FUNC_DECL mat<4, 4, T, Q> glm::shearY3D ( mat< 4, 4, T, Q > const &  m,
x,
z 
)

Transforms a matrix with a shearing on Y axis.

From GLM_GTX_transform2 extension.

GLM_FUNC_DECL mat<4, 4, T, Q> glm::shearZ3D ( mat< 4, 4, T, Q > const &  m,
x,
y 
)

Transforms a matrix with a shearing on Z axis.

From GLM_GTX_transform2 extension.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00364.html ================================================ 0.9.9 API documentation: GLM_GTX_type_aligned
0.9.9 API documentation
GLM_GTX_type_aligned

Include <glm/gtx/type_aligned.hpp> to use the features of this extension. More...

Functions

 GLM_ALIGNED_TYPEDEF (lowp_int8, aligned_lowp_int8, 1)
 Low qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_int16, aligned_lowp_int16, 2)
 Low qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_int32, aligned_lowp_int32, 4)
 Low qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_int64, aligned_lowp_int64, 8)
 Low qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_int8_t, aligned_lowp_int8_t, 1)
 Low qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_int16_t, aligned_lowp_int16_t, 2)
 Low qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_int32_t, aligned_lowp_int32_t, 4)
 Low qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_int64_t, aligned_lowp_int64_t, 8)
 Low qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_i8, aligned_lowp_i8, 1)
 Low qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_i16, aligned_lowp_i16, 2)
 Low qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_i32, aligned_lowp_i32, 4)
 Low qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_i64, aligned_lowp_i64, 8)
 Low qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_int8, aligned_mediump_int8, 1)
 Medium qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_int16, aligned_mediump_int16, 2)
 Medium qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_int32, aligned_mediump_int32, 4)
 Medium qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_int64, aligned_mediump_int64, 8)
 Medium qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_int8_t, aligned_mediump_int8_t, 1)
 Medium qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_int16_t, aligned_mediump_int16_t, 2)
 Medium qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_int32_t, aligned_mediump_int32_t, 4)
 Medium qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_int64_t, aligned_mediump_int64_t, 8)
 Medium qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_i8, aligned_mediump_i8, 1)
 Medium qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_i16, aligned_mediump_i16, 2)
 Medium qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_i32, aligned_mediump_i32, 4)
 Medium qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_i64, aligned_mediump_i64, 8)
 Medium qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_int8, aligned_highp_int8, 1)
 High qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_int16, aligned_highp_int16, 2)
 High qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_int32, aligned_highp_int32, 4)
 High qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_int64, aligned_highp_int64, 8)
 High qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_int8_t, aligned_highp_int8_t, 1)
 High qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_int16_t, aligned_highp_int16_t, 2)
 High qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_int32_t, aligned_highp_int32_t, 4)
 High qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_int64_t, aligned_highp_int64_t, 8)
 High qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_i8, aligned_highp_i8, 1)
 High qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_i16, aligned_highp_i16, 2)
 High qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_i32, aligned_highp_i32, 4)
 High qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_i64, aligned_highp_i64, 8)
 High qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (int8, aligned_int8, 1)
 Default qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (int16, aligned_int16, 2)
 Default qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (int32, aligned_int32, 4)
 Default qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (int64, aligned_int64, 8)
 Default qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (int8_t, aligned_int8_t, 1)
 Default qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (int16_t, aligned_int16_t, 2)
 Default qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (int32_t, aligned_int32_t, 4)
 Default qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (int64_t, aligned_int64_t, 8)
 Default qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (i8, aligned_i8, 1)
 Default qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (i16, aligned_i16, 2)
 Default qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (i32, aligned_i32, 4)
 Default qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (i64, aligned_i64, 8)
 Default qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (ivec1, aligned_ivec1, 4)
 Default qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (ivec2, aligned_ivec2, 8)
 Default qualifier 32 bit signed integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (ivec3, aligned_ivec3, 16)
 Default qualifier 32 bit signed integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (ivec4, aligned_ivec4, 16)
 Default qualifier 32 bit signed integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i8vec1, aligned_i8vec1, 1)
 Default qualifier 8 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (i8vec2, aligned_i8vec2, 2)
 Default qualifier 8 bit signed integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i8vec3, aligned_i8vec3, 4)
 Default qualifier 8 bit signed integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i8vec4, aligned_i8vec4, 4)
 Default qualifier 8 bit signed integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i16vec1, aligned_i16vec1, 2)
 Default qualifier 16 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (i16vec2, aligned_i16vec2, 4)
 Default qualifier 16 bit signed integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i16vec3, aligned_i16vec3, 8)
 Default qualifier 16 bit signed integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i16vec4, aligned_i16vec4, 8)
 Default qualifier 16 bit signed integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i32vec1, aligned_i32vec1, 4)
 Default qualifier 32 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (i32vec2, aligned_i32vec2, 8)
 Default qualifier 32 bit signed integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i32vec3, aligned_i32vec3, 16)
 Default qualifier 32 bit signed integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i32vec4, aligned_i32vec4, 16)
 Default qualifier 32 bit signed integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i64vec1, aligned_i64vec1, 8)
 Default qualifier 64 bit signed integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (i64vec2, aligned_i64vec2, 16)
 Default qualifier 64 bit signed integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i64vec3, aligned_i64vec3, 32)
 Default qualifier 64 bit signed integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (i64vec4, aligned_i64vec4, 32)
 Default qualifier 64 bit signed integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_uint8, aligned_lowp_uint8, 1)
 Low qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_uint16, aligned_lowp_uint16, 2)
 Low qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_uint32, aligned_lowp_uint32, 4)
 Low qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_uint64, aligned_lowp_uint64, 8)
 Low qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_uint8_t, aligned_lowp_uint8_t, 1)
 Low qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_uint16_t, aligned_lowp_uint16_t, 2)
 Low qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_uint32_t, aligned_lowp_uint32_t, 4)
 Low qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_uint64_t, aligned_lowp_uint64_t, 8)
 Low qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_u8, aligned_lowp_u8, 1)
 Low qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_u16, aligned_lowp_u16, 2)
 Low qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_u32, aligned_lowp_u32, 4)
 Low qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (lowp_u64, aligned_lowp_u64, 8)
 Low qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_uint8, aligned_mediump_uint8, 1)
 Medium qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_uint16, aligned_mediump_uint16, 2)
 Medium qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_uint32, aligned_mediump_uint32, 4)
 Medium qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_uint64, aligned_mediump_uint64, 8)
 Medium qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_uint8_t, aligned_mediump_uint8_t, 1)
 Medium qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_uint16_t, aligned_mediump_uint16_t, 2)
 Medium qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_uint32_t, aligned_mediump_uint32_t, 4)
 Medium qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_uint64_t, aligned_mediump_uint64_t, 8)
 Medium qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_u8, aligned_mediump_u8, 1)
 Medium qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_u16, aligned_mediump_u16, 2)
 Medium qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_u32, aligned_mediump_u32, 4)
 Medium qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (mediump_u64, aligned_mediump_u64, 8)
 Medium qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_uint8, aligned_highp_uint8, 1)
 High qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_uint16, aligned_highp_uint16, 2)
 High qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_uint32, aligned_highp_uint32, 4)
 High qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_uint64, aligned_highp_uint64, 8)
 High qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_uint8_t, aligned_highp_uint8_t, 1)
 High qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_uint16_t, aligned_highp_uint16_t, 2)
 High qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_uint32_t, aligned_highp_uint32_t, 4)
 High qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_uint64_t, aligned_highp_uint64_t, 8)
 High qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_u8, aligned_highp_u8, 1)
 High qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_u16, aligned_highp_u16, 2)
 High qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_u32, aligned_highp_u32, 4)
 High qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (highp_u64, aligned_highp_u64, 8)
 High qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uint8, aligned_uint8, 1)
 Default qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uint16, aligned_uint16, 2)
 Default qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uint32, aligned_uint32, 4)
 Default qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uint64, aligned_uint64, 8)
 Default qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uint8_t, aligned_uint8_t, 1)
 Default qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uint16_t, aligned_uint16_t, 2)
 Default qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uint32_t, aligned_uint32_t, 4)
 Default qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uint64_t, aligned_uint64_t, 8)
 Default qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (u8, aligned_u8, 1)
 Default qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (u16, aligned_u16, 2)
 Default qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (u32, aligned_u32, 4)
 Default qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (u64, aligned_u64, 8)
 Default qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uvec1, aligned_uvec1, 4)
 Default qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (uvec2, aligned_uvec2, 8)
 Default qualifier 32 bit unsigned integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (uvec3, aligned_uvec3, 16)
 Default qualifier 32 bit unsigned integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (uvec4, aligned_uvec4, 16)
 Default qualifier 32 bit unsigned integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u8vec1, aligned_u8vec1, 1)
 Default qualifier 8 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (u8vec2, aligned_u8vec2, 2)
 Default qualifier 8 bit unsigned integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u8vec3, aligned_u8vec3, 4)
 Default qualifier 8 bit unsigned integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u8vec4, aligned_u8vec4, 4)
 Default qualifier 8 bit unsigned integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u16vec1, aligned_u16vec1, 2)
 Default qualifier 16 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (u16vec2, aligned_u16vec2, 4)
 Default qualifier 16 bit unsigned integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u16vec3, aligned_u16vec3, 8)
 Default qualifier 16 bit unsigned integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u16vec4, aligned_u16vec4, 8)
 Default qualifier 16 bit unsigned integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u32vec1, aligned_u32vec1, 4)
 Default qualifier 32 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (u32vec2, aligned_u32vec2, 8)
 Default qualifier 32 bit unsigned integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u32vec3, aligned_u32vec3, 16)
 Default qualifier 32 bit unsigned integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u32vec4, aligned_u32vec4, 16)
 Default qualifier 32 bit unsigned integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u64vec1, aligned_u64vec1, 8)
 Default qualifier 64 bit unsigned integer aligned scalar type. More...
 
 GLM_ALIGNED_TYPEDEF (u64vec2, aligned_u64vec2, 16)
 Default qualifier 64 bit unsigned integer aligned vector of 2 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u64vec3, aligned_u64vec3, 32)
 Default qualifier 64 bit unsigned integer aligned vector of 3 components type. More...
 
 GLM_ALIGNED_TYPEDEF (u64vec4, aligned_u64vec4, 32)
 Default qualifier 64 bit unsigned integer aligned vector of 4 components type. More...
 
 GLM_ALIGNED_TYPEDEF (float32, aligned_float32, 4)
 32 bit single-qualifier floating-point aligned scalar. More...
 
 GLM_ALIGNED_TYPEDEF (float32_t, aligned_float32_t, 4)
 32 bit single-qualifier floating-point aligned scalar. More...
 
 GLM_ALIGNED_TYPEDEF (float32, aligned_f32, 4)
 32 bit single-qualifier floating-point aligned scalar. More...
 
 GLM_ALIGNED_TYPEDEF (float64, aligned_float64, 8)
 64 bit double-qualifier floating-point aligned scalar. More...
 
 GLM_ALIGNED_TYPEDEF (float64_t, aligned_float64_t, 8)
 64 bit double-qualifier floating-point aligned scalar. More...
 
 GLM_ALIGNED_TYPEDEF (float64, aligned_f64, 8)
 64 bit double-qualifier floating-point aligned scalar. More...
 
 GLM_ALIGNED_TYPEDEF (vec1, aligned_vec1, 4)
 Single-qualifier floating-point aligned vector of 1 component. More...
 
 GLM_ALIGNED_TYPEDEF (vec2, aligned_vec2, 8)
 Single-qualifier floating-point aligned vector of 2 components. More...
 
 GLM_ALIGNED_TYPEDEF (vec3, aligned_vec3, 16)
 Single-qualifier floating-point aligned vector of 3 components. More...
 
 GLM_ALIGNED_TYPEDEF (vec4, aligned_vec4, 16)
 Single-qualifier floating-point aligned vector of 4 components. More...
 
 GLM_ALIGNED_TYPEDEF (fvec1, aligned_fvec1, 4)
 Single-qualifier floating-point aligned vector of 1 component. More...
 
 GLM_ALIGNED_TYPEDEF (fvec2, aligned_fvec2, 8)
 Single-qualifier floating-point aligned vector of 2 components. More...
 
 GLM_ALIGNED_TYPEDEF (fvec3, aligned_fvec3, 16)
 Single-qualifier floating-point aligned vector of 3 components. More...
 
 GLM_ALIGNED_TYPEDEF (fvec4, aligned_fvec4, 16)
 Single-qualifier floating-point aligned vector of 4 components. More...
 
 GLM_ALIGNED_TYPEDEF (f32vec1, aligned_f32vec1, 4)
 Single-qualifier floating-point aligned vector of 1 component. More...
 
 GLM_ALIGNED_TYPEDEF (f32vec2, aligned_f32vec2, 8)
 Single-qualifier floating-point aligned vector of 2 components. More...
 
 GLM_ALIGNED_TYPEDEF (f32vec3, aligned_f32vec3, 16)
 Single-qualifier floating-point aligned vector of 3 components. More...
 
 GLM_ALIGNED_TYPEDEF (f32vec4, aligned_f32vec4, 16)
 Single-qualifier floating-point aligned vector of 4 components. More...
 
 GLM_ALIGNED_TYPEDEF (dvec1, aligned_dvec1, 8)
 Double-qualifier floating-point aligned vector of 1 component. More...
 
 GLM_ALIGNED_TYPEDEF (dvec2, aligned_dvec2, 16)
 Double-qualifier floating-point aligned vector of 2 components. More...
 
 GLM_ALIGNED_TYPEDEF (dvec3, aligned_dvec3, 32)
 Double-qualifier floating-point aligned vector of 3 components. More...
 
 GLM_ALIGNED_TYPEDEF (dvec4, aligned_dvec4, 32)
 Double-qualifier floating-point aligned vector of 4 components. More...
 
 GLM_ALIGNED_TYPEDEF (f64vec1, aligned_f64vec1, 8)
 Double-qualifier floating-point aligned vector of 1 component. More...
 
 GLM_ALIGNED_TYPEDEF (f64vec2, aligned_f64vec2, 16)
 Double-qualifier floating-point aligned vector of 2 components. More...
 
 GLM_ALIGNED_TYPEDEF (f64vec3, aligned_f64vec3, 32)
 Double-qualifier floating-point aligned vector of 3 components. More...
 
 GLM_ALIGNED_TYPEDEF (f64vec4, aligned_f64vec4, 32)
 Double-qualifier floating-point aligned vector of 4 components. More...
 
 GLM_ALIGNED_TYPEDEF (mat2, aligned_mat2, 16)
 Single-qualifier floating-point aligned 1x1 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (mat3, aligned_mat3, 16)
 Single-qualifier floating-point aligned 3x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (mat4, aligned_mat4, 16)
 Single-qualifier floating-point aligned 4x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat2x2, aligned_fmat2, 16)
 Single-qualifier floating-point aligned 1x1 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat3x3, aligned_fmat3, 16)
 Single-qualifier floating-point aligned 3x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat4x4, aligned_fmat4, 16)
 Single-qualifier floating-point aligned 4x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat2x2, aligned_fmat2x2, 16)
 Single-qualifier floating-point aligned 1x1 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat2x3, aligned_fmat2x3, 16)
 Single-qualifier floating-point aligned 2x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat2x4, aligned_fmat2x4, 16)
 Single-qualifier floating-point aligned 2x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat3x2, aligned_fmat3x2, 16)
 Single-qualifier floating-point aligned 3x2 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat3x3, aligned_fmat3x3, 16)
 Single-qualifier floating-point aligned 3x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat3x4, aligned_fmat3x4, 16)
 Single-qualifier floating-point aligned 3x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat4x2, aligned_fmat4x2, 16)
 Single-qualifier floating-point aligned 4x2 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat4x3, aligned_fmat4x3, 16)
 Single-qualifier floating-point aligned 4x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (fmat4x4, aligned_fmat4x4, 16)
 Single-qualifier floating-point aligned 4x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat2x2, aligned_f32mat2, 16)
 Single-qualifier floating-point aligned 1x1 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat3x3, aligned_f32mat3, 16)
 Single-qualifier floating-point aligned 3x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat4x4, aligned_f32mat4, 16)
 Single-qualifier floating-point aligned 4x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat2x2, aligned_f32mat2x2, 16)
 Single-qualifier floating-point aligned 1x1 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat2x3, aligned_f32mat2x3, 16)
 Single-qualifier floating-point aligned 2x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat2x4, aligned_f32mat2x4, 16)
 Single-qualifier floating-point aligned 2x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat3x2, aligned_f32mat3x2, 16)
 Single-qualifier floating-point aligned 3x2 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat3x3, aligned_f32mat3x3, 16)
 Single-qualifier floating-point aligned 3x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat3x4, aligned_f32mat3x4, 16)
 Single-qualifier floating-point aligned 3x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat4x2, aligned_f32mat4x2, 16)
 Single-qualifier floating-point aligned 4x2 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat4x3, aligned_f32mat4x3, 16)
 Single-qualifier floating-point aligned 4x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f32mat4x4, aligned_f32mat4x4, 16)
 Single-qualifier floating-point aligned 4x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat2x2, aligned_f64mat2, 32)
 Double-qualifier floating-point aligned 1x1 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat3x3, aligned_f64mat3, 32)
 Double-qualifier floating-point aligned 3x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat4x4, aligned_f64mat4, 32)
 Double-qualifier floating-point aligned 4x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat2x2, aligned_f64mat2x2, 32)
 Double-qualifier floating-point aligned 1x1 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat2x3, aligned_f64mat2x3, 32)
 Double-qualifier floating-point aligned 2x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat2x4, aligned_f64mat2x4, 32)
 Double-qualifier floating-point aligned 2x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat3x2, aligned_f64mat3x2, 32)
 Double-qualifier floating-point aligned 3x2 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat3x3, aligned_f64mat3x3, 32)
 Double-qualifier floating-point aligned 3x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat3x4, aligned_f64mat3x4, 32)
 Double-qualifier floating-point aligned 3x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat4x2, aligned_f64mat4x2, 32)
 Double-qualifier floating-point aligned 4x2 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat4x3, aligned_f64mat4x3, 32)
 Double-qualifier floating-point aligned 4x3 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (f64mat4x4, aligned_f64mat4x4, 32)
 Double-qualifier floating-point aligned 4x4 matrix. More...
 
 GLM_ALIGNED_TYPEDEF (quat, aligned_quat, 16)
 Single-qualifier floating-point aligned quaternion. More...
 
 GLM_ALIGNED_TYPEDEF (quat, aligned_fquat, 16)
 Single-qualifier floating-point aligned quaternion. More...
 
 GLM_ALIGNED_TYPEDEF (dquat, aligned_dquat, 32)
 Double-qualifier floating-point aligned quaternion. More...
 
 GLM_ALIGNED_TYPEDEF (f32quat, aligned_f32quat, 16)
 Single-qualifier floating-point aligned quaternion. More...
 
 GLM_ALIGNED_TYPEDEF (f64quat, aligned_f64quat, 32)
 Double-qualifier floating-point aligned quaternion. More...
 

Detailed Description

Include <glm/gtx/type_aligned.hpp> to use the features of this extension.

Defines aligned types.

Function Documentation

glm::GLM_ALIGNED_TYPEDEF ( lowp_int8  ,
aligned_lowp_int8  ,
 
)

Low qualifier 8 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( lowp_int16  ,
aligned_lowp_int16  ,
 
)

Low qualifier 16 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( lowp_int32  ,
aligned_lowp_int32  ,
 
)

Low qualifier 32 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( lowp_int64  ,
aligned_lowp_int64  ,
 
)

Low qualifier 64 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( lowp_int8_t  ,
aligned_lowp_int8_t  ,
 
)

Low qualifier 8 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( lowp_int16_t  ,
aligned_lowp_int16_t  ,
 
)

Low qualifier 16 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( lowp_int32_t  ,
aligned_lowp_int32_t  ,
 
)

Low qualifier 32 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( lowp_int64_t  ,
aligned_lowp_int64_t  ,
 
)

Low qualifier 64 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( lowp_i8  ,
aligned_lowp_i8  ,
 
)

Low qualifier 8 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( lowp_i16  ,
aligned_lowp_i16  ,
 
)

Low qualifier 16 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( lowp_i32  ,
aligned_lowp_i32  ,
 
)

Low qualifier 32 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( lowp_i64  ,
aligned_lowp_i64  ,
 
)

Low qualifier 64 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( mediump_int8  ,
aligned_mediump_int8  ,
 
)

Medium qualifier 8 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( mediump_int16  ,
aligned_mediump_int16  ,
 
)

Medium qualifier 16 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( mediump_int32  ,
aligned_mediump_int32  ,
 
)

Medium qualifier 32 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( mediump_int64  ,
aligned_mediump_int64  ,
 
)

Medium qualifier 64 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( mediump_int8_t  ,
aligned_mediump_int8_t  ,
 
)

Medium qualifier 8 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( mediump_int16_t  ,
aligned_mediump_int16_t  ,
 
)

Medium qualifier 16 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( mediump_int32_t  ,
aligned_mediump_int32_t  ,
 
)

Medium qualifier 32 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( mediump_int64_t  ,
aligned_mediump_int64_t  ,
 
)

Medium qualifier 64 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( mediump_i8  ,
aligned_mediump_i8  ,
 
)

Medium qualifier 8 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( mediump_i16  ,
aligned_mediump_i16  ,
 
)

Medium qualifier 16 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( mediump_i32  ,
aligned_mediump_i32  ,
 
)

Medium qualifier 32 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( mediump_i64  ,
aligned_mediump_i64  ,
 
)

Medium qualifier 64 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( highp_int8  ,
aligned_highp_int8  ,
 
)

High qualifier 8 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( highp_int16  ,
aligned_highp_int16  ,
 
)

High qualifier 16 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( highp_int32  ,
aligned_highp_int32  ,
 
)

High qualifier 32 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( highp_int64  ,
aligned_highp_int64  ,
 
)

High qualifier 64 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( highp_int8_t  ,
aligned_highp_int8_t  ,
 
)

High qualifier 8 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( highp_int16_t  ,
aligned_highp_int16_t  ,
 
)

High qualifier 16 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( highp_int32_t  ,
aligned_highp_int32_t  ,
 
)

High qualifier 32 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( highp_int64_t  ,
aligned_highp_int64_t  ,
 
)

High qualifier 64 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( highp_i8  ,
aligned_highp_i8  ,
 
)

High qualifier 8 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( highp_i16  ,
aligned_highp_i16  ,
 
)

High qualifier 16 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( highp_i32  ,
aligned_highp_i32  ,
 
)

High qualifier 32 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( highp_i64  ,
aligned_highp_i64  ,
 
)

High qualifier 64 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( int8  ,
aligned_int8  ,
 
)

Default qualifier 8 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( int16  ,
aligned_int16  ,
 
)

Default qualifier 16 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( int32  ,
aligned_int32  ,
 
)

Default qualifier 32 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( int64  ,
aligned_int64  ,
 
)

Default qualifier 64 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( int8_t  ,
aligned_int8_t  ,
 
)

Default qualifier 8 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( int16_t  ,
aligned_int16_t  ,
 
)

Default qualifier 16 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( int32_t  ,
aligned_int32_t  ,
 
)

Default qualifier 32 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( int64_t  ,
aligned_int64_t  ,
 
)

Default qualifier 64 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( i8  ,
aligned_i8  ,
 
)

Default qualifier 8 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( i16  ,
aligned_i16  ,
 
)

Default qualifier 16 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( i32  ,
aligned_i32  ,
 
)

Default qualifier 32 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( i64  ,
aligned_i64  ,
 
)

Default qualifier 64 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( ivec1  ,
aligned_ivec1  ,
 
)

Default qualifier 32 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( ivec2  ,
aligned_ivec2  ,
 
)

Default qualifier 32 bit signed integer aligned vector of 2 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( ivec3  ,
aligned_ivec3  ,
16   
)

Default qualifier 32 bit signed integer aligned vector of 3 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( ivec4  ,
aligned_ivec4  ,
16   
)

Default qualifier 32 bit signed integer aligned vector of 4 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( i8vec1  ,
aligned_i8vec1  ,
 
)

Default qualifier 8 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( i8vec2  ,
aligned_i8vec2  ,
 
)

Default qualifier 8 bit signed integer aligned vector of 2 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( i8vec3  ,
aligned_i8vec3  ,
 
)

Default qualifier 8 bit signed integer aligned vector of 3 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( i8vec4  ,
aligned_i8vec4  ,
 
)

Default qualifier 8 bit signed integer aligned vector of 4 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( i16vec1  ,
aligned_i16vec1  ,
 
)

Default qualifier 16 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( i16vec2  ,
aligned_i16vec2  ,
 
)

Default qualifier 16 bit signed integer aligned vector of 2 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( i16vec3  ,
aligned_i16vec3  ,
 
)

Default qualifier 16 bit signed integer aligned vector of 3 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( i16vec4  ,
aligned_i16vec4  ,
 
)

Default qualifier 16 bit signed integer aligned vector of 4 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( i32vec1  ,
aligned_i32vec1  ,
 
)

Default qualifier 32 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( i32vec2  ,
aligned_i32vec2  ,
 
)

Default qualifier 32 bit signed integer aligned vector of 2 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( i32vec3  ,
aligned_i32vec3  ,
16   
)

Default qualifier 32 bit signed integer aligned vector of 3 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( i32vec4  ,
aligned_i32vec4  ,
16   
)

Default qualifier 32 bit signed integer aligned vector of 4 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( i64vec1  ,
aligned_i64vec1  ,
 
)

Default qualifier 64 bit signed integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( i64vec2  ,
aligned_i64vec2  ,
16   
)

Default qualifier 64 bit signed integer aligned vector of 2 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( i64vec3  ,
aligned_i64vec3  ,
32   
)

Default qualifier 64 bit signed integer aligned vector of 3 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( i64vec4  ,
aligned_i64vec4  ,
32   
)

Default qualifier 64 bit signed integer aligned vector of 4 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( lowp_uint8  ,
aligned_lowp_uint8  ,
 
)

Low qualifier 8 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( lowp_uint16  ,
aligned_lowp_uint16  ,
 
)

Low qualifier 16 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( lowp_uint32  ,
aligned_lowp_uint32  ,
 
)

Low qualifier 32 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( lowp_uint64  ,
aligned_lowp_uint64  ,
 
)

Low qualifier 64 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( lowp_uint8_t  ,
aligned_lowp_uint8_t  ,
 
)

Low qualifier 8 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( lowp_uint16_t  ,
aligned_lowp_uint16_t  ,
 
)

Low qualifier 16 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( lowp_uint32_t  ,
aligned_lowp_uint32_t  ,
 
)

Low qualifier 32 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( lowp_uint64_t  ,
aligned_lowp_uint64_t  ,
 
)

Low qualifier 64 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( lowp_u8  ,
aligned_lowp_u8  ,
 
)

Low qualifier 8 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( lowp_u16  ,
aligned_lowp_u16  ,
 
)

Low qualifier 16 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( lowp_u32  ,
aligned_lowp_u32  ,
 
)

Low qualifier 32 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( lowp_u64  ,
aligned_lowp_u64  ,
 
)

Low qualifier 64 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( mediump_uint8  ,
aligned_mediump_uint8  ,
 
)

Medium qualifier 8 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( mediump_uint16  ,
aligned_mediump_uint16  ,
 
)

Medium qualifier 16 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( mediump_uint32  ,
aligned_mediump_uint32  ,
 
)

Medium qualifier 32 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( mediump_uint64  ,
aligned_mediump_uint64  ,
 
)

Medium qualifier 64 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( mediump_uint8_t  ,
aligned_mediump_uint8_t  ,
 
)

Medium qualifier 8 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( mediump_uint16_t  ,
aligned_mediump_uint16_t  ,
 
)

Medium qualifier 16 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( mediump_uint32_t  ,
aligned_mediump_uint32_t  ,
 
)

Medium qualifier 32 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( mediump_uint64_t  ,
aligned_mediump_uint64_t  ,
 
)

Medium qualifier 64 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( mediump_u8  ,
aligned_mediump_u8  ,
 
)

Medium qualifier 8 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( mediump_u16  ,
aligned_mediump_u16  ,
 
)

Medium qualifier 16 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( mediump_u32  ,
aligned_mediump_u32  ,
 
)

Medium qualifier 32 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( mediump_u64  ,
aligned_mediump_u64  ,
 
)

Medium qualifier 64 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( highp_uint8  ,
aligned_highp_uint8  ,
 
)

High qualifier 8 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( highp_uint16  ,
aligned_highp_uint16  ,
 
)

High qualifier 16 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( highp_uint32  ,
aligned_highp_uint32  ,
 
)

High qualifier 32 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( highp_uint64  ,
aligned_highp_uint64  ,
 
)

High qualifier 64 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( highp_uint8_t  ,
aligned_highp_uint8_t  ,
 
)

High qualifier 8 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( highp_uint16_t  ,
aligned_highp_uint16_t  ,
 
)

High qualifier 16 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( highp_uint32_t  ,
aligned_highp_uint32_t  ,
 
)

High qualifier 32 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( highp_uint64_t  ,
aligned_highp_uint64_t  ,
 
)

High qualifier 64 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( highp_u8  ,
aligned_highp_u8  ,
 
)

High qualifier 8 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( highp_u16  ,
aligned_highp_u16  ,
 
)

High qualifier 16 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( highp_u32  ,
aligned_highp_u32  ,
 
)

High qualifier 32 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( highp_u64  ,
aligned_highp_u64  ,
 
)

High qualifier 64 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( uint8  ,
aligned_uint8  ,
 
)

Default qualifier 8 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( uint16  ,
aligned_uint16  ,
 
)

Default qualifier 16 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( uint32  ,
aligned_uint32  ,
 
)

Default qualifier 32 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( uint64  ,
aligned_uint64  ,
 
)

Default qualifier 64 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( uint8_t  ,
aligned_uint8_t  ,
 
)

Default qualifier 8 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( uint16_t  ,
aligned_uint16_t  ,
 
)

Default qualifier 16 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( uint32_t  ,
aligned_uint32_t  ,
 
)

Default qualifier 32 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( uint64_t  ,
aligned_uint64_t  ,
 
)

Default qualifier 64 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( u8  ,
aligned_u8  ,
 
)

Default qualifier 8 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( u16  ,
aligned_u16  ,
 
)

Default qualifier 16 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( u32  ,
aligned_u32  ,
 
)

Default qualifier 32 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( u64  ,
aligned_u64  ,
 
)

Default qualifier 64 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( uvec1  ,
aligned_uvec1  ,
 
)

Default qualifier 32 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( uvec2  ,
aligned_uvec2  ,
 
)

Default qualifier 32 bit unsigned integer aligned vector of 2 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( uvec3  ,
aligned_uvec3  ,
16   
)

Default qualifier 32 bit unsigned integer aligned vector of 3 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( uvec4  ,
aligned_uvec4  ,
16   
)

Default qualifier 32 bit unsigned integer aligned vector of 4 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( u8vec1  ,
aligned_u8vec1  ,
 
)

Default qualifier 8 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( u8vec2  ,
aligned_u8vec2  ,
 
)

Default qualifier 8 bit unsigned integer aligned vector of 2 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( u8vec3  ,
aligned_u8vec3  ,
 
)

Default qualifier 8 bit unsigned integer aligned vector of 3 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( u8vec4  ,
aligned_u8vec4  ,
 
)

Default qualifier 8 bit unsigned integer aligned vector of 4 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( u16vec1  ,
aligned_u16vec1  ,
 
)

Default qualifier 16 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( u16vec2  ,
aligned_u16vec2  ,
 
)

Default qualifier 16 bit unsigned integer aligned vector of 2 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( u16vec3  ,
aligned_u16vec3  ,
 
)

Default qualifier 16 bit unsigned integer aligned vector of 3 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( u16vec4  ,
aligned_u16vec4  ,
 
)

Default qualifier 16 bit unsigned integer aligned vector of 4 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( u32vec1  ,
aligned_u32vec1  ,
 
)

Default qualifier 32 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( u32vec2  ,
aligned_u32vec2  ,
 
)

Default qualifier 32 bit unsigned integer aligned vector of 2 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( u32vec3  ,
aligned_u32vec3  ,
16   
)

Default qualifier 32 bit unsigned integer aligned vector of 3 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( u32vec4  ,
aligned_u32vec4  ,
16   
)

Default qualifier 32 bit unsigned integer aligned vector of 4 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( u64vec1  ,
aligned_u64vec1  ,
 
)

Default qualifier 64 bit unsigned integer aligned scalar type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( u64vec2  ,
aligned_u64vec2  ,
16   
)

Default qualifier 64 bit unsigned integer aligned vector of 2 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( u64vec3  ,
aligned_u64vec3  ,
32   
)

Default qualifier 64 bit unsigned integer aligned vector of 3 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( u64vec4  ,
aligned_u64vec4  ,
32   
)

Default qualifier 64 bit unsigned integer aligned vector of 4 components type.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( float32  ,
aligned_float32  ,
 
)

32 bit single-qualifier floating-point aligned scalar.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( float32_t  ,
aligned_float32_t  ,
 
)

32 bit single-qualifier floating-point aligned scalar.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( float32  ,
aligned_f32  ,
 
)

32 bit single-qualifier floating-point aligned scalar.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( float64  ,
aligned_float64  ,
 
)

64 bit double-qualifier floating-point aligned scalar.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( float64_t  ,
aligned_float64_t  ,
 
)

64 bit double-qualifier floating-point aligned scalar.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( float64  ,
aligned_f64  ,
 
)

64 bit double-qualifier floating-point aligned scalar.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( vec1  ,
aligned_vec1  ,
 
)

Single-qualifier floating-point aligned vector of 1 component.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( vec2  ,
aligned_vec2  ,
 
)

Single-qualifier floating-point aligned vector of 2 components.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( vec3  ,
aligned_vec3  ,
16   
)

Single-qualifier floating-point aligned vector of 3 components.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( vec4  ,
aligned_vec4  ,
16   
)

Single-qualifier floating-point aligned vector of 4 components.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( fvec1  ,
aligned_fvec1  ,
 
)

Single-qualifier floating-point aligned vector of 1 component.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( fvec2  ,
aligned_fvec2  ,
 
)

Single-qualifier floating-point aligned vector of 2 components.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( fvec3  ,
aligned_fvec3  ,
16   
)

Single-qualifier floating-point aligned vector of 3 components.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( fvec4  ,
aligned_fvec4  ,
16   
)

Single-qualifier floating-point aligned vector of 4 components.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f32vec1  ,
aligned_f32vec1  ,
 
)

Single-qualifier floating-point aligned vector of 1 component.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f32vec2  ,
aligned_f32vec2  ,
 
)

Single-qualifier floating-point aligned vector of 2 components.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f32vec3  ,
aligned_f32vec3  ,
16   
)

Single-qualifier floating-point aligned vector of 3 components.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f32vec4  ,
aligned_f32vec4  ,
16   
)

Single-qualifier floating-point aligned vector of 4 components.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( dvec1  ,
aligned_dvec1  ,
 
)

Double-qualifier floating-point aligned vector of 1 component.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( dvec2  ,
aligned_dvec2  ,
16   
)

Double-qualifier floating-point aligned vector of 2 components.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( dvec3  ,
aligned_dvec3  ,
32   
)

Double-qualifier floating-point aligned vector of 3 components.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( dvec4  ,
aligned_dvec4  ,
32   
)

Double-qualifier floating-point aligned vector of 4 components.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f64vec1  ,
aligned_f64vec1  ,
 
)

Double-qualifier floating-point aligned vector of 1 component.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f64vec2  ,
aligned_f64vec2  ,
16   
)

Double-qualifier floating-point aligned vector of 2 components.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f64vec3  ,
aligned_f64vec3  ,
32   
)

Double-qualifier floating-point aligned vector of 3 components.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f64vec4  ,
aligned_f64vec4  ,
32   
)

Double-qualifier floating-point aligned vector of 4 components.

See also
GLM_GTX_type_aligned
GLM_ALIGNED_TYPEDEF ( mat2  ,
aligned_mat2  ,
16   
)

Single-qualifier floating-point aligned 1x1 matrix.

See also
GLM_GTX_type_aligned Single-qualifier floating-point aligned 2x2 matrix.
GLM_GTX_type_aligned
GLM_ALIGNED_TYPEDEF ( mat3  ,
aligned_mat3  ,
16   
)

Single-qualifier floating-point aligned 3x3 matrix.

See also
GLM_GTX_type_aligned
GLM_ALIGNED_TYPEDEF ( mat4  ,
aligned_mat4  ,
16   
)

Single-qualifier floating-point aligned 4x4 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( fmat2x2  ,
aligned_fmat2  ,
16   
)

Single-qualifier floating-point aligned 1x1 matrix.

See also
GLM_GTX_type_aligned Single-qualifier floating-point aligned 2x2 matrix.
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( fmat3x3  ,
aligned_fmat3  ,
16   
)

Single-qualifier floating-point aligned 3x3 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( fmat4x4  ,
aligned_fmat4  ,
16   
)

Single-qualifier floating-point aligned 4x4 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( fmat2x2  ,
aligned_fmat2x2  ,
16   
)

Single-qualifier floating-point aligned 1x1 matrix.

See also
GLM_GTX_type_aligned Single-qualifier floating-point aligned 2x2 matrix.
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( fmat2x3  ,
aligned_fmat2x3  ,
16   
)

Single-qualifier floating-point aligned 2x3 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( fmat2x4  ,
aligned_fmat2x4  ,
16   
)

Single-qualifier floating-point aligned 2x4 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( fmat3x2  ,
aligned_fmat3x2  ,
16   
)

Single-qualifier floating-point aligned 3x2 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( fmat3x3  ,
aligned_fmat3x3  ,
16   
)

Single-qualifier floating-point aligned 3x3 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( fmat3x4  ,
aligned_fmat3x4  ,
16   
)

Single-qualifier floating-point aligned 3x4 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( fmat4x2  ,
aligned_fmat4x2  ,
16   
)

Single-qualifier floating-point aligned 4x2 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( fmat4x3  ,
aligned_fmat4x3  ,
16   
)

Single-qualifier floating-point aligned 4x3 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( fmat4x4  ,
aligned_fmat4x4  ,
16   
)

Single-qualifier floating-point aligned 4x4 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f32mat2x2  ,
aligned_f32mat2  ,
16   
)

Single-qualifier floating-point aligned 1x1 matrix.

See also
GLM_GTX_type_aligned Single-qualifier floating-point aligned 2x2 matrix.
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f32mat3x3  ,
aligned_f32mat3  ,
16   
)

Single-qualifier floating-point aligned 3x3 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f32mat4x4  ,
aligned_f32mat4  ,
16   
)

Single-qualifier floating-point aligned 4x4 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f32mat2x2  ,
aligned_f32mat2x2  ,
16   
)

Single-qualifier floating-point aligned 1x1 matrix.

See also
GLM_GTX_type_aligned Single-qualifier floating-point aligned 2x2 matrix.
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f32mat2x3  ,
aligned_f32mat2x3  ,
16   
)

Single-qualifier floating-point aligned 2x3 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f32mat2x4  ,
aligned_f32mat2x4  ,
16   
)

Single-qualifier floating-point aligned 2x4 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f32mat3x2  ,
aligned_f32mat3x2  ,
16   
)

Single-qualifier floating-point aligned 3x2 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f32mat3x3  ,
aligned_f32mat3x3  ,
16   
)

Single-qualifier floating-point aligned 3x3 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f32mat3x4  ,
aligned_f32mat3x4  ,
16   
)

Single-qualifier floating-point aligned 3x4 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f32mat4x2  ,
aligned_f32mat4x2  ,
16   
)

Single-qualifier floating-point aligned 4x2 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f32mat4x3  ,
aligned_f32mat4x3  ,
16   
)

Single-qualifier floating-point aligned 4x3 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f32mat4x4  ,
aligned_f32mat4x4  ,
16   
)

Single-qualifier floating-point aligned 4x4 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f64mat2x2  ,
aligned_f64mat2  ,
32   
)

Double-qualifier floating-point aligned 1x1 matrix.

See also
GLM_GTX_type_aligned Double-qualifier floating-point aligned 2x2 matrix.
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f64mat3x3  ,
aligned_f64mat3  ,
32   
)

Double-qualifier floating-point aligned 3x3 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f64mat4x4  ,
aligned_f64mat4  ,
32   
)

Double-qualifier floating-point aligned 4x4 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f64mat2x2  ,
aligned_f64mat2x2  ,
32   
)

Double-qualifier floating-point aligned 1x1 matrix.

See also
GLM_GTX_type_aligned Double-qualifier floating-point aligned 2x2 matrix.
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f64mat2x3  ,
aligned_f64mat2x3  ,
32   
)

Double-qualifier floating-point aligned 2x3 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f64mat2x4  ,
aligned_f64mat2x4  ,
32   
)

Double-qualifier floating-point aligned 2x4 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f64mat3x2  ,
aligned_f64mat3x2  ,
32   
)

Double-qualifier floating-point aligned 3x2 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f64mat3x3  ,
aligned_f64mat3x3  ,
32   
)

Double-qualifier floating-point aligned 3x3 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f64mat3x4  ,
aligned_f64mat3x4  ,
32   
)

Double-qualifier floating-point aligned 3x4 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f64mat4x2  ,
aligned_f64mat4x2  ,
32   
)

Double-qualifier floating-point aligned 4x2 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f64mat4x3  ,
aligned_f64mat4x3  ,
32   
)

Double-qualifier floating-point aligned 4x3 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f64mat4x4  ,
aligned_f64mat4x4  ,
32   
)

Double-qualifier floating-point aligned 4x4 matrix.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( quat  ,
aligned_quat  ,
16   
)

Single-qualifier floating-point aligned quaternion.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( quat  ,
aligned_fquat  ,
16   
)

Single-qualifier floating-point aligned quaternion.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( dquat  ,
aligned_dquat  ,
32   
)

Double-qualifier floating-point aligned quaternion.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f32quat  ,
aligned_f32quat  ,
16   
)

Single-qualifier floating-point aligned quaternion.

See also
GLM_GTX_type_aligned
glm::GLM_ALIGNED_TYPEDEF ( f64quat  ,
aligned_f64quat  ,
32   
)

Double-qualifier floating-point aligned quaternion.

See also
GLM_GTX_type_aligned
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00365.html ================================================ 0.9.9 API documentation: GLM_GTX_type_trait
0.9.9 API documentation
GLM_GTX_type_trait

Include <glm/gtx/type_trait.hpp> to use the features of this extension. More...

Detailed Description

Include <glm/gtx/type_trait.hpp> to use the features of this extension.

Defines traits for each type.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00366.html ================================================ 0.9.9 API documentation: GLM_GTX_vec_swizzle
0.9.9 API documentation
GLM_GTX_vec_swizzle

Include <glm/gtx/vec_swizzle.hpp> to use the features of this extension. More...

Include <glm/gtx/vec_swizzle.hpp> to use the features of this extension.

Functions to perform swizzle operation.

================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00367.html ================================================ 0.9.9 API documentation: GLM_GTX_vector_angle
0.9.9 API documentation
GLM_GTX_vector_angle

Include <glm/gtx/vector_angle.hpp> to use the features of this extension. More...

Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL T angle (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the absolute angle between two vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T orientedAngle (vec< 2, T, Q > const &x, vec< 2, T, Q > const &y)
 Returns the oriented angle between two 2d vectors. More...
 
template<typename T , qualifier Q>
GLM_FUNC_DECL T orientedAngle (vec< 3, T, Q > const &x, vec< 3, T, Q > const &y, vec< 3, T, Q > const &ref)
 Returns the oriented angle between two 3d vectors based from a reference axis. More...
 

Detailed Description

Include <glm/gtx/vector_angle.hpp> to use the features of this extension.

Compute angle between vectors

Function Documentation

GLM_FUNC_DECL T glm::angle ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  y 
)

Returns the absolute angle between two vectors.

Parameters need to be normalized.

See also
GLM_GTX_vector_angle extension.
GLM_FUNC_DECL T glm::orientedAngle ( vec< 2, T, Q > const &  x,
vec< 2, T, Q > const &  y 
)

Returns the oriented angle between two 2d vectors.

Parameters need to be normalized.

See also
GLM_GTX_vector_angle extension.
GLM_FUNC_DECL T glm::orientedAngle ( vec< 3, T, Q > const &  x,
vec< 3, T, Q > const &  y,
vec< 3, T, Q > const &  ref 
)

Returns the oriented angle between two 3d vectors based from a reference axis.

Parameters need to be normalized.

See also
GLM_GTX_vector_angle extension.
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00368.html ================================================ 0.9.9 API documentation: GLM_GTX_vector_query
0.9.9 API documentation
GLM_GTX_vector_query

Include <glm/gtx/vector_query.hpp> to use the features of this extension. More...

Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL bool areCollinear (vec< L, T, Q > const &v0, vec< L, T, Q > const &v1, T const &epsilon)
 Check whether two vectors are collinears. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL bool areOrthogonal (vec< L, T, Q > const &v0, vec< L, T, Q > const &v1, T const &epsilon)
 Check whether two vectors are orthogonals. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL bool areOrthonormal (vec< L, T, Q > const &v0, vec< L, T, Q > const &v1, T const &epsilon)
 Check whether two vectors are orthonormal. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, bool, Q > isCompNull (vec< L, T, Q > const &v, T const &epsilon)
 Check whether a each component of a vector is null. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL bool isNormalized (vec< L, T, Q > const &v, T const &epsilon)
 Check whether a vector is normalized. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL bool isNull (vec< L, T, Q > const &v, T const &epsilon)
 Check whether a vector is null. More...
 

Detailed Description

Include <glm/gtx/vector_query.hpp> to use the features of this extension.

Query informations of vector types

Function Documentation

GLM_FUNC_DECL bool glm::areCollinear ( vec< L, T, Q > const &  v0,
vec< L, T, Q > const &  v1,
T const &  epsilon 
)

Check whether two vectors are collinears.

See also
GLM_GTX_vector_query extensions.
GLM_FUNC_DECL bool glm::areOrthogonal ( vec< L, T, Q > const &  v0,
vec< L, T, Q > const &  v1,
T const &  epsilon 
)

Check whether two vectors are orthogonals.

See also
GLM_GTX_vector_query extensions.
GLM_FUNC_DECL bool glm::areOrthonormal ( vec< L, T, Q > const &  v0,
vec< L, T, Q > const &  v1,
T const &  epsilon 
)

Check whether two vectors are orthonormal.

See also
GLM_GTX_vector_query extensions.
GLM_FUNC_DECL vec<L, bool, Q> glm::isCompNull ( vec< L, T, Q > const &  v,
T const &  epsilon 
)

Check whether a each component of a vector is null.

See also
GLM_GTX_vector_query extensions.
GLM_FUNC_DECL bool glm::isNormalized ( vec< L, T, Q > const &  v,
T const &  epsilon 
)

Check whether a vector is normalized.

See also
GLM_GTX_vector_query extensions.
GLM_FUNC_DECL bool glm::isNull ( vec< L, T, Q > const &  v,
T const &  epsilon 
)

Check whether a vector is null.

See also
GLM_GTX_vector_query extensions.
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00369.html ================================================ 0.9.9 API documentation: GLM_GTX_wrap
0.9.9 API documentation

Include <glm/gtx/wrap.hpp> to use the features of this extension. More...

Functions

template<typename genType >
GLM_FUNC_DECL genType clamp (genType const &Texcoord)
 Simulate GL_CLAMP OpenGL wrap mode. More...
 
template<typename genType >
GLM_FUNC_DECL genType mirrorClamp (genType const &Texcoord)
 Simulate GL_MIRRORED_REPEAT OpenGL wrap mode. More...
 
template<typename genType >
GLM_FUNC_DECL genType mirrorRepeat (genType const &Texcoord)
 Simulate GL_MIRROR_REPEAT OpenGL wrap mode. More...
 
template<typename genType >
GLM_FUNC_DECL genType repeat (genType const &Texcoord)
 Simulate GL_REPEAT OpenGL wrap mode. More...
 

Detailed Description

Include <glm/gtx/wrap.hpp> to use the features of this extension.

Wrapping mode of texture coordinates.

Function Documentation

GLM_FUNC_DECL genType glm::clamp ( genType const &  Texcoord)

Simulate GL_CLAMP OpenGL wrap mode.

See also
GLM_GTX_wrap extension.
GLM_FUNC_DECL genType glm::mirrorClamp ( genType const &  Texcoord)

Simulate GL_MIRRORED_REPEAT OpenGL wrap mode.

See also
GLM_GTX_wrap extension.
GLM_FUNC_DECL genType glm::mirrorRepeat ( genType const &  Texcoord)

Simulate GL_MIRROR_REPEAT OpenGL wrap mode.

See also
GLM_GTX_wrap extension.
GLM_FUNC_DECL genType glm::repeat ( genType const &  Texcoord)

Simulate GL_REPEAT OpenGL wrap mode.

See also
GLM_GTX_wrap extension.
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00370.html ================================================ 0.9.9 API documentation: Integer functions
0.9.9 API documentation
Integer functions

Provides GLSL functions on integer types. More...

Functions

template<typename genType >
GLM_FUNC_DECL int bitCount (genType v)
 Returns the number of bits set to 1 in the binary representation of value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > bitCount (vec< L, T, Q > const &v)
 Returns the number of bits set to 1 in the binary representation of value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > bitfieldExtract (vec< L, T, Q > const &Value, int Offset, int Bits)
 Extracts bits [offset, offset + bits - 1] from value, returning them in the least significant bits of the result. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > bitfieldInsert (vec< L, T, Q > const &Base, vec< L, T, Q > const &Insert, int Offset, int Bits)
 Returns the insertion the bits least-significant bits of insert into base. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > bitfieldReverse (vec< L, T, Q > const &v)
 Returns the reversal of the bits of value. More...
 
template<typename genIUType >
GLM_FUNC_DECL int findLSB (genIUType x)
 Returns the bit number of the least significant bit set to 1 in the binary representation of value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > findLSB (vec< L, T, Q > const &v)
 Returns the bit number of the least significant bit set to 1 in the binary representation of value. More...
 
template<typename genIUType >
GLM_FUNC_DECL int findMSB (genIUType x)
 Returns the bit number of the most significant bit in the binary representation of value. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, int, Q > findMSB (vec< L, T, Q > const &v)
 Returns the bit number of the most significant bit in the binary representation of value. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL void imulExtended (vec< L, int, Q > const &x, vec< L, int, Q > const &y, vec< L, int, Q > &msb, vec< L, int, Q > &lsb)
 Multiplies 32-bit integers x and y, producing a 64-bit result. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, uint, Q > uaddCarry (vec< L, uint, Q > const &x, vec< L, uint, Q > const &y, vec< L, uint, Q > &carry)
 Adds 32-bit unsigned integer x and y, returning the sum modulo pow(2, 32). More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL void umulExtended (vec< L, uint, Q > const &x, vec< L, uint, Q > const &y, vec< L, uint, Q > &msb, vec< L, uint, Q > &lsb)
 Multiplies 32-bit integers x and y, producing a 64-bit result. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL vec< L, uint, Q > usubBorrow (vec< L, uint, Q > const &x, vec< L, uint, Q > const &y, vec< L, uint, Q > &borrow)
 Subtracts the 32-bit unsigned integer y from x, returning the difference if non-negative, or pow(2, 32) plus the difference otherwise. More...
 

Detailed Description

Provides GLSL functions on integer types.

These all operate component-wise. The description is per component. The notation [a, b] means the set of bits from bit-number a through bit-number b, inclusive. The lowest-order bit is bit 0.

Include <glm/integer.hpp> to use these core features.

Function Documentation

GLM_FUNC_DECL int glm::bitCount ( genType  v)

Returns the number of bits set to 1 in the binary representation of value.

Template Parameters
genTypeSigned or unsigned integer scalar or vector types.
See also
GLSL bitCount man page
GLSL 4.20.8 specification, section 8.8 Integer Functions
GLM_FUNC_DECL vec<L, int, Q> glm::bitCount ( vec< L, T, Q > const &  v)

Returns the number of bits set to 1 in the binary representation of value.

Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
TSigned or unsigned integer scalar or vector types.
See also
GLSL bitCount man page
GLSL 4.20.8 specification, section 8.8 Integer Functions
GLM_FUNC_DECL vec<L, T, Q> glm::bitfieldExtract ( vec< L, T, Q > const &  Value,
int  Offset,
int  Bits 
)

Extracts bits [offset, offset + bits - 1] from value, returning them in the least significant bits of the result.

For unsigned data types, the most significant bits of the result will be set to zero. For signed data types, the most significant bits will be set to the value of bit offset + base - 1.

If bits is zero, the result will be zero. The result will be undefined if offset or bits is negative, or if the sum of offset and bits is greater than the number of bits used to store the operand.

Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
TSigned or unsigned integer scalar types.
See also
GLSL bitfieldExtract man page
GLSL 4.20.8 specification, section 8.8 Integer Functions
GLM_FUNC_DECL vec<L, T, Q> glm::bitfieldInsert ( vec< L, T, Q > const &  Base,
vec< L, T, Q > const &  Insert,
int  Offset,
int  Bits 
)

Returns the insertion the bits least-significant bits of insert into base.

The result will have bits [offset, offset + bits - 1] taken from bits [0, bits - 1] of insert, and all other bits taken directly from the corresponding bits of base. If bits is zero, the result will simply be base. The result will be undefined if offset or bits is negative, or if the sum of offset and bits is greater than the number of bits used to store the operand.

Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
TSigned or unsigned integer scalar or vector types.
See also
GLSL bitfieldInsert man page
GLSL 4.20.8 specification, section 8.8 Integer Functions
GLM_FUNC_DECL vec<L, T, Q> glm::bitfieldReverse ( vec< L, T, Q > const &  v)

Returns the reversal of the bits of value.

The bit numbered n of the result will be taken from bit (bits - 1) - n of value, where bits is the total number of bits used to represent value.

Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
TSigned or unsigned integer scalar or vector types.
See also
GLSL bitfieldReverse man page
GLSL 4.20.8 specification, section 8.8 Integer Functions
GLM_FUNC_DECL int glm::findLSB ( genIUType  x)

Returns the bit number of the least significant bit set to 1 in the binary representation of value.

If value is zero, -1 will be returned.

Template Parameters
genIUTypeSigned or unsigned integer scalar types.
See also
GLSL findLSB man page
GLSL 4.20.8 specification, section 8.8 Integer Functions
GLM_FUNC_DECL vec<L, int, Q> glm::findLSB ( vec< L, T, Q > const &  v)

Returns the bit number of the least significant bit set to 1 in the binary representation of value.

If value is zero, -1 will be returned.

Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
TSigned or unsigned integer scalar types.
See also
GLSL findLSB man page
GLSL 4.20.8 specification, section 8.8 Integer Functions
GLM_FUNC_DECL int glm::findMSB ( genIUType  x)

Returns the bit number of the most significant bit in the binary representation of value.

For positive integers, the result will be the bit number of the most significant bit set to 1. For negative integers, the result will be the bit number of the most significant bit set to 0. For a value of zero or negative one, -1 will be returned.

Template Parameters
genIUTypeSigned or unsigned integer scalar types.
See also
GLSL findMSB man page
GLSL 4.20.8 specification, section 8.8 Integer Functions
GLM_FUNC_DECL vec<L, int, Q> glm::findMSB ( vec< L, T, Q > const &  v)

Returns the bit number of the most significant bit in the binary representation of value.

For positive integers, the result will be the bit number of the most significant bit set to 1. For negative integers, the result will be the bit number of the most significant bit set to 0. For a value of zero or negative one, -1 will be returned.

Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
TSigned or unsigned integer scalar types.
See also
GLSL findMSB man page
GLSL 4.20.8 specification, section 8.8 Integer Functions
GLM_FUNC_DECL void glm::imulExtended ( vec< L, int, Q > const &  x,
vec< L, int, Q > const &  y,
vec< L, int, Q > &  msb,
vec< L, int, Q > &  lsb 
)

Multiplies 32-bit integers x and y, producing a 64-bit result.

The 32 least-significant bits are returned in lsb. The 32 most-significant bits are returned in msb.

Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
See also
GLSL imulExtended man page
GLSL 4.20.8 specification, section 8.8 Integer Functions
GLM_FUNC_DECL vec<L, uint, Q> glm::uaddCarry ( vec< L, uint, Q > const &  x,
vec< L, uint, Q > const &  y,
vec< L, uint, Q > &  carry 
)

Adds 32-bit unsigned integer x and y, returning the sum modulo pow(2, 32).

The value carry is set to 0 if the sum was less than pow(2, 32), or to 1 otherwise.

Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
See also
GLSL uaddCarry man page
GLSL 4.20.8 specification, section 8.8 Integer Functions
GLM_FUNC_DECL void glm::umulExtended ( vec< L, uint, Q > const &  x,
vec< L, uint, Q > const &  y,
vec< L, uint, Q > &  msb,
vec< L, uint, Q > &  lsb 
)

Multiplies 32-bit integers x and y, producing a 64-bit result.

The 32 least-significant bits are returned in lsb. The 32 most-significant bits are returned in msb.

Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
See also
GLSL umulExtended man page
GLSL 4.20.8 specification, section 8.8 Integer Functions
GLM_FUNC_DECL vec<L, uint, Q> glm::usubBorrow ( vec< L, uint, Q > const &  x,
vec< L, uint, Q > const &  y,
vec< L, uint, Q > &  borrow 
)

Subtracts the 32-bit unsigned integer y from x, returning the difference if non-negative, or pow(2, 32) plus the difference otherwise.

The value borrow is set to 0 if x >= y, or to 1 otherwise.

Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
See also
GLSL usubBorrow man page
GLSL 4.20.8 specification, section 8.8 Integer Functions
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00371.html ================================================ 0.9.9 API documentation: Matrix functions
0.9.9 API documentation
Matrix functions

Provides GLSL matrix functions. More...

Functions

template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL T determinant (mat< C, R, T, Q > const &m)
 Return the determinant of a squared matrix. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL mat< C, R, T, Q > inverse (mat< C, R, T, Q > const &m)
 Return the inverse of a squared matrix. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL mat< C, R, T, Q > matrixCompMult (mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y)
 Multiply matrix x by matrix y component-wise, i.e., result[i][j] is the scalar product of x[i][j] and y[i][j]. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL detail::outerProduct_trait< C, R, T, Q >::type outerProduct (vec< C, T, Q > const &c, vec< R, T, Q > const &r)
 Treats the first parameter c as a column vector and the second parameter r as a row vector and does a linear algebraic matrix multiply c * r. More...
 
template<length_t C, length_t R, typename T , qualifier Q>
GLM_FUNC_DECL mat< C, R, T, Q >::transpose_type transpose (mat< C, R, T, Q > const &x)
 Returns the transposed matrix of x. More...
 

Detailed Description

Provides GLSL matrix functions.

Include <glm/matrix.hpp> to use these core features.

Function Documentation

GLM_FUNC_DECL T glm::determinant ( mat< C, R, T, Q > const &  m)

Return the determinant of a squared matrix.

Template Parameters
CInteger between 1 and 4 included that qualify the number a column
RInteger between 1 and 4 included that qualify the number a row
TFloating-point or signed integer scalar types
QValue from qualifier enum
See also
GLSL determinant man page
GLSL 4.20.8 specification, section 8.6 Matrix Functions
GLM_FUNC_DECL mat<C, R, T, Q> glm::inverse ( mat< C, R, T, Q > const &  m)

Return the inverse of a squared matrix.

Template Parameters
CInteger between 1 and 4 included that qualify the number a column
RInteger between 1 and 4 included that qualify the number a row
TFloating-point or signed integer scalar types
QValue from qualifier enum
See also
GLSL inverse man page
GLSL 4.20.8 specification, section 8.6 Matrix Functions
GLM_FUNC_DECL mat<C, R, T, Q> glm::matrixCompMult ( mat< C, R, T, Q > const &  x,
mat< C, R, T, Q > const &  y 
)

Multiply matrix x by matrix y component-wise, i.e., result[i][j] is the scalar product of x[i][j] and y[i][j].

Template Parameters
CInteger between 1 and 4 included that qualify the number a column
RInteger between 1 and 4 included that qualify the number a row
TFloating-point or signed integer scalar types
QValue from qualifier enum
See also
GLSL matrixCompMult man page
GLSL 4.20.8 specification, section 8.6 Matrix Functions
GLM_FUNC_DECL detail::outerProduct_trait<C, R, T, Q>::type glm::outerProduct ( vec< C, T, Q > const &  c,
vec< R, T, Q > const &  r 
)

Treats the first parameter c as a column vector and the second parameter r as a row vector and does a linear algebraic matrix multiply c * r.

Template Parameters
CInteger between 1 and 4 included that qualify the number a column
RInteger between 1 and 4 included that qualify the number a row
TFloating-point or signed integer scalar types
QValue from qualifier enum
See also
GLSL outerProduct man page
GLSL 4.20.8 specification, section 8.6 Matrix Functions
GLM_FUNC_DECL mat<C, R, T, Q>::transpose_type glm::transpose ( mat< C, R, T, Q > const &  x)

Returns the transposed matrix of x.

Template Parameters
CInteger between 1 and 4 included that qualify the number a column
RInteger between 1 and 4 included that qualify the number a row
TFloating-point or signed integer scalar types
QValue from qualifier enum
See also
GLSL transpose man page
GLSL 4.20.8 specification, section 8.6 Matrix Functions
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00372.html ================================================ 0.9.9 API documentation: Floating-Point Pack and Unpack Functions
0.9.9 API documentation
Floating-Point Pack and Unpack Functions

Provides GLSL functions to pack and unpack half, single and double-precision floating point values into more compact integer types. More...

Functions

GLM_FUNC_DECL double packDouble2x32 (uvec2 const &v)
 Returns a double-qualifier value obtained by packing the components of v into a 64-bit value. More...
 
GLM_FUNC_DECL uint packHalf2x16 (vec2 const &v)
 Returns an unsigned integer obtained by converting the components of a two-component floating-point vector to the 16-bit floating-point representation found in the OpenGL Specification, and then packing these two 16- bit integers into a 32-bit unsigned integer. More...
 
GLM_FUNC_DECL uint packSnorm2x16 (vec2 const &v)
 First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values. More...
 
GLM_FUNC_DECL uint packSnorm4x8 (vec4 const &v)
 First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values. More...
 
GLM_FUNC_DECL uint packUnorm2x16 (vec2 const &v)
 First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values. More...
 
GLM_FUNC_DECL uint packUnorm4x8 (vec4 const &v)
 First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values. More...
 
GLM_FUNC_DECL uvec2 unpackDouble2x32 (double v)
 Returns a two-component unsigned integer vector representation of v. More...
 
GLM_FUNC_DECL vec2 unpackHalf2x16 (uint v)
 Returns a two-component floating-point vector with components obtained by unpacking a 32-bit unsigned integer into a pair of 16-bit values, interpreting those values as 16-bit floating-point numbers according to the OpenGL Specification, and converting them to 32-bit floating-point values. More...
 
GLM_FUNC_DECL vec2 unpackSnorm2x16 (uint p)
 First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers. More...
 
GLM_FUNC_DECL vec4 unpackSnorm4x8 (uint p)
 First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers. More...
 
GLM_FUNC_DECL vec2 unpackUnorm2x16 (uint p)
 First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers. More...
 
GLM_FUNC_DECL vec4 unpackUnorm4x8 (uint p)
 First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers. More...
 

Detailed Description

Provides GLSL functions to pack and unpack half, single and double-precision floating point values into more compact integer types.

These functions do not operate component-wise, rather as described in each case.

Include <glm/packing.hpp> to use these core features.

Function Documentation

GLM_FUNC_DECL double glm::packDouble2x32 ( uvec2 const &  v)

Returns a double-qualifier value obtained by packing the components of v into a 64-bit value.

If an IEEE 754 Inf or NaN is created, it will not signal, and the resulting floating point value is unspecified. Otherwise, the bit- level representation of v is preserved. The first vector component specifies the 32 least significant bits; the second component specifies the 32 most significant bits.

See also
GLSL packDouble2x32 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL uint glm::packHalf2x16 ( vec2 const &  v)

Returns an unsigned integer obtained by converting the components of a two-component floating-point vector to the 16-bit floating-point representation found in the OpenGL Specification, and then packing these two 16- bit integers into a 32-bit unsigned integer.

The first vector component specifies the 16 least-significant bits of the result; the second component specifies the 16 most-significant bits.

See also
GLSL packHalf2x16 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL uint glm::packSnorm2x16 ( vec2 const &  v)

First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values.

Then, the results are packed into the returned 32-bit unsigned integer.

The conversion for component c of v to fixed point is done as follows: packSnorm2x16: round(clamp(v, -1, +1) * 32767.0)

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

See also
GLSL packSnorm2x16 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL uint glm::packSnorm4x8 ( vec4 const &  v)

First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values.

Then, the results are packed into the returned 32-bit unsigned integer.

The conversion for component c of v to fixed point is done as follows: packSnorm4x8: round(clamp(c, -1, +1) * 127.0)

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

See also
GLSL packSnorm4x8 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL uint glm::packUnorm2x16 ( vec2 const &  v)

First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values.

Then, the results are packed into the returned 32-bit unsigned integer.

The conversion for component c of v to fixed point is done as follows: packUnorm2x16: round(clamp(c, 0, +1) * 65535.0)

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

See also
GLSL packUnorm2x16 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL uint glm::packUnorm4x8 ( vec4 const &  v)

First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values.

Then, the results are packed into the returned 32-bit unsigned integer.

The conversion for component c of v to fixed point is done as follows: packUnorm4x8: round(clamp(c, 0, +1) * 255.0)

The first component of the vector will be written to the least significant bits of the output; the last component will be written to the most significant bits.

See also
GLSL packUnorm4x8 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL uvec2 glm::unpackDouble2x32 ( double  v)

Returns a two-component unsigned integer vector representation of v.

The bit-level representation of v is preserved. The first component of the vector contains the 32 least significant bits of the double; the second component consists the 32 most significant bits.

See also
GLSL unpackDouble2x32 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL vec2 glm::unpackHalf2x16 ( uint  v)

Returns a two-component floating-point vector with components obtained by unpacking a 32-bit unsigned integer into a pair of 16-bit values, interpreting those values as 16-bit floating-point numbers according to the OpenGL Specification, and converting them to 32-bit floating-point values.

The first component of the vector is obtained from the 16 least-significant bits of v; the second component is obtained from the 16 most-significant bits of v.

See also
GLSL unpackHalf2x16 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL vec2 glm::unpackSnorm2x16 ( uint  p)

First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.

Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm2x16: clamp(f / 32767.0, -1, +1)

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

See also
GLSL unpackSnorm2x16 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL vec4 glm::unpackSnorm4x8 ( uint  p)

First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.

Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackSnorm4x8: clamp(f / 127.0, -1, +1)

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

See also
GLSL unpackSnorm4x8 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL vec2 glm::unpackUnorm2x16 ( uint  p)

First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.

Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnorm2x16: f / 65535.0

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

See also
GLSL unpackUnorm2x16 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
GLM_FUNC_DECL vec4 glm::unpackUnorm4x8 ( uint  p)

First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers.

Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector.

The conversion for unpacked fixed-point value f to floating point is done as follows: unpackUnorm4x8: f / 255.0

The first component of the returned vector will be extracted from the least significant bits of the input; the last component will be extracted from the most significant bits.

See also
GLSL unpackUnorm4x8 man page
GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00373.html ================================================ 0.9.9 API documentation: Angle and Trigonometry Functions
0.9.9 API documentation
Angle and Trigonometry Functions

Function parameters specified as angle are assumed to be in units of radians. More...

Functions

template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > acos (vec< L, T, Q > const &x)
 Arc cosine. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > acosh (vec< L, T, Q > const &x)
 Arc hyperbolic cosine; returns the non-negative inverse of cosh. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > asin (vec< L, T, Q > const &x)
 Arc sine. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > asinh (vec< L, T, Q > const &x)
 Arc hyperbolic sine; returns the inverse of sinh. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > atan (vec< L, T, Q > const &y, vec< L, T, Q > const &x)
 Arc tangent. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > atan (vec< L, T, Q > const &y_over_x)
 Arc tangent. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > atanh (vec< L, T, Q > const &x)
 Arc hyperbolic tangent; returns the inverse of tanh. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > cos (vec< L, T, Q > const &angle)
 The standard trigonometric cosine function. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > cosh (vec< L, T, Q > const &angle)
 Returns the hyperbolic cosine function, (exp(x) + exp(-x)) / 2. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > degrees (vec< L, T, Q > const &radians)
 Converts radians to degrees and returns the result. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > radians (vec< L, T, Q > const &degrees)
 Converts degrees to radians and returns the result. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > sin (vec< L, T, Q > const &angle)
 The standard trigonometric sine function. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > sinh (vec< L, T, Q > const &angle)
 Returns the hyperbolic sine function, (exp(x) - exp(-x)) / 2. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > tan (vec< L, T, Q > const &angle)
 The standard trigonometric tangent function. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL vec< L, T, Q > tanh (vec< L, T, Q > const &angle)
 Returns the hyperbolic tangent function, sinh(angle) / cosh(angle) More...
 

Detailed Description

Function parameters specified as angle are assumed to be in units of radians.

In no case will any of these functions result in a divide by zero error. If the divisor of a ratio is 0, then results will be undefined.

These all operate component-wise. The description is per component.

Include <glm/trigonometric.hpp> to use these core features.

See also
ext_vector_trigonometric

Function Documentation

GLM_FUNC_DECL vec<L, T, Q> glm::acos ( vec< L, T, Q > const &  x)

Arc cosine.

Returns an angle whose sine is x. The range of values returned by this function is [0, PI]. Results are undefined if |x| > 1.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
GLSL acos man page
GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
GLM_FUNC_DECL vec<L, T, Q> glm::acosh ( vec< L, T, Q > const &  x)

Arc hyperbolic cosine; returns the non-negative inverse of cosh.

Results are undefined if x < 1.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
GLSL acosh man page
GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
GLM_FUNC_DECL vec<L, T, Q> glm::asin ( vec< L, T, Q > const &  x)

Arc sine.

Returns an angle whose sine is x. The range of values returned by this function is [-PI/2, PI/2]. Results are undefined if |x| > 1.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
GLSL asin man page
GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
GLM_FUNC_DECL vec<L, T, Q> glm::asinh ( vec< L, T, Q > const &  x)

Arc hyperbolic sine; returns the inverse of sinh.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
GLSL asinh man page
GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
GLM_FUNC_DECL vec<L, T, Q> glm::atan ( vec< L, T, Q > const &  y,
vec< L, T, Q > const &  x 
)

Arc tangent.

Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
GLSL atan man page
GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions

Referenced by glm::atan2().

GLM_FUNC_DECL vec<L, T, Q> glm::atan ( vec< L, T, Q > const &  y_over_x)

Arc tangent.

Returns an angle whose tangent is y_over_x. The range of values returned by this function is [-PI/2, PI/2].

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
GLSL atan man page
GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
GLM_FUNC_DECL vec<L, T, Q> glm::atanh ( vec< L, T, Q > const &  x)

Arc hyperbolic tangent; returns the inverse of tanh.

Results are undefined if abs(x) >= 1.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
GLSL atanh man page
GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
GLM_FUNC_DECL vec<L, T, Q> glm::cos ( vec< L, T, Q > const &  angle)

The standard trigonometric cosine function.

The values returned by this function will range from [-1, 1].

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
GLSL cos man page
GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
GLM_FUNC_DECL vec<L, T, Q> glm::cosh ( vec< L, T, Q > const &  angle)

Returns the hyperbolic cosine function, (exp(x) + exp(-x)) / 2.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
GLSL cosh man page
GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> glm::degrees ( vec< L, T, Q > const &  radians)

Converts radians to degrees and returns the result.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
GLSL degrees man page
GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> glm::radians ( vec< L, T, Q > const &  degrees)

Converts degrees to radians and returns the result.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
GLSL radians man page
GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
GLM_FUNC_DECL vec<L, T, Q> glm::sin ( vec< L, T, Q > const &  angle)

The standard trigonometric sine function.

The values returned by this function will range from [-1, 1].

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
GLSL sin man page
GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
GLM_FUNC_DECL vec<L, T, Q> glm::sinh ( vec< L, T, Q > const &  angle)

Returns the hyperbolic sine function, (exp(x) - exp(-x)) / 2.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
GLSL sinh man page
GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
GLM_FUNC_DECL vec<L, T, Q> glm::tan ( vec< L, T, Q > const &  angle)

The standard trigonometric tangent function.

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
GLSL tan man page
GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
GLM_FUNC_DECL vec<L, T, Q> glm::tanh ( vec< L, T, Q > const &  angle)

Returns the hyperbolic tangent function, sinh(angle) / cosh(angle)

Template Parameters
LInteger between 1 and 4 included that qualify the dimension of the vector
TFloating-point scalar types
QValue from qualifier enum
See also
GLSL tanh man page
GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/a00374.html ================================================ 0.9.9 API documentation: Vector Relational Functions
0.9.9 API documentation
Vector Relational Functions

Relational and equality operators (<, <=, >, >=, ==, !=) are defined to operate on scalars and produce scalar Boolean results. More...

Functions

template<length_t L, qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool all (vec< L, bool, Q > const &v)
 Returns true if all components of x are true. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR bool any (vec< L, bool, Q > const &v)
 Returns true if any component of x is true. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > equal (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the component-wise comparison of result x == y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > greaterThan (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the component-wise comparison of result x > y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > greaterThanEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the component-wise comparison of result x >= y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > lessThan (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the component-wise comparison result of x < y. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > lessThanEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the component-wise comparison of result x <= y. More...
 
template<length_t L, qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > not_ (vec< L, bool, Q > const &v)
 Returns the component-wise logical complement of x. More...
 
template<length_t L, typename T , qualifier Q>
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, bool, Q > notEqual (vec< L, T, Q > const &x, vec< L, T, Q > const &y)
 Returns the component-wise comparison of result x != y. More...
 

Detailed Description

Relational and equality operators (<, <=, >, >=, ==, !=) are defined to operate on scalars and produce scalar Boolean results.

For vector results, use the following built-in functions.

In all cases, the sizes of all the input and return vectors for any particular call must match.

Include <glm/vector_relational.hpp> to use these core features.

See also
GLM_EXT_vector_relational

Function Documentation

GLM_FUNC_DECL GLM_CONSTEXPR bool glm::all ( vec< L, bool, Q > const &  v)

Returns true if all components of x are true.

Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
See also
GLSL all man page
GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
GLM_FUNC_DECL GLM_CONSTEXPR bool glm::any ( vec< L, bool, Q > const &  v)

Returns true if any component of x is true.

Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
See also
GLSL any man page
GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> glm::equal ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  y 
)

Returns the component-wise comparison of result x == y.

Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
TA floating-point, integer or bool scalar type.
See also
GLSL equal man page
GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> glm::greaterThan ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  y 
)

Returns the component-wise comparison of result x > y.

Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
TA floating-point or integer scalar type.
See also
GLSL greaterThan man page
GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> glm::greaterThanEqual ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  y 
)

Returns the component-wise comparison of result x >= y.

Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
TA floating-point or integer scalar type.
See also
GLSL greaterThanEqual man page
GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> glm::lessThan ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  y 
)

Returns the component-wise comparison result of x < y.

Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
TA floating-point or integer scalar type.
See also
GLSL lessThan man page
GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> glm::lessThanEqual ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  y 
)

Returns the component-wise comparison of result x <= y.

Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
TA floating-point or integer scalar type.
See also
GLSL lessThanEqual man page
GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> glm::not_ ( vec< L, bool, Q > const &  v)

Returns the component-wise logical complement of x.

/!\ Because of language incompatibilities between C++ and GLSL, GLM defines the function not but not_ instead.

Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
See also
GLSL not man page
GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
GLM_FUNC_DECL GLM_CONSTEXPR vec<L, bool, Q> glm::notEqual ( vec< L, T, Q > const &  x,
vec< L, T, Q > const &  y 
)

Returns the component-wise comparison of result x != y.

Template Parameters
LAn integer between 1 and 4 included that qualify the dimension of the vector.
TA floating-point, integer or bool scalar type.
See also
GLSL notEqual man page
GLSL 4.20.8 specification, section 8.7 Vector Relational Functions
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/dir_033f5edb0915b828d2c46ed4804e5503.html ================================================ 0.9.9 API documentation: detail Directory Reference
0.9.9 API documentation
detail Directory Reference

Files

file  _features.hpp [code]
 
file  _fixes.hpp [code]
 
file  _noise.hpp [code]
 
file  _swizzle.hpp [code]
 
file  _swizzle_func.hpp [code]
 
file  _vectorize.hpp [code]
 
file  compute_common.hpp [code]
 
file  compute_vector_relational.hpp [code]
 
file  qualifier.hpp [code]
 
file  setup.hpp [code]
 
file  type_float.hpp [code]
 
file  type_half.hpp [code]
 
file  type_mat2x2.hpp [code]
 Core features
 
file  type_mat2x3.hpp [code]
 Core features
 
file  type_mat2x4.hpp [code]
 Core features
 
file  type_mat3x2.hpp [code]
 Core features
 
file  type_mat3x3.hpp [code]
 Core features
 
file  type_mat3x4.hpp [code]
 Core features
 
file  type_mat4x2.hpp [code]
 Core features
 
file  type_mat4x3.hpp [code]
 Core features
 
file  type_mat4x4.hpp [code]
 Core features
 
file  type_quat.hpp [code]
 Core features
 
file  type_vec1.hpp [code]
 Core features
 
file  type_vec2.hpp [code]
 Core features
 
file  type_vec3.hpp [code]
 Core features
 
file  type_vec4.hpp [code]
 Core features
 
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/dir_3a581ba30d25676e4b797b1f96d53b45.html ================================================ 0.9.9 API documentation: F: Directory Reference
0.9.9 API documentation
F: Directory Reference

Directories

directory  G-Truc
 
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/dir_44e5e654415abd9ca6fdeaddaff8565e.html ================================================ 0.9.9 API documentation: glm Directory Reference
0.9.9 API documentation
glm Directory Reference

Directories

directory  doc
 
directory  glm
 
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/dir_4c6bd29c73fa4e5a2509e1c15f846751.html ================================================ 0.9.9 API documentation: gtc Directory Reference
0.9.9 API documentation
gtc Directory Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/dir_5189610d3ba09ec39b766fb99b34cd93.html ================================================ 0.9.9 API documentation: doc Directory Reference
0.9.9 API documentation
doc Directory Reference

Files

file  man.doxy [code]
 
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/dir_6b66465792d005310484819a0eb0b0d3.html ================================================ 0.9.9 API documentation: ext Directory Reference
0.9.9 API documentation
ext Directory Reference

Files

file  matrix_clip_space.hpp [code]
 GLM_EXT_matrix_clip_space
 
file  matrix_common.hpp [code]
 GLM_EXT_matrix_common
 
file  matrix_double2x2.hpp [code]
 Core features
 
file  matrix_double2x2_precision.hpp [code]
 Core features
 
file  matrix_double2x3.hpp [code]
 Core features
 
file  matrix_double2x3_precision.hpp [code]
 Core features
 
file  matrix_double2x4.hpp [code]
 Core features
 
file  matrix_double2x4_precision.hpp [code]
 Core features
 
file  matrix_double3x2.hpp [code]
 Core features
 
file  matrix_double3x2_precision.hpp [code]
 Core features
 
file  matrix_double3x3.hpp [code]
 Core features
 
file  matrix_double3x3_precision.hpp [code]
 Core features
 
file  matrix_double3x4.hpp [code]
 Core features
 
file  matrix_double3x4_precision.hpp [code]
 Core features
 
file  matrix_double4x2.hpp [code]
 Core features
 
file  matrix_double4x2_precision.hpp [code]
 Core features
 
file  matrix_double4x3.hpp [code]
 Core features
 
file  matrix_double4x3_precision.hpp [code]
 Core features
 
file  matrix_double4x4.hpp [code]
 Core features
 
file  matrix_double4x4_precision.hpp [code]
 Core features
 
file  matrix_float2x2.hpp [code]
 Core features
 
file  matrix_float2x2_precision.hpp [code]
 Core features
 
file  matrix_float2x3.hpp [code]
 Core features
 
file  matrix_float2x3_precision.hpp [code]
 Core features
 
file  matrix_float2x4.hpp [code]
 Core features
 
file  matrix_float2x4_precision.hpp [code]
 Core features
 
file  matrix_float3x2.hpp [code]
 Core features
 
file  matrix_float3x2_precision.hpp [code]
 Core features
 
file  matrix_float3x3.hpp [code]
 Core features
 
file  matrix_float3x3_precision.hpp [code]
 Core features
 
file  matrix_float3x4.hpp [code]
 Core features
 
file  matrix_float3x4_precision.hpp [code]
 Core features
 
file  matrix_float4x2.hpp [code]
 Core features
 
file  matrix_float4x2_precision.hpp [code]
 
file  matrix_float4x3.hpp [code]
 Core features
 
file  matrix_float4x3_precision.hpp [code]
 Core features
 
file  matrix_float4x4.hpp [code]
 Core features
 
file  matrix_float4x4_precision.hpp [code]
 Core features
 
file  matrix_projection.hpp [code]
 GLM_EXT_matrix_projection
 
file  matrix_relational.hpp [code]
 GLM_EXT_matrix_relational
 
file  ext/matrix_transform.hpp [code]
 GLM_EXT_matrix_transform
 
file  quaternion_common.hpp [code]
 GLM_EXT_quaternion_common
 
file  quaternion_double.hpp [code]
 GLM_EXT_quaternion_double
 
file  quaternion_double_precision.hpp [code]
 GLM_EXT_quaternion_double_precision
 
file  quaternion_exponential.hpp [code]
 GLM_EXT_quaternion_exponential
 
file  quaternion_float.hpp [code]
 GLM_EXT_quaternion_float
 
file  quaternion_float_precision.hpp [code]
 GLM_EXT_quaternion_float_precision
 
file  quaternion_geometric.hpp [code]
 GLM_EXT_quaternion_geometric
 
file  quaternion_relational.hpp [code]
 GLM_EXT_quaternion_relational
 
file  quaternion_transform.hpp [code]
 GLM_EXT_quaternion_transform
 
file  quaternion_trigonometric.hpp [code]
 GLM_EXT_quaternion_trigonometric
 
file  scalar_common.hpp [code]
 GLM_EXT_scalar_common
 
file  scalar_constants.hpp [code]
 GLM_EXT_scalar_constants
 
file  scalar_int_sized.hpp [code]
 GLM_EXT_scalar_int_sized
 
file  scalar_integer.hpp [code]
 GLM_EXT_scalar_integer
 
file  ext/scalar_relational.hpp [code]
 GLM_EXT_scalar_relational
 
file  scalar_uint_sized.hpp [code]
 GLM_EXT_scalar_uint_sized
 
file  scalar_ulp.hpp [code]
 GLM_EXT_scalar_ulp
 
file  vector_bool1.hpp [code]
 GLM_EXT_vector_bool1
 
file  vector_bool1_precision.hpp [code]
 GLM_EXT_vector_bool1_precision
 
file  vector_bool2.hpp [code]
 Core features
 
file  vector_bool2_precision.hpp [code]
 Core features
 
file  vector_bool3.hpp [code]
 Core features
 
file  vector_bool3_precision.hpp [code]
 Core features
 
file  vector_bool4.hpp [code]
 Core features
 
file  vector_bool4_precision.hpp [code]
 Core features
 
file  vector_common.hpp [code]
 GLM_EXT_vector_common
 
file  vector_double1.hpp [code]
 GLM_EXT_vector_double1
 
file  vector_double1_precision.hpp [code]
 GLM_EXT_vector_double1_precision
 
file  vector_double2.hpp [code]
 Core features
 
file  vector_double2_precision.hpp [code]
 Core features
 
file  vector_double3.hpp [code]
 Core features
 
file  vector_double3_precision.hpp [code]
 Core features
 
file  vector_double4.hpp [code]
 Core features
 
file  vector_double4_precision.hpp [code]
 Core features
 
file  vector_float1.hpp [code]
 GLM_EXT_vector_float1
 
file  vector_float1_precision.hpp [code]
 GLM_EXT_vector_float1_precision
 
file  vector_float2.hpp [code]
 Core features
 
file  vector_float2_precision.hpp [code]
 Core features
 
file  vector_float3.hpp [code]
 Core features
 
file  vector_float3_precision.hpp [code]
 Core features
 
file  vector_float4.hpp [code]
 Core features
 
file  vector_float4_precision.hpp [code]
 Core features
 
file  vector_int1.hpp [code]
 GLM_EXT_vector_int1
 
file  vector_int1_precision.hpp [code]
 GLM_EXT_vector_int1_precision
 
file  vector_int2.hpp [code]
 Core features
 
file  vector_int2_precision.hpp [code]
 Core features
 
file  vector_int3.hpp [code]
 Core features
 
file  vector_int3_precision.hpp [code]
 Core features
 
file  vector_int4.hpp [code]
 Core features
 
file  vector_int4_precision.hpp [code]
 Core features
 
file  vector_integer.hpp [code]
 GLM_EXT_vector_integer
 
file  ext/vector_relational.hpp [code]
 GLM_EXT_vector_relational
 
file  vector_uint1.hpp [code]
 GLM_EXT_vector_uint1
 
file  vector_uint1_precision.hpp [code]
 GLM_EXT_vector_uint1_precision
 
file  vector_uint2.hpp [code]
 Core features
 
file  vector_uint2_precision.hpp [code]
 Core features
 
file  vector_uint3.hpp [code]
 Core features
 
file  vector_uint3_precision.hpp [code]
 Core features
 
file  vector_uint4.hpp [code]
 Core features
 
file  vector_uint4_precision.hpp [code]
 Core features
 
file  vector_ulp.hpp [code]
 GLM_EXT_vector_ulp
 
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/dir_9e5fe034a00e89334fd5186c3e7db156.html ================================================ 0.9.9 API documentation: G-Truc Directory Reference
0.9.9 API documentation
G-Truc Directory Reference

Directories

directory  Source
 
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/dir_a8bee7be44182a33f3820393ae0b105d.html ================================================ 0.9.9 API documentation: G-Truc Directory Reference
0.9.9 API documentation
G-Truc Directory Reference

Directories

directory  glm
 
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/dir_cef2d71d502cb69a9252bca2297d9549.html ================================================ 0.9.9 API documentation: glm Directory Reference
0.9.9 API documentation
glm Directory Reference
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/dir_d9496f0844b48bc7e53b5af8c99b9ab2.html ================================================ 0.9.9 API documentation: Source Directory Reference
0.9.9 API documentation
Source Directory Reference

Directories

directory  G-Truc
 
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/dir_f35778ec600a1b9bbc4524e62e226aa2.html ================================================ 0.9.9 API documentation: gtx Directory Reference
0.9.9 API documentation
gtx Directory Reference

Files

file  associated_min_max.hpp [code]
 GLM_GTX_associated_min_max
 
file  bit.hpp [code]
 GLM_GTX_bit
 
file  closest_point.hpp [code]
 GLM_GTX_closest_point
 
file  color_encoding.hpp [code]
 GLM_GTX_color_encoding
 
file  gtx/color_space.hpp [code]
 GLM_GTX_color_space
 
file  color_space_YCoCg.hpp [code]
 GLM_GTX_color_space_YCoCg
 
file  gtx/common.hpp [code]
 GLM_GTX_common
 
file  compatibility.hpp [code]
 GLM_GTX_compatibility
 
file  component_wise.hpp [code]
 GLM_GTX_component_wise
 
file  dual_quaternion.hpp [code]
 GLM_GTX_dual_quaternion
 
file  easing.hpp [code]
 GLM_GTX_easing
 
file  euler_angles.hpp [code]
 GLM_GTX_euler_angles
 
file  extend.hpp [code]
 GLM_GTX_extend
 
file  extended_min_max.hpp [code]
 GLM_GTX_extented_min_max
 
file  exterior_product.hpp [code]
 GLM_GTX_exterior_product
 
file  fast_exponential.hpp [code]
 GLM_GTX_fast_exponential
 
file  fast_square_root.hpp [code]
 GLM_GTX_fast_square_root
 
file  fast_trigonometry.hpp [code]
 GLM_GTX_fast_trigonometry
 
file  functions.hpp [code]
 GLM_GTX_functions
 
file  gradient_paint.hpp [code]
 GLM_GTX_gradient_paint
 
file  handed_coordinate_space.hpp [code]
 GLM_GTX_handed_coordinate_space
 
file  hash.hpp [code]
 GLM_GTX_hash
 
file  gtx/integer.hpp [code]
 GLM_GTX_integer
 
file  intersect.hpp [code]
 GLM_GTX_intersect
 
file  io.hpp [code]
 GLM_GTX_io
 
file  log_base.hpp [code]
 GLM_GTX_log_base
 
file  matrix_cross_product.hpp [code]
 GLM_GTX_matrix_cross_product
 
file  matrix_decompose.hpp [code]
 GLM_GTX_matrix_decompose
 
file  matrix_factorisation.hpp [code]
 GLM_GTX_matrix_factorisation
 
file  matrix_interpolation.hpp [code]
 GLM_GTX_matrix_interpolation
 
file  matrix_major_storage.hpp [code]
 GLM_GTX_matrix_major_storage
 
file  matrix_operation.hpp [code]
 GLM_GTX_matrix_operation
 
file  matrix_query.hpp [code]
 GLM_GTX_matrix_query
 
file  matrix_transform_2d.hpp [code]
 GLM_GTX_matrix_transform_2d
 
file  mixed_product.hpp [code]
 GLM_GTX_mixed_producte
 
file  norm.hpp [code]
 GLM_GTX_norm
 
file  normal.hpp [code]
 GLM_GTX_normal
 
file  normalize_dot.hpp [code]
 GLM_GTX_normalize_dot
 
file  number_precision.hpp [code]
 GLM_GTX_number_precision
 
file  optimum_pow.hpp [code]
 GLM_GTX_optimum_pow
 
file  orthonormalize.hpp [code]
 GLM_GTX_orthonormalize
 
file  perpendicular.hpp [code]
 GLM_GTX_perpendicular
 
file  polar_coordinates.hpp [code]
 GLM_GTX_polar_coordinates
 
file  projection.hpp [code]
 GLM_GTX_projection
 
file  gtx/quaternion.hpp [code]
 GLM_GTX_quaternion
 
file  range.hpp [code]
 GLM_GTX_range
 
file  raw_data.hpp [code]
 GLM_GTX_raw_data
 
file  rotate_normalized_axis.hpp [code]
 GLM_GTX_rotate_normalized_axis
 
file  rotate_vector.hpp [code]
 GLM_GTX_rotate_vector
 
file  scalar_multiplication.hpp [code]
 Experimental extensions
 
file  gtx/scalar_relational.hpp [code]
 GLM_GTX_scalar_relational
 
file  spline.hpp [code]
 GLM_GTX_spline
 
file  std_based_type.hpp [code]
 GLM_GTX_std_based_type
 
file  string_cast.hpp [code]
 GLM_GTX_string_cast
 
file  texture.hpp [code]
 GLM_GTX_texture
 
file  transform.hpp [code]
 GLM_GTX_transform
 
file  transform2.hpp [code]
 GLM_GTX_transform2
 
file  gtx/type_aligned.hpp [code]
 GLM_GTX_type_aligned
 
file  type_trait.hpp [code]
 GLM_GTX_type_trait
 
file  vec_swizzle.hpp [code]
 GLM_GTX_vec_swizzle
 
file  vector_angle.hpp [code]
 GLM_GTX_vector_angle
 
file  vector_query.hpp [code]
 GLM_GTX_vector_query
 
file  wrap.hpp [code]
 GLM_GTX_wrap
 
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/doxygen.css ================================================ /* The standard CSS for doxygen 1.8.10 */ body, table, div, p, dl { font: 400 14px/22px Roboto,sans-serif; } body { margin:0px; padding:0px; background-color:#bf6000; background-repeat:no-repeat; background-position:center center; background-attachment:fixed; min-height:1200px; overflow:auto; } /* @group Heading Levels */ h1.groupheader { color:#bf6000; font-size: 150%; } .title { color:#bf6000; font: 400 14px/28px Roboto,sans-serif; font-size: 150%; font-weight: bold; margin: 10px 2px; } h2.groupheader { border-bottom: 1px solid #bf6000; color:#bf6000; font-size: 150%; font-weight: normal; margin-top: 1.75em; padding-top: 8px; padding-bottom: 4px; width: 100%; } h3.groupheader { font-size: 100%; } h1, h2, h3, h4, h5, h6 { -webkit-transition: text-shadow 0.5s linear; -moz-transition: text-shadow 0.5s linear; -ms-transition: text-shadow 0.5s linear; -o-transition: text-shadow 0.5s linear; transition: text-shadow 0.5s linear; margin-right: 15px; } h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { text-shadow: 0 0 15px cyan; } dt { font-weight: bold; } div.multicol { -moz-column-gap: 1em; -webkit-column-gap: 1em; -moz-column-count: 3; -webkit-column-count: 3; } p.startli, p.startdd { margin-top: 2px; } p.starttd { margin-top: 0px; } p.endli { margin-bottom: 0px; } p.enddd { margin-bottom: 4px; } p.endtd { margin-bottom: 2px; } /* @end */ caption { font-weight: bold; } span.legend { font-size: 70%; text-align: center; } h3.version { font-size: 90%; text-align: center; } div.qindex, div.navtab{ background-color: #FFF8F0; border: 1px solid #FF8000; text-align: center; } div.qindex, div.navpath { width: 100%; line-height: 140%; } div.navtab { margin-right: 15px; } /* @group Link Styling */ a { color: #000000; font-weight: normal; text-decoration: none; } .contents a:visited { color: #606060; } .contents{ background-color: #FFFFFF; padding-top:8px; padding-bottom:8px; padding-left:32px; padding-right:32px; margin:0px; margin-left:auto; margin-right:auto; width:1216px; border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; } a:hover { text-decoration: underline; } a.qindex { font-weight: bold; } a.qindexHL { font-weight: bold; background-color: #9CAFD4; color: #ffffff; border: 1px double #869DCA; } .contents a.qindexHL:visited { color: #ffffff; } a.el { font-weight: bold; } a.elRef { } a.code, a.code:visited, a.line, a.line:visited { color: #4665A2; } a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { color: #4665A2; } /* @end */ dl.el { margin-left: -1cm; } pre.fragment { border: 1px solid #FF8000; background-color: #FFF8F0; padding: 4px 6px; margin: 4px 8px 4px 2px; overflow: auto; word-wrap: break-word; font-size: 9pt; line-height: 125%; font-family: monospace, fixed; font-size: 105%; } div.fragment { padding: 4px 6px; margin: 4px 8px 4px 2px; background-color: #FFF8F0; border: 1px solid #FF8000; } div.line { font-family: monospace, fixed; font-size: 13px; min-height: 13px; line-height: 1.0; text-wrap: unrestricted; white-space: -moz-pre-wrap; /* Moz */ white-space: -pre-wrap; /* Opera 4-6 */ white-space: -o-pre-wrap; /* Opera 7 */ white-space: pre-wrap; /* CSS3 */ word-wrap: break-word; /* IE 5.5+ */ text-indent: -53px; padding-left: 53px; padding-bottom: 0px; margin: 0px; -webkit-transition-property: background-color, box-shadow; -webkit-transition-duration: 0.5s; -moz-transition-property: background-color, box-shadow; -moz-transition-duration: 0.5s; -ms-transition-property: background-color, box-shadow; -ms-transition-duration: 0.5s; -o-transition-property: background-color, box-shadow; -o-transition-duration: 0.5s; transition-property: background-color, box-shadow; transition-duration: 0.5s; } div.line.glow { background-color: cyan; box-shadow: 0 0 10px cyan; } span.lineno { padding-right: 4px; text-align: right; border-right: 2px solid #0F0; background-color: #E8E8E8; white-space: pre; } span.lineno a { background-color: #D8D8D8; } span.lineno a:hover { background-color: #C8C8C8; } div.ah, span.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px; padding: 0.2em; border: solid thin #333; border-radius: 0.5em; -webkit-border-radius: .5em; -moz-border-radius: .5em; box-shadow: 2px 2px 3px #999; -webkit-box-shadow: 2px 2px 3px #999; -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000); } div.classindex ul { list-style: none; padding-left: 0; } div.classindex span.ai { display: inline-block; } div.groupHeader { margin-left: 16px; margin-top: 12px; font-weight: bold; } div.groupText { margin-left: 16px; font-style: italic; } body { color: black; margin: 0; } td.indexkey { background-color: #FFF8F0; font-weight: bold; border: 1px solid #C4CFE5; margin: 2px 0px 2px 0; padding: 2px 10px; white-space: nowrap; vertical-align: top; } td.indexvalue { background-color: #FFF8F0; border: 1px solid #C4CFE5; padding: 2px 10px; margin: 2px 0px; } tr.memlist { background-color: #FFF8F0; } p.formulaDsp { text-align: center; } img.formulaDsp { } img.formulaInl { vertical-align: middle; } div.center { text-align: center; margin-top: 0px; margin-bottom: 0px; padding: 0px; } div.center img { border: 0px; } address.footer { display: none; } img.footer { border: 0px; vertical-align: middle; } /* @group Code Colorization */ span.keyword { color: #008000 } span.keywordtype { color: #604020 } span.keywordflow { color: #e08000 } span.comment { color: #800000 } span.preprocessor { color: #806020 } span.stringliteral { color: #002080 } span.charliteral { color: #008080 } span.vhdldigit { color: #ff00ff } span.vhdlchar { color: #000000 } span.vhdlkeyword { color: #700070 } span.vhdllogic { color: #ff0000 } blockquote { background-color: #F7F8FB; border-left: 2px solid #9CAFD4; margin: 0 24px 0 4px; padding: 0 12px 0 16px; } /* @end */ /* .search { color: #003399; font-weight: bold; } form.search { margin-bottom: 0px; margin-top: 0px; } input.search { font-size: 75%; color: #000080; font-weight: normal; background-color: #e8eef2; } */ td.tiny { font-size: 75%; } .dirtab { padding: 4px; border-collapse: collapse; border: 1px solid #FF8000; } th.dirtab { background: #EBEFF6; font-weight: bold; } hr { height: 0px; border: none; border-top: 1px solid #4A6AAA; } hr.footer { display: none; } /* @group Member Descriptions */ table.memberdecls { border-spacing: 0px; padding: 0px; } .memberdecls td, .fieldtable tr { -webkit-transition-property: background-color, box-shadow; -webkit-transition-duration: 0.5s; -moz-transition-property: background-color, box-shadow; -moz-transition-duration: 0.5s; -ms-transition-property: background-color, box-shadow; -ms-transition-duration: 0.5s; -o-transition-property: background-color, box-shadow; -o-transition-duration: 0.5s; transition-property: background-color, box-shadow; transition-duration: 0.5s; } .memberdecls td.glow, .fieldtable tr.glow { background-color: cyan; box-shadow: 0 0 15px cyan; } .mdescLeft, .mdescRight, .memItemLeft, .memItemRight, .memTemplItemLeft, .memTemplItemRight, .memTemplParams { background-color: #FFFCF8; border: none; margin: 4px; padding: 1px 0 0 8px; } .mdescLeft, .mdescRight { padding: 0px 8px 4px 8px; color: #555; } .memSeparator { border-bottom: 1px solid #FFF8F0; line-height: 1px; margin: 0px; padding: 0px; } .memItemLeft, .memTemplItemLeft { white-space: nowrap; } .memItemRight { width: 100%; } .memTemplParams { color: #bf6000; white-space: nowrap; font-size: 80%; } /* @end */ /* @group Member Details */ /* Styles for detailed member documentation */ .memtemplate { font-size: 80%; color: #4665A2; font-weight: normal; margin-left: 9px; } .memnav { background-color: #FFF8F0; border: 1px solid #FF8000; text-align: center; margin: 2px; margin-right: 15px; padding: 2px; } .mempage { width: 100%; } .memitem { padding: 0; margin-bottom: 10px; margin-right: 5px; -webkit-transition: box-shadow 0.5s linear; -moz-transition: box-shadow 0.5s linear; -ms-transition: box-shadow 0.5s linear; -o-transition: box-shadow 0.5s linear; transition: box-shadow 0.5s linear; display: table !important; width: 100%; } .memitem.glow { box-shadow: 0 0 15px cyan; } .memname { font-weight: bold; margin-left: 6px; } .memname td { vertical-align: bottom; } .memproto, dl.reflist dt { border-top: 1px solid #bf6000; border-left: 1px solid #bf6000; border-right: 1px solid #bf6000; padding: 6px 0px 6px 0px; /*color: #253555;*/ font-weight: bold; /*text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);*/ /*background-image:url('nav_f.png');*/ background-repeat:repeat-x; background-color: #FFF8F0; /* opera specific markup */ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); border-top-right-radius: 4px; border-top-left-radius: 4px; /* firefox specific markup */ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; -moz-border-radius-topright: 4px; -moz-border-radius-topleft: 4px; /* webkit specific markup */ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -webkit-border-top-right-radius: 4px; -webkit-border-top-left-radius: 4px; } .memdoc, dl.reflist dd { border-bottom: 1px solid #bf6000; border-left: 1px solid #bf6000; border-right: 1px solid #bf6000; padding: 6px 10px 2px 10px; border-top-width: 0; background-image:url('nav_g.png'); background-repeat:repeat-x; background-color: #FFFDFB; /* opera specific markup */ border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); /* firefox specific markup */ -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; /* webkit specific markup */ -webkit-border-bottom-left-radius: 4px; -webkit-border-bottom-right-radius: 4px; -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); } dl.reflist dt { padding: 5px; } dl.reflist dd { margin: 0px 0px 10px 0px; padding: 5px; } .paramkey { text-align: right; } .paramtype { white-space: nowrap; } .paramname { color: #602020; white-space: nowrap; } .paramname em { font-style: normal; } .paramname code { line-height: 14px; } .params, .retval, .exception, .tparams { margin-left: 0px; padding-left: 0px; } .params .paramname, .retval .paramname { font-weight: bold; vertical-align: top; } .params .paramtype { font-style: italic; vertical-align: top; } .params .paramdir { font-family: "courier new",courier,monospace; vertical-align: top; } table.mlabels { border-spacing: 0px; } td.mlabels-left { width: 100%; padding: 0px; } td.mlabels-right { vertical-align: bottom; padding: 0px; white-space: nowrap; } span.mlabels { margin-left: 8px; } span.mlabel { background-color: #728DC1; border-top:1px solid #5373B4; border-left:1px solid #5373B4; border-right:1px solid #C4CFE5; border-bottom:1px solid #C4CFE5; text-shadow: none; color: white; margin-right: 4px; padding: 2px 3px; border-radius: 3px; font-size: 7pt; white-space: nowrap; vertical-align: middle; } /* @end */ /* these are for tree view inside a (index) page */ div.directory { margin: 10px 0px; border-top: 1px solid #bf6000; border-bottom: 1px solid #bf6000; width: 100%; } .directory table { border-collapse:collapse; } .directory td { margin: 0px; padding: 0px; vertical-align: top; } .directory td.entry { white-space: nowrap; padding-right: 6px; padding-top: 3px; } .directory td.entry a { outline:none; } .directory td.entry a img { border: none; } .directory td.desc { width: 100%; padding-left: 6px; padding-right: 6px; padding-top: 3px; border-left: 1px solid rgba(0,0,0,0.05); } .directory tr.even { padding-left: 6px; background-color: #FFFDFB; } .directory img { vertical-align: -30%; } .directory .levels { white-space: nowrap; width: 100%; text-align: right; font-size: 9pt; } .directory .levels span { cursor: pointer; padding-left: 2px; padding-right: 2px; color: #bf6000; } .arrow { color: #bf6000; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; cursor: pointer; font-size: 80%; display: inline-block; width: 16px; height: 22px; } .icon { font-family: Arial, Helvetica; font-weight: bold; font-size: 12px; height: 14px; width: 16px; display: inline-block; background-color: #bf6000; color: white; text-align: center; border-radius: 4px; margin-left: 2px; margin-right: 2px; } .icona { width: 24px; height: 22px; display: inline-block; } .iconfopen { width: 24px; height: 18px; margin-bottom: 4px; background-image:url('folderopen.png'); background-position: 0px -4px; background-repeat: repeat-y; vertical-align:top; display: inline-block; } .iconfclosed { width: 24px; height: 18px; margin-bottom: 4px; background-image:url('folderclosed.png'); background-position: 0px -4px; background-repeat: repeat-y; vertical-align:top; display: inline-block; } .icondoc { width: 24px; height: 18px; margin-bottom: 4px; background-image:url('doc.png'); background-position: 0px -4px; background-repeat: repeat-y; vertical-align:top; display: inline-block; } table.directory { font: 400 14px Roboto,sans-serif; } /* @end */ div.dynheader { margin-top: 8px; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } address { font-style: normal; color: #2A3D61; } table.doxtable { border-collapse:collapse; margin-top: 4px; margin-bottom: 4px; } table.doxtable td, table.doxtable th { border: 1px solid #2D4068; padding: 3px 7px 2px; } table.doxtable th { background-color: #374F7F; color: #FFFFFF; font-size: 110%; padding-bottom: 4px; padding-top: 5px; } table.fieldtable { /*width: 100%;*/ margin-bottom: 10px; border: 1px solid #A8B8D9; border-spacing: 0px; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); } .fieldtable td, .fieldtable th { padding: 3px 7px 2px; } .fieldtable td.fieldtype, .fieldtable td.fieldname { white-space: nowrap; border-right: 1px solid #A8B8D9; border-bottom: 1px solid #A8B8D9; vertical-align: top; } .fieldtable td.fieldname { padding-top: 3px; } .fieldtable td.fielddoc { border-bottom: 1px solid #A8B8D9; /*width: 100%;*/ } .fieldtable td.fielddoc p:first-child { margin-top: 0px; } .fieldtable td.fielddoc p:last-child { margin-bottom: 2px; } .fieldtable tr:last-child td { border-bottom: none; } .fieldtable th { background-image:url('nav_f.png'); background-repeat:repeat-x; background-color: #E2E8F2; font-size: 90%; color: #253555; padding-bottom: 4px; padding-top: 5px; text-align:left; -moz-border-radius-topleft: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-left-radius: 4px; -webkit-border-top-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom: 1px solid #A8B8D9; } .tabsearch { top: 0px; left: 10px; height: 36px; background-image: url('tab_b.png'); z-index: 101; overflow: hidden; font-size: 13px; } .navpath ul { font-size: 11px; /*background-image:url('tab_b.png');*/ background-color: #FFF8F0; background-repeat:repeat-x; background-position: 0 -5px; height:30px; line-height:30px; color:#bf6000; border:solid 0px #C2CDE4; overflow:hidden; margin:0px; padding:0px; } .navpath li { list-style-type:none; float:left; padding-left:10px; padding-right:15px; background-image:url('bc_s.png'); background-repeat:no-repeat; background-position:right; color:#bf6000; } .navpath li.navelem a { height:32px; display:block; text-decoration: none; outline: none; color: #bf6000; font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; text-decoration: none; } .navpath li.navelem a:hover { color:#6884BD; } .navpath li.footer { list-style-type:none; float:right; padding-left:10px; padding-right:15px; background-image:none; background-repeat:no-repeat; background-position:right; color:#bf6000; font-size: 8pt; } div.summary { float: right; font-size: 8pt; padding-right: 5px; width: 50%; text-align: right; } div.summary a { white-space: nowrap; } div.ingroups { font-size: 8pt; width: 50%; text-align: left; } div.ingroups a { white-space: nowrap; } div.header { background-repeat:repeat-x; background-color: #FFFCF8; padding:0px; margin:0px; margin-left:auto; margin-right:auto; width:1280px; } div.headertitle { padding: 5px 5px 5px 10px; } dl { padding: 0 0 0 10px; } /* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ dl.section { margin-left: 0px; padding-left: 0px; } dl.note { margin-left:-7px; padding-left: 3px; border-left:4px solid; border-color: #D0C000; } dl.warning, dl.attention { margin-left:-7px; padding-left: 3px; border-left:4px solid; border-color: #FF0000; } dl.pre, dl.post, dl.invariant { margin-left:-7px; padding-left: 3px; border-left:4px solid; border-color: #00D000; } dl.deprecated { margin-left:-7px; padding-left: 3px; border-left:4px solid; border-color: #505050; } dl.todo { margin-left:-7px; padding-left: 3px; border-left:4px solid; border-color: #E0C000; } dl.test { margin-left:-7px; padding-left: 3px; border-left:4px solid; border-color: #3030E0; } dl.bug { margin-left:-7px; padding-left: 3px; border-left:4px solid; border-color: #C08050; } dl.section dd { margin-bottom: 6px; } #projectlogo { text-align: center; vertical-align: bottom; border-collapse: separate; } #projectlogo img { border: 0px none; } #projectalign { vertical-align: middle; } #projectname { font: 300% Tahoma, Arial,sans-serif; margin: 0px; padding: 2px 0px; color: #FF8000; } #projectbrief { font: 120% Tahoma, Arial,sans-serif; margin: 0px; padding: 0px; } #projectnumber { font: 50% Tahoma, Arial,sans-serif; margin: 0px; padding: 0px; } #titlearea { padding: 0px; margin: 0px; width: 100%; border-bottom: 1px solid #5373B4; } .image { text-align: center; } .dotgraph { text-align: center; } .mscgraph { text-align: center; } .diagraph { text-align: center; } .caption { font-weight: bold; } div.zoom { border: 1px solid #90A5CE; } dl.citelist { margin-bottom:50px; } dl.citelist dt { color:#334975; float:left; font-weight:bold; margin-right:10px; padding:5px; } dl.citelist dd { margin:2px 0; padding:5px 0; } div.toc { padding: 14px 25px; background-color: #F4F6FA; border: 1px solid #D8DFEE; border-radius: 7px 7px 7px 7px; float: right; height: auto; margin: 0 20px 10px 10px; width: 200px; } div.toc li { background: url("bdwn.png") no-repeat scroll 0 5px transparent; font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; margin-top: 5px; padding-left: 10px; padding-top: 2px; } div.toc h3 { font: bold 12px/1.2 Arial,FreeSans,sans-serif; color: #4665A2; border-bottom: 0 none; margin: 0; } div.toc ul { list-style: none outside none; border: medium none; padding: 0px; } div.toc li.level1 { margin-left: 0px; } div.toc li.level2 { margin-left: 15px; } div.toc li.level3 { margin-left: 30px; } div.toc li.level4 { margin-left: 45px; } .inherit_header { font-weight: bold; color: gray; cursor: pointer; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .inherit_header td { padding: 6px 0px 2px 5px; } .inherit { display: none; } tr.heading h2 { margin-top: 12px; margin-bottom: 4px; } /* tooltip related style info */ .ttc { position: absolute; display: none; } #powerTip { cursor: default; white-space: nowrap; background-color: white; border: 1px solid gray; border-radius: 4px 4px 4px 4px; box-shadow: 1px 1px 7px gray; display: none; font-size: smaller; max-width: 80%; opacity: 0.9; padding: 1ex 1em 1em; position: absolute; z-index: 2147483647; } #powerTip div.ttdoc { color: grey; font-style: italic; } #powerTip div.ttname a { font-weight: bold; } #powerTip div.ttname { font-weight: bold; } #powerTip div.ttdeci { color: #006318; } #powerTip div { margin: 0px; padding: 0px; font: 12px/16px Roboto,sans-serif; } #powerTip:before, #powerTip:after { content: ""; position: absolute; margin: 0px; } #powerTip.n:after, #powerTip.n:before, #powerTip.s:after, #powerTip.s:before, #powerTip.w:after, #powerTip.w:before, #powerTip.e:after, #powerTip.e:before, #powerTip.ne:after, #powerTip.ne:before, #powerTip.se:after, #powerTip.se:before, #powerTip.nw:after, #powerTip.nw:before, #powerTip.sw:after, #powerTip.sw:before { border: solid transparent; content: " "; height: 0; width: 0; position: absolute; } #powerTip.n:after, #powerTip.s:after, #powerTip.w:after, #powerTip.e:after, #powerTip.nw:after, #powerTip.ne:after, #powerTip.sw:after, #powerTip.se:after { border-color: rgba(255, 255, 255, 0); } #powerTip.n:before, #powerTip.s:before, #powerTip.w:before, #powerTip.e:before, #powerTip.nw:before, #powerTip.ne:before, #powerTip.sw:before, #powerTip.se:before { border-color: rgba(128, 128, 128, 0); } #powerTip.n:after, #powerTip.n:before, #powerTip.ne:after, #powerTip.ne:before, #powerTip.nw:after, #powerTip.nw:before { top: 100%; } #powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { border-top-color: #ffffff; border-width: 10px; margin: 0px -10px; } #powerTip.n:before { border-top-color: #808080; border-width: 11px; margin: 0px -11px; } #powerTip.n:after, #powerTip.n:before { left: 50%; } #powerTip.nw:after, #powerTip.nw:before { right: 14px; } #powerTip.ne:after, #powerTip.ne:before { left: 14px; } #powerTip.s:after, #powerTip.s:before, #powerTip.se:after, #powerTip.se:before, #powerTip.sw:after, #powerTip.sw:before { bottom: 100%; } #powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { border-bottom-color: #ffffff; border-width: 10px; margin: 0px -10px; } #powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { border-bottom-color: #808080; border-width: 11px; margin: 0px -11px; } #powerTip.s:after, #powerTip.s:before { left: 50%; } #powerTip.sw:after, #powerTip.sw:before { right: 14px; } #powerTip.se:after, #powerTip.se:before { left: 14px; } #powerTip.e:after, #powerTip.e:before { left: 100%; } #powerTip.e:after { border-left-color: #ffffff; border-width: 10px; top: 50%; margin-top: -10px; } #powerTip.e:before { border-left-color: #808080; border-width: 11px; top: 50%; margin-top: -11px; } #powerTip.w:after, #powerTip.w:before { right: 100%; } #powerTip.w:after { border-right-color: #ffffff; border-width: 10px; top: 50%; margin-top: -10px; } #powerTip.w:before { border-right-color: #808080; border-width: 11px; top: 50%; margin-top: -11px; } #titlearea { margin: 0px; padding-top: 8px; padding-bottom: 8px; margin-top: 32px; width: 100%; border-bottom: 0px solid #FF8000; border-top-left-radius: 8px; border-top-right-radius: 8px; background-color:#FFFFFF; } #top { margin-left:auto; margin-right:auto; width:1280px; } @media print { #top { display: none; } #side-nav { display: none; } #nav-path { display: none; } body { overflow:visible; } h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } .summary { display: none; } .memitem { page-break-inside: avoid; } #doc-content { margin-left:0 !important; height:auto !important; width:auto !important; overflow:inherit; display:inline; } } ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/dynsections.js ================================================ function toggleVisibility(linkObj) { var base = $(linkObj).attr('id'); var summary = $('#'+base+'-summary'); var content = $('#'+base+'-content'); var trigger = $('#'+base+'-trigger'); var src=$(trigger).attr('src'); if (content.is(':visible')===true) { content.hide(); summary.show(); $(linkObj).addClass('closed').removeClass('opened'); $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); } else { content.show(); summary.hide(); $(linkObj).removeClass('closed').addClass('opened'); $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); } return false; } function updateStripes() { $('table.directory tr'). removeClass('even').filter(':visible:even').addClass('even'); } function toggleLevel(level) { $('table.directory tr').each(function() { var l = this.id.split('_').length-1; var i = $('#img'+this.id.substring(3)); var a = $('#arr'+this.id.substring(3)); if (l 0.9.9 API documentation: File List
0.9.9 API documentation
File List
Here is a list of all documented files with brief descriptions:
 _features.hpp
 _fixes.hpp
 _noise.hpp
 _swizzle.hpp
 _swizzle_func.hpp
 _vectorize.hpp
 associated_min_max.hppGLM_GTX_associated_min_max
 bit.hppGLM_GTX_bit
 bitfield.hppGLM_GTC_bitfield
 closest_point.hppGLM_GTX_closest_point
 color_encoding.hppGLM_GTX_color_encoding
 gtc/color_space.hppGLM_GTC_color_space
 gtx/color_space.hppGLM_GTX_color_space
 color_space_YCoCg.hppGLM_GTX_color_space_YCoCg
 common.hppCore features
 gtx/common.hppGLM_GTX_common
 compatibility.hppGLM_GTX_compatibility
 component_wise.hppGLM_GTX_component_wise
 compute_common.hpp
 compute_vector_relational.hpp
 constants.hppGLM_GTC_constants
 dual_quaternion.hppGLM_GTX_dual_quaternion
 easing.hppGLM_GTX_easing
 epsilon.hppGLM_GTC_epsilon
 euler_angles.hppGLM_GTX_euler_angles
 exponential.hppCore features
 ext.hppCore features (Dependence)
 extend.hppGLM_GTX_extend
 extended_min_max.hppGLM_GTX_extented_min_max
 exterior_product.hppGLM_GTX_exterior_product
 fast_exponential.hppGLM_GTX_fast_exponential
 fast_square_root.hppGLM_GTX_fast_square_root
 fast_trigonometry.hppGLM_GTX_fast_trigonometry
 functions.hppGLM_GTX_functions
 fwd.hpp
 geometric.hppCore features
 glm.hppCore features
 gradient_paint.hppGLM_GTX_gradient_paint
 handed_coordinate_space.hppGLM_GTX_handed_coordinate_space
 hash.hppGLM_GTX_hash
 gtc/integer.hppGLM_GTC_integer
 gtx/integer.hppGLM_GTX_integer
 integer.hppCore features
 intersect.hppGLM_GTX_intersect
 io.hppGLM_GTX_io
 log_base.hppGLM_GTX_log_base
 man.doxy
 mat2x2.hppCore features
 mat2x3.hppCore features
 mat2x4.hppCore features
 mat3x2.hppCore features
 mat3x3.hppCore features
 mat3x4.hppCore features
 mat4x2.hppCore features
 mat4x3.hppCore features
 mat4x4.hppCore features
 matrix.hppCore features
 matrix_access.hppGLM_GTC_matrix_access
 matrix_clip_space.hppGLM_EXT_matrix_clip_space
 matrix_common.hppGLM_EXT_matrix_common
 matrix_cross_product.hppGLM_GTX_matrix_cross_product
 matrix_decompose.hppGLM_GTX_matrix_decompose
 matrix_double2x2.hppCore features
 matrix_double2x2_precision.hppCore features
 matrix_double2x3.hppCore features
 matrix_double2x3_precision.hppCore features
 matrix_double2x4.hppCore features
 matrix_double2x4_precision.hppCore features
 matrix_double3x2.hppCore features
 matrix_double3x2_precision.hppCore features
 matrix_double3x3.hppCore features
 matrix_double3x3_precision.hppCore features
 matrix_double3x4.hppCore features
 matrix_double3x4_precision.hppCore features
 matrix_double4x2.hppCore features
 matrix_double4x2_precision.hppCore features
 matrix_double4x3.hppCore features
 matrix_double4x3_precision.hppCore features
 matrix_double4x4.hppCore features
 matrix_double4x4_precision.hppCore features
 matrix_factorisation.hppGLM_GTX_matrix_factorisation
 matrix_float2x2.hppCore features
 matrix_float2x2_precision.hppCore features
 matrix_float2x3.hppCore features
 matrix_float2x3_precision.hppCore features
 matrix_float2x4.hppCore features
 matrix_float2x4_precision.hppCore features
 matrix_float3x2.hppCore features
 matrix_float3x2_precision.hppCore features
 matrix_float3x3.hppCore features
 matrix_float3x3_precision.hppCore features
 matrix_float3x4.hppCore features
 matrix_float3x4_precision.hppCore features
 matrix_float4x2.hppCore features
 matrix_float4x2_precision.hpp
 matrix_float4x3.hppCore features
 matrix_float4x3_precision.hppCore features
 matrix_float4x4.hppCore features
 matrix_float4x4_precision.hppCore features
 matrix_integer.hppGLM_GTC_matrix_integer
 matrix_interpolation.hppGLM_GTX_matrix_interpolation
 matrix_inverse.hppGLM_GTC_matrix_inverse
 matrix_major_storage.hppGLM_GTX_matrix_major_storage
 matrix_operation.hppGLM_GTX_matrix_operation
 matrix_projection.hppGLM_EXT_matrix_projection
 matrix_query.hppGLM_GTX_matrix_query
 matrix_relational.hppGLM_EXT_matrix_relational
 ext/matrix_transform.hppGLM_EXT_matrix_transform
 gtc/matrix_transform.hppGLM_GTC_matrix_transform
 matrix_transform_2d.hppGLM_GTX_matrix_transform_2d
 mixed_product.hppGLM_GTX_mixed_producte
 noise.hppGLM_GTC_noise
 norm.hppGLM_GTX_norm
 normal.hppGLM_GTX_normal
 normalize_dot.hppGLM_GTX_normalize_dot
 number_precision.hppGLM_GTX_number_precision
 optimum_pow.hppGLM_GTX_optimum_pow
 orthonormalize.hppGLM_GTX_orthonormalize
 gtc/packing.hppGLM_GTC_packing
 packing.hppCore features
 perpendicular.hppGLM_GTX_perpendicular
 polar_coordinates.hppGLM_GTX_polar_coordinates
 projection.hppGLM_GTX_projection
 qualifier.hpp
 gtc/quaternion.hppGLM_GTC_quaternion
 gtx/quaternion.hppGLM_GTX_quaternion
 quaternion_common.hppGLM_EXT_quaternion_common
 quaternion_double.hppGLM_EXT_quaternion_double
 quaternion_double_precision.hppGLM_EXT_quaternion_double_precision
 quaternion_exponential.hppGLM_EXT_quaternion_exponential
 quaternion_float.hppGLM_EXT_quaternion_float
 quaternion_float_precision.hppGLM_EXT_quaternion_float_precision
 quaternion_geometric.hppGLM_EXT_quaternion_geometric
 quaternion_relational.hppGLM_EXT_quaternion_relational
 quaternion_transform.hppGLM_EXT_quaternion_transform
 quaternion_trigonometric.hppGLM_EXT_quaternion_trigonometric
 random.hppGLM_GTC_random
 range.hppGLM_GTX_range
 raw_data.hppGLM_GTX_raw_data
 reciprocal.hppGLM_GTC_reciprocal
 rotate_normalized_axis.hppGLM_GTX_rotate_normalized_axis
 rotate_vector.hppGLM_GTX_rotate_vector
 round.hppGLM_GTC_round
 scalar_common.hppGLM_EXT_scalar_common
 scalar_constants.hppGLM_EXT_scalar_constants
 scalar_int_sized.hppGLM_EXT_scalar_int_sized
 scalar_integer.hppGLM_EXT_scalar_integer
 scalar_multiplication.hppExperimental extensions
 ext/scalar_relational.hppGLM_EXT_scalar_relational
 gtx/scalar_relational.hppGLM_GTX_scalar_relational
 scalar_uint_sized.hppGLM_EXT_scalar_uint_sized
 scalar_ulp.hppGLM_EXT_scalar_ulp
 setup.hpp
 spline.hppGLM_GTX_spline
 std_based_type.hppGLM_GTX_std_based_type
 string_cast.hppGLM_GTX_string_cast
 texture.hppGLM_GTX_texture
 transform.hppGLM_GTX_transform
 transform2.hppGLM_GTX_transform2
 trigonometric.hppCore features
 gtc/type_aligned.hppGLM_GTC_type_aligned
 gtx/type_aligned.hppGLM_GTX_type_aligned
 type_float.hpp
 type_half.hpp
 type_mat2x2.hppCore features
 type_mat2x3.hppCore features
 type_mat2x4.hppCore features
 type_mat3x2.hppCore features
 type_mat3x3.hppCore features
 type_mat3x4.hppCore features
 type_mat4x2.hppCore features
 type_mat4x3.hppCore features
 type_mat4x4.hppCore features
 type_precision.hppGLM_GTC_type_precision
 type_ptr.hppGLM_GTC_type_ptr
 type_quat.hppCore features
 type_trait.hppGLM_GTX_type_trait
 type_vec1.hppCore features
 type_vec2.hppCore features
 type_vec3.hppCore features
 type_vec4.hppCore features
 ulp.hppGLM_GTC_ulp
 vec1.hppGLM_GTC_vec1
 vec2.hppCore features
 vec3.hppCore features
 vec4.hppCore features
 vec_swizzle.hppGLM_GTX_vec_swizzle
 vector_angle.hppGLM_GTX_vector_angle
 vector_bool1.hppGLM_EXT_vector_bool1
 vector_bool1_precision.hppGLM_EXT_vector_bool1_precision
 vector_bool2.hppCore features
 vector_bool2_precision.hppCore features
 vector_bool3.hppCore features
 vector_bool3_precision.hppCore features
 vector_bool4.hppCore features
 vector_bool4_precision.hppCore features
 vector_common.hppGLM_EXT_vector_common
 vector_double1.hppGLM_EXT_vector_double1
 vector_double1_precision.hppGLM_EXT_vector_double1_precision
 vector_double2.hppCore features
 vector_double2_precision.hppCore features
 vector_double3.hppCore features
 vector_double3_precision.hppCore features
 vector_double4.hppCore features
 vector_double4_precision.hppCore features
 vector_float1.hppGLM_EXT_vector_float1
 vector_float1_precision.hppGLM_EXT_vector_float1_precision
 vector_float2.hppCore features
 vector_float2_precision.hppCore features
 vector_float3.hppCore features
 vector_float3_precision.hppCore features
 vector_float4.hppCore features
 vector_float4_precision.hppCore features
 vector_int1.hppGLM_EXT_vector_int1
 vector_int1_precision.hppGLM_EXT_vector_int1_precision
 vector_int2.hppCore features
 vector_int2_precision.hppCore features
 vector_int3.hppCore features
 vector_int3_precision.hppCore features
 vector_int4.hppCore features
 vector_int4_precision.hppCore features
 vector_integer.hppGLM_EXT_vector_integer
 vector_query.hppGLM_GTX_vector_query
 ext/vector_relational.hppGLM_EXT_vector_relational
 vector_relational.hppCore features
 vector_uint1.hppGLM_EXT_vector_uint1
 vector_uint1_precision.hppGLM_EXT_vector_uint1_precision
 vector_uint2.hppCore features
 vector_uint2_precision.hppCore features
 vector_uint3.hppCore features
 vector_uint3_precision.hppCore features
 vector_uint4.hppCore features
 vector_uint4_precision.hppCore features
 vector_ulp.hppGLM_EXT_vector_ulp
 wrap.hppGLM_GTX_wrap
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/index.html ================================================ 0.9.9 API documentation: OpenGL Mathematics (GLM)
0.9.9 API documentation
OpenGL Mathematics (GLM)
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/jquery.js ================================================ /*! * jQuery JavaScript Library v1.7.1 * http://jquery.com/ * * Copyright 2011, John Resig * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * * Includes Sizzle.js * http://sizzlejs.com/ * Copyright 2011, The Dojo Foundation * Released under the MIT, BSD, and GPL Licenses. * * Date: Mon Nov 21 21:11:03 2011 -0500 */ (function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); /*! * Sizzle CSS Selector Engine * Copyright 2011, The Dojo Foundation * Released under the MIT, BSD, and GPL Licenses. * More information: http://sizzlejs.com/ */ (function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*! * jQuery UI 1.8.18 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * * http://docs.jquery.com/UI */ (function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*! * jQuery UI Widget 1.8.18 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * * http://docs.jquery.com/UI/Widget */ (function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*! * jQuery UI Mouse 1.8.18 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * * http://docs.jquery.com/UI/Mouse * * Depends: * jquery.ui.widget.js */ (function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g
');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(hl.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*! * jQuery hashchange event - v1.3 - 7/21/2010 * http://benalman.com/projects/jquery-hashchange-plugin/ * * Copyright (c) 2010 "Cowboy" Ben Alman * Dual licensed under the MIT and GPL licenses. * http://benalman.com/about/license/ */ (function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$('
Modules
Here is a list of all modules:
[detail level 12]
 Core featuresFeatures that implement in C++ the GLSL specification as closely as possible
 Stable extensionsAdditional features not specified by GLSL specification
 Recommended extensionsAdditional features not specified by GLSL specification
 Experimental extensionsExperimental features not specified by GLSL specification
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_0.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_0.js ================================================ var searchData= [ ['abs',['abs',['../a00241.html#ga439e60a72eadecfeda2df5449c613a64',1,'glm::abs(genType x)'],['../a00241.html#ga81d3abddd0ef0c8de579bc541ecadab6',1,'glm::abs(vec< L, T, Q > const &x)']]], ['acos',['acos',['../a00373.html#gacc9b092df8257c68f19c9053703e2563',1,'glm']]], ['acosh',['acosh',['../a00373.html#ga858f35dc66fd2688f20c52b5f25be76a',1,'glm']]], ['acot',['acot',['../a00301.html#gaeadfb9c9d71093f7865b2ba2ca8d104d',1,'glm']]], ['acoth',['acoth',['../a00301.html#gafaca98a7100170db8841f446282debfa',1,'glm']]], ['acsc',['acsc',['../a00301.html#ga1b4bed91476b9b915e76b4a30236d330',1,'glm']]], ['acsch',['acsch',['../a00301.html#ga4b50aa5e5afc7e19ec113ab91596c576',1,'glm']]], ['adjugate',['adjugate',['../a00339.html#ga40a38402a30860af6e508fe76211e659',1,'glm::adjugate(mat< 2, 2, T, Q > const &m)'],['../a00339.html#gaddb09f7abc1a9c56a243d32ff3538be6',1,'glm::adjugate(mat< 3, 3, T, Q > const &m)'],['../a00339.html#ga9aaa7d1f40391b0b5cacccb60e104ba8',1,'glm::adjugate(mat< 4, 4, T, Q > const &m)']]], ['affineinverse',['affineInverse',['../a00295.html#gae0fcc5fc8783291f9702272de428fa0e',1,'glm']]], ['aligned_5fbvec1',['aligned_bvec1',['../a00303.html#ga780a35f764020f553a9601a3fcdcd059',1,'glm']]], ['aligned_5fbvec2',['aligned_bvec2',['../a00303.html#gae766b317c5afec852bfb3d74a3c54bc8',1,'glm']]], ['aligned_5fbvec3',['aligned_bvec3',['../a00303.html#gae1964ba70d15915e5b710926decbb3cb',1,'glm']]], ['aligned_5fbvec4',['aligned_bvec4',['../a00303.html#gae164a1f7879f828bc35e50b79d786b05',1,'glm']]], ['aligned_5fdmat2',['aligned_dmat2',['../a00303.html#ga6783859382677d35fcd5dac7dcbefdbd',1,'glm']]], ['aligned_5fdmat2x2',['aligned_dmat2x2',['../a00303.html#ga449a3ec2dde6b6bb4bb94c49a6aad388',1,'glm']]], ['aligned_5fdmat2x3',['aligned_dmat2x3',['../a00303.html#ga53d519a7b1bfb69076b3ec206a6b3bd1',1,'glm']]], ['aligned_5fdmat2x4',['aligned_dmat2x4',['../a00303.html#ga5ccb2baeb0ab57b818c24e0d486c59d0',1,'glm']]], ['aligned_5fdmat3',['aligned_dmat3',['../a00303.html#ga19aa695ffdb45ce29f7ea0b5029627de',1,'glm']]], ['aligned_5fdmat3x2',['aligned_dmat3x2',['../a00303.html#ga5f5123d834bd1170edf8c386834e112c',1,'glm']]], ['aligned_5fdmat3x3',['aligned_dmat3x3',['../a00303.html#ga635bf3732281a2c2ca54d8f9d33d178f',1,'glm']]], ['aligned_5fdmat3x4',['aligned_dmat3x4',['../a00303.html#gaf488c6ad88c185054595d4d5c7ba5b9d',1,'glm']]], ['aligned_5fdmat4',['aligned_dmat4',['../a00303.html#ga001bb387ae8192fa94dbd8b23b600439',1,'glm']]], ['aligned_5fdmat4x2',['aligned_dmat4x2',['../a00303.html#gaa409cfb737bd59b68dc683e9b03930cc',1,'glm']]], ['aligned_5fdmat4x3',['aligned_dmat4x3',['../a00303.html#ga621e89ca1dbdcb7b5a3e7de237c44121',1,'glm']]], ['aligned_5fdmat4x4',['aligned_dmat4x4',['../a00303.html#gac9bda778d0b7ad82f656dab99b71857a',1,'glm']]], ['aligned_5fdvec1',['aligned_dvec1',['../a00303.html#ga4974f46ae5a19415d91316960a53617a',1,'glm']]], ['aligned_5fdvec2',['aligned_dvec2',['../a00303.html#ga18d859f87122b2b3b2992ffe86dbebc0',1,'glm']]], ['aligned_5fdvec3',['aligned_dvec3',['../a00303.html#gaa37869eea77d28419b2fb0ff70b69bf0',1,'glm']]], ['aligned_5fdvec4',['aligned_dvec4',['../a00303.html#ga8a9f0a4795ccc442fa9901845026f9f5',1,'glm']]], ['aligned_5fhighp_5fbvec1',['aligned_highp_bvec1',['../a00303.html#ga862843a45b01c35ffe4d44c47ea774ad',1,'glm']]], ['aligned_5fhighp_5fbvec2',['aligned_highp_bvec2',['../a00303.html#ga0731b593c5e33559954c80f8687e76c6',1,'glm']]], ['aligned_5fhighp_5fbvec3',['aligned_highp_bvec3',['../a00303.html#ga0913bdf048d0cb74af1d2512aec675bc',1,'glm']]], ['aligned_5fhighp_5fbvec4',['aligned_highp_bvec4',['../a00303.html#ga9df1d0c425852cf63a57e533b7a83f4f',1,'glm']]], ['aligned_5fhighp_5fdmat2',['aligned_highp_dmat2',['../a00303.html#ga3a7eeae43cb7673e14cc89bf02f7dd45',1,'glm']]], ['aligned_5fhighp_5fdmat2x2',['aligned_highp_dmat2x2',['../a00303.html#gaef26dfe3855a91644665b55c9096a8c8',1,'glm']]], ['aligned_5fhighp_5fdmat2x3',['aligned_highp_dmat2x3',['../a00303.html#gaa7c9d4ab7ab651cdf8001fe7843e238b',1,'glm']]], ['aligned_5fhighp_5fdmat2x4',['aligned_highp_dmat2x4',['../a00303.html#gaa0d2b8a75f1908dcf32c27f8524bdced',1,'glm']]], ['aligned_5fhighp_5fdmat3',['aligned_highp_dmat3',['../a00303.html#gad8f6abb2c9994850b5d5c04a5f979ed8',1,'glm']]], ['aligned_5fhighp_5fdmat3x2',['aligned_highp_dmat3x2',['../a00303.html#gab069b2fc2ec785fc4e193cf26c022679',1,'glm']]], ['aligned_5fhighp_5fdmat3x3',['aligned_highp_dmat3x3',['../a00303.html#ga66073b1ddef34b681741f572338ddb8e',1,'glm']]], ['aligned_5fhighp_5fdmat3x4',['aligned_highp_dmat3x4',['../a00303.html#ga683c8ca66de323ea533a760abedd0efc',1,'glm']]], ['aligned_5fhighp_5fdmat4',['aligned_highp_dmat4',['../a00303.html#gacaa7407ea00ffdd322ce86a57adb547e',1,'glm']]], ['aligned_5fhighp_5fdmat4x2',['aligned_highp_dmat4x2',['../a00303.html#ga93a23ca3d42818d56e0702213c66354b',1,'glm']]], ['aligned_5fhighp_5fdmat4x3',['aligned_highp_dmat4x3',['../a00303.html#gacab7374b560745cb1d0a306a90353f58',1,'glm']]], ['aligned_5fhighp_5fdmat4x4',['aligned_highp_dmat4x4',['../a00303.html#ga1fbfba14368b742972d3b58a0a303682',1,'glm']]], ['aligned_5fhighp_5fdvec1',['aligned_highp_dvec1',['../a00303.html#gaf0448b0f7ceb8273f7eda3a92205eefc',1,'glm']]], ['aligned_5fhighp_5fdvec2',['aligned_highp_dvec2',['../a00303.html#gab173a333e6b7ce153ceba66ac4a321cf',1,'glm']]], ['aligned_5fhighp_5fdvec3',['aligned_highp_dvec3',['../a00303.html#gae94ef61edfa047d05bc69b6065fc42ba',1,'glm']]], ['aligned_5fhighp_5fdvec4',['aligned_highp_dvec4',['../a00303.html#ga8fad35c5677f228e261fe541f15363a4',1,'glm']]], ['aligned_5fhighp_5fivec1',['aligned_highp_ivec1',['../a00303.html#gad63b8c5b4dc0500d54d7414ef555178f',1,'glm']]], ['aligned_5fhighp_5fivec2',['aligned_highp_ivec2',['../a00303.html#ga41563650f36cb7f479e080de21e08418',1,'glm']]], ['aligned_5fhighp_5fivec3',['aligned_highp_ivec3',['../a00303.html#ga6eca5170bb35eac90b4972590fd31a06',1,'glm']]], ['aligned_5fhighp_5fivec4',['aligned_highp_ivec4',['../a00303.html#ga31bfa801e1579fdba752ec3f7a45ec91',1,'glm']]], ['aligned_5fhighp_5fmat2',['aligned_highp_mat2',['../a00303.html#gaf9db5e8a929c317da5aa12cc53741b63',1,'glm']]], ['aligned_5fhighp_5fmat2x2',['aligned_highp_mat2x2',['../a00303.html#gab559d943abf92bc588bcd3f4c0e4664b',1,'glm']]], ['aligned_5fhighp_5fmat2x3',['aligned_highp_mat2x3',['../a00303.html#ga50c9af5aa3a848956d625fc64dc8488e',1,'glm']]], ['aligned_5fhighp_5fmat2x4',['aligned_highp_mat2x4',['../a00303.html#ga0edcfdd179f8a158342eead48a4d0c2a',1,'glm']]], ['aligned_5fhighp_5fmat3',['aligned_highp_mat3',['../a00303.html#gabab3afcc04459c7b123604ae5dc663f6',1,'glm']]], ['aligned_5fhighp_5fmat3x2',['aligned_highp_mat3x2',['../a00303.html#ga9fc2167b47c9be9295f2d8eea7f0ca75',1,'glm']]], ['aligned_5fhighp_5fmat3x3',['aligned_highp_mat3x3',['../a00303.html#ga2f7b8c99ba6f2d07c73a195a8143c259',1,'glm']]], ['aligned_5fhighp_5fmat3x4',['aligned_highp_mat3x4',['../a00303.html#ga52e00afd0eb181e6738f40cf41787049',1,'glm']]], ['aligned_5fhighp_5fmat4',['aligned_highp_mat4',['../a00303.html#ga058ae939bfdbcbb80521dd4a3b01afba',1,'glm']]], ['aligned_5fhighp_5fmat4x2',['aligned_highp_mat4x2',['../a00303.html#ga84e1f5e0718952a079b748825c03f956',1,'glm']]], ['aligned_5fhighp_5fmat4x3',['aligned_highp_mat4x3',['../a00303.html#gafff1684c4ff19b4a818138ccacc1e78d',1,'glm']]], ['aligned_5fhighp_5fmat4x4',['aligned_highp_mat4x4',['../a00303.html#ga40d49648083a0498a12a4bb41ae6ece8',1,'glm']]], ['aligned_5fhighp_5fuvec1',['aligned_highp_uvec1',['../a00303.html#ga5b80e28396c6ef7d32c6fd18df498451',1,'glm']]], ['aligned_5fhighp_5fuvec2',['aligned_highp_uvec2',['../a00303.html#ga04db692662a4908beeaf5a5ba6e19483',1,'glm']]], ['aligned_5fhighp_5fuvec3',['aligned_highp_uvec3',['../a00303.html#ga073fd6e8b241afade6d8afbd676b2667',1,'glm']]], ['aligned_5fhighp_5fuvec4',['aligned_highp_uvec4',['../a00303.html#gabdd60462042859f876c17c7346c732a5',1,'glm']]], ['aligned_5fhighp_5fvec1',['aligned_highp_vec1',['../a00303.html#ga4d0bd70d5fac49b800546d608b707513',1,'glm']]], ['aligned_5fhighp_5fvec2',['aligned_highp_vec2',['../a00303.html#gac9f8482dde741fb6bab7248b81a45465',1,'glm']]], ['aligned_5fhighp_5fvec3',['aligned_highp_vec3',['../a00303.html#ga65415d2d68c9cc0ca554524a8f5510b2',1,'glm']]], ['aligned_5fhighp_5fvec4',['aligned_highp_vec4',['../a00303.html#ga7cb26d354dd69d23849c34c4fba88da9',1,'glm']]], ['aligned_5fivec1',['aligned_ivec1',['../a00303.html#ga76298aed82a439063c3d55980c84aa0b',1,'glm']]], ['aligned_5fivec2',['aligned_ivec2',['../a00303.html#gae4f38fd2c86cee6940986197777b3ca4',1,'glm']]], ['aligned_5fivec3',['aligned_ivec3',['../a00303.html#ga32794322d294e5ace7fed4a61896f270',1,'glm']]], ['aligned_5fivec4',['aligned_ivec4',['../a00303.html#ga7f79eae5927c9033d84617e49f6f34e4',1,'glm']]], ['aligned_5flowp_5fbvec1',['aligned_lowp_bvec1',['../a00303.html#gac6036449ab1c4abf8efe1ea00fcdd1c9',1,'glm']]], ['aligned_5flowp_5fbvec2',['aligned_lowp_bvec2',['../a00303.html#ga59fadcd3835646e419372ae8b43c5d37',1,'glm']]], ['aligned_5flowp_5fbvec3',['aligned_lowp_bvec3',['../a00303.html#ga83aab4d191053f169c93a3e364f2e118',1,'glm']]], ['aligned_5flowp_5fbvec4',['aligned_lowp_bvec4',['../a00303.html#gaa7a76555ee4853614e5755181a8dd54e',1,'glm']]], ['aligned_5flowp_5fdmat2',['aligned_lowp_dmat2',['../a00303.html#ga79a90173d8faa9816dc852ce447d66ca',1,'glm']]], ['aligned_5flowp_5fdmat2x2',['aligned_lowp_dmat2x2',['../a00303.html#ga07cb8e846666cbf56045b064fb553d2e',1,'glm']]], ['aligned_5flowp_5fdmat2x3',['aligned_lowp_dmat2x3',['../a00303.html#ga7a4536b6e1f2ebb690f63816b5d7e48b',1,'glm']]], ['aligned_5flowp_5fdmat2x4',['aligned_lowp_dmat2x4',['../a00303.html#gab0cf4f7c9a264941519acad286e055ea',1,'glm']]], ['aligned_5flowp_5fdmat3',['aligned_lowp_dmat3',['../a00303.html#gac00e15efded8a57c9dec3aed0fb547e7',1,'glm']]], ['aligned_5flowp_5fdmat3x2',['aligned_lowp_dmat3x2',['../a00303.html#gaa281a47d5d627313984d0f8df993b648',1,'glm']]], ['aligned_5flowp_5fdmat3x3',['aligned_lowp_dmat3x3',['../a00303.html#ga7f3148a72355e39932d6855baca42ebc',1,'glm']]], ['aligned_5flowp_5fdmat3x4',['aligned_lowp_dmat3x4',['../a00303.html#gaea3ccc5ef5b178e6e49b4fa1427605d3',1,'glm']]], ['aligned_5flowp_5fdmat4',['aligned_lowp_dmat4',['../a00303.html#gab92c6d7d58d43dfb8147e9aedfe8351b',1,'glm']]], ['aligned_5flowp_5fdmat4x2',['aligned_lowp_dmat4x2',['../a00303.html#gaf806dfdaffb2e9f7681b1cd2825898ce',1,'glm']]], ['aligned_5flowp_5fdmat4x3',['aligned_lowp_dmat4x3',['../a00303.html#gab0931ac7807fa1428c7bbf249efcdf0d',1,'glm']]], ['aligned_5flowp_5fdmat4x4',['aligned_lowp_dmat4x4',['../a00303.html#gad8220a93d2fca2dd707821b4ab6f809e',1,'glm']]], ['aligned_5flowp_5fdvec1',['aligned_lowp_dvec1',['../a00303.html#ga7f8a2cc5a686e52b1615761f4978ca62',1,'glm']]], ['aligned_5flowp_5fdvec2',['aligned_lowp_dvec2',['../a00303.html#ga0e37cff4a43cca866101f0a35f01db6d',1,'glm']]], ['aligned_5flowp_5fdvec3',['aligned_lowp_dvec3',['../a00303.html#gab9e669c4efd52d3347fc6d5f6b20fd59',1,'glm']]], ['aligned_5flowp_5fdvec4',['aligned_lowp_dvec4',['../a00303.html#ga226f5ec7a953cea559c16fe3aff9924f',1,'glm']]], ['aligned_5flowp_5fivec1',['aligned_lowp_ivec1',['../a00303.html#ga1101d3a82b2e3f5f8828bd8f3adab3e1',1,'glm']]], ['aligned_5flowp_5fivec2',['aligned_lowp_ivec2',['../a00303.html#ga44c4accad582cfbd7226a19b83b0cadc',1,'glm']]], ['aligned_5flowp_5fivec3',['aligned_lowp_ivec3',['../a00303.html#ga65663f10a02e52cedcddbcfe36ddf38d',1,'glm']]], ['aligned_5flowp_5fivec4',['aligned_lowp_ivec4',['../a00303.html#gaae92fcec8b2e0328ffbeac31cc4fc419',1,'glm']]], ['aligned_5flowp_5fmat2',['aligned_lowp_mat2',['../a00303.html#ga17c424412207b00dba1cf587b099eea3',1,'glm']]], ['aligned_5flowp_5fmat2x2',['aligned_lowp_mat2x2',['../a00303.html#ga0e44aeb930a47f9cbf2db15b56433b0f',1,'glm']]], ['aligned_5flowp_5fmat2x3',['aligned_lowp_mat2x3',['../a00303.html#ga7dec6d96bc61312b1e56d137c9c74030',1,'glm']]], ['aligned_5flowp_5fmat2x4',['aligned_lowp_mat2x4',['../a00303.html#gaa694fab1f8df5f658846573ba8ffc563',1,'glm']]], ['aligned_5flowp_5fmat3',['aligned_lowp_mat3',['../a00303.html#ga1eb9076cc28ead5020fd3029fd0472c5',1,'glm']]], ['aligned_5flowp_5fmat3x2',['aligned_lowp_mat3x2',['../a00303.html#ga2d6639f0bd777bae1ee0eba71cd7bfdc',1,'glm']]], ['aligned_5flowp_5fmat3x3',['aligned_lowp_mat3x3',['../a00303.html#gaeaab04e378a90956eec8d68a99d777ed',1,'glm']]], ['aligned_5flowp_5fmat3x4',['aligned_lowp_mat3x4',['../a00303.html#ga1f03696ab066572c6c044e63edf635a2',1,'glm']]], ['aligned_5flowp_5fmat4',['aligned_lowp_mat4',['../a00303.html#ga25ea2f684e36aa5e978b4f2f86593824',1,'glm']]], ['aligned_5flowp_5fmat4x2',['aligned_lowp_mat4x2',['../a00303.html#ga2cb16c3fdfb15e0719d942ee3b548bc4',1,'glm']]], ['aligned_5flowp_5fmat4x3',['aligned_lowp_mat4x3',['../a00303.html#ga7e96981e872f17a780d9f1c22dc1f512',1,'glm']]], ['aligned_5flowp_5fmat4x4',['aligned_lowp_mat4x4',['../a00303.html#gadae3dcfc22d28c64d0548cbfd9d08719',1,'glm']]], ['aligned_5flowp_5fuvec1',['aligned_lowp_uvec1',['../a00303.html#gad09b93acc43c43423408d17a64f6d7ca',1,'glm']]], ['aligned_5flowp_5fuvec2',['aligned_lowp_uvec2',['../a00303.html#ga6f94fcd28dde906fc6cad5f742b55c1a',1,'glm']]], ['aligned_5flowp_5fuvec3',['aligned_lowp_uvec3',['../a00303.html#ga9e9f006970b1a00862e3e6e599eedd4c',1,'glm']]], ['aligned_5flowp_5fuvec4',['aligned_lowp_uvec4',['../a00303.html#ga46b1b0b9eb8625a5d69137bd66cd13dc',1,'glm']]], ['aligned_5flowp_5fvec1',['aligned_lowp_vec1',['../a00303.html#gab34aee3d5e121c543fea11d2c50ecc43',1,'glm']]], ['aligned_5flowp_5fvec2',['aligned_lowp_vec2',['../a00303.html#ga53ac5d252317f1fa43c2ef921857bf13',1,'glm']]], ['aligned_5flowp_5fvec3',['aligned_lowp_vec3',['../a00303.html#ga98f0b5cd65fce164ff1367c2a3b3aa1e',1,'glm']]], ['aligned_5flowp_5fvec4',['aligned_lowp_vec4',['../a00303.html#ga82f7275d6102593a69ce38cdad680409',1,'glm']]], ['aligned_5fmat2',['aligned_mat2',['../a00303.html#ga5a8a5f8c47cd7d5502dd9932f83472b9',1,'glm']]], ['aligned_5fmat2x2',['aligned_mat2x2',['../a00303.html#gabb04f459d81d753d278b2072e2375e8e',1,'glm']]], ['aligned_5fmat2x3',['aligned_mat2x3',['../a00303.html#ga832476bb1c59ef673db37433ff34e399',1,'glm']]], ['aligned_5fmat2x4',['aligned_mat2x4',['../a00303.html#gadab11a7504430825b648ff7c7e36b725',1,'glm']]], ['aligned_5fmat3',['aligned_mat3',['../a00303.html#ga43a92a24ca863e0e0f3b65834b3cf714',1,'glm']]], ['aligned_5fmat3x2',['aligned_mat3x2',['../a00303.html#ga5c0df24ba85eafafc0eb0c90690510ed',1,'glm']]], ['aligned_5fmat3x3',['aligned_mat3x3',['../a00303.html#gadb065dbe5c11271fef8cf2ea8608f187',1,'glm']]], ['aligned_5fmat3x4',['aligned_mat3x4',['../a00303.html#ga88061c72c997b94c420f2b0a60d9df26',1,'glm']]], ['aligned_5fmat4',['aligned_mat4',['../a00303.html#gab0fddcf95dd51cbcbf624ea7c40dfeb8',1,'glm']]], ['aligned_5fmat4x2',['aligned_mat4x2',['../a00303.html#gac9a2d0fb815fd5c2bd58b869c55e32d3',1,'glm']]], ['aligned_5fmat4x3',['aligned_mat4x3',['../a00303.html#ga452bbbfd26e244de216e4d004d50bb74',1,'glm']]], ['aligned_5fmat4x4',['aligned_mat4x4',['../a00303.html#ga8b8fb86973a0b768c5bd802c92fac1a1',1,'glm']]], ['aligned_5fmediump_5fbvec1',['aligned_mediump_bvec1',['../a00303.html#gadd3b8bd71a758f7fb0da8e525156f34e',1,'glm']]], ['aligned_5fmediump_5fbvec2',['aligned_mediump_bvec2',['../a00303.html#gacb183eb5e67ec0d0ea5a016cba962810',1,'glm']]], ['aligned_5fmediump_5fbvec3',['aligned_mediump_bvec3',['../a00303.html#gacfa4a542f1b20a5b63ad702dfb6fd587',1,'glm']]], ['aligned_5fmediump_5fbvec4',['aligned_mediump_bvec4',['../a00303.html#ga91bc1f513bb9b0fd60281d57ded9a48c',1,'glm']]], ['aligned_5fmediump_5fdmat2',['aligned_mediump_dmat2',['../a00303.html#ga62a2dfd668c91072b72c3109fc6cda28',1,'glm']]], ['aligned_5fmediump_5fdmat2x2',['aligned_mediump_dmat2x2',['../a00303.html#ga9b7feec247d378dd407ba81f56ea96c8',1,'glm']]], ['aligned_5fmediump_5fdmat2x3',['aligned_mediump_dmat2x3',['../a00303.html#gafcb189f4f93648fe7ca802ca4aca2eb8',1,'glm']]], ['aligned_5fmediump_5fdmat2x4',['aligned_mediump_dmat2x4',['../a00303.html#ga92f8873e3bbd5ca1323c8bbe5725cc5e',1,'glm']]], ['aligned_5fmediump_5fdmat3',['aligned_mediump_dmat3',['../a00303.html#ga6dc2832b747c00e0a0df621aba196960',1,'glm']]], ['aligned_5fmediump_5fdmat3x2',['aligned_mediump_dmat3x2',['../a00303.html#ga5a97f0355d801de3444d42c1d5b40438',1,'glm']]], ['aligned_5fmediump_5fdmat3x3',['aligned_mediump_dmat3x3',['../a00303.html#ga649d0acf01054b17e679cf00e150e025',1,'glm']]], ['aligned_5fmediump_5fdmat3x4',['aligned_mediump_dmat3x4',['../a00303.html#ga45e155a4840f69b2fa4ed8047a676860',1,'glm']]], ['aligned_5fmediump_5fdmat4',['aligned_mediump_dmat4',['../a00303.html#ga8a9376d82f0e946e25137eb55543e6ce',1,'glm']]], ['aligned_5fmediump_5fdmat4x2',['aligned_mediump_dmat4x2',['../a00303.html#gabc25e547f4de4af62403492532cd1b6d',1,'glm']]], ['aligned_5fmediump_5fdmat4x3',['aligned_mediump_dmat4x3',['../a00303.html#gae84f4763ecdc7457ecb7930bad12057c',1,'glm']]], ['aligned_5fmediump_5fdmat4x4',['aligned_mediump_dmat4x4',['../a00303.html#gaa292ebaa907afdecb2d5967fb4fb1247',1,'glm']]], ['aligned_5fmediump_5fdvec1',['aligned_mediump_dvec1',['../a00303.html#ga7180b685c581adb224406a7f831608e3',1,'glm']]], ['aligned_5fmediump_5fdvec2',['aligned_mediump_dvec2',['../a00303.html#ga9af1eabe22f569e70d9893be72eda0f5',1,'glm']]], ['aligned_5fmediump_5fdvec3',['aligned_mediump_dvec3',['../a00303.html#ga058e7ddab1428e47f2197bdd3a5a6953',1,'glm']]], ['aligned_5fmediump_5fdvec4',['aligned_mediump_dvec4',['../a00303.html#gaffd747ea2aea1e69c2ecb04e68521b21',1,'glm']]], ['aligned_5fmediump_5fivec1',['aligned_mediump_ivec1',['../a00303.html#ga20e63dd980b81af10cadbbe219316650',1,'glm']]], ['aligned_5fmediump_5fivec2',['aligned_mediump_ivec2',['../a00303.html#gaea13d89d49daca2c796aeaa82fc2c2f2',1,'glm']]], ['aligned_5fmediump_5fivec3',['aligned_mediump_ivec3',['../a00303.html#gabbf0f15e9c3d9868e43241ad018f82bd',1,'glm']]], ['aligned_5fmediump_5fivec4',['aligned_mediump_ivec4',['../a00303.html#ga6099dd7878d0a78101a4250d8cd2d736',1,'glm']]], ['aligned_5fmediump_5fmat2',['aligned_mediump_mat2',['../a00303.html#gaf6f041b212c57664d88bc6aefb7e36f3',1,'glm']]], ['aligned_5fmediump_5fmat2x2',['aligned_mediump_mat2x2',['../a00303.html#ga04bf49316ee777d42fcfe681ee37d7be',1,'glm']]], ['aligned_5fmediump_5fmat2x3',['aligned_mediump_mat2x3',['../a00303.html#ga26a0b61e444a51a37b9737cf4d84291b',1,'glm']]], ['aligned_5fmediump_5fmat2x4',['aligned_mediump_mat2x4',['../a00303.html#ga163facc9ed2692ea1300ed57c5d12b17',1,'glm']]], ['aligned_5fmediump_5fmat3',['aligned_mediump_mat3',['../a00303.html#ga3b76ba17ae5d53debeb6f7e55919a57c',1,'glm']]], ['aligned_5fmediump_5fmat3x2',['aligned_mediump_mat3x2',['../a00303.html#ga80dee705d714300378e0847f45059097',1,'glm']]], ['aligned_5fmediump_5fmat3x3',['aligned_mediump_mat3x3',['../a00303.html#ga721f5404caf40d68962dcc0529de71d9',1,'glm']]], ['aligned_5fmediump_5fmat3x4',['aligned_mediump_mat3x4',['../a00303.html#ga98f4dc6722a2541a990918c074075359',1,'glm']]], ['aligned_5fmediump_5fmat4',['aligned_mediump_mat4',['../a00303.html#gaeefee8317192174596852ce19b602720',1,'glm']]], ['aligned_5fmediump_5fmat4x2',['aligned_mediump_mat4x2',['../a00303.html#ga46f372a006345c252a41267657cc22c0',1,'glm']]], ['aligned_5fmediump_5fmat4x3',['aligned_mediump_mat4x3',['../a00303.html#ga0effece4545acdebdc2a5512a303110e',1,'glm']]], ['aligned_5fmediump_5fmat4x4',['aligned_mediump_mat4x4',['../a00303.html#ga312864244cae4e8f10f478cffd0f76de',1,'glm']]], ['aligned_5fmediump_5fuvec1',['aligned_mediump_uvec1',['../a00303.html#gacb78126ea2eb779b41c7511128ff1283',1,'glm']]], ['aligned_5fmediump_5fuvec2',['aligned_mediump_uvec2',['../a00303.html#ga081d53e0a71443d0b68ea61c870f9adc',1,'glm']]], ['aligned_5fmediump_5fuvec3',['aligned_mediump_uvec3',['../a00303.html#gad6fc921bdde2bdbc7e09b028e1e9b379',1,'glm']]], ['aligned_5fmediump_5fuvec4',['aligned_mediump_uvec4',['../a00303.html#ga73ea0c1ba31580e107d21270883f51fc',1,'glm']]], ['aligned_5fmediump_5fvec1',['aligned_mediump_vec1',['../a00303.html#ga6b797eec76fa471e300158f3453b3b2e',1,'glm']]], ['aligned_5fmediump_5fvec2',['aligned_mediump_vec2',['../a00303.html#ga026a55ddbf2bafb1432f1157a2708616',1,'glm']]], ['aligned_5fmediump_5fvec3',['aligned_mediump_vec3',['../a00303.html#ga3a25e494173f6a64637b08a1b50a2132',1,'glm']]], ['aligned_5fmediump_5fvec4',['aligned_mediump_vec4',['../a00303.html#ga320d1c661cff2ef214eb50241f2928b2',1,'glm']]], ['aligned_5fuvec1',['aligned_uvec1',['../a00303.html#ga1ff8ed402c93d280ff0597c1c5e7c548',1,'glm']]], ['aligned_5fuvec2',['aligned_uvec2',['../a00303.html#ga074137e3be58528d67041c223d49f398',1,'glm']]], ['aligned_5fuvec3',['aligned_uvec3',['../a00303.html#ga2a8d9c3046f89d854eb758adfa0811c0',1,'glm']]], ['aligned_5fuvec4',['aligned_uvec4',['../a00303.html#gabf842c45eea186170c267a328e3f3b7d',1,'glm']]], ['aligned_5fvec1',['aligned_vec1',['../a00303.html#ga05e6d4c908965d04191c2070a8d0a65e',1,'glm']]], ['aligned_5fvec2',['aligned_vec2',['../a00303.html#ga0682462f8096a226773e20fac993cde5',1,'glm']]], ['aligned_5fvec3',['aligned_vec3',['../a00303.html#ga7cf643b66664e0cd3c48759ae66c2bd0',1,'glm']]], ['aligned_5fvec4',['aligned_vec4',['../a00303.html#ga85d89e83cb8137e1be1446de8c3b643a',1,'glm']]], ['all',['all',['../a00374.html#ga87e53f50b679f5f95c5cb4780311b3dd',1,'glm']]], ['angle',['angle',['../a00257.html#ga8aa248b31d5ade470c87304df5eb7bd8',1,'glm::angle(qua< T, Q > const &x)'],['../a00367.html#ga2e2917b4cb75ca3d043ac15ff88f14e1',1,'glm::angle(vec< L, T, Q > const &x, vec< L, T, Q > const &y)']]], ['angleaxis',['angleAxis',['../a00257.html#ga5c0095cfcb218c75a4b79d7687950036',1,'glm']]], ['any',['any',['../a00374.html#ga911b3f8e41459dd551ccb6d385d91061',1,'glm']]], ['arecollinear',['areCollinear',['../a00368.html#ga13da4a787a2ff70e95d561fb19ff91b4',1,'glm']]], ['areorthogonal',['areOrthogonal',['../a00368.html#gac7b95b3f798e3c293262b2bdaad47c57',1,'glm']]], ['areorthonormal',['areOrthonormal',['../a00368.html#ga1b091c3d7f9ee3b0708311c001c293e3',1,'glm']]], ['asec',['asec',['../a00301.html#ga2c5b7f962c2c9ff684e6d2de48db1f10',1,'glm']]], ['asech',['asech',['../a00301.html#gaec7586dccfe431f850d006f3824b8ca6',1,'glm']]], ['asin',['asin',['../a00373.html#ga0552d2df4865fa8c3d7cfc3ec2caac73',1,'glm']]], ['asinh',['asinh',['../a00373.html#ga3ef16b501ee859fddde88e22192a5950',1,'glm']]], ['associated_5fmin_5fmax_2ehpp',['associated_min_max.hpp',['../a00007.html',1,'']]], ['associatedmax',['associatedMax',['../a00308.html#ga7d9c8785230c8db60f72ec8975f1ba45',1,'glm::associatedMax(T x, U a, T y, U b)'],['../a00308.html#ga5c6758bc50aa7fbe700f87123a045aad',1,'glm::associatedMax(vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b)'],['../a00308.html#ga0d169d6ce26b03248df175f39005d77f',1,'glm::associatedMax(T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b)'],['../a00308.html#ga4086269afabcb81dd7ded33cb3448653',1,'glm::associatedMax(vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b)'],['../a00308.html#gaec891e363d91abbf3a4443cf2f652209',1,'glm::associatedMax(T x, U a, T y, U b, T z, U c)'],['../a00308.html#gab84fdc35016a31e8cd0cbb8296bddf7c',1,'glm::associatedMax(vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c)'],['../a00308.html#gadd2a2002f4f2144bbc39eb2336dd2fba',1,'glm::associatedMax(T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b, T z, vec< L, U, Q > const &c)'],['../a00308.html#ga19f59d1141a51a3b2108a9807af78f7f',1,'glm::associatedMax(vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c)'],['../a00308.html#ga3038ffcb43eaa6af75897a99a5047ccc',1,'glm::associatedMax(T x, U a, T y, U b, T z, U c, T w, U d)'],['../a00308.html#gaf5ab0c428f8d1cd9e3b45fcfbf6423a6',1,'glm::associatedMax(vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c, vec< L, T, Q > const &w, vec< L, U, Q > const &d)'],['../a00308.html#ga11477c2c4b5b0bfd1b72b29df3725a9d',1,'glm::associatedMax(T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b, T z, vec< L, U, Q > const &c, T w, vec< L, U, Q > const &d)'],['../a00308.html#gab9c3dd74cac899d2c625b5767ea3b3fb',1,'glm::associatedMax(vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c, vec< L, T, Q > const &w, U d)']]], ['associatedmin',['associatedMin',['../a00308.html#gacc01bd272359572fc28437ae214a02df',1,'glm::associatedMin(T x, U a, T y, U b)'],['../a00308.html#gac2f0dff90948f2e44386a5eafd941d1c',1,'glm::associatedMin(vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b)'],['../a00308.html#gacfec519c820331d023ef53a511749319',1,'glm::associatedMin(T x, const vec< L, U, Q > &a, T y, const vec< L, U, Q > &b)'],['../a00308.html#ga4757c7cab2d809124a8525d0a9deeb37',1,'glm::associatedMin(vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b)'],['../a00308.html#gad0aa8f86259a26d839d34a3577a923fc',1,'glm::associatedMin(T x, U a, T y, U b, T z, U c)'],['../a00308.html#ga723e5411cebc7ffbd5c81ffeec61127d',1,'glm::associatedMin(vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c)'],['../a00308.html#ga432224ebe2085eaa2b63a077ecbbbff6',1,'glm::associatedMin(T x, U a, T y, U b, T z, U c, T w, U d)'],['../a00308.html#ga66b08118bc88f0494bcacb7cdb940556',1,'glm::associatedMin(vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c, vec< L, T, Q > const &w, vec< L, U, Q > const &d)'],['../a00308.html#ga78c28fde1a7080fb7420bd88e68c6c68',1,'glm::associatedMin(T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b, T z, vec< L, U, Q > const &c, T w, vec< L, U, Q > const &d)'],['../a00308.html#ga2db7e351994baee78540a562d4bb6d3b',1,'glm::associatedMin(vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c, vec< L, T, Q > const &w, U d)']]], ['atan',['atan',['../a00373.html#gac61629f3a4aa14057e7a8cae002291db',1,'glm::atan(vec< L, T, Q > const &y, vec< L, T, Q > const &x)'],['../a00373.html#ga5229f087eaccbc466f1c609ce3107b95',1,'glm::atan(vec< L, T, Q > const &y_over_x)']]], ['atan2',['atan2',['../a00315.html#gac63011205bf6d0be82589dc56dd26708',1,'glm::atan2(T x, T y)'],['../a00315.html#ga83bc41bd6f89113ee8006576b12bfc50',1,'glm::atan2(const vec< 2, T, Q > &x, const vec< 2, T, Q > &y)'],['../a00315.html#gac39314f5087e7e51e592897cabbc1927',1,'glm::atan2(const vec< 3, T, Q > &x, const vec< 3, T, Q > &y)'],['../a00315.html#gaba86c28da7bf5bdac64fecf7d56e8ff3',1,'glm::atan2(const vec< 4, T, Q > &x, const vec< 4, T, Q > &y)']]], ['atanh',['atanh',['../a00373.html#gabc925650e618357d07da255531658b87',1,'glm']]], ['axis',['axis',['../a00257.html#ga764254f10248b505e936e5309a88c23d',1,'glm']]], ['axisangle',['axisAngle',['../a00337.html#gafefe32ce5a90a135287ba34fac3623bc',1,'glm']]], ['axisanglematrix',['axisAngleMatrix',['../a00337.html#ga3a788e2f5223397df5c426413ecc2f6b',1,'glm']]], ['angle_20and_20trigonometry_20functions',['Angle and Trigonometry Functions',['../a00373.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_1.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_1.js ================================================ var searchData= [ ['backeasein',['backEaseIn',['../a00318.html#ga93cddcdb6347a44d5927cc2bf2570816',1,'glm::backEaseIn(genType const &a)'],['../a00318.html#ga33777c9dd98f61d9472f96aafdf2bd36',1,'glm::backEaseIn(genType const &a, genType const &o)']]], ['backeaseinout',['backEaseInOut',['../a00318.html#gace6d24722a2f6722b56398206eb810bb',1,'glm::backEaseInOut(genType const &a)'],['../a00318.html#ga68a7b760f2afdfab298d5cd6d7611fb1',1,'glm::backEaseInOut(genType const &a, genType const &o)']]], ['backeaseout',['backEaseOut',['../a00318.html#gabf25069fa906413c858fd46903d520b9',1,'glm::backEaseOut(genType const &a)'],['../a00318.html#ga640c1ac6fe9d277a197da69daf60ee4f',1,'glm::backEaseOut(genType const &a, genType const &o)']]], ['ballrand',['ballRand',['../a00300.html#ga7c53b7797f3147af68a11c767679fa3f',1,'glm']]], ['bit_2ehpp',['bit.hpp',['../a00008.html',1,'']]], ['bitcount',['bitCount',['../a00370.html#ga44abfe3379e11cbd29425a843420d0d6',1,'glm::bitCount(genType v)'],['../a00370.html#gaac7b15e40bdea8d9aa4c4cb34049f7b5',1,'glm::bitCount(vec< L, T, Q > const &v)']]], ['bitfield_2ehpp',['bitfield.hpp',['../a00009.html',1,'']]], ['bitfielddeinterleave',['bitfieldDeinterleave',['../a00288.html#ga091d934233a2e121df91b8c7230357c8',1,'glm::bitfieldDeinterleave(glm::uint16 x)'],['../a00288.html#ga7d1cc24dfbcdd932c3a2abbb76235f98',1,'glm::bitfieldDeinterleave(glm::uint32 x)'],['../a00288.html#ga8dbb8c87092f33bd815dd8a840be5d60',1,'glm::bitfieldDeinterleave(glm::uint64 x)']]], ['bitfieldextract',['bitfieldExtract',['../a00370.html#ga346b25ab11e793e91a4a69c8aa6819f2',1,'glm']]], ['bitfieldfillone',['bitfieldFillOne',['../a00288.html#ga46f9295abe3b5c7658f5b13c7f819f0a',1,'glm::bitfieldFillOne(genIUType Value, int FirstBit, int BitCount)'],['../a00288.html#ga3e96dd1f0a4bc892f063251ed118c0c1',1,'glm::bitfieldFillOne(vec< L, T, Q > const &Value, int FirstBit, int BitCount)']]], ['bitfieldfillzero',['bitfieldFillZero',['../a00288.html#ga697b86998b7d74ee0a69d8e9f8819fee',1,'glm::bitfieldFillZero(genIUType Value, int FirstBit, int BitCount)'],['../a00288.html#ga0d16c9acef4be79ea9b47c082a0cf7c2',1,'glm::bitfieldFillZero(vec< L, T, Q > const &Value, int FirstBit, int BitCount)']]], ['bitfieldinsert',['bitfieldInsert',['../a00370.html#ga2e82992340d421fadb61a473df699b20',1,'glm']]], ['bitfieldinterleave',['bitfieldInterleave',['../a00288.html#ga24cad0069f9a0450abd80b3e89501adf',1,'glm::bitfieldInterleave(int8 x, int8 y)'],['../a00288.html#ga9a4976a529aec2cee56525e1165da484',1,'glm::bitfieldInterleave(uint8 x, uint8 y)'],['../a00288.html#ga4a76bbca39c40153f3203d0a1926e142',1,'glm::bitfieldInterleave(u8vec2 const &v)'],['../a00288.html#gac51c33a394593f0631fa3aa5bb778809',1,'glm::bitfieldInterleave(int16 x, int16 y)'],['../a00288.html#ga94f3646a5667f4be56f8dcf3310e963f',1,'glm::bitfieldInterleave(uint16 x, uint16 y)'],['../a00288.html#ga406c4ee56af4ca37a73f449f154eca3e',1,'glm::bitfieldInterleave(u16vec2 const &v)'],['../a00288.html#gaebb756a24a0784e3d6fba8bd011ab77a',1,'glm::bitfieldInterleave(int32 x, int32 y)'],['../a00288.html#ga2f1e2b3fe699e7d897ae38b2115ddcbd',1,'glm::bitfieldInterleave(uint32 x, uint32 y)'],['../a00288.html#ga8cb17574d60abd6ade84bc57c10e8f78',1,'glm::bitfieldInterleave(u32vec2 const &v)'],['../a00288.html#ga8fdb724dccd4a07d57efc01147102137',1,'glm::bitfieldInterleave(int8 x, int8 y, int8 z)'],['../a00288.html#ga9fc2a0dd5dcf8b00e113f272a5feca93',1,'glm::bitfieldInterleave(uint8 x, uint8 y, uint8 z)'],['../a00288.html#gaa901c36a842fa5d126ea650549f17b24',1,'glm::bitfieldInterleave(int16 x, int16 y, int16 z)'],['../a00288.html#ga3afd6d38881fe3948c53d4214d2197fd',1,'glm::bitfieldInterleave(uint16 x, uint16 y, uint16 z)'],['../a00288.html#gad2075d96a6640121edaa98ea534102ca',1,'glm::bitfieldInterleave(int32 x, int32 y, int32 z)'],['../a00288.html#gab19fbc739fc0cf7247978602c36f7da8',1,'glm::bitfieldInterleave(uint32 x, uint32 y, uint32 z)'],['../a00288.html#ga8a44ae22f5c953b296c42d067dccbe6d',1,'glm::bitfieldInterleave(int8 x, int8 y, int8 z, int8 w)'],['../a00288.html#ga14bb274d54a3c26f4919dd7ed0dd0c36',1,'glm::bitfieldInterleave(uint8 x, uint8 y, uint8 z, uint8 w)'],['../a00288.html#ga180a63161e1319fbd5a53c84d0429c7a',1,'glm::bitfieldInterleave(int16 x, int16 y, int16 z, int16 w)'],['../a00288.html#gafca8768671a14c8016facccb66a89f26',1,'glm::bitfieldInterleave(uint16 x, uint16 y, uint16 z, uint16 w)']]], ['bitfieldreverse',['bitfieldReverse',['../a00370.html#ga750a1d92464489b7711dee67aa3441b6',1,'glm']]], ['bitfieldrotateleft',['bitfieldRotateLeft',['../a00288.html#ga2eb49678a344ce1495bdb5586d9896b9',1,'glm::bitfieldRotateLeft(genIUType In, int Shift)'],['../a00288.html#gae186317091b1a39214ebf79008d44a1e',1,'glm::bitfieldRotateLeft(vec< L, T, Q > const &In, int Shift)']]], ['bitfieldrotateright',['bitfieldRotateRight',['../a00288.html#ga1c33d075c5fb8bd8dbfd5092bfc851ca',1,'glm::bitfieldRotateRight(genIUType In, int Shift)'],['../a00288.html#ga590488e1fc00a6cfe5d3bcaf93fbfe88',1,'glm::bitfieldRotateRight(vec< L, T, Q > const &In, int Shift)']]], ['bool1',['bool1',['../a00315.html#gaddcd7aa2e30e61af5b38660613d3979e',1,'glm']]], ['bool1x1',['bool1x1',['../a00315.html#ga7f895c936f0c29c8729afbbf22806090',1,'glm']]], ['bool2',['bool2',['../a00315.html#gaa09ab65ec9c3c54305ff502e2b1fe6d9',1,'glm']]], ['bool2x2',['bool2x2',['../a00315.html#gadb3703955e513632f98ba12fe051ba3e',1,'glm']]], ['bool2x3',['bool2x3',['../a00315.html#ga9ae6ee155d0f90cb1ae5b6c4546738a0',1,'glm']]], ['bool2x4',['bool2x4',['../a00315.html#ga4d7fa65be8e8e4ad6d920b45c44e471f',1,'glm']]], ['bool3',['bool3',['../a00315.html#ga99629f818737f342204071ef8296b2ed',1,'glm']]], ['bool3x2',['bool3x2',['../a00315.html#gac7d7311f7e0fa8b6163d96dab033a755',1,'glm']]], ['bool3x3',['bool3x3',['../a00315.html#ga6c97b99aac3e302053ffb58aace9033c',1,'glm']]], ['bool3x4',['bool3x4',['../a00315.html#gae7d6b679463d37d6c527d478fb470fdf',1,'glm']]], ['bool4',['bool4',['../a00315.html#ga13c3200b82708f73faac6d7f09ec91a3',1,'glm']]], ['bool4x2',['bool4x2',['../a00315.html#ga9ed830f52408b2f83c085063a3eaf1d0',1,'glm']]], ['bool4x3',['bool4x3',['../a00315.html#gad0f5dc7f22c2065b1b06d57f1c0658fe',1,'glm']]], ['bool4x4',['bool4x4',['../a00315.html#ga7d2a7d13986602ae2896bfaa394235d4',1,'glm']]], ['bounceeasein',['bounceEaseIn',['../a00318.html#gaac30767f2e430b0c3fc859a4d59c7b5b',1,'glm']]], ['bounceeaseinout',['bounceEaseInOut',['../a00318.html#gadf9f38eff1e5f4c2fa5b629a25ae413e',1,'glm']]], ['bounceeaseout',['bounceEaseOut',['../a00318.html#ga94007005ff0dcfa0749ebfa2aec540b2',1,'glm']]], ['bvec1',['bvec1',['../a00265.html#ga067af382616d93f8e850baae5154cdcc',1,'glm']]], ['bvec2',['bvec2',['../a00281.html#ga0b6123e03653cc1bbe366fc55238a934',1,'glm']]], ['bvec3',['bvec3',['../a00281.html#ga197151b72dfaf289daf98b361760ffe7',1,'glm']]], ['bvec4',['bvec4',['../a00281.html#ga9f7b9712373ff4342d9114619b55f5e3',1,'glm']]], ['byte',['byte',['../a00354.html#ga3005cb0d839d546c616becfa6602c607',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_10.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_10.js ================================================ var searchData= [ ['stable_20extensions',['Stable extensions',['../a00285.html',1,'']]], ['saturate',['saturate',['../a00315.html#ga0fd09e616d122bc2ed9726682ffd44b7',1,'glm::saturate(T x)'],['../a00315.html#gaee97b8001c794a78a44f5d59f62a8aba',1,'glm::saturate(const vec< 2, T, Q > &x)'],['../a00315.html#ga39bfe3a421286ee31680d45c31ccc161',1,'glm::saturate(const vec< 3, T, Q > &x)'],['../a00315.html#ga356f8c3a7e7d6376d3d4b0a026407183',1,'glm::saturate(const vec< 4, T, Q > &x)']]], ['saturation',['saturation',['../a00312.html#ga01a97152b44e1550edcac60bd849e884',1,'glm::saturation(T const s)'],['../a00312.html#ga2156cea600e90148ece5bc96fd6db43a',1,'glm::saturation(T const s, vec< 3, T, Q > const &color)'],['../a00312.html#gaba0eacee0736dae860e9371cc1ae4785',1,'glm::saturation(T const s, vec< 4, T, Q > const &color)']]], ['scalar_5fcommon_2ehpp',['scalar_common.hpp',['../a00144.html',1,'']]], ['scalar_5fconstants_2ehpp',['scalar_constants.hpp',['../a00145.html',1,'']]], ['scalar_5fint_5fsized_2ehpp',['scalar_int_sized.hpp',['../a00146.html',1,'']]], ['scalar_5finteger_2ehpp',['scalar_integer.hpp',['../a00147.html',1,'']]], ['scalar_5fmultiplication_2ehpp',['scalar_multiplication.hpp',['../a00148.html',1,'']]], ['scalar_5fuint_5fsized_2ehpp',['scalar_uint_sized.hpp',['../a00151.html',1,'']]], ['scalar_5fulp_2ehpp',['scalar_ulp.hpp',['../a00152.html',1,'']]], ['scale',['scale',['../a00247.html#ga05051adbee603fb3c5095d8cf5cc229b',1,'glm::scale(mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &v)'],['../a00341.html#gadb47d2ad2bd984b213e8ff7d9cd8154e',1,'glm::scale(mat< 3, 3, T, Q > const &m, vec< 2, T, Q > const &v)'],['../a00362.html#gafbeefee8fec884d566e4ada0049174d7',1,'glm::scale(vec< 3, T, Q > const &v)']]], ['scalebias',['scaleBias',['../a00363.html#gabf249498b236e62c983d90d30d63c99c',1,'glm::scaleBias(T scale, T bias)'],['../a00363.html#gae2bdd91a76759fecfbaef97e3020aa8e',1,'glm::scaleBias(mat< 4, 4, T, Q > const &m, T scale, T bias)']]], ['sec',['sec',['../a00301.html#gae4bcbebee670c5ea155f0777b3acbd84',1,'glm']]], ['sech',['sech',['../a00301.html#ga9a5cfd1e7170104a7b33863b1b75e5ae',1,'glm']]], ['shearx',['shearX',['../a00341.html#ga2a118ece5db1e2022112b954846012af',1,'glm']]], ['shearx2d',['shearX2D',['../a00363.html#gabf714b8a358181572b32a45555f71948',1,'glm']]], ['shearx3d',['shearX3D',['../a00363.html#ga73e867c6cd4d700fe2054437e56106c4',1,'glm']]], ['sheary',['shearY',['../a00341.html#ga717f1833369c1ac4a40e4ac015af885e',1,'glm']]], ['sheary2d',['shearY2D',['../a00363.html#gac7998d0763d9181550c77e8af09a182c',1,'glm']]], ['sheary3d',['shearY3D',['../a00363.html#gade5bb65ffcb513973db1a1314fb5cfac',1,'glm']]], ['shearz3d',['shearZ3D',['../a00363.html#ga6591e0a3a9d2c9c0b6577bb4dace0255',1,'glm']]], ['shortmix',['shortMix',['../a00352.html#gadc576cc957adc2a568cdcbc3799175bc',1,'glm']]], ['sign',['sign',['../a00241.html#ga1e2e5cfff800056540e32f6c9b604b28',1,'glm::sign(vec< L, T, Q > const &x)'],['../a00333.html#ga04ef803a24f3d4f8c67dbccb33b0fce0',1,'glm::sign(vec< L, T, Q > const &x, vec< L, T, Q > const &base)']]], ['simplex',['simplex',['../a00297.html#ga8122468c69015ff397349a7dcc638b27',1,'glm']]], ['sin',['sin',['../a00373.html#ga29747fd108cb7292ae5a284f69691a69',1,'glm']]], ['sineeasein',['sineEaseIn',['../a00318.html#gafb338ac6f6b2bcafee50e3dca5201dbf',1,'glm']]], ['sineeaseinout',['sineEaseInOut',['../a00318.html#gaa46e3d5fbf7a15caa28eff9ef192d7c7',1,'glm']]], ['sineeaseout',['sineEaseOut',['../a00318.html#gab3e454f883afc1606ef91363881bf5a3',1,'glm']]], ['sinh',['sinh',['../a00373.html#gac7c39ff21809e281552b4dbe46f4a39d',1,'glm']]], ['sint',['sint',['../a00330.html#gada7e83fdfe943aba4f1d5bf80cb66f40',1,'glm']]], ['size1',['size1',['../a00359.html#gaeb877ac8f9a3703961736c1c5072cf68',1,'glm']]], ['size1_5ft',['size1_t',['../a00359.html#gaaf6accc57f5aa50447ba7310ce3f0d6f',1,'glm']]], ['size2',['size2',['../a00359.html#ga1bfe8c4975ff282bce41be2bacd524fe',1,'glm']]], ['size2_5ft',['size2_t',['../a00359.html#ga5976c25657d4e2b5f73f39364c3845d6',1,'glm']]], ['size3',['size3',['../a00359.html#gae1c72956d0359b0db332c6c8774d3b04',1,'glm']]], ['size3_5ft',['size3_t',['../a00359.html#gaf2654983c60d641fd3808e65a8dfad8d',1,'glm']]], ['size4',['size4',['../a00359.html#ga3a19dde617beaf8ce3cfc2ac5064e9aa',1,'glm']]], ['size4_5ft',['size4_t',['../a00359.html#gaa423efcea63675a2df26990dbcb58656',1,'glm']]], ['slerp',['slerp',['../a00248.html#gae7fc3c945be366b9942b842f55da428a',1,'glm::slerp(qua< T, Q > const &x, qua< T, Q > const &y, T a)'],['../a00356.html#ga8b11b18ce824174ea1a5a69ea14e2cee',1,'glm::slerp(vec< 3, T, Q > const &x, vec< 3, T, Q > const &y, T const &a)']]], ['smoothstep',['smoothstep',['../a00241.html#ga562edf7eca082cc5b7a0aaf180436daf',1,'glm']]], ['sphericalrand',['sphericalRand',['../a00300.html#ga22f90fcaccdf001c516ca90f6428e138',1,'glm']]], ['spline_2ehpp',['spline.hpp',['../a00154.html',1,'']]], ['sqrt',['sqrt',['../a00242.html#gaa83e5f1648b7ccdf33b87c07c76cb77c',1,'glm::sqrt(vec< L, T, Q > const &v)'],['../a00256.html#ga64b7b255ed7bcba616fe6b44470b022e',1,'glm::sqrt(qua< T, Q > const &q)'],['../a00330.html#ga7ce36693a75879ccd9bb10167cfa722d',1,'glm::sqrt(int x)'],['../a00330.html#ga1975d318978d6dacf78b6444fa5ed7bc',1,'glm::sqrt(uint x)']]], ['squad',['squad',['../a00352.html#ga0b9bf3459e132ad8a18fe970669e3e35',1,'glm']]], ['std_5fbased_5ftype_2ehpp',['std_based_type.hpp',['../a00155.html',1,'']]], ['step',['step',['../a00241.html#ga015a1261ff23e12650211aa872863cce',1,'glm::step(genType edge, genType x)'],['../a00241.html#ga8f9a911a48ef244b51654eaefc81c551',1,'glm::step(T edge, vec< L, T, Q > const &x)'],['../a00241.html#gaf4a5fc81619c7d3e8b22f53d4a098c7f',1,'glm::step(vec< L, T, Q > const &edge, vec< L, T, Q > const &x)']]], ['string_5fcast_2ehpp',['string_cast.hpp',['../a00156.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_11.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_11.js ================================================ var searchData= [ ['tan',['tan',['../a00373.html#ga293a34cfb9f0115cc606b4a97c84f11f',1,'glm']]], ['tanh',['tanh',['../a00373.html#gaa1bccbfdcbe40ed2ffcddc2aa8bfd0f1',1,'glm']]], ['texture_2ehpp',['texture.hpp',['../a00157.html',1,'']]], ['third',['third',['../a00290.html#ga3077c6311010a214b69ddc8214ec13b5',1,'glm']]], ['three_5fover_5ftwo_5fpi',['three_over_two_pi',['../a00290.html#gae94950df74b0ce382b1fc1d978ef7394',1,'glm']]], ['to_5fstring',['to_string',['../a00360.html#ga8f0dced1fd45e67e2d77e80ab93c7af5',1,'glm']]], ['tomat3',['toMat3',['../a00352.html#gaab0afabb894b28a983fb8ec610409d56',1,'glm']]], ['tomat4',['toMat4',['../a00352.html#gadfa2c77094e8cc9adad321d938855ffb',1,'glm']]], ['toquat',['toQuat',['../a00352.html#ga798de5d186499c9a9231cd92c8afaef1',1,'glm::toQuat(mat< 3, 3, T, Q > const &x)'],['../a00352.html#ga5eb36f51e1638e710451eba194dbc011',1,'glm::toQuat(mat< 4, 4, T, Q > const &x)']]], ['transform_2ehpp',['transform.hpp',['../a00158.html',1,'']]], ['transform2_2ehpp',['transform2.hpp',['../a00159.html',1,'']]], ['translate',['translate',['../a00247.html#ga1a4ecc4ad82652b8fb14dcb087879284',1,'glm::translate(mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &v)'],['../a00341.html#gaf4573ae47c80938aa9053ef6a33755ab',1,'glm::translate(mat< 3, 3, T, Q > const &m, vec< 2, T, Q > const &v)'],['../a00362.html#ga309a30e652e58c396e2c3d4db3ee7658',1,'glm::translate(vec< 3, T, Q > const &v)']]], ['transpose',['transpose',['../a00371.html#gae679d841da8ce9dbcc6c2d454f15bc35',1,'glm']]], ['trianglenormal',['triangleNormal',['../a00344.html#gaff1cb5496925dfa7962df457772a7f35',1,'glm']]], ['trigonometric_2ehpp',['trigonometric.hpp',['../a00160.html',1,'']]], ['trunc',['trunc',['../a00241.html#gaf9375e3e06173271d49e6ffa3a334259',1,'glm']]], ['tweakedinfiniteperspective',['tweakedInfinitePerspective',['../a00243.html#gaaeacc04a2a6f4b18c5899d37e7bb3ef9',1,'glm::tweakedInfinitePerspective(T fovy, T aspect, T near)'],['../a00243.html#gaf5b3c85ff6737030a1d2214474ffa7a8',1,'glm::tweakedInfinitePerspective(T fovy, T aspect, T near, T ep)']]], ['two_5fover_5fpi',['two_over_pi',['../a00290.html#ga74eadc8a211253079683219a3ea0462a',1,'glm']]], ['two_5fover_5froot_5fpi',['two_over_root_pi',['../a00290.html#ga5827301817640843cf02026a8d493894',1,'glm']]], ['two_5fpi',['two_pi',['../a00290.html#gaa5276a4617566abcfe49286f40e3a256',1,'glm']]], ['two_5fthirds',['two_thirds',['../a00290.html#ga9b4d2f4322edcf63a6737b92a29dd1f5',1,'glm']]], ['type_5fmat2x2_2ehpp',['type_mat2x2.hpp',['../a00165.html',1,'']]], ['type_5fmat2x3_2ehpp',['type_mat2x3.hpp',['../a00166.html',1,'']]], ['type_5fmat2x4_2ehpp',['type_mat2x4.hpp',['../a00167.html',1,'']]], ['type_5fmat3x2_2ehpp',['type_mat3x2.hpp',['../a00168.html',1,'']]], ['type_5fmat3x3_2ehpp',['type_mat3x3.hpp',['../a00169.html',1,'']]], ['type_5fmat3x4_2ehpp',['type_mat3x4.hpp',['../a00170.html',1,'']]], ['type_5fmat4x2_2ehpp',['type_mat4x2.hpp',['../a00171.html',1,'']]], ['type_5fmat4x3_2ehpp',['type_mat4x3.hpp',['../a00172.html',1,'']]], ['type_5fmat4x4_2ehpp',['type_mat4x4.hpp',['../a00173.html',1,'']]], ['type_5fprecision_2ehpp',['type_precision.hpp',['../a00174.html',1,'']]], ['type_5fptr_2ehpp',['type_ptr.hpp',['../a00175.html',1,'']]], ['type_5fquat_2ehpp',['type_quat.hpp',['../a00176.html',1,'']]], ['type_5ftrait_2ehpp',['type_trait.hpp',['../a00177.html',1,'']]], ['type_5fvec1_2ehpp',['type_vec1.hpp',['../a00178.html',1,'']]], ['type_5fvec2_2ehpp',['type_vec2.hpp',['../a00179.html',1,'']]], ['type_5fvec3_2ehpp',['type_vec3.hpp',['../a00180.html',1,'']]], ['type_5fvec4_2ehpp',['type_vec4.hpp',['../a00181.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_12.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_12.js ================================================ var searchData= [ ['u16',['u16',['../a00304.html#gaa2d7acc0adb536fab71fe261232a40ff',1,'glm']]], ['u16vec1',['u16vec1',['../a00304.html#ga08c05ba8ffb19f5d14ab584e1e9e9ee5',1,'glm::u16vec1()'],['../a00346.html#ga52cc069a92e126c3a8dcde93424d2ef0',1,'glm::gtx::u16vec1()']]], ['u16vec2',['u16vec2',['../a00304.html#ga2a78447eb9d66a114b193f4a25899c16',1,'glm']]], ['u16vec3',['u16vec3',['../a00304.html#ga1c522ca821c27b862fe51cf4024b064b',1,'glm']]], ['u16vec4',['u16vec4',['../a00304.html#ga529496d75775fb656a07993ea9af2450',1,'glm']]], ['u32',['u32',['../a00304.html#ga8165913e068444f7842302d40ba897b9',1,'glm']]], ['u32vec1',['u32vec1',['../a00304.html#gae627372cfd5f20dd87db490387b71195',1,'glm::u32vec1()'],['../a00346.html#ga9bbc1e14aea65cba5e2dcfef6a67d9f3',1,'glm::gtx::u32vec1()']]], ['u32vec2',['u32vec2',['../a00304.html#ga2a266e46ee218d0c680f12b35c500cc0',1,'glm']]], ['u32vec3',['u32vec3',['../a00304.html#gae267358ff2a41d156d97f5762630235a',1,'glm']]], ['u32vec4',['u32vec4',['../a00304.html#ga31cef34e4cd04840c54741ff2f7005f0',1,'glm']]], ['u64',['u64',['../a00304.html#gaf3f312156984c365e9f65620354da70b',1,'glm']]], ['u64vec1',['u64vec1',['../a00304.html#gaf09f3ca4b671a4a4f84505eb4cc865fd',1,'glm::u64vec1()'],['../a00346.html#ga818de170e2584ab037130f2881925974',1,'glm::gtx::u64vec1()']]], ['u64vec2',['u64vec2',['../a00304.html#gaef3824ed4fe435a019c5b9dddf53fec5',1,'glm']]], ['u64vec3',['u64vec3',['../a00304.html#ga489b89ba93d4f7b3934df78debc52276',1,'glm']]], ['u64vec4',['u64vec4',['../a00304.html#ga3945dd6515d4498cb603e65ff867ab03',1,'glm']]], ['u8',['u8',['../a00304.html#gaecc7082561fc9028b844b6cf3d305d36',1,'glm']]], ['u8vec1',['u8vec1',['../a00304.html#ga29b349e037f0b24320b4548a143daee2',1,'glm::u8vec1()'],['../a00346.html#ga5853fe457f4c8a6bc09343d0e9833980',1,'glm::gtx::u8vec1()']]], ['u8vec2',['u8vec2',['../a00304.html#ga518b8d948a6b4ddb72f84d5c3b7b6611',1,'glm']]], ['u8vec3',['u8vec3',['../a00304.html#ga7c5706f6bbe5282e5598acf7e7b377e2',1,'glm']]], ['u8vec4',['u8vec4',['../a00304.html#ga20779a61de2fd526a17f12fe53ec46b1',1,'glm']]], ['uaddcarry',['uaddCarry',['../a00370.html#gaedcec48743632dff6786bcc492074b1b',1,'glm']]], ['uint16',['uint16',['../a00263.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e',1,'glm']]], ['uint16_5ft',['uint16_t',['../a00304.html#ga91f91f411080c37730856ff5887f5bcf',1,'glm']]], ['uint32',['uint32',['../a00263.html#ga1134b580f8da4de94ca6b1de4d37975e',1,'glm']]], ['uint32_5ft',['uint32_t',['../a00304.html#ga2171d9dc1fefb1c82e2817f45b622eac',1,'glm']]], ['uint64',['uint64',['../a00263.html#gab630f76c26b50298187f7889104d4b9c',1,'glm']]], ['uint64_5ft',['uint64_t',['../a00304.html#ga3999d3e7ff22025c16ddb601e14dfdee',1,'glm']]], ['uint8',['uint8',['../a00263.html#gadde6aaee8457bee49c2a92621fe22b79',1,'glm']]], ['uint8_5ft',['uint8_t',['../a00304.html#ga28d97808322d3c92186e4a0c067d7e8e',1,'glm']]], ['uintbitstofloat',['uintBitsToFloat',['../a00241.html#gab2bae0d15dcdca6093f88f76b3975d97',1,'glm::uintBitsToFloat(uint const &v)'],['../a00241.html#ga97f46b5f7b42fe44482e13356eb394ae',1,'glm::uintBitsToFloat(vec< L, uint, Q > const &v)']]], ['ulp_2ehpp',['ulp.hpp',['../a00182.html',1,'']]], ['umat2',['umat2',['../a00294.html#ga4cae85566f900debf930c41944b64691',1,'glm']]], ['umat2x2',['umat2x2',['../a00294.html#gabf8acdd33ce8951051edbca5200898aa',1,'glm']]], ['umat2x3',['umat2x3',['../a00294.html#ga1870da7578d5022b973a83155d386ab3',1,'glm']]], ['umat2x4',['umat2x4',['../a00294.html#ga57936a3998e992370e59a223e0ee4fd4',1,'glm']]], ['umat3',['umat3',['../a00294.html#ga5085e3ff02abbac5e537eb7b89ab63b6',1,'glm']]], ['umat3x2',['umat3x2',['../a00294.html#ga9cd7fa637a4a6788337f45231fad9e1a',1,'glm']]], ['umat3x3',['umat3x3',['../a00294.html#ga1f2cfcf3357db0cdf31fcb15e3c6bafb',1,'glm']]], ['umat3x4',['umat3x4',['../a00294.html#gae7c78ff3fc4309605ab0fa186c8d48ba',1,'glm']]], ['umat4',['umat4',['../a00294.html#ga38bc7bb6494e344185df596deeb4544c',1,'glm']]], ['umat4x2',['umat4x2',['../a00294.html#ga70fa2d05896aa83cbc8c07672a429b53',1,'glm']]], ['umat4x3',['umat4x3',['../a00294.html#ga87581417945411f75cb31dd6ca1dba98',1,'glm']]], ['umat4x4',['umat4x4',['../a00294.html#gaf72e6d399c42985db6872c50f53d7eb8',1,'glm']]], ['umulextended',['umulExtended',['../a00370.html#ga732e2fb56db57ea541c7e5c92b7121be',1,'glm']]], ['unpackdouble2x32',['unpackDouble2x32',['../a00372.html#ga5f4296dc5f12f0aa67ac05b8bb322483',1,'glm']]], ['unpackf2x11_5f1x10',['unpackF2x11_1x10',['../a00298.html#ga2b1fd1e854705b1345e98409e0a25e50',1,'glm']]], ['unpackf3x9_5fe1x5',['unpackF3x9_E1x5',['../a00298.html#gab9e60ebe3ad3eeced6a9ec6eb876d74e',1,'glm']]], ['unpackhalf',['unpackHalf',['../a00298.html#ga30d6b2f1806315bcd6047131f547d33b',1,'glm']]], ['unpackhalf1x16',['unpackHalf1x16',['../a00298.html#gac37dedaba24b00adb4ec6e8f92c19dbf',1,'glm']]], ['unpackhalf2x16',['unpackHalf2x16',['../a00372.html#gaf59b52e6b28da9335322c4ae19b5d745',1,'glm']]], ['unpackhalf4x16',['unpackHalf4x16',['../a00298.html#ga57dfc41b2eb20b0ac00efae7d9c49dcd',1,'glm']]], ['unpacki3x10_5f1x2',['unpackI3x10_1x2',['../a00298.html#ga9a05330e5490be0908d3b117d82aff56',1,'glm']]], ['unpackint2x16',['unpackInt2x16',['../a00298.html#gaccde055882918a3175de82f4ca8b7d8e',1,'glm']]], ['unpackint2x32',['unpackInt2x32',['../a00298.html#gab297c0bfd38433524791eb0584d8f08d',1,'glm']]], ['unpackint2x8',['unpackInt2x8',['../a00298.html#gab0c59f1e259fca9e68adb2207a6b665e',1,'glm']]], ['unpackint4x16',['unpackInt4x16',['../a00298.html#ga52c154a9b232b62c22517a700cc0c78c',1,'glm']]], ['unpackint4x8',['unpackInt4x8',['../a00298.html#ga1cd8d2038cdd33a860801aa155a26221',1,'glm']]], ['unpackrgbm',['unpackRGBM',['../a00298.html#ga5c1ec97894b05ea21a05aea4f0204a02',1,'glm']]], ['unpacksnorm',['unpackSnorm',['../a00298.html#ga6d49b31e5c3f9df8e1f99ab62b999482',1,'glm']]], ['unpacksnorm1x16',['unpackSnorm1x16',['../a00298.html#ga96dd15002370627a443c835ab03a766c',1,'glm']]], ['unpacksnorm1x8',['unpackSnorm1x8',['../a00298.html#ga4851ff86678aa1c7ace9d67846894285',1,'glm']]], ['unpacksnorm2x16',['unpackSnorm2x16',['../a00372.html#gacd8f8971a3fe28418be0d0fa1f786b38',1,'glm']]], ['unpacksnorm2x8',['unpackSnorm2x8',['../a00298.html#ga8b128e89be449fc71336968a66bf6e1a',1,'glm']]], ['unpacksnorm3x10_5f1x2',['unpackSnorm3x10_1x2',['../a00298.html#ga7a4fbf79be9740e3c57737bc2af05e5b',1,'glm']]], ['unpacksnorm4x16',['unpackSnorm4x16',['../a00298.html#gaaddf9c353528fe896106f7181219c7f4',1,'glm']]], ['unpacksnorm4x8',['unpackSnorm4x8',['../a00372.html#ga2db488646d48b7c43d3218954523fe82',1,'glm']]], ['unpacku3x10_5f1x2',['unpackU3x10_1x2',['../a00298.html#ga48df3042a7d079767f5891a1bfd8a60a',1,'glm']]], ['unpackuint2x16',['unpackUint2x16',['../a00298.html#ga035bbbeab7ec2b28c0529757395b645b',1,'glm']]], ['unpackuint2x32',['unpackUint2x32',['../a00298.html#gaf942ff11b65e83eb5f77e68329ebc6ab',1,'glm']]], ['unpackuint2x8',['unpackUint2x8',['../a00298.html#gaa7600a6c71784b637a410869d2a5adcd',1,'glm']]], ['unpackuint4x16',['unpackUint4x16',['../a00298.html#gab173834ef14cfc23a96a959f3ff4b8dc',1,'glm']]], ['unpackuint4x8',['unpackUint4x8',['../a00298.html#gaf6dc0e4341810a641c7ed08f10e335d1',1,'glm']]], ['unpackunorm',['unpackUnorm',['../a00298.html#ga3e6ac9178b59f0b1b2f7599f2183eb7f',1,'glm']]], ['unpackunorm1x16',['unpackUnorm1x16',['../a00298.html#ga83d34160a5cb7bcb5339823210fc7501',1,'glm']]], ['unpackunorm1x5_5f1x6_5f1x5',['unpackUnorm1x5_1x6_1x5',['../a00298.html#gab3bc08ecfc0f3339be93fb2b3b56d88a',1,'glm']]], ['unpackunorm1x8',['unpackUnorm1x8',['../a00298.html#ga1319207e30874fb4931a9ee913983ee1',1,'glm']]], ['unpackunorm2x16',['unpackUnorm2x16',['../a00372.html#ga1f66188e5d65afeb9ffba1ad971e4007',1,'glm']]], ['unpackunorm2x3_5f1x2',['unpackUnorm2x3_1x2',['../a00298.html#ga6abd5a9014df3b5ce4059008d2491260',1,'glm']]], ['unpackunorm2x4',['unpackUnorm2x4',['../a00298.html#ga2e50476132fe5f27f08e273d9c70d85b',1,'glm']]], ['unpackunorm2x8',['unpackUnorm2x8',['../a00298.html#ga637cbe3913dd95c6e7b4c99c61bd611f',1,'glm']]], ['unpackunorm3x10_5f1x2',['unpackUnorm3x10_1x2',['../a00298.html#ga5156d3060355fe332865da2c7f78815f',1,'glm']]], ['unpackunorm3x5_5f1x1',['unpackUnorm3x5_1x1',['../a00298.html#ga5ff95ff5bc16f396432ab67243dbae4d',1,'glm']]], ['unpackunorm4x16',['unpackUnorm4x16',['../a00298.html#ga2ae149c5d2473ac1e5f347bb654a242d',1,'glm']]], ['unpackunorm4x4',['unpackUnorm4x4',['../a00298.html#gac58ee89d0e224bb6df5e8bbb18843a2d',1,'glm']]], ['unpackunorm4x8',['unpackUnorm4x8',['../a00372.html#ga7f903259150b67e9466f5f8edffcd197',1,'glm']]], ['unproject',['unProject',['../a00245.html#ga36641e5d60f994e01c3d8f56b10263d2',1,'glm']]], ['unprojectno',['unProjectNO',['../a00245.html#gae089ba9fc150ff69c252a20e508857b5',1,'glm']]], ['unprojectzo',['unProjectZO',['../a00245.html#gade5136413ce530f8e606124d570fba32',1,'glm']]], ['uround',['uround',['../a00292.html#ga6715b9d573972a0f7763d30d45bcaec4',1,'glm']]], ['usubborrow',['usubBorrow',['../a00370.html#gae3316ba1229ad9b9f09480833321b053',1,'glm']]], ['uvec1',['uvec1',['../a00276.html#gac3bdd96183d23876c58a1424585fefe7',1,'glm']]], ['uvec2',['uvec2',['../a00281.html#ga2f6d9ec3ae14813ade37d6aee3715fdb',1,'glm']]], ['uvec3',['uvec3',['../a00281.html#ga3d3e55874babd4bf93baa7bbc83ae418',1,'glm']]], ['uvec4',['uvec4',['../a00281.html#gaa57e96bb337867329d5f43bcc27c1095',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_13.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_13.js ================================================ var searchData= [ ['vector_20relational_20functions',['Vector Relational Functions',['../a00374.html',1,'']]], ['vector_20types',['Vector types',['../a00281.html',1,'']]], ['vector_20types_20with_20precision_20qualifiers',['Vector types with precision qualifiers',['../a00282.html',1,'']]], ['value_5fptr',['value_ptr',['../a00305.html#ga1c64669e1ba1160ad9386e43dc57569a',1,'glm']]], ['vec1',['vec1',['../a00270.html#gadfc071d934d8dae7955a1d530a3cf656',1,'glm']]], ['vec1_2ehpp',['vec1.hpp',['../a00183.html',1,'']]], ['vec2',['vec2',['../a00281.html#gabe65c061834f61b4f7cb6037b19006a4',1,'glm']]], ['vec2_2ehpp',['vec2.hpp',['../a00184.html',1,'']]], ['vec3',['vec3',['../a00281.html#ga9c3019b13faf179e4ad3626ea66df334',1,'glm']]], ['vec3_2ehpp',['vec3.hpp',['../a00185.html',1,'']]], ['vec4',['vec4',['../a00281.html#gac215a35481a6597d1bf622a382e9d6e2',1,'glm']]], ['vec4_2ehpp',['vec4.hpp',['../a00186.html',1,'']]], ['vec_5fswizzle_2ehpp',['vec_swizzle.hpp',['../a00187.html',1,'']]], ['vector_5fangle_2ehpp',['vector_angle.hpp',['../a00188.html',1,'']]], ['vector_5fbool1_2ehpp',['vector_bool1.hpp',['../a00189.html',1,'']]], ['vector_5fbool1_5fprecision_2ehpp',['vector_bool1_precision.hpp',['../a00190.html',1,'']]], ['vector_5fbool2_2ehpp',['vector_bool2.hpp',['../a00191.html',1,'']]], ['vector_5fbool2_5fprecision_2ehpp',['vector_bool2_precision.hpp',['../a00192.html',1,'']]], ['vector_5fbool3_2ehpp',['vector_bool3.hpp',['../a00193.html',1,'']]], ['vector_5fbool3_5fprecision_2ehpp',['vector_bool3_precision.hpp',['../a00194.html',1,'']]], ['vector_5fbool4_2ehpp',['vector_bool4.hpp',['../a00195.html',1,'']]], ['vector_5fbool4_5fprecision_2ehpp',['vector_bool4_precision.hpp',['../a00196.html',1,'']]], ['vector_5fcommon_2ehpp',['vector_common.hpp',['../a00197.html',1,'']]], ['vector_5fdouble1_2ehpp',['vector_double1.hpp',['../a00198.html',1,'']]], ['vector_5fdouble1_5fprecision_2ehpp',['vector_double1_precision.hpp',['../a00199.html',1,'']]], ['vector_5fdouble2_2ehpp',['vector_double2.hpp',['../a00200.html',1,'']]], ['vector_5fdouble2_5fprecision_2ehpp',['vector_double2_precision.hpp',['../a00201.html',1,'']]], ['vector_5fdouble3_2ehpp',['vector_double3.hpp',['../a00202.html',1,'']]], ['vector_5fdouble3_5fprecision_2ehpp',['vector_double3_precision.hpp',['../a00203.html',1,'']]], ['vector_5fdouble4_2ehpp',['vector_double4.hpp',['../a00204.html',1,'']]], ['vector_5fdouble4_5fprecision_2ehpp',['vector_double4_precision.hpp',['../a00205.html',1,'']]], ['vector_5ffloat1_2ehpp',['vector_float1.hpp',['../a00206.html',1,'']]], ['vector_5ffloat1_5fprecision_2ehpp',['vector_float1_precision.hpp',['../a00207.html',1,'']]], ['vector_5ffloat2_2ehpp',['vector_float2.hpp',['../a00208.html',1,'']]], ['vector_5ffloat2_5fprecision_2ehpp',['vector_float2_precision.hpp',['../a00209.html',1,'']]], ['vector_5ffloat3_2ehpp',['vector_float3.hpp',['../a00210.html',1,'']]], ['vector_5ffloat3_5fprecision_2ehpp',['vector_float3_precision.hpp',['../a00211.html',1,'']]], ['vector_5ffloat4_2ehpp',['vector_float4.hpp',['../a00212.html',1,'']]], ['vector_5ffloat4_5fprecision_2ehpp',['vector_float4_precision.hpp',['../a00213.html',1,'']]], ['vector_5fint1_2ehpp',['vector_int1.hpp',['../a00214.html',1,'']]], ['vector_5fint1_5fprecision_2ehpp',['vector_int1_precision.hpp',['../a00215.html',1,'']]], ['vector_5fint2_2ehpp',['vector_int2.hpp',['../a00216.html',1,'']]], ['vector_5fint2_5fprecision_2ehpp',['vector_int2_precision.hpp',['../a00217.html',1,'']]], ['vector_5fint3_2ehpp',['vector_int3.hpp',['../a00218.html',1,'']]], ['vector_5fint3_5fprecision_2ehpp',['vector_int3_precision.hpp',['../a00219.html',1,'']]], ['vector_5fint4_2ehpp',['vector_int4.hpp',['../a00220.html',1,'']]], ['vector_5fint4_5fprecision_2ehpp',['vector_int4_precision.hpp',['../a00221.html',1,'']]], ['vector_5finteger_2ehpp',['vector_integer.hpp',['../a00222.html',1,'']]], ['vector_5fquery_2ehpp',['vector_query.hpp',['../a00223.html',1,'']]], ['vector_5frelational_2ehpp',['vector_relational.hpp',['../a00225.html',1,'']]], ['vector_5fuint1_2ehpp',['vector_uint1.hpp',['../a00226.html',1,'']]], ['vector_5fuint1_5fprecision_2ehpp',['vector_uint1_precision.hpp',['../a00227.html',1,'']]], ['vector_5fuint2_2ehpp',['vector_uint2.hpp',['../a00228.html',1,'']]], ['vector_5fuint2_5fprecision_2ehpp',['vector_uint2_precision.hpp',['../a00229.html',1,'']]], ['vector_5fuint3_2ehpp',['vector_uint3.hpp',['../a00230.html',1,'']]], ['vector_5fuint3_5fprecision_2ehpp',['vector_uint3_precision.hpp',['../a00231.html',1,'']]], ['vector_5fuint4_2ehpp',['vector_uint4.hpp',['../a00232.html',1,'']]], ['vector_5fuint4_5fprecision_2ehpp',['vector_uint4_precision.hpp',['../a00233.html',1,'']]], ['vector_5fulp_2ehpp',['vector_ulp.hpp',['../a00234.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_14.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_14.js ================================================ var searchData= [ ['word',['word',['../a00354.html#ga16e9fea0ef1e6c4ef472d3d1731c49a5',1,'glm']]], ['wrap_2ehpp',['wrap.hpp',['../a00235.html',1,'']]], ['wrapangle',['wrapAngle',['../a00325.html#ga069527c6dbd64f53435b8ebc4878b473',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_15.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_15.js ================================================ var searchData= [ ['yaw',['yaw',['../a00299.html#ga8da38cdfdc452dafa660c2f46506bad5',1,'glm']]], ['yawpitchroll',['yawPitchRoll',['../a00319.html#gae6aa26ccb020d281b449619e419a609e',1,'glm']]], ['ycocg2rgb',['YCoCg2rgb',['../a00313.html#ga163596b804c7241810b2534a99eb1343',1,'glm']]], ['ycocgr2rgb',['YCoCgR2rgb',['../a00313.html#gaf8d30574c8576838097d8e20c295384a',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_16.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_16.js ================================================ var searchData= [ ['zero',['zero',['../a00290.html#ga788f5a421fc0f40a1296ebc094cbaa8a',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_2.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_2.js ================================================ var searchData= [ ['catmullrom',['catmullRom',['../a00358.html#ga8119c04f8210fd0d292757565cd6918d',1,'glm']]], ['ceil',['ceil',['../a00241.html#gafb9d2a645a23aca12d4d6de0104b7657',1,'glm']]], ['ceilmultiple',['ceilMultiple',['../a00302.html#ga1d89ac88582aaf4d5dfa5feb4a376fd4',1,'glm::ceilMultiple(genType v, genType Multiple)'],['../a00302.html#gab77fdcc13f8e92d2e0b1b7d7aeab8e9d',1,'glm::ceilMultiple(vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)']]], ['ceilpoweroftwo',['ceilPowerOfTwo',['../a00302.html#ga5c3ef36ae32aa4271f1544f92bd578b6',1,'glm::ceilPowerOfTwo(genIUType v)'],['../a00302.html#gab53d4a97c0d3e297be5f693cdfdfe5d2',1,'glm::ceilPowerOfTwo(vec< L, T, Q > const &v)']]], ['circulareasein',['circularEaseIn',['../a00318.html#ga34508d4b204a321ec26d6086aa047997',1,'glm']]], ['circulareaseinout',['circularEaseInOut',['../a00318.html#ga0c1027637a5b02d4bb3612aa12599d69',1,'glm']]], ['circulareaseout',['circularEaseOut',['../a00318.html#ga26fefde9ced9b72745fe21f1a3fe8da7',1,'glm']]], ['circularrand',['circularRand',['../a00300.html#ga9dd05c36025088fae25b97c869e88517',1,'glm']]], ['clamp',['clamp',['../a00241.html#ga7cd77683da6361e297c56443fc70806d',1,'glm::clamp(genType x, genType minVal, genType maxVal)'],['../a00241.html#gafba2e0674deb5953878d89483cd6323d',1,'glm::clamp(vec< L, T, Q > const &x, T minVal, T maxVal)'],['../a00241.html#gaa0f2f12e9108b09e22a3f0b2008a0b5d',1,'glm::clamp(vec< L, T, Q > const &x, vec< L, T, Q > const &minVal, vec< L, T, Q > const &maxVal)'],['../a00369.html#ga6c0cc6bd1d67ea1008d2592e998bad33',1,'glm::clamp(genType const &Texcoord)']]], ['closebounded',['closeBounded',['../a00314.html#gab7d89c14c48ad01f720fb5daf8813161',1,'glm']]], ['closest_5fpoint_2ehpp',['closest_point.hpp',['../a00010.html',1,'']]], ['closestpointonline',['closestPointOnLine',['../a00310.html#ga36529c278ef716986151d58d151d697d',1,'glm::closestPointOnLine(vec< 3, T, Q > const &point, vec< 3, T, Q > const &a, vec< 3, T, Q > const &b)'],['../a00310.html#ga55bcbcc5fc06cb7ff7bc7a6e0e155eb0',1,'glm::closestPointOnLine(vec< 2, T, Q > const &point, vec< 2, T, Q > const &a, vec< 2, T, Q > const &b)']]], ['colmajor2',['colMajor2',['../a00338.html#gaaff72f11286e59a4a88ed21a347f284c',1,'glm::colMajor2(vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)'],['../a00338.html#gafc25fd44196c92b1397b127aec1281ab',1,'glm::colMajor2(mat< 2, 2, T, Q > const &m)']]], ['colmajor3',['colMajor3',['../a00338.html#ga1e25b72b085087740c92f5c70f3b051f',1,'glm::colMajor3(vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2, vec< 3, T, Q > const &v3)'],['../a00338.html#ga86bd0656e787bb7f217607572590af27',1,'glm::colMajor3(mat< 3, 3, T, Q > const &m)']]], ['colmajor4',['colMajor4',['../a00338.html#gaf4aa6c7e17bfce41a6c13bf6469fab05',1,'glm::colMajor4(vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2, vec< 4, T, Q > const &v3, vec< 4, T, Q > const &v4)'],['../a00338.html#gaf3f9511c366c20ba2e4a64c9e4cec2b3',1,'glm::colMajor4(mat< 4, 4, T, Q > const &m)']]], ['color_5fencoding_2ehpp',['color_encoding.hpp',['../a00011.html',1,'']]], ['color_5fspace_5fycocg_2ehpp',['color_space_YCoCg.hpp',['../a00014.html',1,'']]], ['column',['column',['../a00293.html#ga96022eb0d3fae39d89fc7a954e59b374',1,'glm::column(genType const &m, length_t index)'],['../a00293.html#ga9e757377523890e8b80c5843dbe4dd15',1,'glm::column(genType const &m, length_t index, typename genType::col_type const &x)']]], ['common_2ehpp',['common.hpp',['../a00015.html',1,'']]], ['compadd',['compAdd',['../a00316.html#gaf71833350e15e74d31cbf8a3e7f27051',1,'glm']]], ['compatibility_2ehpp',['compatibility.hpp',['../a00017.html',1,'']]], ['compmax',['compMax',['../a00316.html#gabfa4bb19298c8c73d4217ba759c496b6',1,'glm']]], ['compmin',['compMin',['../a00316.html#gab5d0832b5c7bb01b8d7395973bfb1425',1,'glm']]], ['compmul',['compMul',['../a00316.html#gae8ab88024197202c9479d33bdc5a8a5d',1,'glm']]], ['compnormalize',['compNormalize',['../a00316.html#ga8f2b81ada8515875e58cb1667b6b9908',1,'glm']]], ['component_5fwise_2ehpp',['component_wise.hpp',['../a00018.html',1,'']]], ['compscale',['compScale',['../a00316.html#ga80abc2980d65d675f435d178c36880eb',1,'glm']]], ['conjugate',['conjugate',['../a00248.html#ga10d7bda73201788ac2ab28cd8d0d409b',1,'glm']]], ['constants_2ehpp',['constants.hpp',['../a00021.html',1,'']]], ['convertd65xyztod50xyz',['convertD65XYZToD50XYZ',['../a00311.html#gad12f4f65022b2c80e33fcba2ced0dc48',1,'glm']]], ['convertd65xyztolinearsrgb',['convertD65XYZToLinearSRGB',['../a00311.html#ga5265386fc3ac29e4c580d37ed470859c',1,'glm']]], ['convertlinearsrgbtod50xyz',['convertLinearSRGBToD50XYZ',['../a00311.html#ga1522ba180e3d83d554a734056da031f9',1,'glm']]], ['convertlinearsrgbtod65xyz',['convertLinearSRGBToD65XYZ',['../a00311.html#gaf9e130d9d4ccf51cc99317de7449f369',1,'glm']]], ['convertlineartosrgb',['convertLinearToSRGB',['../a00289.html#ga42239e7b3da900f7ef37cec7e2476579',1,'glm::convertLinearToSRGB(vec< L, T, Q > const &ColorLinear)'],['../a00289.html#gaace0a21167d13d26116c283009af57f6',1,'glm::convertLinearToSRGB(vec< L, T, Q > const &ColorLinear, T Gamma)']]], ['convertsrgbtolinear',['convertSRGBToLinear',['../a00289.html#ga16c798b7a226b2c3079dedc55083d187',1,'glm::convertSRGBToLinear(vec< L, T, Q > const &ColorSRGB)'],['../a00289.html#gad1b91f27a9726c9cb403f9fee6e2e200',1,'glm::convertSRGBToLinear(vec< L, T, Q > const &ColorSRGB, T Gamma)']]], ['core_20features',['Core features',['../a00280.html',1,'']]], ['common_20functions',['Common functions',['../a00241.html',1,'']]], ['cos',['cos',['../a00373.html#ga6a41efc740e3b3c937447d3a6284130e',1,'glm']]], ['cosh',['cosh',['../a00373.html#ga4e260e372742c5f517aca196cf1e62b3',1,'glm']]], ['cot',['cot',['../a00301.html#ga3a7b517a95bbd3ad74da3aea87a66314',1,'glm']]], ['coth',['coth',['../a00301.html#ga6b8b770eb7198e4dea59d52e6db81442',1,'glm']]], ['cross',['cross',['../a00254.html#ga755beaa929c75751dee646cccba37e4c',1,'glm::cross(qua< T, Q > const &q1, qua< T, Q > const &q2)'],['../a00279.html#gaeeec0794212fe84fc9d261de067c9587',1,'glm::cross(vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)'],['../a00322.html#gac36e72b934ea6a9dd313772d7e78fa93',1,'glm::cross(vec< 2, T, Q > const &v, vec< 2, T, Q > const &u)'],['../a00352.html#ga2f32f970411c44cdd38bb98960198385',1,'glm::cross(qua< T, Q > const &q, vec< 3, T, Q > const &v)'],['../a00352.html#ga9f5f77255756e5668dfee7f0d07ed021',1,'glm::cross(vec< 3, T, Q > const &v, qua< T, Q > const &q)']]], ['csc',['csc',['../a00301.html#ga59dd0005b6474eea48af743b4f14ebbb',1,'glm']]], ['csch',['csch',['../a00301.html#ga6d95843ff3ca6472ab399ba171d290a0',1,'glm']]], ['cubic',['cubic',['../a00358.html#ga6b867eb52e2fc933d2e0bf26aabc9a70',1,'glm']]], ['cubiceasein',['cubicEaseIn',['../a00318.html#gaff52f746102b94864d105563ba8895ae',1,'glm']]], ['cubiceaseinout',['cubicEaseInOut',['../a00318.html#ga55134072b42d75452189321d4a2ad91c',1,'glm']]], ['cubiceaseout',['cubicEaseOut',['../a00318.html#ga40d746385d8bcc5973f5bc6a2340ca91',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_3.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_3.js ================================================ var searchData= [ ['ddualquat',['ddualquat',['../a00317.html#ga3d71f98d84ba59dfe4e369fde4714cd6',1,'glm']]], ['decompose',['decompose',['../a00335.html#gac0e342656ba09a9bc97c57182ba73124',1,'glm']]], ['degrees',['degrees',['../a00373.html#ga8faec9e303538065911ba8b3caf7326b',1,'glm']]], ['derivedeuleranglex',['derivedEulerAngleX',['../a00319.html#ga994b8186b3b80d91cf90bc403164692f',1,'glm']]], ['derivedeulerangley',['derivedEulerAngleY',['../a00319.html#ga0a4c56ecce7abcb69508ebe6313e9d10',1,'glm']]], ['derivedeuleranglez',['derivedEulerAngleZ',['../a00319.html#gae8b397348201c42667be983ba3f344df',1,'glm']]], ['determinant',['determinant',['../a00371.html#gad7928795124768e058f99dce270f5c8d',1,'glm']]], ['diagonal2x2',['diagonal2x2',['../a00339.html#ga58a32a2beeb2478dae2a721368cdd4ac',1,'glm']]], ['diagonal2x3',['diagonal2x3',['../a00339.html#gab69f900206a430e2875a5a073851e175',1,'glm']]], ['diagonal2x4',['diagonal2x4',['../a00339.html#ga30b4dbfed60a919d66acc8a63bcdc549',1,'glm']]], ['diagonal3x2',['diagonal3x2',['../a00339.html#ga832c805d5130d28ad76236958d15b47d',1,'glm']]], ['diagonal3x3',['diagonal3x3',['../a00339.html#ga5487ff9cdbc8e04d594adef1bcb16ee0',1,'glm']]], ['diagonal3x4',['diagonal3x4',['../a00339.html#gad7551139cff0c4208d27f0ad3437833e',1,'glm']]], ['diagonal4x2',['diagonal4x2',['../a00339.html#gacb8969e6543ba775c6638161a37ac330',1,'glm']]], ['diagonal4x3',['diagonal4x3',['../a00339.html#gae235def5049d6740f0028433f5e13f90',1,'glm']]], ['diagonal4x4',['diagonal4x4',['../a00339.html#ga0b4cd8dea436791b072356231ee8578f',1,'glm']]], ['diskrand',['diskRand',['../a00300.html#gaa0b18071f3f97dbf8bcf6f53c6fe5f73',1,'glm']]], ['distance',['distance',['../a00279.html#gaa68de6c53e20dfb2dac2d20197562e3f',1,'glm']]], ['distance2',['distance2',['../a00343.html#ga85660f1b79f66c09c7b5a6f80e68c89f',1,'glm']]], ['dmat2',['dmat2',['../a00283.html#ga21dbd1f987775d7cc7607c139531c7e6',1,'glm']]], ['dmat2x2',['dmat2x2',['../a00283.html#ga66b6a9af787e468a46dfe24189e87f9b',1,'glm']]], ['dmat2x3',['dmat2x3',['../a00283.html#ga92cd388753d48e20de69ea2dbedf826a',1,'glm']]], ['dmat2x4',['dmat2x4',['../a00283.html#gaef2198807e937072803ae0ae45e1965e',1,'glm']]], ['dmat3',['dmat3',['../a00283.html#ga6f40aa56265b4b0ccad41b86802efe33',1,'glm']]], ['dmat3x2',['dmat3x2',['../a00283.html#ga001e3e0638fbf8719788fc64c5b8cf39',1,'glm']]], ['dmat3x3',['dmat3x3',['../a00283.html#ga970cb3306be25a5ca5db5a9456831228',1,'glm']]], ['dmat3x4',['dmat3x4',['../a00283.html#ga0412a634d183587e6188e9b11869f8f4',1,'glm']]], ['dmat4',['dmat4',['../a00283.html#ga0f34486bb7fec8e5a5b3830b6a6cbeca',1,'glm']]], ['dmat4x2',['dmat4x2',['../a00283.html#ga9bc0b3ab8b6ba2cb6782e179ad7ad156',1,'glm']]], ['dmat4x3',['dmat4x3',['../a00283.html#gacd18864049f8c83799babe7e596ca05b',1,'glm']]], ['dmat4x4',['dmat4x4',['../a00283.html#gad5a6484b983b74f9d801cab8bc4e6a10',1,'glm']]], ['dot',['dot',['../a00254.html#ga84865a56acb8fbd7bc4f5c0b928e3cfc',1,'glm::dot(qua< T, Q > const &x, qua< T, Q > const &y)'],['../a00279.html#gaad6c5d9d39bdc0bf43baf1b22e147a0a',1,'glm::dot(vec< L, T, Q > const &x, vec< L, T, Q > const &y)']]], ['double1',['double1',['../a00315.html#ga20b861a9b6e2a300323671c57a02525b',1,'glm']]], ['double1x1',['double1x1',['../a00315.html#ga45f16a4dd0db1f199afaed9fd12fe9a8',1,'glm']]], ['double2',['double2',['../a00315.html#ga31b729b04facccda73f07ed26958b3c2',1,'glm']]], ['double2x2',['double2x2',['../a00315.html#gae57d0201096834d25f2b91b319e7cdbd',1,'glm']]], ['double2x3',['double2x3',['../a00315.html#ga3655bc324008553ca61f39952d0b2d08',1,'glm']]], ['double2x4',['double2x4',['../a00315.html#gacd33061fc64a7b2dcfd7322c49d9557a',1,'glm']]], ['double3',['double3',['../a00315.html#ga3d8b9028a1053a44a98902cd1c389472',1,'glm']]], ['double3x2',['double3x2',['../a00315.html#ga5ec08fc39c9d783dfcc488be240fe975',1,'glm']]], ['double3x3',['double3x3',['../a00315.html#ga4bad5bb20c6ddaecfe4006c93841d180',1,'glm']]], ['double3x4',['double3x4',['../a00315.html#ga2ef022e453d663d70aec414b2a80f756',1,'glm']]], ['double4',['double4',['../a00315.html#gaf92f58af24f35617518aeb3d4f63fda6',1,'glm']]], ['double4x2',['double4x2',['../a00315.html#gabca29ccceea53669618b751aae0ba83d',1,'glm']]], ['double4x3',['double4x3',['../a00315.html#gafad66a02ccd360c86d6ab9ff9cfbc19c',1,'glm']]], ['double4x4',['double4x4',['../a00315.html#gaab541bed2e788e4537852a2492860806',1,'glm']]], ['dquat',['dquat',['../a00249.html#ga1181459aa5d640a3ea43861b118f3f0b',1,'glm']]], ['dual_5fquat_5fidentity',['dual_quat_identity',['../a00317.html#ga0b35c0e30df8a875dbaa751e0bd800e0',1,'glm']]], ['dual_5fquaternion_2ehpp',['dual_quaternion.hpp',['../a00022.html',1,'']]], ['dualquat',['dualquat',['../a00317.html#gae93abee0c979902fbec6a7bee0f6fae1',1,'glm']]], ['dualquat_5fcast',['dualquat_cast',['../a00317.html#gac4064ff813759740201765350eac4236',1,'glm::dualquat_cast(mat< 2, 4, T, Q > const &x)'],['../a00317.html#ga91025ebdca0f4ea54da08497b00e8c84',1,'glm::dualquat_cast(mat< 3, 4, T, Q > const &x)']]], ['dvec1',['dvec1',['../a00268.html#ga6221af17edc2d4477a4583d2cd53e569',1,'glm']]], ['dvec2',['dvec2',['../a00281.html#ga8b09c71aaac7da7867ae58377fe219a8',1,'glm']]], ['dvec3',['dvec3',['../a00281.html#ga5b83ae3d0fdec519c038e4d2cf967cf0',1,'glm']]], ['dvec4',['dvec4',['../a00281.html#ga57debab5d98ce618f7b2a97fe26eb3ac',1,'glm']]], ['dword',['dword',['../a00354.html#ga86e46fff9f80ae33893d8d697f2ca98a',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_4.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_4.js ================================================ var searchData= [ ['exponential_20functions',['Exponential functions',['../a00242.html',1,'']]], ['e',['e',['../a00290.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139',1,'glm']]], ['easing_2ehpp',['easing.hpp',['../a00023.html',1,'']]], ['elasticeasein',['elasticEaseIn',['../a00318.html#ga230918eccee4e113d10ec5b8cdc58695',1,'glm']]], ['elasticeaseinout',['elasticEaseInOut',['../a00318.html#ga2db4ac8959559b11b4029e54812908d6',1,'glm']]], ['elasticeaseout',['elasticEaseOut',['../a00318.html#gace9c9d1bdf88bf2ab1e7cdefa54c7365',1,'glm']]], ['epsilon',['epsilon',['../a00259.html#ga2a1e57fc5592b69cfae84174cbfc9429',1,'glm']]], ['epsilon_2ehpp',['epsilon.hpp',['../a00024.html',1,'']]], ['epsilonequal',['epsilonEqual',['../a00291.html#ga91b417866cafadd076004778217a1844',1,'glm::epsilonEqual(vec< L, T, Q > const &x, vec< L, T, Q > const &y, T const &epsilon)'],['../a00291.html#gaa7f227999ca09e7ca994e8b35aba47bb',1,'glm::epsilonEqual(genType const &x, genType const &y, genType const &epsilon)']]], ['epsilonnotequal',['epsilonNotEqual',['../a00291.html#gaf840d33b9a5261ec78dcd5125743b025',1,'glm::epsilonNotEqual(vec< L, T, Q > const &x, vec< L, T, Q > const &y, T const &epsilon)'],['../a00291.html#ga50a92103fb0cbd796908e1bf20c79aaf',1,'glm::epsilonNotEqual(genType const &x, genType const &y, genType const &epsilon)']]], ['equal',['equal',['../a00246.html#ga27e90dcb7941c9b70e295dc3f6f6369f',1,'glm::equal(mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y)'],['../a00246.html#gaf5d687d70d11708b68c36c6db5777040',1,'glm::equal(mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, T epsilon)'],['../a00246.html#gafa6a053e81179fa4292b35651c83c3fb',1,'glm::equal(mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, vec< C, T, Q > const &epsilon)'],['../a00246.html#gab3a93f19e72e9141f50527c9de21d0c0',1,'glm::equal(mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, int ULPs)'],['../a00246.html#ga5305af376173f1902719fa309bbae671',1,'glm::equal(mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, vec< C, int, Q > const &ULPs)'],['../a00255.html#gad7827af0549504ff1cd6a359786acc7a',1,'glm::equal(qua< T, Q > const &x, qua< T, Q > const &y)'],['../a00255.html#gaa001eecb91106463169a8e5ef1577b39',1,'glm::equal(qua< T, Q > const &x, qua< T, Q > const &y, T epsilon)'],['../a00275.html#ga2ac7651a2fa7354f2da610dbd50d28e2',1,'glm::equal(vec< L, T, Q > const &x, vec< L, T, Q > const &y, T epsilon)'],['../a00275.html#ga37d261a65f69babc82cec2ae1af7145f',1,'glm::equal(vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &epsilon)'],['../a00275.html#ga2b46cb50911e97b32f4cd743c2c69771',1,'glm::equal(vec< L, T, Q > const &x, vec< L, T, Q > const &y, int ULPs)'],['../a00275.html#ga7da2b8605be7f245b39cb6fbf6d9d581',1,'glm::equal(vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, int, Q > const &ULPs)'],['../a00374.html#gab4c5cfdaa70834421397a85aa83ad946',1,'glm::equal(vec< L, T, Q > const &x, vec< L, T, Q > const &y)']]], ['euclidean',['euclidean',['../a00350.html#ga1821d5b3324201e60a9e2823d0b5d0c8',1,'glm']]], ['euler',['euler',['../a00290.html#gad8fe2e6f90bce9d829e9723b649fbd42',1,'glm']]], ['euler_5fangles_2ehpp',['euler_angles.hpp',['../a00025.html',1,'']]], ['eulerangles',['eulerAngles',['../a00299.html#gaf4dd967dead22dd932fc7460ceecb03f',1,'glm']]], ['euleranglex',['eulerAngleX',['../a00319.html#gafba6282e4ed3ff8b5c75331abfba3489',1,'glm']]], ['euleranglexy',['eulerAngleXY',['../a00319.html#ga64036577ee17a2d24be0dbc05881d4e2',1,'glm']]], ['euleranglexyx',['eulerAngleXYX',['../a00319.html#ga29bd0787a28a6648159c0d6e69706066',1,'glm']]], ['euleranglexyz',['eulerAngleXYZ',['../a00319.html#ga1975e0f0e9bed7f716dc9946da2ab645',1,'glm']]], ['euleranglexz',['eulerAngleXZ',['../a00319.html#gaa39bd323c65c2fc0a1508be33a237ce9',1,'glm']]], ['euleranglexzx',['eulerAngleXZX',['../a00319.html#ga60171c79a17aec85d7891ae1d1533ec9',1,'glm']]], ['euleranglexzy',['eulerAngleXZY',['../a00319.html#ga996dce12a60d8a674ba6737a535fa910',1,'glm']]], ['eulerangley',['eulerAngleY',['../a00319.html#gab84bf4746805fd69b8ecbb230e3974c5',1,'glm']]], ['eulerangleyx',['eulerAngleYX',['../a00319.html#ga4f57e6dd25c3cffbbd4daa6ef3f4486d',1,'glm']]], ['eulerangleyxy',['eulerAngleYXY',['../a00319.html#ga750fba9894117f87bcc529d7349d11de',1,'glm']]], ['eulerangleyxz',['eulerAngleYXZ',['../a00319.html#gab8ba99a9814f6d9edf417b6c6d5b0c10',1,'glm']]], ['eulerangleyz',['eulerAngleYZ',['../a00319.html#ga220379e10ac8cca55e275f0c9018fed9',1,'glm']]], ['eulerangleyzx',['eulerAngleYZX',['../a00319.html#ga08bef16357b8f9b3051b3dcaec4b7848',1,'glm']]], ['eulerangleyzy',['eulerAngleYZY',['../a00319.html#ga5e5e40abc27630749b42b3327c76d6e4',1,'glm']]], ['euleranglez',['eulerAngleZ',['../a00319.html#ga5b3935248bb6c3ec6b0d9297d406e251',1,'glm']]], ['euleranglezx',['eulerAngleZX',['../a00319.html#ga483903115cd4059228961046a28d69b5',1,'glm']]], ['euleranglezxy',['eulerAngleZXY',['../a00319.html#gab4505c54d2dd654df4569fd1f04c43aa',1,'glm']]], ['euleranglezxz',['eulerAngleZXZ',['../a00319.html#ga178f966c52b01e4d65e31ebd007e3247',1,'glm']]], ['euleranglezy',['eulerAngleZY',['../a00319.html#ga400b2bd5984999efab663f3a68e1d020',1,'glm']]], ['euleranglezyx',['eulerAngleZYX',['../a00319.html#ga2e61f1e39069c47530acab9167852dd6',1,'glm']]], ['euleranglezyz',['eulerAngleZYZ',['../a00319.html#gacd795f1dbecaf74974f9c76bbcca6830',1,'glm']]], ['exp',['exp',['../a00242.html#ga071566cadc7505455e611f2a0353f4d4',1,'glm::exp(vec< L, T, Q > const &v)'],['../a00256.html#gaab2d37ef7265819f1d2939b9dc2c52ac',1,'glm::exp(qua< T, Q > const &q)']]], ['exp2',['exp2',['../a00242.html#gaff17ace6b579a03bf223ed4d1ed2cd16',1,'glm']]], ['exponential_2ehpp',['exponential.hpp',['../a00026.html',1,'']]], ['exponentialeasein',['exponentialEaseIn',['../a00318.html#ga7f24ee9219ab4c84dc8de24be84c1e3c',1,'glm']]], ['exponentialeaseinout',['exponentialEaseInOut',['../a00318.html#ga232fb6dc093c5ce94bee105ff2947501',1,'glm']]], ['exponentialeaseout',['exponentialEaseOut',['../a00318.html#ga517f2bcfd15bc2c25c466ae50808efc3',1,'glm']]], ['ext_2ehpp',['ext.hpp',['../a00027.html',1,'']]], ['extend',['extend',['../a00320.html#ga8140caae613b0f847ab0d7175dc03a37',1,'glm']]], ['extend_2ehpp',['extend.hpp',['../a00028.html',1,'']]], ['extended_5fmin_5fmax_2ehpp',['extended_min_max.hpp',['../a00029.html',1,'']]], ['exterior_5fproduct_2ehpp',['exterior_product.hpp',['../a00030.html',1,'']]], ['extracteuleranglexyx',['extractEulerAngleXYX',['../a00319.html#gaf1077a72171d0f3b08f022ab5ff88af7',1,'glm']]], ['extracteuleranglexyz',['extractEulerAngleXYZ',['../a00319.html#gacea701562f778c1da4d3a0a1cf091000',1,'glm']]], ['extracteuleranglexzx',['extractEulerAngleXZX',['../a00319.html#gacf0bc6c031f25fa3ee0055b62c8260d0',1,'glm']]], ['extracteuleranglexzy',['extractEulerAngleXZY',['../a00319.html#gabe5a65d8eb1cd873c8de121cce1a15ed',1,'glm']]], ['extracteulerangleyxy',['extractEulerAngleYXY',['../a00319.html#gaab8868556361a190db94374e9983ed39',1,'glm']]], ['extracteulerangleyxz',['extractEulerAngleYXZ',['../a00319.html#gaf0937518e63037335a0e8358b6f053c5',1,'glm']]], ['extracteulerangleyzx',['extractEulerAngleYZX',['../a00319.html#ga9049b78466796c0de2971756e25b93d3',1,'glm']]], ['extracteulerangleyzy',['extractEulerAngleYZY',['../a00319.html#ga11dad972c109e4bf8694c915017c44a6',1,'glm']]], ['extracteuleranglezxy',['extractEulerAngleZXY',['../a00319.html#ga81fbbca2ba0c778b9662d5355b4e2363',1,'glm']]], ['extracteuleranglezxz',['extractEulerAngleZXZ',['../a00319.html#ga59359fef9bad92afaca55e193f91e702',1,'glm']]], ['extracteuleranglezyx',['extractEulerAngleZYX',['../a00319.html#ga2d6c11a4abfa60c565483cee2d3f7665',1,'glm']]], ['extracteuleranglezyz',['extractEulerAngleZYZ',['../a00319.html#gafdfa880a64b565223550c2d3938b1aeb',1,'glm']]], ['extractmatrixrotation',['extractMatrixRotation',['../a00337.html#gabbc1c7385a145f04b5c54228965df145',1,'glm']]], ['extractrealcomponent',['extractRealComponent',['../a00352.html#ga321953c1b2e7befe6f5dcfddbfc6b76b',1,'glm']]], ['experimental_20extensions',['Experimental extensions',['../a00287.html',1,'']]], ['matrix_5ftransform_2ehpp',['matrix_transform.hpp',['../a00108.html',1,'']]], ['scalar_5frelational_2ehpp',['scalar_relational.hpp',['../a00149.html',1,'']]], ['vector_5frelational_2ehpp',['vector_relational.hpp',['../a00224.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_5.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_5.js ================================================ var searchData= [ ['floating_2dpoint_20pack_20and_20unpack_20functions',['Floating-Point Pack and Unpack Functions',['../a00372.html',1,'']]], ['f32',['f32',['../a00304.html#gabe6a542dd6c1d5ffd847f1b9b4c9c9b7',1,'glm']]], ['f32mat1',['f32mat1',['../a00346.html#ga145ad477a2a3e152855511c3b52469a6',1,'glm::gtx']]], ['f32mat1x1',['f32mat1x1',['../a00346.html#gac88c6a4dbfc380aa26e3adbbade36348',1,'glm::gtx']]], ['f32mat2',['f32mat2',['../a00304.html#gab12383ed6ac7595ed6fde4d266c58425',1,'glm']]], ['f32mat2x2',['f32mat2x2',['../a00304.html#ga04100c76f7d55a0dd0983ccf05142bff',1,'glm']]], ['f32mat2x3',['f32mat2x3',['../a00304.html#gab256cdab5eb582e426d749ae77b5b566',1,'glm']]], ['f32mat2x4',['f32mat2x4',['../a00304.html#gaf512b74c4400b68f9fdf9388b3d6aac8',1,'glm']]], ['f32mat3',['f32mat3',['../a00304.html#ga856f3905ee7cc2e4890a8a1d56c150be',1,'glm']]], ['f32mat3x2',['f32mat3x2',['../a00304.html#ga1320a08e14fdff3821241eefab6947e9',1,'glm']]], ['f32mat3x3',['f32mat3x3',['../a00304.html#ga65261fa8a21045c8646ddff114a56174',1,'glm']]], ['f32mat3x4',['f32mat3x4',['../a00304.html#gab90ade28222f8b861d5ceaf81a3a7f5d',1,'glm']]], ['f32mat4',['f32mat4',['../a00304.html#ga99d1b85ff99956b33da7e9992aad129a',1,'glm']]], ['f32mat4x2',['f32mat4x2',['../a00304.html#ga3b32ca1e57a4ef91babbc3d35a34ea20',1,'glm']]], ['f32mat4x3',['f32mat4x3',['../a00304.html#ga239b96198771b7add8eea7e6b59840c0',1,'glm']]], ['f32mat4x4',['f32mat4x4',['../a00304.html#gaee4da0e9fbd8cfa2f89cb80889719dc3',1,'glm']]], ['f32quat',['f32quat',['../a00304.html#ga38e674196ba411d642be40c47bf33939',1,'glm']]], ['f32vec1',['f32vec1',['../a00304.html#ga701f32ab5b3fb06996b41f5c0d643805',1,'glm::f32vec1()'],['../a00346.html#ga07f8d7348eb7ae059a84c118fdfeb943',1,'glm::gtx::f32vec1()']]], ['f32vec2',['f32vec2',['../a00304.html#ga5d6c70e080409a76a257dc55bd8ea2c8',1,'glm']]], ['f32vec3',['f32vec3',['../a00304.html#gaea5c4518e175162e306d2c2b5ef5ac79',1,'glm']]], ['f32vec4',['f32vec4',['../a00304.html#ga31c6ca0e074a44007f49a9a3720b18c8',1,'glm']]], ['f64',['f64',['../a00304.html#ga1d794d240091678f602e8de225b8d8c9',1,'glm']]], ['f64mat1',['f64mat1',['../a00346.html#ga59bfa589419b5265d01314fcecd33435',1,'glm::gtx']]], ['f64mat1x1',['f64mat1x1',['../a00346.html#ga448eeb08d0b7d8c43a8b292c981955fd',1,'glm::gtx']]], ['f64mat2',['f64mat2',['../a00304.html#gad9771450a54785d13080cdde0fe20c1d',1,'glm']]], ['f64mat2x2',['f64mat2x2',['../a00304.html#ga9ec7c4c79e303c053e30729a95fb2c37',1,'glm']]], ['f64mat2x3',['f64mat2x3',['../a00304.html#gae3ab5719fc4c1e966631dbbcba8d412a',1,'glm']]], ['f64mat2x4',['f64mat2x4',['../a00304.html#gac87278e0c702ba8afff76316d4eeb769',1,'glm']]], ['f64mat3',['f64mat3',['../a00304.html#ga9b69181efbf8f37ae934f135137b29c0',1,'glm']]], ['f64mat3x2',['f64mat3x2',['../a00304.html#ga2473d8bf3f4abf967c4d0e18175be6f7',1,'glm']]], ['f64mat3x3',['f64mat3x3',['../a00304.html#ga916c1aed91cf91f7b41399ebe7c6e185',1,'glm']]], ['f64mat3x4',['f64mat3x4',['../a00304.html#gaab239fa9e35b65a67cbaa6ac082f3675',1,'glm']]], ['f64mat4',['f64mat4',['../a00304.html#ga0ecd3f4952536e5ef12702b44d2626fc',1,'glm']]], ['f64mat4x2',['f64mat4x2',['../a00304.html#gab7daf79d6bc06a68bea1c6f5e11b5512',1,'glm']]], ['f64mat4x3',['f64mat4x3',['../a00304.html#ga3e2e66ffbe341a80bc005ba2b9552110',1,'glm']]], ['f64mat4x4',['f64mat4x4',['../a00304.html#gae52e2b7077a9ff928a06ab5ce600b81e',1,'glm']]], ['f64quat',['f64quat',['../a00304.html#ga2b114a2f2af0fe1dfeb569c767822940',1,'glm']]], ['f64vec1',['f64vec1',['../a00304.html#gade502df1ce14f837fae7f60a03ddb9b0',1,'glm::f64vec1()'],['../a00346.html#gae5987a61b8c03d5c432a9e62f0b3efe1',1,'glm::gtx::f64vec1()']]], ['f64vec2',['f64vec2',['../a00304.html#gadc4e1594f9555d919131ee02b17822a2',1,'glm']]], ['f64vec3',['f64vec3',['../a00304.html#gaa7a1ddca75c5f629173bf4772db7a635',1,'glm']]], ['f64vec4',['f64vec4',['../a00304.html#ga66e92e57260bdb910609b9a56bf83e97',1,'glm']]], ['faceforward',['faceforward',['../a00279.html#ga7aed0a36c738169402404a3a5d54e43b',1,'glm']]], ['factorial',['factorial',['../a00330.html#ga8cbd3120905f398ec321b5d1836e08fb',1,'glm']]], ['fast_5fexponential_2ehpp',['fast_exponential.hpp',['../a00031.html',1,'']]], ['fast_5fsquare_5froot_2ehpp',['fast_square_root.hpp',['../a00032.html',1,'']]], ['fast_5ftrigonometry_2ehpp',['fast_trigonometry.hpp',['../a00033.html',1,'']]], ['fastacos',['fastAcos',['../a00325.html#ga9721d63356e5d94fdc4b393a426ab26b',1,'glm']]], ['fastasin',['fastAsin',['../a00325.html#ga562cb62c51fbfe7fac7db0bce706b81f',1,'glm']]], ['fastatan',['fastAtan',['../a00325.html#ga8d197c6ef564f5e5d59af3b3f8adcc2c',1,'glm::fastAtan(T y, T x)'],['../a00325.html#gae25de86a968490ff56856fa425ec9d30',1,'glm::fastAtan(T angle)']]], ['fastcos',['fastCos',['../a00325.html#gab34c8b45c23c0165a64dcecfcc3b302a',1,'glm']]], ['fastdistance',['fastDistance',['../a00324.html#gaac333418d0c4e0cc6d3d219ed606c238',1,'glm::fastDistance(genType x, genType y)'],['../a00324.html#ga42d3e771fa7cb3c60d828e315829df19',1,'glm::fastDistance(vec< L, T, Q > const &x, vec< L, T, Q > const &y)']]], ['fastexp',['fastExp',['../a00323.html#gaa3180ac8f96ab37ab96e0cacaf608e10',1,'glm::fastExp(T x)'],['../a00323.html#ga3ba6153aec6bd74628f8b00530aa8d58',1,'glm::fastExp(vec< L, T, Q > const &x)']]], ['fastexp2',['fastExp2',['../a00323.html#ga0af50585955eb14c60bb286297fabab2',1,'glm::fastExp2(T x)'],['../a00323.html#gacaaed8b67d20d244b7de217e7816c1b6',1,'glm::fastExp2(vec< L, T, Q > const &x)']]], ['fastinversesqrt',['fastInverseSqrt',['../a00324.html#ga7f081b14d9c7035c8714eba5f7f75a8f',1,'glm::fastInverseSqrt(genType x)'],['../a00324.html#gadcd7be12b1e5ee182141359d4c45dd24',1,'glm::fastInverseSqrt(vec< L, T, Q > const &x)']]], ['fastlength',['fastLength',['../a00324.html#gafe697d6287719538346bbdf8b1367c59',1,'glm::fastLength(genType x)'],['../a00324.html#ga90f66be92ef61e705c005e7b3209edb8',1,'glm::fastLength(vec< L, T, Q > const &x)']]], ['fastlog',['fastLog',['../a00323.html#gae1bdc97b7f96a600e29c753f1cd4388a',1,'glm::fastLog(T x)'],['../a00323.html#ga937256993a7219e73f186bb348fe6be8',1,'glm::fastLog(vec< L, T, Q > const &x)']]], ['fastlog2',['fastLog2',['../a00323.html#ga6e98118685f6dc9e05fbb13dd5e5234e',1,'glm::fastLog2(T x)'],['../a00323.html#ga7562043539194ccc24649f8475bc5584',1,'glm::fastLog2(vec< L, T, Q > const &x)']]], ['fastmix',['fastMix',['../a00352.html#ga264e10708d58dd0ff53b7902a2bd2561',1,'glm']]], ['fastnormalize',['fastNormalize',['../a00324.html#ga3b02c1d6e0c754144e2f1e110bf9f16c',1,'glm']]], ['fastnormalizedot',['fastNormalizeDot',['../a00345.html#ga2746fb9b5bd22b06b2f7c8babba5de9e',1,'glm']]], ['fastpow',['fastPow',['../a00323.html#ga5340e98a11fcbbd936ba6e983a154d50',1,'glm::fastPow(genType x, genType y)'],['../a00323.html#ga15325a8ed2d1c4ed2412c4b3b3927aa2',1,'glm::fastPow(vec< L, T, Q > const &x, vec< L, T, Q > const &y)'],['../a00323.html#ga7f2562db9c3e02ae76169c36b086c3f6',1,'glm::fastPow(genTypeT x, genTypeU y)'],['../a00323.html#ga1abe488c0829da5b9de70ac64aeaa7e5',1,'glm::fastPow(vec< L, T, Q > const &x)']]], ['fastsin',['fastSin',['../a00325.html#ga0aab3257bb3b628d10a1e0483e2c6915',1,'glm']]], ['fastsqrt',['fastSqrt',['../a00324.html#ga6c460e9414a50b2fc455c8f64c86cdc9',1,'glm::fastSqrt(genType x)'],['../a00324.html#gae83f0c03614f73eae5478c5b6274ee6d',1,'glm::fastSqrt(vec< L, T, Q > const &x)']]], ['fasttan',['fastTan',['../a00325.html#gaf29b9c1101a10007b4f79ee89df27ba2',1,'glm']]], ['fclamp',['fclamp',['../a00321.html#ga1e28539d3a46965ed9ef92ec7cb3b18a',1,'glm::fclamp(genType x, genType minVal, genType maxVal)'],['../a00321.html#ga60796d08903489ee185373593bc16b9d',1,'glm::fclamp(vec< L, T, Q > const &x, T minVal, T maxVal)'],['../a00321.html#ga5c15fa4709763c269c86c0b8b3aa2297',1,'glm::fclamp(vec< L, T, Q > const &x, vec< L, T, Q > const &minVal, vec< L, T, Q > const &maxVal)']]], ['fdualquat',['fdualquat',['../a00317.html#ga237c2b9b42c9a930e49de5840ae0f930',1,'glm']]], ['findlsb',['findLSB',['../a00370.html#gaf74c4d969fa34ab8acb9d390f5ca5274',1,'glm::findLSB(genIUType x)'],['../a00370.html#ga4454c0331d6369888c28ab677f4810c7',1,'glm::findLSB(vec< L, T, Q > const &v)']]], ['findmsb',['findMSB',['../a00370.html#ga7e4a794d766861c70bc961630f8ef621',1,'glm::findMSB(genIUType x)'],['../a00370.html#ga39ac4d52028bb6ab08db5ad6562c2872',1,'glm::findMSB(vec< L, T, Q > const &v)']]], ['findnsb',['findNSB',['../a00261.html#ga2777901e41ad6e1e9d0ad6cc855d1075',1,'glm::findNSB(genIUType x, int significantBitCount)'],['../a00274.html#gaff61eca266da315002a3db92ff0dd604',1,'glm::findNSB(vec< L, T, Q > const &Source, vec< L, int, Q > SignificantBitCount)']]], ['fliplr',['fliplr',['../a00336.html#gaf39f4e5f78eb29c1a90277d45b9b3feb',1,'glm']]], ['flipud',['flipud',['../a00336.html#ga85003371f0ba97380dd25e8905de1870',1,'glm']]], ['float1',['float1',['../a00315.html#gaf5208d01f6c6fbcb7bb55d610b9c0ead',1,'glm']]], ['float1x1',['float1x1',['../a00315.html#ga73720b8dc4620835b17f74d428f98c0c',1,'glm']]], ['float2',['float2',['../a00315.html#ga02d3c013982c183906c61d74aa3166ce',1,'glm']]], ['float2x2',['float2x2',['../a00315.html#ga33d43ecbb60a85a1366ff83f8a0ec85f',1,'glm']]], ['float2x3',['float2x3',['../a00315.html#ga939b0cff15cee3030f75c1b2e36f89fe',1,'glm']]], ['float2x4',['float2x4',['../a00315.html#gafec3cfd901ab334a92e0242b8f2269b4',1,'glm']]], ['float3',['float3',['../a00315.html#ga821ff110fc8533a053cbfcc93e078cc0',1,'glm']]], ['float32',['float32',['../a00304.html#gaacdc525d6f7bddb3ae95d5c311bd06a1',1,'glm']]], ['float32_5ft',['float32_t',['../a00304.html#gaa4947bc8b47c72fceea9bda730ecf603',1,'glm']]], ['float3x2',['float3x2',['../a00315.html#gaa6c69f04ba95f3faedf95dae874de576',1,'glm']]], ['float3x3',['float3x3',['../a00315.html#ga6ceb5d38a58becdf420026e12a6562f3',1,'glm']]], ['float3x4',['float3x4',['../a00315.html#ga4d2679c321b793ca3784fe0315bb5332',1,'glm']]], ['float4',['float4',['../a00315.html#gae2da7345087db3815a25d8837a727ef1',1,'glm']]], ['float4x2',['float4x2',['../a00315.html#ga308b9af0c221145bcfe9bfc129d9098e',1,'glm']]], ['float4x3',['float4x3',['../a00315.html#gac0a51b4812038aa81d73ffcc37f741ac',1,'glm']]], ['float4x4',['float4x4',['../a00315.html#gad3051649b3715d828a4ab92cdae7c3bf',1,'glm']]], ['float64',['float64',['../a00304.html#ga232fad1b0d6dcc7c16aabde98b2e2a80',1,'glm']]], ['float64_5ft',['float64_t',['../a00304.html#ga728366fef72cd96f0a5fa6429f05469e',1,'glm']]], ['floatbitstoint',['floatBitsToInt',['../a00241.html#ga1425c1c3160ec51214b03a0469a3013d',1,'glm::floatBitsToInt(float const &v)'],['../a00241.html#ga99f7d62f78ac5ea3b49bae715c9488ed',1,'glm::floatBitsToInt(vec< L, float, Q > const &v)']]], ['floatbitstouint',['floatBitsToUint',['../a00241.html#ga70e0271c34af52f3100c7960e18c3f2b',1,'glm::floatBitsToUint(float const &v)'],['../a00241.html#ga49418ba4c8a60fbbb5d57b705f3e26db',1,'glm::floatBitsToUint(vec< L, float, Q > const &v)']]], ['floor',['floor',['../a00241.html#gaa9d0742639e85b29c7c5de11cfd6840d',1,'glm']]], ['floor_5flog2',['floor_log2',['../a00330.html#ga7011b4e1c1e1ed492149b028feacc00e',1,'glm']]], ['floormultiple',['floorMultiple',['../a00302.html#ga2ffa3cd5f2ea746ee1bf57c46da6315e',1,'glm::floorMultiple(genType v, genType Multiple)'],['../a00302.html#gacdd8901448f51f0b192380e422fae3e4',1,'glm::floorMultiple(vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)']]], ['floorpoweroftwo',['floorPowerOfTwo',['../a00302.html#gafe273a57935d04c9db677bf67f9a71f4',1,'glm::floorPowerOfTwo(genIUType v)'],['../a00302.html#gaf0d591a8fca8ddb9289cdeb44b989c2d',1,'glm::floorPowerOfTwo(vec< L, T, Q > const &v)']]], ['fma',['fma',['../a00241.html#gad0f444d4b81cc53c3b6edf5aa25078c2',1,'glm']]], ['fmat2',['fmat2',['../a00304.html#ga4541dc2feb2a31d6ecb5a303f3dd3280',1,'glm']]], ['fmat2x2',['fmat2x2',['../a00304.html#ga3350c93c3275298f940a42875388e4b4',1,'glm']]], ['fmat2x3',['fmat2x3',['../a00304.html#ga55a2d2a8eb09b5633668257eb3cad453',1,'glm']]], ['fmat2x4',['fmat2x4',['../a00304.html#ga681381f19f11c9e5ee45cda2c56937ff',1,'glm']]], ['fmat3',['fmat3',['../a00304.html#ga253d453c20e037730023fea0215cb6f6',1,'glm']]], ['fmat3x2',['fmat3x2',['../a00304.html#ga6af54d70d9beb0a7ef992a879e86b04f',1,'glm']]], ['fmat3x3',['fmat3x3',['../a00304.html#gaa07c86650253672a19dbfb898f3265b8',1,'glm']]], ['fmat3x4',['fmat3x4',['../a00304.html#ga44e158af77a670ee1b58c03cda9e1619',1,'glm']]], ['fmat4',['fmat4',['../a00304.html#ga8cb400c0f4438f2640035d7b9824a0ca',1,'glm']]], ['fmat4x2',['fmat4x2',['../a00304.html#ga8c8aa45aafcc23238edb1d5aeb801774',1,'glm']]], ['fmat4x3',['fmat4x3',['../a00304.html#ga4295048a78bdf46b8a7de77ec665b497',1,'glm']]], ['fmat4x4',['fmat4x4',['../a00304.html#gad01cc6479bde1fd1870f13d3ed9530b3',1,'glm']]], ['fmax',['fmax',['../a00258.html#ga36920478565cf608e93064283ce06421',1,'glm::fmax(T a, T b)'],['../a00258.html#ga0007bba71ca451ac70e99d28dfbeaab9',1,'glm::fmax(T a, T b, T C)'],['../a00258.html#ga27e260b1ff4d04c3ad4b864d26cbaf08',1,'glm::fmax(T a, T b, T C, T D)'],['../a00267.html#gad66b6441f7200db16c9f341711733c56',1,'glm::fmax(vec< L, T, Q > const &a, T b)'],['../a00267.html#ga8df4be3f48d6717c40ea788fd30deebf',1,'glm::fmax(vec< L, T, Q > const &a, vec< L, T, Q > const &b)'],['../a00267.html#ga0f04ba924294dae4234ca93ede23229a',1,'glm::fmax(vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c)'],['../a00267.html#ga4ed3eb250ccbe17bfe8ded8a6b72d230',1,'glm::fmax(vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c, vec< L, T, Q > const &d)'],['../a00321.html#gae5792cb2b51190057e4aea027eb56f81',1,'glm::fmax(genType x, genType y)']]], ['fmin',['fmin',['../a00258.html#ga7b2b438a765e2a62098c79eb212f28f0',1,'glm::fmin(T a, T b)'],['../a00258.html#ga1a95fe4cf5437e8133f1093fe9726a64',1,'glm::fmin(T a, T b, T c)'],['../a00258.html#ga3d6f9c6c16bfd6f38f2c4f8076e8b661',1,'glm::fmin(T a, T b, T c, T d)'],['../a00267.html#gae989203363cff9eab5093630df4fe071',1,'glm::fmin(vec< L, T, Q > const &x, T y)'],['../a00267.html#ga7c42e93cd778c9181d1cdeea4d3e43bd',1,'glm::fmin(vec< L, T, Q > const &x, vec< L, T, Q > const &y)'],['../a00267.html#ga7e62739055b49189d9355471f78fe000',1,'glm::fmin(vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c)'],['../a00267.html#ga4a543dd7d22ad1f3b8b839f808a9d93c',1,'glm::fmin(vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c, vec< L, T, Q > const &d)'],['../a00321.html#gaa3200559611ac5b9b9ae7283547916a7',1,'glm::fmin(genType x, genType y)']]], ['fmod',['fmod',['../a00314.html#gae5e80425df9833164ad469e83b475fb4',1,'glm']]], ['four_5fover_5fpi',['four_over_pi',['../a00290.html#ga753950e5140e4ea6a88e4a18ba61dc09',1,'glm']]], ['fract',['fract',['../a00241.html#ga8ba89e40e55ae5cdf228548f9b7639c7',1,'glm::fract(genType x)'],['../a00241.html#ga2df623004f634b440d61e018d62c751b',1,'glm::fract(vec< L, T, Q > const &x)']]], ['frexp',['frexp',['../a00241.html#gaddf5ef73283c171730e0bcc11833fa81',1,'glm']]], ['frustum',['frustum',['../a00243.html#ga0bcd4542e0affc63a0b8c08fcb839ea9',1,'glm']]], ['frustumlh',['frustumLH',['../a00243.html#gae4277c37f61d81da01bc9db14ea90296',1,'glm']]], ['frustumlh_5fno',['frustumLH_NO',['../a00243.html#ga259520cad03b3f8bca9417920035ed01',1,'glm']]], ['frustumlh_5fzo',['frustumLH_ZO',['../a00243.html#ga94218b094862d17798370242680b9030',1,'glm']]], ['frustumno',['frustumNO',['../a00243.html#gae34ec664ad44860bf4b5ba631f0e0e90',1,'glm']]], ['frustumrh',['frustumRH',['../a00243.html#ga4366ab45880c6c5f8b3e8c371ca4b136',1,'glm']]], ['frustumrh_5fno',['frustumRH_NO',['../a00243.html#ga9236c8439f21be186b79c97b588836b9',1,'glm']]], ['frustumrh_5fzo',['frustumRH_ZO',['../a00243.html#ga7654a9227f14d5382786b9fc0eb5692d',1,'glm']]], ['frustumzo',['frustumZO',['../a00243.html#gaa73322e152edf50cf30a6edac342a757',1,'glm']]], ['functions_2ehpp',['functions.hpp',['../a00034.html',1,'']]], ['fvec1',['fvec1',['../a00304.html#ga98b9ed43cf8c5cf1d354b23c7df9119f',1,'glm']]], ['fvec2',['fvec2',['../a00304.html#ga24273aa02abaecaab7f160bac437a339',1,'glm']]], ['fvec3',['fvec3',['../a00304.html#ga89930533646b30d021759298aa6bf04a',1,'glm']]], ['fvec4',['fvec4',['../a00304.html#ga713c796c54875cf4092d42ff9d9096b0',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_6.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_6.js ================================================ var searchData= [ ['color_5fspace_2ehpp',['color_space.hpp',['../a00012.html',1,'']]], ['color_5fspace_2ehpp',['color_space.hpp',['../a00013.html',1,'']]], ['common_2ehpp',['common.hpp',['../a00016.html',1,'']]], ['geometric_20functions',['Geometric functions',['../a00279.html',1,'']]], ['glm_5fext_5fmatrix_5fclip_5fspace',['GLM_EXT_matrix_clip_space',['../a00243.html',1,'']]], ['glm_5fext_5fmatrix_5fcommon',['GLM_EXT_matrix_common',['../a00244.html',1,'']]], ['glm_5fext_5fmatrix_5fprojection',['GLM_EXT_matrix_projection',['../a00245.html',1,'']]], ['glm_5fext_5fmatrix_5frelational',['GLM_EXT_matrix_relational',['../a00246.html',1,'']]], ['glm_5fext_5fmatrix_5ftransform',['GLM_EXT_matrix_transform',['../a00247.html',1,'']]], ['glm_5fext_5fquaternion_5fcommon',['GLM_EXT_quaternion_common',['../a00248.html',1,'']]], ['glm_5fext_5fquaternion_5fdouble',['GLM_EXT_quaternion_double',['../a00249.html',1,'']]], ['glm_5fext_5fquaternion_5fdouble_5fprecision',['GLM_EXT_quaternion_double_precision',['../a00250.html',1,'']]], ['glm_5fext_5fquaternion_5fexponential',['GLM_EXT_quaternion_exponential',['../a00251.html',1,'']]], ['glm_5fext_5fquaternion_5ffloat',['GLM_EXT_quaternion_float',['../a00252.html',1,'']]], ['glm_5fext_5fquaternion_5ffloat_5fprecision',['GLM_EXT_quaternion_float_precision',['../a00253.html',1,'']]], ['glm_5fext_5fquaternion_5fgeometric',['GLM_EXT_quaternion_geometric',['../a00254.html',1,'']]], ['glm_5fext_5fquaternion_5frelational',['GLM_EXT_quaternion_relational',['../a00255.html',1,'']]], ['glm_5fext_5fquaternion_5ftransform',['GLM_EXT_quaternion_transform',['../a00256.html',1,'']]], ['glm_5fext_5fquaternion_5ftrigonometric',['GLM_EXT_quaternion_trigonometric',['../a00257.html',1,'']]], ['glm_5fext_5fscalar_5fcommon',['GLM_EXT_scalar_common',['../a00258.html',1,'']]], ['glm_5fext_5fscalar_5fconstants',['GLM_EXT_scalar_constants',['../a00259.html',1,'']]], ['glm_5fext_5fscalar_5fint_5fsized',['GLM_EXT_scalar_int_sized',['../a00260.html',1,'']]], ['glm_5fext_5fscalar_5finteger',['GLM_EXT_scalar_integer',['../a00261.html',1,'']]], ['glm_5fext_5fscalar_5frelational',['GLM_EXT_scalar_relational',['../a00262.html',1,'']]], ['glm_5fext_5fscalar_5fuint_5fsized',['GLM_EXT_scalar_uint_sized',['../a00263.html',1,'']]], ['glm_5fext_5fscalar_5fulp',['GLM_EXT_scalar_ulp',['../a00264.html',1,'']]], ['glm_5fext_5fvector_5fbool1',['GLM_EXT_vector_bool1',['../a00265.html',1,'']]], ['glm_5fext_5fvector_5fbool1_5fprecision',['GLM_EXT_vector_bool1_precision',['../a00266.html',1,'']]], ['glm_5fext_5fvector_5fcommon',['GLM_EXT_vector_common',['../a00267.html',1,'']]], ['glm_5fext_5fvector_5fdouble1',['GLM_EXT_vector_double1',['../a00268.html',1,'']]], ['glm_5fext_5fvector_5fdouble1_5fprecision',['GLM_EXT_vector_double1_precision',['../a00269.html',1,'']]], ['glm_5fext_5fvector_5ffloat1',['GLM_EXT_vector_float1',['../a00270.html',1,'']]], ['glm_5fext_5fvector_5ffloat1_5fprecision',['GLM_EXT_vector_float1_precision',['../a00271.html',1,'']]], ['glm_5fext_5fvector_5fint1',['GLM_EXT_vector_int1',['../a00272.html',1,'']]], ['glm_5fext_5fvector_5fint1_5fprecision',['GLM_EXT_vector_int1_precision',['../a00273.html',1,'']]], ['glm_5fext_5fvector_5finteger',['GLM_EXT_vector_integer',['../a00274.html',1,'']]], ['glm_5fext_5fvector_5frelational',['GLM_EXT_vector_relational',['../a00275.html',1,'']]], ['glm_5fext_5fvector_5fuint1',['GLM_EXT_vector_uint1',['../a00276.html',1,'']]], ['glm_5fext_5fvector_5fuint1_5fprecision',['GLM_EXT_vector_uint1_precision',['../a00277.html',1,'']]], ['glm_5fext_5fvector_5fulp',['GLM_EXT_vector_ulp',['../a00278.html',1,'']]], ['gauss',['gauss',['../a00326.html#ga0b50b197ff74261a0fad90f4b8d24702',1,'glm::gauss(T x, T ExpectedValue, T StandardDeviation)'],['../a00326.html#gad19ec8754a83c0b9a8dc16b7e60705ab',1,'glm::gauss(vec< 2, T, Q > const &Coord, vec< 2, T, Q > const &ExpectedValue, vec< 2, T, Q > const &StandardDeviation)']]], ['gaussrand',['gaussRand',['../a00300.html#ga5193a83e49e4fdc5652c084711083574',1,'glm']]], ['geometric_2ehpp',['geometric.hpp',['../a00036.html',1,'']]], ['glm_2ehpp',['glm.hpp',['../a00037.html',1,'']]], ['glm_5faligned_5ftypedef',['GLM_ALIGNED_TYPEDEF',['../a00364.html#gab5cd5c5fad228b25c782084f1cc30114',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_int8, aligned_lowp_int8, 1)'],['../a00364.html#ga5bb5dd895ef625c1b113f2cf400186b0',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_int16, aligned_lowp_int16, 2)'],['../a00364.html#gac6efa54cf7c6c86f7158922abdb1a430',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_int32, aligned_lowp_int32, 4)'],['../a00364.html#ga6612eb77c8607048e7552279a11eeb5f',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_int64, aligned_lowp_int64, 8)'],['../a00364.html#ga7ddc1848ff2223026db8968ce0c97497',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_int8_t, aligned_lowp_int8_t, 1)'],['../a00364.html#ga22240dd9458b0f8c11fbcc4f48714f68',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_int16_t, aligned_lowp_int16_t, 2)'],['../a00364.html#ga8130ea381d76a2cc34a93ccbb6cf487d',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_int32_t, aligned_lowp_int32_t, 4)'],['../a00364.html#ga7ccb60f3215d293fd62b33b31ed0e7be',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_int64_t, aligned_lowp_int64_t, 8)'],['../a00364.html#gac20d508d2ef5cc95ad3daf083c57ec2a',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_i8, aligned_lowp_i8, 1)'],['../a00364.html#ga50257b48069a31d0c8d9c1f644d267de',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_i16, aligned_lowp_i16, 2)'],['../a00364.html#gaa07e98e67b7a3435c0746018c7a2a839',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_i32, aligned_lowp_i32, 4)'],['../a00364.html#ga62601fc6f8ca298b77285bedf03faffd',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_i64, aligned_lowp_i64, 8)'],['../a00364.html#gac8cff825951aeb54dd846037113c72db',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_int8, aligned_mediump_int8, 1)'],['../a00364.html#ga78f443d88f438575a62b5df497cdf66b',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_int16, aligned_mediump_int16, 2)'],['../a00364.html#ga0680cd3b5d4e8006985fb41a4f9b57af',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_int32, aligned_mediump_int32, 4)'],['../a00364.html#gad9e5babb1dd3e3531b42c37bf25dd951',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_int64, aligned_mediump_int64, 8)'],['../a00364.html#ga353fd9fa8a9ad952fcabd0d53ad9a6dd',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_int8_t, aligned_mediump_int8_t, 1)'],['../a00364.html#ga2196442c0e5c5e8c77842de388c42521',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_int16_t, aligned_mediump_int16_t, 2)'],['../a00364.html#ga1284488189daf897cf095c5eefad9744',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_int32_t, aligned_mediump_int32_t, 4)'],['../a00364.html#ga73fdc86a539808af58808b7c60a1c4d8',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_int64_t, aligned_mediump_int64_t, 8)'],['../a00364.html#gafafeea923e1983262c972e2b83922d3b',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_i8, aligned_mediump_i8, 1)'],['../a00364.html#ga4b35ca5fe8f55c9d2fe54fdb8d8896f4',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_i16, aligned_mediump_i16, 2)'],['../a00364.html#ga63b882e29170d428463d99c3d630acc6',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_i32, aligned_mediump_i32, 4)'],['../a00364.html#ga8b20507bb048c1edea2d441cc953e6f0',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_i64, aligned_mediump_i64, 8)'],['../a00364.html#ga56c5ca60813027b603c7b61425a0479d',1,'glm::GLM_ALIGNED_TYPEDEF(highp_int8, aligned_highp_int8, 1)'],['../a00364.html#ga7a751b3aff24c0259f4a7357c2969089',1,'glm::GLM_ALIGNED_TYPEDEF(highp_int16, aligned_highp_int16, 2)'],['../a00364.html#ga70cd2144351c556469ee6119e59971fc',1,'glm::GLM_ALIGNED_TYPEDEF(highp_int32, aligned_highp_int32, 4)'],['../a00364.html#ga46bbf08dc004d8c433041e0b5018a5d3',1,'glm::GLM_ALIGNED_TYPEDEF(highp_int64, aligned_highp_int64, 8)'],['../a00364.html#gab3e10c77a20d1abad2de1c561c7a5c18',1,'glm::GLM_ALIGNED_TYPEDEF(highp_int8_t, aligned_highp_int8_t, 1)'],['../a00364.html#ga968f30319ebeaca9ebcd3a25a8e139fb',1,'glm::GLM_ALIGNED_TYPEDEF(highp_int16_t, aligned_highp_int16_t, 2)'],['../a00364.html#gaae773c28e6390c6aa76f5b678b7098a3',1,'glm::GLM_ALIGNED_TYPEDEF(highp_int32_t, aligned_highp_int32_t, 4)'],['../a00364.html#ga790cfff1ca39d0ed696ffed980809311',1,'glm::GLM_ALIGNED_TYPEDEF(highp_int64_t, aligned_highp_int64_t, 8)'],['../a00364.html#ga8265b91eb23c120a9b0c3e381bc37b96',1,'glm::GLM_ALIGNED_TYPEDEF(highp_i8, aligned_highp_i8, 1)'],['../a00364.html#gae6d384de17588d8edb894fbe06e0d410',1,'glm::GLM_ALIGNED_TYPEDEF(highp_i16, aligned_highp_i16, 2)'],['../a00364.html#ga9c8172b745ee03fc5b2b91c350c2922f',1,'glm::GLM_ALIGNED_TYPEDEF(highp_i32, aligned_highp_i32, 4)'],['../a00364.html#ga77e0dff12aa4020ddc3f8cabbea7b2e6',1,'glm::GLM_ALIGNED_TYPEDEF(highp_i64, aligned_highp_i64, 8)'],['../a00364.html#gabd82b9faa9d4d618dbbe0fc8a1efee63',1,'glm::GLM_ALIGNED_TYPEDEF(int8, aligned_int8, 1)'],['../a00364.html#ga285649744560be21000cfd81bbb5d507',1,'glm::GLM_ALIGNED_TYPEDEF(int16, aligned_int16, 2)'],['../a00364.html#ga07732da630b2deda428ce95c0ecaf3ff',1,'glm::GLM_ALIGNED_TYPEDEF(int32, aligned_int32, 4)'],['../a00364.html#ga1a8da2a8c51f69c07a2e7f473aa420f4',1,'glm::GLM_ALIGNED_TYPEDEF(int64, aligned_int64, 8)'],['../a00364.html#ga848aedf13e2d9738acf0bb482c590174',1,'glm::GLM_ALIGNED_TYPEDEF(int8_t, aligned_int8_t, 1)'],['../a00364.html#gafd2803d39049dd45a37a63931e25d943',1,'glm::GLM_ALIGNED_TYPEDEF(int16_t, aligned_int16_t, 2)'],['../a00364.html#gae553b33349d6da832cf0724f1e024094',1,'glm::GLM_ALIGNED_TYPEDEF(int32_t, aligned_int32_t, 4)'],['../a00364.html#ga16d223a2b3409e812e1d3bd87f0e9e5c',1,'glm::GLM_ALIGNED_TYPEDEF(int64_t, aligned_int64_t, 8)'],['../a00364.html#ga2de065d2ddfdb366bcd0febca79ae2ad',1,'glm::GLM_ALIGNED_TYPEDEF(i8, aligned_i8, 1)'],['../a00364.html#gabd786bdc20a11c8cb05c92c8212e28d3',1,'glm::GLM_ALIGNED_TYPEDEF(i16, aligned_i16, 2)'],['../a00364.html#gad4aefe56691cdb640c72f0d46d3fb532',1,'glm::GLM_ALIGNED_TYPEDEF(i32, aligned_i32, 4)'],['../a00364.html#ga8fe9745f7de24a8394518152ff9fccdc',1,'glm::GLM_ALIGNED_TYPEDEF(i64, aligned_i64, 8)'],['../a00364.html#gaaad735483450099f7f882d4e3a3569bd',1,'glm::GLM_ALIGNED_TYPEDEF(ivec1, aligned_ivec1, 4)'],['../a00364.html#gac7b6f823802edbd6edbaf70ea25bf068',1,'glm::GLM_ALIGNED_TYPEDEF(ivec2, aligned_ivec2, 8)'],['../a00364.html#ga3e235bcd2b8029613f25b8d40a2d3ef7',1,'glm::GLM_ALIGNED_TYPEDEF(ivec3, aligned_ivec3, 16)'],['../a00364.html#ga50d8a9523968c77f8325b4c9bfbff41e',1,'glm::GLM_ALIGNED_TYPEDEF(ivec4, aligned_ivec4, 16)'],['../a00364.html#ga9ec20fdfb729c702032da9378c79679f',1,'glm::GLM_ALIGNED_TYPEDEF(i8vec1, aligned_i8vec1, 1)'],['../a00364.html#ga25b3fe1d9e8d0a5e86c1949c1acd8131',1,'glm::GLM_ALIGNED_TYPEDEF(i8vec2, aligned_i8vec2, 2)'],['../a00364.html#ga2958f907719d94d8109b562540c910e2',1,'glm::GLM_ALIGNED_TYPEDEF(i8vec3, aligned_i8vec3, 4)'],['../a00364.html#ga1fe6fc032a978f1c845fac9aa0668714',1,'glm::GLM_ALIGNED_TYPEDEF(i8vec4, aligned_i8vec4, 4)'],['../a00364.html#gaa4161e7a496dc96972254143fe873e55',1,'glm::GLM_ALIGNED_TYPEDEF(i16vec1, aligned_i16vec1, 2)'],['../a00364.html#ga9d7cb211ccda69b1c22ddeeb0f3e7aba',1,'glm::GLM_ALIGNED_TYPEDEF(i16vec2, aligned_i16vec2, 4)'],['../a00364.html#gaaee91dd2ab34423bcc11072ef6bd0f02',1,'glm::GLM_ALIGNED_TYPEDEF(i16vec3, aligned_i16vec3, 8)'],['../a00364.html#ga49f047ccaa8b31fad9f26c67bf9b3510',1,'glm::GLM_ALIGNED_TYPEDEF(i16vec4, aligned_i16vec4, 8)'],['../a00364.html#ga904e9c2436bb099397c0823506a0771f',1,'glm::GLM_ALIGNED_TYPEDEF(i32vec1, aligned_i32vec1, 4)'],['../a00364.html#gaf90651cf2f5e7ee2b11cfdc5a6749534',1,'glm::GLM_ALIGNED_TYPEDEF(i32vec2, aligned_i32vec2, 8)'],['../a00364.html#ga7354a4ead8cb17868aec36b9c30d6010',1,'glm::GLM_ALIGNED_TYPEDEF(i32vec3, aligned_i32vec3, 16)'],['../a00364.html#gad2ecbdea18732163e2636e27b37981ee',1,'glm::GLM_ALIGNED_TYPEDEF(i32vec4, aligned_i32vec4, 16)'],['../a00364.html#ga965b1c9aa1800e93d4abc2eb2b5afcbf',1,'glm::GLM_ALIGNED_TYPEDEF(i64vec1, aligned_i64vec1, 8)'],['../a00364.html#ga1f9e9c2ea2768675dff9bae5cde2d829',1,'glm::GLM_ALIGNED_TYPEDEF(i64vec2, aligned_i64vec2, 16)'],['../a00364.html#gad77c317b7d942322cd5be4c8127b3187',1,'glm::GLM_ALIGNED_TYPEDEF(i64vec3, aligned_i64vec3, 32)'],['../a00364.html#ga716f8ea809bdb11b5b542d8b71aeb04f',1,'glm::GLM_ALIGNED_TYPEDEF(i64vec4, aligned_i64vec4, 32)'],['../a00364.html#gad46f8e9082d5878b1bc04f9c1471cdaa',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_uint8, aligned_lowp_uint8, 1)'],['../a00364.html#ga1246094581af624aca6c7499aaabf801',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_uint16, aligned_lowp_uint16, 2)'],['../a00364.html#ga7a5009a1d0196bbf21dd7518f61f0249',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_uint32, aligned_lowp_uint32, 4)'],['../a00364.html#ga45213fd18b3bb1df391671afefe4d1e7',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_uint64, aligned_lowp_uint64, 8)'],['../a00364.html#ga0ba26b4e3fd9ecbc25358efd68d8a4ca',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_uint8_t, aligned_lowp_uint8_t, 1)'],['../a00364.html#gaf2b58f5fb6d4ec8ce7b76221d3af43e1',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_uint16_t, aligned_lowp_uint16_t, 2)'],['../a00364.html#gadc246401847dcba155f0699425e49dcd',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_uint32_t, aligned_lowp_uint32_t, 4)'],['../a00364.html#gaace64bddf51a9def01498da9a94fb01c',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_uint64_t, aligned_lowp_uint64_t, 8)'],['../a00364.html#gad7bb97c29d664bd86ffb1bed4abc5534',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_u8, aligned_lowp_u8, 1)'],['../a00364.html#ga404bba7785130e0b1384d695a9450b28',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_u16, aligned_lowp_u16, 2)'],['../a00364.html#ga31ba41fd896257536958ec6080203d2a',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_u32, aligned_lowp_u32, 4)'],['../a00364.html#gacca5f13627f57b3505676e40a6e43e5e',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_u64, aligned_lowp_u64, 8)'],['../a00364.html#ga5faf1d3e70bf33174dd7f3d01d5b883b',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_uint8, aligned_mediump_uint8, 1)'],['../a00364.html#ga727e2bf2c433bb3b0182605860a48363',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_uint16, aligned_mediump_uint16, 2)'],['../a00364.html#ga12566ca66d5962dadb4a5eb4c74e891e',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_uint32, aligned_mediump_uint32, 4)'],['../a00364.html#ga7b66a97a8acaa35c5a377b947318c6bc',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_uint64, aligned_mediump_uint64, 8)'],['../a00364.html#gaa9cde002439b74fa66120a16a9f55fcc',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_uint8_t, aligned_mediump_uint8_t, 1)'],['../a00364.html#ga1ca98c67f7d1e975f7c5202f1da1df1f',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_uint16_t, aligned_mediump_uint16_t, 2)'],['../a00364.html#ga1dc8bc6199d785f235576948d80a597c',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_uint32_t, aligned_mediump_uint32_t, 4)'],['../a00364.html#gad14a0f2ec93519682b73d70b8e401d81',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_uint64_t, aligned_mediump_uint64_t, 8)'],['../a00364.html#gada8b996eb6526dc1ead813bd49539d1b',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_u8, aligned_mediump_u8, 1)'],['../a00364.html#ga28948f6bfb52b42deb9d73ae1ea8d8b0',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_u16, aligned_mediump_u16, 2)'],['../a00364.html#gad6a7c0b5630f89d3f1c5b4ef2919bb4c',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_u32, aligned_mediump_u32, 4)'],['../a00364.html#gaa0fc531cbaa972ac3a0b86d21ef4a7fa',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_u64, aligned_mediump_u64, 8)'],['../a00364.html#ga0ee829f7b754b262bbfe6317c0d678ac',1,'glm::GLM_ALIGNED_TYPEDEF(highp_uint8, aligned_highp_uint8, 1)'],['../a00364.html#ga447848a817a626cae08cedc9778b331c',1,'glm::GLM_ALIGNED_TYPEDEF(highp_uint16, aligned_highp_uint16, 2)'],['../a00364.html#ga6027ae13b2734f542a6e7beee11b8820',1,'glm::GLM_ALIGNED_TYPEDEF(highp_uint32, aligned_highp_uint32, 4)'],['../a00364.html#ga2aca46c8608c95ef991ee4c332acde5f',1,'glm::GLM_ALIGNED_TYPEDEF(highp_uint64, aligned_highp_uint64, 8)'],['../a00364.html#gaff50b10dd1c48be324fdaffd18e2c7ea',1,'glm::GLM_ALIGNED_TYPEDEF(highp_uint8_t, aligned_highp_uint8_t, 1)'],['../a00364.html#ga9fc4421dbb833d5461e6d4e59dcfde55',1,'glm::GLM_ALIGNED_TYPEDEF(highp_uint16_t, aligned_highp_uint16_t, 2)'],['../a00364.html#ga329f1e2b94b33ba5e3918197030bcf03',1,'glm::GLM_ALIGNED_TYPEDEF(highp_uint32_t, aligned_highp_uint32_t, 4)'],['../a00364.html#ga71e646f7e301aa422328194162c9c998',1,'glm::GLM_ALIGNED_TYPEDEF(highp_uint64_t, aligned_highp_uint64_t, 8)'],['../a00364.html#ga8942e09f479489441a7a5004c6d8cb66',1,'glm::GLM_ALIGNED_TYPEDEF(highp_u8, aligned_highp_u8, 1)'],['../a00364.html#gaab32497d6e4db16ee439dbedd64c5865',1,'glm::GLM_ALIGNED_TYPEDEF(highp_u16, aligned_highp_u16, 2)'],['../a00364.html#gaaadbb34952eca8e3d7fe122c3e167742',1,'glm::GLM_ALIGNED_TYPEDEF(highp_u32, aligned_highp_u32, 4)'],['../a00364.html#ga92024d27c74a3650afb55ec8e024ed25',1,'glm::GLM_ALIGNED_TYPEDEF(highp_u64, aligned_highp_u64, 8)'],['../a00364.html#gabde1d0b4072df35453db76075ab896a6',1,'glm::GLM_ALIGNED_TYPEDEF(uint8, aligned_uint8, 1)'],['../a00364.html#ga06c296c9e398b294c8c9dd2a7693dcbb',1,'glm::GLM_ALIGNED_TYPEDEF(uint16, aligned_uint16, 2)'],['../a00364.html#gacf1744488c96ebd33c9f36ad33b2010a',1,'glm::GLM_ALIGNED_TYPEDEF(uint32, aligned_uint32, 4)'],['../a00364.html#ga3328061a64c20ba59d5f9da24c2cd059',1,'glm::GLM_ALIGNED_TYPEDEF(uint64, aligned_uint64, 8)'],['../a00364.html#gaf6ced36f13bae57f377bafa6f5fcc299',1,'glm::GLM_ALIGNED_TYPEDEF(uint8_t, aligned_uint8_t, 1)'],['../a00364.html#gafbc7fb7847bfc78a339d1d371c915c73',1,'glm::GLM_ALIGNED_TYPEDEF(uint16_t, aligned_uint16_t, 2)'],['../a00364.html#gaa86bc56a73fd8120b1121b5f5e6245ae',1,'glm::GLM_ALIGNED_TYPEDEF(uint32_t, aligned_uint32_t, 4)'],['../a00364.html#ga68c0b9e669060d0eb5ab8c3ddeb483d8',1,'glm::GLM_ALIGNED_TYPEDEF(uint64_t, aligned_uint64_t, 8)'],['../a00364.html#ga4f3bab577daf3343e99cc005134bce86',1,'glm::GLM_ALIGNED_TYPEDEF(u8, aligned_u8, 1)'],['../a00364.html#ga13a2391339d0790d43b76d00a7611c4f',1,'glm::GLM_ALIGNED_TYPEDEF(u16, aligned_u16, 2)'],['../a00364.html#ga197570e03acbc3d18ab698e342971e8f',1,'glm::GLM_ALIGNED_TYPEDEF(u32, aligned_u32, 4)'],['../a00364.html#ga0f033b21e145a1faa32c62ede5878993',1,'glm::GLM_ALIGNED_TYPEDEF(u64, aligned_u64, 8)'],['../a00364.html#ga509af83527f5cd512e9a7873590663aa',1,'glm::GLM_ALIGNED_TYPEDEF(uvec1, aligned_uvec1, 4)'],['../a00364.html#ga94e86186978c502c6dc0c0d9c4a30679',1,'glm::GLM_ALIGNED_TYPEDEF(uvec2, aligned_uvec2, 8)'],['../a00364.html#ga5cec574686a7f3c8ed24bb195c5e2d0a',1,'glm::GLM_ALIGNED_TYPEDEF(uvec3, aligned_uvec3, 16)'],['../a00364.html#ga47edfdcee9c89b1ebdaf20450323b1d4',1,'glm::GLM_ALIGNED_TYPEDEF(uvec4, aligned_uvec4, 16)'],['../a00364.html#ga5611d6718e3a00096918a64192e73a45',1,'glm::GLM_ALIGNED_TYPEDEF(u8vec1, aligned_u8vec1, 1)'],['../a00364.html#ga19837e6f72b60d994a805ef564c6c326',1,'glm::GLM_ALIGNED_TYPEDEF(u8vec2, aligned_u8vec2, 2)'],['../a00364.html#ga9740cf8e34f068049b42a2753f9601c2',1,'glm::GLM_ALIGNED_TYPEDEF(u8vec3, aligned_u8vec3, 4)'],['../a00364.html#ga8b8588bb221448f5541a858903822a57',1,'glm::GLM_ALIGNED_TYPEDEF(u8vec4, aligned_u8vec4, 4)'],['../a00364.html#ga991abe990c16de26b2129d6bc2f4c051',1,'glm::GLM_ALIGNED_TYPEDEF(u16vec1, aligned_u16vec1, 2)'],['../a00364.html#gac01bb9fc32a1cd76c2b80d030f71df4c',1,'glm::GLM_ALIGNED_TYPEDEF(u16vec2, aligned_u16vec2, 4)'],['../a00364.html#ga09540dbca093793a36a8997e0d4bee77',1,'glm::GLM_ALIGNED_TYPEDEF(u16vec3, aligned_u16vec3, 8)'],['../a00364.html#gaecafb5996f5a44f57e34d29c8670741e',1,'glm::GLM_ALIGNED_TYPEDEF(u16vec4, aligned_u16vec4, 8)'],['../a00364.html#gac6b161a04d2f8408fe1c9d857e8daac0',1,'glm::GLM_ALIGNED_TYPEDEF(u32vec1, aligned_u32vec1, 4)'],['../a00364.html#ga1fa0dfc8feb0fa17dab2acd43e05342b',1,'glm::GLM_ALIGNED_TYPEDEF(u32vec2, aligned_u32vec2, 8)'],['../a00364.html#ga0019500abbfa9c66eff61ca75eaaed94',1,'glm::GLM_ALIGNED_TYPEDEF(u32vec3, aligned_u32vec3, 16)'],['../a00364.html#ga14fd29d01dae7b08a04e9facbcc18824',1,'glm::GLM_ALIGNED_TYPEDEF(u32vec4, aligned_u32vec4, 16)'],['../a00364.html#gab253845f534a67136f9619843cade903',1,'glm::GLM_ALIGNED_TYPEDEF(u64vec1, aligned_u64vec1, 8)'],['../a00364.html#ga929427a7627940cdf3304f9c050b677d',1,'glm::GLM_ALIGNED_TYPEDEF(u64vec2, aligned_u64vec2, 16)'],['../a00364.html#gae373b6c04fdf9879f33d63e6949c037e',1,'glm::GLM_ALIGNED_TYPEDEF(u64vec3, aligned_u64vec3, 32)'],['../a00364.html#ga53a8a03dca2015baec4584f45b8e9cdc',1,'glm::GLM_ALIGNED_TYPEDEF(u64vec4, aligned_u64vec4, 32)'],['../a00364.html#gab3301bae94ef5bf59fbdd9a24e7d2a01',1,'glm::GLM_ALIGNED_TYPEDEF(float32, aligned_float32, 4)'],['../a00364.html#gada9b0bea273d3ae0286f891533b9568f',1,'glm::GLM_ALIGNED_TYPEDEF(float32_t, aligned_float32_t, 4)'],['../a00364.html#gadbce23b9f23d77bb3884e289a574ebd5',1,'glm::GLM_ALIGNED_TYPEDEF(float32, aligned_f32, 4)'],['../a00364.html#ga75930684ff2233171c573e603f216162',1,'glm::GLM_ALIGNED_TYPEDEF(float64, aligned_float64, 8)'],['../a00364.html#ga6e3a2d83b131336219a0f4c7cbba2a48',1,'glm::GLM_ALIGNED_TYPEDEF(float64_t, aligned_float64_t, 8)'],['../a00364.html#gaa4deaa0dea930c393d55e7a4352b0a20',1,'glm::GLM_ALIGNED_TYPEDEF(float64, aligned_f64, 8)'],['../a00364.html#ga81bc497b2bfc6f80bab690c6ee28f0f9',1,'glm::GLM_ALIGNED_TYPEDEF(vec1, aligned_vec1, 4)'],['../a00364.html#gada3e8f783e9d4b90006695a16c39d4d4',1,'glm::GLM_ALIGNED_TYPEDEF(vec2, aligned_vec2, 8)'],['../a00364.html#gab8d081fac3a38d6f55fa552f32168d32',1,'glm::GLM_ALIGNED_TYPEDEF(vec3, aligned_vec3, 16)'],['../a00364.html#ga12fe7b9769c964c5b48dcfd8b7f40198',1,'glm::GLM_ALIGNED_TYPEDEF(vec4, aligned_vec4, 16)'],['../a00364.html#gaefab04611c7f8fe1fd9be3071efea6cc',1,'glm::GLM_ALIGNED_TYPEDEF(fvec1, aligned_fvec1, 4)'],['../a00364.html#ga2543c05ba19b3bd19d45b1227390c5b4',1,'glm::GLM_ALIGNED_TYPEDEF(fvec2, aligned_fvec2, 8)'],['../a00364.html#ga009afd727fd657ef33a18754d6d28f60',1,'glm::GLM_ALIGNED_TYPEDEF(fvec3, aligned_fvec3, 16)'],['../a00364.html#ga2f26177e74bfb301a3d0e02ec3c3ef53',1,'glm::GLM_ALIGNED_TYPEDEF(fvec4, aligned_fvec4, 16)'],['../a00364.html#ga309f495a1d6b75ddf195b674b65cb1e4',1,'glm::GLM_ALIGNED_TYPEDEF(f32vec1, aligned_f32vec1, 4)'],['../a00364.html#ga5e185865a2217d0cd47187644683a8c3',1,'glm::GLM_ALIGNED_TYPEDEF(f32vec2, aligned_f32vec2, 8)'],['../a00364.html#gade4458b27b039b9ca34f8ec049f3115a',1,'glm::GLM_ALIGNED_TYPEDEF(f32vec3, aligned_f32vec3, 16)'],['../a00364.html#ga2e8a12c5e6a9c4ae4ddaeda1d1cffe3b',1,'glm::GLM_ALIGNED_TYPEDEF(f32vec4, aligned_f32vec4, 16)'],['../a00364.html#ga3e0f35fa0c626285a8bad41707e7316c',1,'glm::GLM_ALIGNED_TYPEDEF(dvec1, aligned_dvec1, 8)'],['../a00364.html#ga78bfec2f185d1d365ea0a9ef1e3d45b8',1,'glm::GLM_ALIGNED_TYPEDEF(dvec2, aligned_dvec2, 16)'],['../a00364.html#ga01fe6fee6db5df580b6724a7e681f069',1,'glm::GLM_ALIGNED_TYPEDEF(dvec3, aligned_dvec3, 32)'],['../a00364.html#ga687d5b8f551d5af32425c0b2fba15e99',1,'glm::GLM_ALIGNED_TYPEDEF(dvec4, aligned_dvec4, 32)'],['../a00364.html#ga8e842371d46842ff8f1813419ba49d0f',1,'glm::GLM_ALIGNED_TYPEDEF(f64vec1, aligned_f64vec1, 8)'],['../a00364.html#ga32814aa0f19316b43134fc25f2aad2b9',1,'glm::GLM_ALIGNED_TYPEDEF(f64vec2, aligned_f64vec2, 16)'],['../a00364.html#gaf3d3bbc1e93909b689123b085e177a14',1,'glm::GLM_ALIGNED_TYPEDEF(f64vec3, aligned_f64vec3, 32)'],['../a00364.html#ga804c654cead1139bd250f90f9bb01fad',1,'glm::GLM_ALIGNED_TYPEDEF(f64vec4, aligned_f64vec4, 32)'],['../a00364.html#gacce4ac532880b8c7469d3c31974420a1',1,'glm::GLM_ALIGNED_TYPEDEF(mat2, aligned_mat2, 16)'],['../a00364.html#ga0498e0e249a6faddaf96aa55d7f81c3b',1,'glm::GLM_ALIGNED_TYPEDEF(mat3, aligned_mat3, 16)'],['../a00364.html#ga7435d87de82a0d652b35dc5b9cc718d5',1,'glm::GLM_ALIGNED_TYPEDEF(mat4, aligned_mat4, 16)'],['../a00364.html#ga719da577361541a4c43a2dd1d0e361e1',1,'glm::GLM_ALIGNED_TYPEDEF(fmat2x2, aligned_fmat2, 16)'],['../a00364.html#ga6e7ee4f541e1d7db66cd1a224caacafb',1,'glm::GLM_ALIGNED_TYPEDEF(fmat3x3, aligned_fmat3, 16)'],['../a00364.html#gae5d672d359f2a39f63f98c7975057486',1,'glm::GLM_ALIGNED_TYPEDEF(fmat4x4, aligned_fmat4, 16)'],['../a00364.html#ga6fa2df037dbfc5fe8c8e0b4db8a34953',1,'glm::GLM_ALIGNED_TYPEDEF(fmat2x2, aligned_fmat2x2, 16)'],['../a00364.html#ga0743b4f4f69a3227b82ff58f6abbad62',1,'glm::GLM_ALIGNED_TYPEDEF(fmat2x3, aligned_fmat2x3, 16)'],['../a00364.html#ga1a76b325fdf70f961d835edd182c63dd',1,'glm::GLM_ALIGNED_TYPEDEF(fmat2x4, aligned_fmat2x4, 16)'],['../a00364.html#ga4b4e181cd041ba28c3163e7b8074aef0',1,'glm::GLM_ALIGNED_TYPEDEF(fmat3x2, aligned_fmat3x2, 16)'],['../a00364.html#ga27b13f465abc8a40705698145e222c3f',1,'glm::GLM_ALIGNED_TYPEDEF(fmat3x3, aligned_fmat3x3, 16)'],['../a00364.html#ga2608d19cc275830a6f8c0b6405625a4f',1,'glm::GLM_ALIGNED_TYPEDEF(fmat3x4, aligned_fmat3x4, 16)'],['../a00364.html#ga93f09768241358a287c4cca538f1f7e7',1,'glm::GLM_ALIGNED_TYPEDEF(fmat4x2, aligned_fmat4x2, 16)'],['../a00364.html#ga7c117e3ecca089e10247b1d41d88aff9',1,'glm::GLM_ALIGNED_TYPEDEF(fmat4x3, aligned_fmat4x3, 16)'],['../a00364.html#ga07c75cd04ba42dc37fa3e105f89455c5',1,'glm::GLM_ALIGNED_TYPEDEF(fmat4x4, aligned_fmat4x4, 16)'],['../a00364.html#ga65ff0d690a34a4d7f46f9b2eb51525ee',1,'glm::GLM_ALIGNED_TYPEDEF(f32mat2x2, aligned_f32mat2, 16)'],['../a00364.html#gadd8ddbe2bf65ccede865ba2f510176dc',1,'glm::GLM_ALIGNED_TYPEDEF(f32mat3x3, aligned_f32mat3, 16)'],['../a00364.html#gaf18dbff14bf13d3ff540c517659ec045',1,'glm::GLM_ALIGNED_TYPEDEF(f32mat4x4, aligned_f32mat4, 16)'],['../a00364.html#ga66339f6139bf7ff19e245beb33f61cc8',1,'glm::GLM_ALIGNED_TYPEDEF(f32mat2x2, aligned_f32mat2x2, 16)'],['../a00364.html#ga1558a48b3934011b52612809f443e46d',1,'glm::GLM_ALIGNED_TYPEDEF(f32mat2x3, aligned_f32mat2x3, 16)'],['../a00364.html#gaa52e5732daa62851627021ad551c7680',1,'glm::GLM_ALIGNED_TYPEDEF(f32mat2x4, aligned_f32mat2x4, 16)'],['../a00364.html#gac09663c42566bcb58d23c6781ac4e85a',1,'glm::GLM_ALIGNED_TYPEDEF(f32mat3x2, aligned_f32mat3x2, 16)'],['../a00364.html#ga3f510999e59e1b309113e1d561162b29',1,'glm::GLM_ALIGNED_TYPEDEF(f32mat3x3, aligned_f32mat3x3, 16)'],['../a00364.html#ga2c9c94f0c89cd71ce56551db6cf4aaec',1,'glm::GLM_ALIGNED_TYPEDEF(f32mat3x4, aligned_f32mat3x4, 16)'],['../a00364.html#ga99ce8274c750fbfdf0e70c95946a2875',1,'glm::GLM_ALIGNED_TYPEDEF(f32mat4x2, aligned_f32mat4x2, 16)'],['../a00364.html#ga9476ef66790239df53dbe66f3989c3b5',1,'glm::GLM_ALIGNED_TYPEDEF(f32mat4x3, aligned_f32mat4x3, 16)'],['../a00364.html#gacc429b3b0b49921e12713b6d31e14e1d',1,'glm::GLM_ALIGNED_TYPEDEF(f32mat4x4, aligned_f32mat4x4, 16)'],['../a00364.html#ga88f6c6fa06e6e64479763e69444669cf',1,'glm::GLM_ALIGNED_TYPEDEF(f64mat2x2, aligned_f64mat2, 32)'],['../a00364.html#gaae8e4639c991e64754145ab8e4c32083',1,'glm::GLM_ALIGNED_TYPEDEF(f64mat3x3, aligned_f64mat3, 32)'],['../a00364.html#ga6e9094f3feb3b5b49d0f83683a101fde',1,'glm::GLM_ALIGNED_TYPEDEF(f64mat4x4, aligned_f64mat4, 32)'],['../a00364.html#gadbd2c639c03de1c3e9591b5a39f65559',1,'glm::GLM_ALIGNED_TYPEDEF(f64mat2x2, aligned_f64mat2x2, 32)'],['../a00364.html#gab059d7b9fe2094acc563b7223987499f',1,'glm::GLM_ALIGNED_TYPEDEF(f64mat2x3, aligned_f64mat2x3, 32)'],['../a00364.html#gabbc811d1c52ed2b8cfcaff1378f75c69',1,'glm::GLM_ALIGNED_TYPEDEF(f64mat2x4, aligned_f64mat2x4, 32)'],['../a00364.html#ga9ddf5212777734d2fd841a84439f3bdf',1,'glm::GLM_ALIGNED_TYPEDEF(f64mat3x2, aligned_f64mat3x2, 32)'],['../a00364.html#gad1dda32ed09f94bfcf0a7d8edfb6cf13',1,'glm::GLM_ALIGNED_TYPEDEF(f64mat3x3, aligned_f64mat3x3, 32)'],['../a00364.html#ga5875e0fa72f07e271e7931811cbbf31a',1,'glm::GLM_ALIGNED_TYPEDEF(f64mat3x4, aligned_f64mat3x4, 32)'],['../a00364.html#ga41e82cd6ac07f912ba2a2d45799dcf0d',1,'glm::GLM_ALIGNED_TYPEDEF(f64mat4x2, aligned_f64mat4x2, 32)'],['../a00364.html#ga0892638d6ba773043b3d63d1d092622e',1,'glm::GLM_ALIGNED_TYPEDEF(f64mat4x3, aligned_f64mat4x3, 32)'],['../a00364.html#ga912a16432608b822f1e13607529934c1',1,'glm::GLM_ALIGNED_TYPEDEF(f64mat4x4, aligned_f64mat4x4, 32)'],['../a00364.html#gafd945a8ea86b042aba410e0560df9a3d',1,'glm::GLM_ALIGNED_TYPEDEF(quat, aligned_quat, 16)'],['../a00364.html#ga19c2ba545d1f2f36bcb7b60c9a228622',1,'glm::GLM_ALIGNED_TYPEDEF(quat, aligned_fquat, 16)'],['../a00364.html#gaabc28c84a3288b697605d4688686f9a9',1,'glm::GLM_ALIGNED_TYPEDEF(dquat, aligned_dquat, 32)'],['../a00364.html#ga1ed8aeb5ca67fade269a46105f1bf273',1,'glm::GLM_ALIGNED_TYPEDEF(f32quat, aligned_f32quat, 16)'],['../a00364.html#ga95cc03b8b475993fa50e05e38e203303',1,'glm::GLM_ALIGNED_TYPEDEF(f64quat, aligned_f64quat, 32)']]], ['golden_5fratio',['golden_ratio',['../a00290.html#ga748cf8642830657c5b7eae04d0a80899',1,'glm']]], ['gradient_5fpaint_2ehpp',['gradient_paint.hpp',['../a00038.html',1,'']]], ['greaterthan',['greaterThan',['../a00299.html#ga8f7fa76e06c417b757ddfd438f3f677b',1,'glm::greaterThan(qua< T, Q > const &x, qua< T, Q > const &y)'],['../a00374.html#gadfdb8ea82deca869ddc7e63ea5a63ae4',1,'glm::greaterThan(vec< L, T, Q > const &x, vec< L, T, Q > const &y)']]], ['greaterthanequal',['greaterThanEqual',['../a00299.html#ga388cbeba987dae7b5937f742efa49a5a',1,'glm::greaterThanEqual(qua< T, Q > const &x, qua< T, Q > const &y)'],['../a00374.html#ga859975f538940f8d18fe62f916b9abd7',1,'glm::greaterThanEqual(vec< L, T, Q > const &x, vec< L, T, Q > const &y)']]], ['glm_5fgtc_5fbitfield',['GLM_GTC_bitfield',['../a00288.html',1,'']]], ['glm_5fgtc_5fcolor_5fspace',['GLM_GTC_color_space',['../a00289.html',1,'']]], ['glm_5fgtc_5fconstants',['GLM_GTC_constants',['../a00290.html',1,'']]], ['glm_5fgtc_5fepsilon',['GLM_GTC_epsilon',['../a00291.html',1,'']]], ['glm_5fgtc_5finteger',['GLM_GTC_integer',['../a00292.html',1,'']]], ['glm_5fgtc_5fmatrix_5faccess',['GLM_GTC_matrix_access',['../a00293.html',1,'']]], ['glm_5fgtc_5fmatrix_5finteger',['GLM_GTC_matrix_integer',['../a00294.html',1,'']]], ['glm_5fgtc_5fmatrix_5finverse',['GLM_GTC_matrix_inverse',['../a00295.html',1,'']]], ['glm_5fgtc_5fmatrix_5ftransform',['GLM_GTC_matrix_transform',['../a00296.html',1,'']]], ['glm_5fgtc_5fnoise',['GLM_GTC_noise',['../a00297.html',1,'']]], ['glm_5fgtc_5fpacking',['GLM_GTC_packing',['../a00298.html',1,'']]], ['glm_5fgtc_5fquaternion',['GLM_GTC_quaternion',['../a00299.html',1,'']]], ['glm_5fgtc_5frandom',['GLM_GTC_random',['../a00300.html',1,'']]], ['glm_5fgtc_5freciprocal',['GLM_GTC_reciprocal',['../a00301.html',1,'']]], ['glm_5fgtc_5fround',['GLM_GTC_round',['../a00302.html',1,'']]], ['glm_5fgtc_5ftype_5faligned',['GLM_GTC_type_aligned',['../a00303.html',1,'']]], ['glm_5fgtc_5ftype_5fprecision',['GLM_GTC_type_precision',['../a00304.html',1,'']]], ['glm_5fgtc_5ftype_5fptr',['GLM_GTC_type_ptr',['../a00305.html',1,'']]], ['glm_5fgtc_5fulp',['GLM_GTC_ulp',['../a00306.html',1,'']]], ['glm_5fgtc_5fvec1',['GLM_GTC_vec1',['../a00307.html',1,'']]], ['glm_5fgtx_5fassociated_5fmin_5fmax',['GLM_GTX_associated_min_max',['../a00308.html',1,'']]], ['glm_5fgtx_5fbit',['GLM_GTX_bit',['../a00309.html',1,'']]], ['glm_5fgtx_5fclosest_5fpoint',['GLM_GTX_closest_point',['../a00310.html',1,'']]], ['glm_5fgtx_5fcolor_5fencoding',['GLM_GTX_color_encoding',['../a00311.html',1,'']]], ['glm_5fgtx_5fcolor_5fspace',['GLM_GTX_color_space',['../a00312.html',1,'']]], ['glm_5fgtx_5fcolor_5fspace_5fycocg',['GLM_GTX_color_space_YCoCg',['../a00313.html',1,'']]], ['glm_5fgtx_5fcommon',['GLM_GTX_common',['../a00314.html',1,'']]], ['glm_5fgtx_5fcompatibility',['GLM_GTX_compatibility',['../a00315.html',1,'']]], ['glm_5fgtx_5fcomponent_5fwise',['GLM_GTX_component_wise',['../a00316.html',1,'']]], ['glm_5fgtx_5fdual_5fquaternion',['GLM_GTX_dual_quaternion',['../a00317.html',1,'']]], ['glm_5fgtx_5feasing',['GLM_GTX_easing',['../a00318.html',1,'']]], ['glm_5fgtx_5feuler_5fangles',['GLM_GTX_euler_angles',['../a00319.html',1,'']]], ['glm_5fgtx_5fextend',['GLM_GTX_extend',['../a00320.html',1,'']]], ['glm_5fgtx_5fextented_5fmin_5fmax',['GLM_GTX_extented_min_max',['../a00321.html',1,'']]], ['glm_5fgtx_5fexterior_5fproduct',['GLM_GTX_exterior_product',['../a00322.html',1,'']]], ['glm_5fgtx_5ffast_5fexponential',['GLM_GTX_fast_exponential',['../a00323.html',1,'']]], ['glm_5fgtx_5ffast_5fsquare_5froot',['GLM_GTX_fast_square_root',['../a00324.html',1,'']]], ['glm_5fgtx_5ffast_5ftrigonometry',['GLM_GTX_fast_trigonometry',['../a00325.html',1,'']]], ['glm_5fgtx_5ffunctions',['GLM_GTX_functions',['../a00326.html',1,'']]], ['glm_5fgtx_5fgradient_5fpaint',['GLM_GTX_gradient_paint',['../a00327.html',1,'']]], ['glm_5fgtx_5fhanded_5fcoordinate_5fspace',['GLM_GTX_handed_coordinate_space',['../a00328.html',1,'']]], ['glm_5fgtx_5fhash',['GLM_GTX_hash',['../a00329.html',1,'']]], ['glm_5fgtx_5finteger',['GLM_GTX_integer',['../a00330.html',1,'']]], ['glm_5fgtx_5fintersect',['GLM_GTX_intersect',['../a00331.html',1,'']]], ['glm_5fgtx_5fio',['GLM_GTX_io',['../a00332.html',1,'']]], ['glm_5fgtx_5flog_5fbase',['GLM_GTX_log_base',['../a00333.html',1,'']]], ['glm_5fgtx_5fmatrix_5fcross_5fproduct',['GLM_GTX_matrix_cross_product',['../a00334.html',1,'']]], ['glm_5fgtx_5fmatrix_5fdecompose',['GLM_GTX_matrix_decompose',['../a00335.html',1,'']]], ['glm_5fgtx_5fmatrix_5ffactorisation',['GLM_GTX_matrix_factorisation',['../a00336.html',1,'']]], ['glm_5fgtx_5fmatrix_5finterpolation',['GLM_GTX_matrix_interpolation',['../a00337.html',1,'']]], ['glm_5fgtx_5fmatrix_5fmajor_5fstorage',['GLM_GTX_matrix_major_storage',['../a00338.html',1,'']]], ['glm_5fgtx_5fmatrix_5foperation',['GLM_GTX_matrix_operation',['../a00339.html',1,'']]], ['glm_5fgtx_5fmatrix_5fquery',['GLM_GTX_matrix_query',['../a00340.html',1,'']]], ['glm_5fgtx_5fmatrix_5ftransform_5f2d',['GLM_GTX_matrix_transform_2d',['../a00341.html',1,'']]], ['glm_5fgtx_5fmixed_5fproducte',['GLM_GTX_mixed_producte',['../a00342.html',1,'']]], ['glm_5fgtx_5fnorm',['GLM_GTX_norm',['../a00343.html',1,'']]], ['glm_5fgtx_5fnormal',['GLM_GTX_normal',['../a00344.html',1,'']]], ['glm_5fgtx_5fnormalize_5fdot',['GLM_GTX_normalize_dot',['../a00345.html',1,'']]], ['glm_5fgtx_5fnumber_5fprecision',['GLM_GTX_number_precision',['../a00346.html',1,'']]], ['glm_5fgtx_5foptimum_5fpow',['GLM_GTX_optimum_pow',['../a00347.html',1,'']]], ['glm_5fgtx_5forthonormalize',['GLM_GTX_orthonormalize',['../a00348.html',1,'']]], ['glm_5fgtx_5fperpendicular',['GLM_GTX_perpendicular',['../a00349.html',1,'']]], ['glm_5fgtx_5fpolar_5fcoordinates',['GLM_GTX_polar_coordinates',['../a00350.html',1,'']]], ['glm_5fgtx_5fprojection',['GLM_GTX_projection',['../a00351.html',1,'']]], ['glm_5fgtx_5fquaternion',['GLM_GTX_quaternion',['../a00352.html',1,'']]], ['glm_5fgtx_5frange',['GLM_GTX_range',['../a00353.html',1,'']]], ['glm_5fgtx_5fraw_5fdata',['GLM_GTX_raw_data',['../a00354.html',1,'']]], ['glm_5fgtx_5frotate_5fnormalized_5faxis',['GLM_GTX_rotate_normalized_axis',['../a00355.html',1,'']]], ['glm_5fgtx_5frotate_5fvector',['GLM_GTX_rotate_vector',['../a00356.html',1,'']]], ['glm_5fgtx_5fscalar_5frelational',['GLM_GTX_scalar_relational',['../a00357.html',1,'']]], ['glm_5fgtx_5fspline',['GLM_GTX_spline',['../a00358.html',1,'']]], ['glm_5fgtx_5fstd_5fbased_5ftype',['GLM_GTX_std_based_type',['../a00359.html',1,'']]], ['glm_5fgtx_5fstring_5fcast',['GLM_GTX_string_cast',['../a00360.html',1,'']]], ['glm_5fgtx_5ftexture',['GLM_GTX_texture',['../a00361.html',1,'']]], ['glm_5fgtx_5ftransform',['GLM_GTX_transform',['../a00362.html',1,'']]], ['glm_5fgtx_5ftransform2',['GLM_GTX_transform2',['../a00363.html',1,'']]], ['glm_5fgtx_5ftype_5faligned',['GLM_GTX_type_aligned',['../a00364.html',1,'']]], ['glm_5fgtx_5ftype_5ftrait',['GLM_GTX_type_trait',['../a00365.html',1,'']]], ['glm_5fgtx_5fvec_5fswizzle',['GLM_GTX_vec_swizzle',['../a00366.html',1,'']]], ['glm_5fgtx_5fvector_5fangle',['GLM_GTX_vector_angle',['../a00367.html',1,'']]], ['glm_5fgtx_5fvector_5fquery',['GLM_GTX_vector_query',['../a00368.html',1,'']]], ['glm_5fgtx_5fwrap',['GLM_GTX_wrap',['../a00369.html',1,'']]], ['integer_2ehpp',['integer.hpp',['../a00042.html',1,'']]], ['integer_2ehpp',['integer.hpp',['../a00041.html',1,'']]], ['matrix_5ftransform_2ehpp',['matrix_transform.hpp',['../a00109.html',1,'']]], ['packing_2ehpp',['packing.hpp',['../a00119.html',1,'']]], ['quaternion_2ehpp',['quaternion.hpp',['../a00126.html',1,'']]], ['quaternion_2ehpp',['quaternion.hpp',['../a00125.html',1,'']]], ['scalar_5frelational_2ehpp',['scalar_relational.hpp',['../a00150.html',1,'']]], ['type_5faligned_2ehpp',['type_aligned.hpp',['../a00161.html',1,'']]], ['type_5faligned_2ehpp',['type_aligned.hpp',['../a00162.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_7.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_7.js ================================================ var searchData= [ ['half_5fpi',['half_pi',['../a00290.html#ga0c36b41d462e45641faf7d7938948bac',1,'glm']]], ['handed_5fcoordinate_5fspace_2ehpp',['handed_coordinate_space.hpp',['../a00039.html',1,'']]], ['hash_2ehpp',['hash.hpp',['../a00040.html',1,'']]], ['hermite',['hermite',['../a00358.html#gaa69e143f6374d32f934a8edeaa50bac9',1,'glm']]], ['highestbitvalue',['highestBitValue',['../a00309.html#ga0dcc8fe7c3d3ad60dea409281efa3d05',1,'glm::highestBitValue(genIUType Value)'],['../a00309.html#ga898ef075ccf809a1e480faab48fe96bf',1,'glm::highestBitValue(vec< L, T, Q > const &value)']]], ['highp_5fbvec1',['highp_bvec1',['../a00266.html#gae8a1e14abae1387274f57741750c06a2',1,'glm']]], ['highp_5fbvec2',['highp_bvec2',['../a00282.html#gac6c781a85f012d77a75310a3058702c2',1,'glm']]], ['highp_5fbvec3',['highp_bvec3',['../a00282.html#gaedb70027d89a0a405046aefda4eabaa6',1,'glm']]], ['highp_5fbvec4',['highp_bvec4',['../a00282.html#gaee663ff64429443ab07a5327074192f6',1,'glm']]], ['highp_5fddualquat',['highp_ddualquat',['../a00317.html#ga8f67eafa7197d7a668dad5105a463d2a',1,'glm']]], ['highp_5fdmat2',['highp_dmat2',['../a00284.html#ga369b447bb1b312449b679ea1f90f3cea',1,'glm']]], ['highp_5fdmat2x2',['highp_dmat2x2',['../a00284.html#gae27ac20302c2e39b6c78e7fe18e62ef7',1,'glm']]], ['highp_5fdmat2x3',['highp_dmat2x3',['../a00284.html#gad4689ec33bc2c26e10132b174b49001a',1,'glm']]], ['highp_5fdmat2x4',['highp_dmat2x4',['../a00284.html#ga5ceeb46670fdc000a0701910cc5061c9',1,'glm']]], ['highp_5fdmat3',['highp_dmat3',['../a00284.html#ga86d6d4dbad92ffdcc759773340e15a97',1,'glm']]], ['highp_5fdmat3x2',['highp_dmat3x2',['../a00284.html#ga3647309010a2160e9ec89bc6f7c95c35',1,'glm']]], ['highp_5fdmat3x3',['highp_dmat3x3',['../a00284.html#gae367ea93c4ad8a7c101dd27b8b2b04ce',1,'glm']]], ['highp_5fdmat3x4',['highp_dmat3x4',['../a00284.html#ga6543eeeb64f48d79a0b96484308c50f0',1,'glm']]], ['highp_5fdmat4',['highp_dmat4',['../a00284.html#ga945254f459860741138bceb74da496b9',1,'glm']]], ['highp_5fdmat4x2',['highp_dmat4x2',['../a00284.html#gaeda1f474c668eaecc443bea85a4a4eca',1,'glm']]], ['highp_5fdmat4x3',['highp_dmat4x3',['../a00284.html#gacf237c2d8832fe8db2d7e187585d34bd',1,'glm']]], ['highp_5fdmat4x4',['highp_dmat4x4',['../a00284.html#ga118d24a3d12c034e7cccef7bf2f01b8a',1,'glm']]], ['highp_5fdquat',['highp_dquat',['../a00250.html#gaf13a25f41afc03480b40fc71bd249cec',1,'glm']]], ['highp_5fdualquat',['highp_dualquat',['../a00317.html#ga9ef5bf1da52a9d4932335a517086ceaf',1,'glm']]], ['highp_5fdvec1',['highp_dvec1',['../a00269.html#ga77c22c4426da3a6865c88d3fc907e3fe',1,'glm']]], ['highp_5fdvec2',['highp_dvec2',['../a00282.html#gab98d77cca255914f5e29697fcbc2d975',1,'glm']]], ['highp_5fdvec3',['highp_dvec3',['../a00282.html#gab24dc20dcdc5b71282634bdbf6b70105',1,'glm']]], ['highp_5fdvec4',['highp_dvec4',['../a00282.html#gab654f4ed4a99d64a6cfc65320c2a7590',1,'glm']]], ['highp_5ff32',['highp_f32',['../a00304.html#ga6906e1ef0b34064b4b675489c5c38725',1,'glm']]], ['highp_5ff32mat2',['highp_f32mat2',['../a00304.html#ga298f7d4d273678d0282812368da27fda',1,'glm']]], ['highp_5ff32mat2x2',['highp_f32mat2x2',['../a00304.html#gae5eb02d92b7d4605a4b7f37ae5cb2968',1,'glm']]], ['highp_5ff32mat2x3',['highp_f32mat2x3',['../a00304.html#ga0aeb5cb001473b08c88175012708a379',1,'glm']]], ['highp_5ff32mat2x4',['highp_f32mat2x4',['../a00304.html#ga88938ee1e7981fa3402e88da6ad74531',1,'glm']]], ['highp_5ff32mat3',['highp_f32mat3',['../a00304.html#ga24f9ef3263b1638564713892cc37981f',1,'glm']]], ['highp_5ff32mat3x2',['highp_f32mat3x2',['../a00304.html#ga36537e701456f12c20e73f469cac4967',1,'glm']]], ['highp_5ff32mat3x3',['highp_f32mat3x3',['../a00304.html#gaab691ae40c37976d268d8cac0096e0e1',1,'glm']]], ['highp_5ff32mat3x4',['highp_f32mat3x4',['../a00304.html#gaa5086dbd6efb272d13fc88829330861d',1,'glm']]], ['highp_5ff32mat4',['highp_f32mat4',['../a00304.html#ga14c90ca49885723f51d06e295587236f',1,'glm']]], ['highp_5ff32mat4x2',['highp_f32mat4x2',['../a00304.html#ga602e119c6b246b4f6edcf66845f2aa0f',1,'glm']]], ['highp_5ff32mat4x3',['highp_f32mat4x3',['../a00304.html#ga66bffdd8e5c0d3ef9958bbab9ca1ba59',1,'glm']]], ['highp_5ff32mat4x4',['highp_f32mat4x4',['../a00304.html#gaf1b712b97b2322685fbbed28febe5f84',1,'glm']]], ['highp_5ff32quat',['highp_f32quat',['../a00304.html#ga4252cf7f5b0e3cd47c3d3badf0ef43b3',1,'glm']]], ['highp_5ff32vec1',['highp_f32vec1',['../a00304.html#gab1b1c9e8667902b78b2c330e4d383a61',1,'glm']]], ['highp_5ff32vec2',['highp_f32vec2',['../a00304.html#ga0b8ebd4262331e139ff257d7cf2a4b77',1,'glm']]], ['highp_5ff32vec3',['highp_f32vec3',['../a00304.html#ga522775dbcc6d96246a1c5cf02344fd8c',1,'glm']]], ['highp_5ff32vec4',['highp_f32vec4',['../a00304.html#ga0f038d4e09862a74f03d102c59eda73e',1,'glm']]], ['highp_5ff64',['highp_f64',['../a00304.html#ga51d5266017d88f62737c1973923a7cf4',1,'glm']]], ['highp_5ff64mat2',['highp_f64mat2',['../a00304.html#gaf7adb92ce8de0afaff01436b039fd924',1,'glm']]], ['highp_5ff64mat2x2',['highp_f64mat2x2',['../a00304.html#ga773ea237a051827cfc20de960bc73ff0',1,'glm']]], ['highp_5ff64mat2x3',['highp_f64mat2x3',['../a00304.html#ga8342c7469384c6d769cacc9e309278d9',1,'glm']]], ['highp_5ff64mat2x4',['highp_f64mat2x4',['../a00304.html#ga5a67a7440b9c0d1538533540f99036a5',1,'glm']]], ['highp_5ff64mat3',['highp_f64mat3',['../a00304.html#ga609bf0ace941d6ab1bb2f9522a04e546',1,'glm']]], ['highp_5ff64mat3x2',['highp_f64mat3x2',['../a00304.html#ga5bdbfb4ce7d05ce1e1b663f50be17e8a',1,'glm']]], ['highp_5ff64mat3x3',['highp_f64mat3x3',['../a00304.html#ga7c2cadb9b85cc7e0d125db21ca19dea4',1,'glm']]], ['highp_5ff64mat3x4',['highp_f64mat3x4',['../a00304.html#gad310b1dddeec9ec837a104e7db8de580',1,'glm']]], ['highp_5ff64mat4',['highp_f64mat4',['../a00304.html#gad308e0ed27d64daa4213fb257fcbd5a5',1,'glm']]], ['highp_5ff64mat4x2',['highp_f64mat4x2',['../a00304.html#ga58c4631421e323e252fc716b6103e38c',1,'glm']]], ['highp_5ff64mat4x3',['highp_f64mat4x3',['../a00304.html#gae94823d65648e44d972863c6caa13103',1,'glm']]], ['highp_5ff64mat4x4',['highp_f64mat4x4',['../a00304.html#ga09a2374b725c4246d263ee36fb66434c',1,'glm']]], ['highp_5ff64quat',['highp_f64quat',['../a00304.html#gafcfdd74a115163af2ce1093551747352',1,'glm']]], ['highp_5ff64vec1',['highp_f64vec1',['../a00304.html#ga62c31b133ceee9984fbee05ac4c434a9',1,'glm']]], ['highp_5ff64vec2',['highp_f64vec2',['../a00304.html#ga670ea1b0a1172bc73b1d7c1e0c26cce2',1,'glm']]], ['highp_5ff64vec3',['highp_f64vec3',['../a00304.html#gacd1196090ece7a69fb5c3e43a7d4d851',1,'glm']]], ['highp_5ff64vec4',['highp_f64vec4',['../a00304.html#ga61185c44c8cc0b25d9a0f67d8a267444',1,'glm']]], ['highp_5ffdualquat',['highp_fdualquat',['../a00317.html#ga4c4e55e9c99dc57b299ed590968da564',1,'glm']]], ['highp_5ffloat32',['highp_float32',['../a00304.html#gac5a7f21136e0a78d0a1b9f60ef2f8aea',1,'glm']]], ['highp_5ffloat32_5ft',['highp_float32_t',['../a00304.html#ga5376ef18dca9d248897c3363ef5a06b2',1,'glm']]], ['highp_5ffloat64',['highp_float64',['../a00304.html#gadbb198a4d7aad82a0f4dc466ef6f6215',1,'glm']]], ['highp_5ffloat64_5ft',['highp_float64_t',['../a00304.html#gaaeeb0077198cff40e3f48b1108ece139',1,'glm']]], ['highp_5ffmat2',['highp_fmat2',['../a00304.html#gae98c88d9a7befa9b5877f49176225535',1,'glm']]], ['highp_5ffmat2x2',['highp_fmat2x2',['../a00304.html#ga28635abcddb2f3e92c33c3f0fcc682ad',1,'glm']]], ['highp_5ffmat2x3',['highp_fmat2x3',['../a00304.html#gacf111095594996fef29067b2454fccad',1,'glm']]], ['highp_5ffmat2x4',['highp_fmat2x4',['../a00304.html#ga4920a1536f161f7ded1d6909b7fef0d2',1,'glm']]], ['highp_5ffmat3',['highp_fmat3',['../a00304.html#gaed2dc69e0d507d4191092dbd44b3eb75',1,'glm']]], ['highp_5ffmat3x2',['highp_fmat3x2',['../a00304.html#gae54e4d1aeb5a0f0c64822e6f1b299e19',1,'glm']]], ['highp_5ffmat3x3',['highp_fmat3x3',['../a00304.html#gaa5b44d3ef6efcf33f44876673a7a936e',1,'glm']]], ['highp_5ffmat3x4',['highp_fmat3x4',['../a00304.html#ga961fac2a885907ffcf4d40daac6615c5',1,'glm']]], ['highp_5ffmat4',['highp_fmat4',['../a00304.html#gabf28443ce0cc0959077ec39b21f32c39',1,'glm']]], ['highp_5ffmat4x2',['highp_fmat4x2',['../a00304.html#ga076961cf2d120c7168b957cb2ed107b3',1,'glm']]], ['highp_5ffmat4x3',['highp_fmat4x3',['../a00304.html#gae406ec670f64170a7437b5e302eeb2cb',1,'glm']]], ['highp_5ffmat4x4',['highp_fmat4x4',['../a00304.html#gaee80c7cd3caa0f2635058656755f6f69',1,'glm']]], ['highp_5ffvec1',['highp_fvec1',['../a00304.html#gaa1040342c4efdedc8f90e6267db8d41c',1,'glm']]], ['highp_5ffvec2',['highp_fvec2',['../a00304.html#ga7c0d196f5fa79f7e892a2f323a0be1ae',1,'glm']]], ['highp_5ffvec3',['highp_fvec3',['../a00304.html#ga6ef77413883f48d6b53b4169b25edbd0',1,'glm']]], ['highp_5ffvec4',['highp_fvec4',['../a00304.html#ga8b839abbb44f5102609eed89f6ed61f7',1,'glm']]], ['highp_5fi16',['highp_i16',['../a00304.html#ga0336abc2604dd2c20c30e036454b64f8',1,'glm']]], ['highp_5fi16vec1',['highp_i16vec1',['../a00304.html#ga70fdfcc1fd38084bde83c3f06a8b9f19',1,'glm']]], ['highp_5fi16vec2',['highp_i16vec2',['../a00304.html#gaa7db3ad10947cf70cae6474d05ebd227',1,'glm']]], ['highp_5fi16vec3',['highp_i16vec3',['../a00304.html#ga5609c8fa2b7eac3dec337d321cb0ca96',1,'glm']]], ['highp_5fi16vec4',['highp_i16vec4',['../a00304.html#ga7a18659438828f91ccca28f1a1e067b4',1,'glm']]], ['highp_5fi32',['highp_i32',['../a00304.html#ga727675ac6b5d2fc699520e0059735e25',1,'glm']]], ['highp_5fi32vec1',['highp_i32vec1',['../a00304.html#ga6a9d71cc62745302f70422b7dc98755c',1,'glm']]], ['highp_5fi32vec2',['highp_i32vec2',['../a00304.html#gaa9b4579f8e6f3d9b649a965bcb785530',1,'glm']]], ['highp_5fi32vec3',['highp_i32vec3',['../a00304.html#ga31e070ea3bdee623e6e18a61ba5718b1',1,'glm']]], ['highp_5fi32vec4',['highp_i32vec4',['../a00304.html#gadf70eaaa230aeed5a4c9f4c9c5c55902',1,'glm']]], ['highp_5fi64',['highp_i64',['../a00304.html#gac25db6d2b1e2a0f351b77ba3409ac4cd',1,'glm']]], ['highp_5fi64vec1',['highp_i64vec1',['../a00304.html#gabd2fda3cd208acf5a370ec9b5b3c58d4',1,'glm']]], ['highp_5fi64vec2',['highp_i64vec2',['../a00304.html#gad9d1903cb20899966e8ebe0670889a5f',1,'glm']]], ['highp_5fi64vec3',['highp_i64vec3',['../a00304.html#ga62324224b9c6cce9c6b4db96bb704a8a',1,'glm']]], ['highp_5fi64vec4',['highp_i64vec4',['../a00304.html#gad23b1be9b3bf20352089a6b738f0ebba',1,'glm']]], ['highp_5fi8',['highp_i8',['../a00304.html#gacb88796f2d08ef253d0345aff20c3aee',1,'glm']]], ['highp_5fi8vec1',['highp_i8vec1',['../a00304.html#ga1d8c10949691b0fd990253476f47beb3',1,'glm']]], ['highp_5fi8vec2',['highp_i8vec2',['../a00304.html#ga50542e4cb9b2f9bec213b66e06145d07',1,'glm']]], ['highp_5fi8vec3',['highp_i8vec3',['../a00304.html#ga8396bfdc081d9113190d0c39c9f67084',1,'glm']]], ['highp_5fi8vec4',['highp_i8vec4',['../a00304.html#ga4824e3ddf6e608117dfe4809430737b4',1,'glm']]], ['highp_5fimat2',['highp_imat2',['../a00294.html#ga8499cc3b016003f835314c1c756e9db9',1,'glm']]], ['highp_5fimat2x2',['highp_imat2x2',['../a00294.html#gaa389e2d1c3b10941cae870bc0aeba5b3',1,'glm']]], ['highp_5fimat2x3',['highp_imat2x3',['../a00294.html#gaba49d890e06c9444795f5a133fbf1336',1,'glm']]], ['highp_5fimat2x4',['highp_imat2x4',['../a00294.html#ga05a970fd4366dad6c8a0be676b1eae5b',1,'glm']]], ['highp_5fimat3',['highp_imat3',['../a00294.html#gaca4506a3efa679eff7c006d9826291fd',1,'glm']]], ['highp_5fimat3x2',['highp_imat3x2',['../a00294.html#ga91c671c3ff9706c2393e78b22fd84bcb',1,'glm']]], ['highp_5fimat3x3',['highp_imat3x3',['../a00294.html#ga07d7b7173e2a6f843ff5f1c615a95b41',1,'glm']]], ['highp_5fimat3x4',['highp_imat3x4',['../a00294.html#ga53008f580be99018a17b357b5a4ffc0d',1,'glm']]], ['highp_5fimat4',['highp_imat4',['../a00294.html#ga7cfb09b34e0fcf73eaf6512d6483ef56',1,'glm']]], ['highp_5fimat4x2',['highp_imat4x2',['../a00294.html#ga1858820fb292cae396408b2034407f72',1,'glm']]], ['highp_5fimat4x3',['highp_imat4x3',['../a00294.html#ga6be0b80ae74bb309bc5b964d93d68fc5',1,'glm']]], ['highp_5fimat4x4',['highp_imat4x4',['../a00294.html#ga2c783ee6f8f040ab37df2f70392c8b44',1,'glm']]], ['highp_5fint16',['highp_int16',['../a00304.html#ga5fde0fa4a3852a9dd5d637a92ee74718',1,'glm']]], ['highp_5fint16_5ft',['highp_int16_t',['../a00304.html#gacaea06d0a79ef3172e887a7a6ba434ff',1,'glm']]], ['highp_5fint32',['highp_int32',['../a00304.html#ga84ed04b4e0de18c977e932d617e7c223',1,'glm']]], ['highp_5fint32_5ft',['highp_int32_t',['../a00304.html#ga2c71c8bd9e2fe7d2e93ca250d8b6157f',1,'glm']]], ['highp_5fint64',['highp_int64',['../a00304.html#ga226a8d52b4e3f77aaa6231135e886aac',1,'glm']]], ['highp_5fint64_5ft',['highp_int64_t',['../a00304.html#ga73c6abb280a45feeff60f9accaee91f3',1,'glm']]], ['highp_5fint8',['highp_int8',['../a00304.html#gad0549c902a96a7164e4ac858d5f39dbf',1,'glm']]], ['highp_5fint8_5ft',['highp_int8_t',['../a00304.html#ga1085c50dd8fbeb5e7e609b1c127492a5',1,'glm']]], ['highp_5fivec1',['highp_ivec1',['../a00273.html#ga7e02566f2bd2caa68e61be45a477c77e',1,'glm']]], ['highp_5fivec2',['highp_ivec2',['../a00282.html#gaa18f6b80b41c214f10666948539c1f93',1,'glm']]], ['highp_5fivec3',['highp_ivec3',['../a00282.html#ga7dd782c3ef5719bc6d5c3ca826b8ad18',1,'glm']]], ['highp_5fivec4',['highp_ivec4',['../a00282.html#gafb84dccdf5d82443df3ffc8428dcaf3e',1,'glm']]], ['highp_5fmat2',['highp_mat2',['../a00284.html#ga4d5a0055544a516237dcdace049b143d',1,'glm']]], ['highp_5fmat2x2',['highp_mat2x2',['../a00284.html#ga2352ae43b284c9f71446674c0208c05d',1,'glm']]], ['highp_5fmat2x3',['highp_mat2x3',['../a00284.html#ga7a0e3fe41512b0494e598f5c58722f19',1,'glm']]], ['highp_5fmat2x4',['highp_mat2x4',['../a00284.html#ga61f36a81f2ed1b5f9fc8bc3b26faec8f',1,'glm']]], ['highp_5fmat3',['highp_mat3',['../a00284.html#ga3fd9849f3da5ed6e3decc3fb10a20b3e',1,'glm']]], ['highp_5fmat3x2',['highp_mat3x2',['../a00284.html#ga1eda47a00027ec440eac05d63739c71b',1,'glm']]], ['highp_5fmat3x3',['highp_mat3x3',['../a00284.html#ga2ea82e12f4d7afcfce8f59894d400230',1,'glm']]], ['highp_5fmat3x4',['highp_mat3x4',['../a00284.html#ga6454b3a26ea30f69de8e44c08a63d1b7',1,'glm']]], ['highp_5fmat4',['highp_mat4',['../a00284.html#gad72e13d669d039f12ae5afa23148adc1',1,'glm']]], ['highp_5fmat4x2',['highp_mat4x2',['../a00284.html#gab68b66e6d2c37b804d0baf970fa4f0e5',1,'glm']]], ['highp_5fmat4x3',['highp_mat4x3',['../a00284.html#ga8d5a4e65fb976e4553b84995b95ecb38',1,'glm']]], ['highp_5fmat4x4',['highp_mat4x4',['../a00284.html#ga58cc504be0e3b61c48bc91554a767b9f',1,'glm']]], ['highp_5fquat',['highp_quat',['../a00253.html#gaa2fd8085774376310aeb80588e0eab6e',1,'glm']]], ['highp_5fu16',['highp_u16',['../a00304.html#ga8e62c883d13f47015f3b70ed88751369',1,'glm']]], ['highp_5fu16vec1',['highp_u16vec1',['../a00304.html#gad064202b4cf9a2972475c03de657cb39',1,'glm']]], ['highp_5fu16vec2',['highp_u16vec2',['../a00304.html#ga791b15ceb3f1e09d1a0ec6f3057ca159',1,'glm']]], ['highp_5fu16vec3',['highp_u16vec3',['../a00304.html#gacfd806749008f0ade6ac4bb9dd91082f',1,'glm']]], ['highp_5fu16vec4',['highp_u16vec4',['../a00304.html#ga8a85a3d54a8a9e14fe7a1f96196c4f61',1,'glm']]], ['highp_5fu32',['highp_u32',['../a00304.html#ga7a6f1929464dcc680b16381a4ee5f2cf',1,'glm']]], ['highp_5fu32vec1',['highp_u32vec1',['../a00304.html#ga0e35a565b9036bfc3989f5e23a0792e3',1,'glm']]], ['highp_5fu32vec2',['highp_u32vec2',['../a00304.html#ga2f256334f83fba4c2d219e414b51df6c',1,'glm']]], ['highp_5fu32vec3',['highp_u32vec3',['../a00304.html#gaf14d7a50502464e7cbfa074f24684cb1',1,'glm']]], ['highp_5fu32vec4',['highp_u32vec4',['../a00304.html#ga22166f0da65038b447f3c5e534fff1c2',1,'glm']]], ['highp_5fu64',['highp_u64',['../a00304.html#ga0c181fdf06a309691999926b6690c969',1,'glm']]], ['highp_5fu64vec1',['highp_u64vec1',['../a00304.html#gae4fe774744852c4d7d069be2e05257ab',1,'glm']]], ['highp_5fu64vec2',['highp_u64vec2',['../a00304.html#ga78f77b8b2d17b431ac5a68c0b5d7050d',1,'glm']]], ['highp_5fu64vec3',['highp_u64vec3',['../a00304.html#ga41bdabea6e589029659331ba47eb78c1',1,'glm']]], ['highp_5fu64vec4',['highp_u64vec4',['../a00304.html#ga4f15b41aa24b11cc42ad5798c04a2325',1,'glm']]], ['highp_5fu8',['highp_u8',['../a00304.html#gacd1259f3a9e8d2a9df5be2d74322ef9c',1,'glm']]], ['highp_5fu8vec1',['highp_u8vec1',['../a00304.html#ga8408cb76b6550ff01fa0a3024e7b68d2',1,'glm']]], ['highp_5fu8vec2',['highp_u8vec2',['../a00304.html#ga27585b7c3ab300059f11fcba465f6fd2',1,'glm']]], ['highp_5fu8vec3',['highp_u8vec3',['../a00304.html#ga45721c13b956eb691cbd6c6c1429167a',1,'glm']]], ['highp_5fu8vec4',['highp_u8vec4',['../a00304.html#gae0b75ad0fed8c00ddc0b5ce335d31060',1,'glm']]], ['highp_5fuint16',['highp_uint16',['../a00304.html#ga746dc6da204f5622e395f492997dbf57',1,'glm']]], ['highp_5fuint16_5ft',['highp_uint16_t',['../a00304.html#gacf54c3330ef60aa3d16cb676c7bcb8c7',1,'glm']]], ['highp_5fuint32',['highp_uint32',['../a00304.html#ga256b12b650c3f2fb86878fd1c5db8bc3',1,'glm']]], ['highp_5fuint32_5ft',['highp_uint32_t',['../a00304.html#gae978599c9711ac263ba732d4ac225b0e',1,'glm']]], ['highp_5fuint64',['highp_uint64',['../a00304.html#gaa38d732f5d4a7bc42a1b43b9d3c141ce',1,'glm']]], ['highp_5fuint64_5ft',['highp_uint64_t',['../a00304.html#gaa46172d7dc1c7ffe3e78107ff88adf08',1,'glm']]], ['highp_5fuint8',['highp_uint8',['../a00304.html#ga97432f9979e73e66567361fd01e4cffb',1,'glm']]], ['highp_5fuint8_5ft',['highp_uint8_t',['../a00304.html#gac4e00a26a2adb5f2c0a7096810df29e5',1,'glm']]], ['highp_5fumat2',['highp_umat2',['../a00294.html#ga42cbce64c4c1cd121b8437daa6e110de',1,'glm']]], ['highp_5fumat2x2',['highp_umat2x2',['../a00294.html#ga5337b7bc95f9cbac08a0c00b3f936b28',1,'glm']]], ['highp_5fumat2x3',['highp_umat2x3',['../a00294.html#ga90718c7128320b24b52f9ea70e643ad4',1,'glm']]], ['highp_5fumat2x4',['highp_umat2x4',['../a00294.html#gadca0a4724b4a6f56a2355b6f6e19248b',1,'glm']]], ['highp_5fumat3',['highp_umat3',['../a00294.html#gaa1143120339b7d2d469d327662e8a172',1,'glm']]], ['highp_5fumat3x2',['highp_umat3x2',['../a00294.html#ga844a5da2e7fc03fc7cccc7f1b70809c4',1,'glm']]], ['highp_5fumat3x3',['highp_umat3x3',['../a00294.html#ga1f7d41c36b980774a4d2e7c1647fb4b2',1,'glm']]], ['highp_5fumat3x4',['highp_umat3x4',['../a00294.html#ga25ee15c323924f2d0fe9896d329e5086',1,'glm']]], ['highp_5fumat4',['highp_umat4',['../a00294.html#gaf665e4e78c2cc32a54ab40325738f9c9',1,'glm']]], ['highp_5fumat4x2',['highp_umat4x2',['../a00294.html#gae69eb82ec08b0dc9bf2ead2a339ff801',1,'glm']]], ['highp_5fumat4x3',['highp_umat4x3',['../a00294.html#ga45a8163d02c43216252056b0c120f3a5',1,'glm']]], ['highp_5fumat4x4',['highp_umat4x4',['../a00294.html#ga6a56cbb769aed334c95241664415f9ba',1,'glm']]], ['highp_5fuvec1',['highp_uvec1',['../a00277.html#gacda57dd8c2bff4934c7f09ddd87c0f39',1,'glm']]], ['highp_5fuvec2',['highp_uvec2',['../a00282.html#gad5dd50da9e37387ca6b4e6f9c80fe6f8',1,'glm']]], ['highp_5fuvec3',['highp_uvec3',['../a00282.html#gaef61508dd40ec523416697982f9ceaae',1,'glm']]], ['highp_5fuvec4',['highp_uvec4',['../a00282.html#gaeebd7dd9f3e678691f8620241e5f9221',1,'glm']]], ['highp_5fvec1',['highp_vec1',['../a00271.html#ga9e8ed21862a897c156c0b2abca70b1e9',1,'glm']]], ['highp_5fvec2',['highp_vec2',['../a00282.html#gaa92c1954d71b1e7914874bd787b43d1c',1,'glm']]], ['highp_5fvec3',['highp_vec3',['../a00282.html#gaca61dfaccbf2f58f2d8063a4e76b44a9',1,'glm']]], ['highp_5fvec4',['highp_vec4',['../a00282.html#gad281decae52948b82feb3a9db8f63a7b',1,'glm']]], ['hsvcolor',['hsvColor',['../a00312.html#ga789802bec2d4fe0f9741c731b4a8a7d8',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_8.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_8.js ================================================ var searchData= [ ['integer_20functions',['Integer functions',['../a00370.html',1,'']]], ['i16',['i16',['../a00304.html#ga3ab5fe184343d394fb6c2723c3ee3699',1,'glm']]], ['i16vec1',['i16vec1',['../a00304.html#gafe730798732aa7b0647096a004db1b1c',1,'glm']]], ['i16vec2',['i16vec2',['../a00304.html#ga2996630ba7b10535af8e065cf326f761',1,'glm']]], ['i16vec3',['i16vec3',['../a00304.html#gae9c90a867a6026b1f6eab00456f3fb8b',1,'glm']]], ['i16vec4',['i16vec4',['../a00304.html#ga550831bfc26d1e0101c1cb3d79938c06',1,'glm']]], ['i32',['i32',['../a00304.html#ga96faea43ac5f875d2d3ffbf8d213e3eb',1,'glm']]], ['i32vec1',['i32vec1',['../a00304.html#ga54b8a4e0f5a7203a821bf8e9c1265bcf',1,'glm']]], ['i32vec2',['i32vec2',['../a00304.html#ga8b44026374982dcd1e52d22bac99247e',1,'glm']]], ['i32vec3',['i32vec3',['../a00304.html#ga7f526b5cccef126a2ebcf9bdd890394e',1,'glm']]], ['i32vec4',['i32vec4',['../a00304.html#ga866a05905c49912309ed1fa5f5980e61',1,'glm']]], ['i64',['i64',['../a00304.html#gadb997e409103d4da18abd837e636a496',1,'glm']]], ['i64vec1',['i64vec1',['../a00304.html#ga2b65767f8b5aed1bd1cf86c541662b50',1,'glm']]], ['i64vec2',['i64vec2',['../a00304.html#ga48310188e1d0c616bf8d78c92447523b',1,'glm']]], ['i64vec3',['i64vec3',['../a00304.html#ga667948cfe6fb3d6606c750729ec49f77',1,'glm']]], ['i64vec4',['i64vec4',['../a00304.html#gaa4e31c3d9de067029efeb161a44b0232',1,'glm']]], ['i8',['i8',['../a00304.html#ga302ec977b0c0c3ea245b6c9275495355',1,'glm']]], ['i8vec1',['i8vec1',['../a00304.html#ga7e80d927ff0a3861ced68dfff8a4020b',1,'glm']]], ['i8vec2',['i8vec2',['../a00304.html#gad06935764d78f43f9d542c784c2212ec',1,'glm']]], ['i8vec3',['i8vec3',['../a00304.html#ga5a08d36cf7917cd19d081a603d0eae3e',1,'glm']]], ['i8vec4',['i8vec4',['../a00304.html#ga4177a44206121dabc8c4ff1c0f544574',1,'glm']]], ['identity',['identity',['../a00247.html#ga81696f2b8d1db02ea1aff8da8f269314',1,'glm']]], ['imat2',['imat2',['../a00294.html#gaabe04f9948d4a213bb1c20137de03e01',1,'glm']]], ['imat2x2',['imat2x2',['../a00294.html#gaa4732a240522ad9bc28144fda2fc14ec',1,'glm']]], ['imat2x3',['imat2x3',['../a00294.html#ga3f42dd3d5d94a0fd5706f7ec8dd0c605',1,'glm']]], ['imat2x4',['imat2x4',['../a00294.html#ga9d8faafdca42583d67e792dd038fc668',1,'glm']]], ['imat3',['imat3',['../a00294.html#ga038f68437155ffa3c2583a15264a8195',1,'glm']]], ['imat3x2',['imat3x2',['../a00294.html#ga7b33bbe4f12c060892bd3cc8d4cd737f',1,'glm']]], ['imat3x3',['imat3x3',['../a00294.html#ga6aacc960f62e8f7d2fe9d32d5050e7a4',1,'glm']]], ['imat3x4',['imat3x4',['../a00294.html#ga6e9ce23496d8b08dfc302d4039694b58',1,'glm']]], ['imat4',['imat4',['../a00294.html#ga96b0d26a33b81bb6a60ca0f39682f7eb',1,'glm']]], ['imat4x2',['imat4x2',['../a00294.html#ga8ce7ef51d8b2c1901fa5414deccbc3fa',1,'glm']]], ['imat4x3',['imat4x3',['../a00294.html#ga705ee0bf49d6c3de4404ce2481bf0df5',1,'glm']]], ['imat4x4',['imat4x4',['../a00294.html#ga43ed5e4f475b6f4cad7cba78f29c405b',1,'glm']]], ['imulextended',['imulExtended',['../a00370.html#gac0c510a70e852f57594a9141848642e3',1,'glm']]], ['infiniteperspective',['infinitePerspective',['../a00243.html#ga44fa38a18349450325cae2661bb115ca',1,'glm']]], ['infiniteperspectivelh',['infinitePerspectiveLH',['../a00243.html#ga3201b30f5b3ea0f933246d87bfb992a9',1,'glm']]], ['infiniteperspectiverh',['infinitePerspectiveRH',['../a00243.html#ga99672ffe5714ef478dab2437255fe7e1',1,'glm']]], ['int1',['int1',['../a00315.html#ga0670a2111b5e4a6410bd027fa0232fc3',1,'glm']]], ['int16',['int16',['../a00260.html#ga259fa4834387bd68627ddf37bb3ebdb9',1,'glm']]], ['int16_5ft',['int16_t',['../a00304.html#gae8f5e3e964ca2ae240adc2c0d74adede',1,'glm']]], ['int1x1',['int1x1',['../a00315.html#ga056ffe02d3a45af626f8e62221881c7a',1,'glm']]], ['int2',['int2',['../a00315.html#gafe3a8fd56354caafe24bfe1b1e3ad22a',1,'glm']]], ['int2x2',['int2x2',['../a00315.html#ga4e5ce477c15836b21e3c42daac68554d',1,'glm']]], ['int2x3',['int2x3',['../a00315.html#ga197ded5ad8354f6b6fb91189d7a269b3',1,'glm']]], ['int2x4',['int2x4',['../a00315.html#ga2749d59a7fddbac44f34ba78e57ef807',1,'glm']]], ['int3',['int3',['../a00315.html#ga909c38a425f215a50c847145d7da09f0',1,'glm']]], ['int32',['int32',['../a00260.html#ga43d43196463bde49cb067f5c20ab8481',1,'glm']]], ['int32_5ft',['int32_t',['../a00304.html#ga042ef09ff2f0cb24a36f541bcb3a3710',1,'glm']]], ['int3x2',['int3x2',['../a00315.html#gaa4cbe16a92cf3664376c7a2fc5126aa8',1,'glm']]], ['int3x3',['int3x3',['../a00315.html#ga15c9649286f0bf431bdf9b3509580048',1,'glm']]], ['int3x4',['int3x4',['../a00315.html#gaacac46ddc7d15d0f9529d05c92946a0f',1,'glm']]], ['int4',['int4',['../a00315.html#gaecdef18c819c205aeee9f94dc93de56a',1,'glm']]], ['int4x2',['int4x2',['../a00315.html#ga97a39dd9bc7d572810d80b8467cbffa1',1,'glm']]], ['int4x3',['int4x3',['../a00315.html#gae4a2c53f14aeec9a17c2b81142b7e82d',1,'glm']]], ['int4x4',['int4x4',['../a00315.html#ga04dee1552424198b8f58b377c2ee00d8',1,'glm']]], ['int64',['int64',['../a00260.html#gaff5189f97f9e842d9636a0f240001b2e',1,'glm']]], ['int64_5ft',['int64_t',['../a00304.html#ga322a7d7d2c2c68994dc872a33de63c61',1,'glm']]], ['int8',['int8',['../a00260.html#ga1b956fe1df85f3c132b21edb4e116458',1,'glm']]], ['int8_5ft',['int8_t',['../a00304.html#ga4bf09d8838a86866b39ee6e109341645',1,'glm']]], ['intbitstofloat',['intBitsToFloat',['../a00241.html#ga4fb7c21c2dce064b26fd9ccdaf9adcd4',1,'glm::intBitsToFloat(int const &v)'],['../a00241.html#ga7a0a8291a1cf3e1c2aee33030a1bd7b0',1,'glm::intBitsToFloat(vec< L, int, Q > const &v)']]], ['integer_2ehpp',['integer.hpp',['../a00043.html',1,'']]], ['intermediate',['intermediate',['../a00352.html#gacc5cd5f3e78de61d141c2355417424de',1,'glm']]], ['interpolate',['interpolate',['../a00337.html#ga4e67863d150724b10c1ac00972dc958c',1,'glm']]], ['intersect_2ehpp',['intersect.hpp',['../a00044.html',1,'']]], ['intersectlinesphere',['intersectLineSphere',['../a00331.html#ga9c68139f3d8a4f3d7fe45f9dbc0de5b7',1,'glm']]], ['intersectlinetriangle',['intersectLineTriangle',['../a00331.html#ga9d29b9b3acb504d43986502f42740df4',1,'glm']]], ['intersectrayplane',['intersectRayPlane',['../a00331.html#gad3697a9700ea379739a667ea02573488',1,'glm']]], ['intersectraysphere',['intersectRaySphere',['../a00331.html#gac88f8cd84c4bcb5b947d56acbbcfa56e',1,'glm::intersectRaySphere(genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, typename genType::value_type const sphereRadiusSquared, typename genType::value_type &intersectionDistance)'],['../a00331.html#gad28c00515b823b579c608aafa1100c1d',1,'glm::intersectRaySphere(genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, const typename genType::value_type sphereRadius, genType &intersectionPosition, genType &intersectionNormal)']]], ['intersectraytriangle',['intersectRayTriangle',['../a00331.html#ga65bf2c594482f04881c36bc761f9e946',1,'glm']]], ['inverse',['inverse',['../a00248.html#gab41da854ae678e23e114b598cbca4065',1,'glm::inverse(qua< T, Q > const &q)'],['../a00317.html#ga070f521a953f6461af4ab4cf8ccbf27e',1,'glm::inverse(tdualquat< T, Q > const &q)'],['../a00371.html#gaed509fe8129b01e4f20a6d0de5690091',1,'glm::inverse(mat< C, R, T, Q > const &m)']]], ['inversesqrt',['inversesqrt',['../a00242.html#ga523dd6bd0ad9f75ae2d24c8e4b017b7a',1,'glm']]], ['inversetranspose',['inverseTranspose',['../a00295.html#gab213cd0e3ead5f316d583f99d6312008',1,'glm']]], ['io_2ehpp',['io.hpp',['../a00045.html',1,'']]], ['iround',['iround',['../a00292.html#ga57824268ebe13a922f1d69a5d37f637f',1,'glm']]], ['iscompnull',['isCompNull',['../a00368.html#gaf6ec1688eab7442fe96fe4941d5d4e76',1,'glm']]], ['isdenormal',['isdenormal',['../a00314.html#ga74aa7c7462245d83bd5a9edf9c6c2d91',1,'glm']]], ['isfinite',['isfinite',['../a00315.html#gaf4b04dcd3526996d68c1bfe17bfc8657',1,'glm::isfinite(genType const &x)'],['../a00315.html#gac3b12b8ac3014418fe53c299478b6603',1,'glm::isfinite(const vec< 1, T, Q > &x)'],['../a00315.html#ga8e76dc3e406ce6a4155c2b12a2e4b084',1,'glm::isfinite(const vec< 2, T, Q > &x)'],['../a00315.html#ga929ef27f896d902c1771a2e5e150fc97',1,'glm::isfinite(const vec< 3, T, Q > &x)'],['../a00315.html#ga19925badbe10ce61df1d0de00be0b5ad',1,'glm::isfinite(const vec< 4, T, Q > &x)']]], ['isidentity',['isIdentity',['../a00340.html#gaee935d145581c82e82b154ccfd78ad91',1,'glm']]], ['isinf',['isinf',['../a00241.html#ga2885587c23a106301f20443896365b62',1,'glm::isinf(vec< L, T, Q > const &x)'],['../a00248.html#ga45722741ea266b4e861938b365c5f362',1,'glm::isinf(qua< T, Q > const &x)']]], ['ismultiple',['isMultiple',['../a00261.html#gaec593d33956a8fe43f78fccc63ddde9a',1,'glm::isMultiple(genIUType v, genIUType Multiple)'],['../a00274.html#ga354caf634ef333d9cb4844407416256a',1,'glm::isMultiple(vec< L, T, Q > const &v, T Multiple)'],['../a00274.html#gabb4360e38c0943d8981ba965dead519d',1,'glm::isMultiple(vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)']]], ['isnan',['isnan',['../a00241.html#ga29ef934c00306490de837b4746b4e14d',1,'glm::isnan(vec< L, T, Q > const &x)'],['../a00248.html#ga1bb55f8963616502e96dc564384d8a03',1,'glm::isnan(qua< T, Q > const &x)']]], ['isnormalized',['isNormalized',['../a00340.html#gae785af56f47ce220a1609f7f84aa077a',1,'glm::isNormalized(mat< 2, 2, T, Q > const &m, T const &epsilon)'],['../a00340.html#gaa068311695f28f5f555f5f746a6a66fb',1,'glm::isNormalized(mat< 3, 3, T, Q > const &m, T const &epsilon)'],['../a00340.html#ga4d9bb4d0465df49fedfad79adc6ce4ad',1,'glm::isNormalized(mat< 4, 4, T, Q > const &m, T const &epsilon)'],['../a00368.html#gac3c974f459fd75453134fad7ae89a39e',1,'glm::isNormalized(vec< L, T, Q > const &v, T const &epsilon)']]], ['isnull',['isNull',['../a00340.html#ga9790ec222ce948c0ff0d8ce927340dba',1,'glm::isNull(mat< 2, 2, T, Q > const &m, T const &epsilon)'],['../a00340.html#gae14501c6b14ccda6014cc5350080103d',1,'glm::isNull(mat< 3, 3, T, Q > const &m, T const &epsilon)'],['../a00340.html#ga2b98bb30a9fefa7cdea5f1dcddba677b',1,'glm::isNull(mat< 4, 4, T, Q > const &m, T const &epsilon)'],['../a00368.html#gab4a3637dbcb4bb42dc55caea7a1e0495',1,'glm::isNull(vec< L, T, Q > const &v, T const &epsilon)']]], ['isorthogonal',['isOrthogonal',['../a00340.html#ga58f3289f74dcab653387dd78ad93ca40',1,'glm']]], ['ispoweroftwo',['isPowerOfTwo',['../a00261.html#gadf491730354aa7da67fbe23d4d688763',1,'glm::isPowerOfTwo(genIUType v)'],['../a00274.html#gabf2b61ded7049bcb13e25164f832a290',1,'glm::isPowerOfTwo(vec< L, T, Q > const &v)']]], ['ivec1',['ivec1',['../a00272.html#gaedd0562c2e77714929d7723a7e2e0dba',1,'glm']]], ['ivec2',['ivec2',['../a00281.html#ga6f9269106d91b2d2b91bcf27cd5f5560',1,'glm']]], ['ivec3',['ivec3',['../a00281.html#gad0d784d8eee201aca362484d2daee46c',1,'glm']]], ['ivec4',['ivec4',['../a00281.html#ga5abb4603dae0ce58c595e66d9123d812',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_9.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_9.js ================================================ var searchData= [ ['l1norm',['l1Norm',['../a00343.html#gae2fc0b2aa967bebfd6a244700bff6997',1,'glm::l1Norm(vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)'],['../a00343.html#ga1a7491e2037ceeb37f83ce41addfc0be',1,'glm::l1Norm(vec< 3, T, Q > const &v)']]], ['l2norm',['l2Norm',['../a00343.html#ga41340b2ef40a9307ab0f137181565168',1,'glm::l2Norm(vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)'],['../a00343.html#gae288bde8f0e41fb4ed62e65137b18cba',1,'glm::l2Norm(vec< 3, T, Q > const &x)']]], ['ldexp',['ldexp',['../a00241.html#gac3010e0a0c35a1b514540f2fb579c58c',1,'glm']]], ['lefthanded',['leftHanded',['../a00328.html#ga6f1bad193b9a3b048543d1935cf04dd3',1,'glm']]], ['length',['length',['../a00254.html#gab703732449be6c7199369b3f9a91ed38',1,'glm::length(qua< T, Q > const &q)'],['../a00279.html#ga0cdabbb000834d994a1d6dc56f8f5263',1,'glm::length(vec< L, T, Q > const &x)']]], ['length2',['length2',['../a00343.html#ga8d1789651050adb7024917984b41c3de',1,'glm::length2(vec< L, T, Q > const &x)'],['../a00352.html#ga58a609b1b8ab965f5df2702e8ca4e75b',1,'glm::length2(qua< T, Q > const &q)']]], ['lerp',['lerp',['../a00248.html#ga6033dc0741051fa463a0a147ba29f293',1,'glm::lerp(qua< T, Q > const &x, qua< T, Q > const &y, T a)'],['../a00315.html#ga5494ba3a95ea6594c86fc75236886864',1,'glm::lerp(T x, T y, T a)'],['../a00315.html#gaa551c0a0e16d2d4608e49f7696df897f',1,'glm::lerp(const vec< 2, T, Q > &x, const vec< 2, T, Q > &y, T a)'],['../a00315.html#ga44a8b5fd776320f1713413dec959b32a',1,'glm::lerp(const vec< 3, T, Q > &x, const vec< 3, T, Q > &y, T a)'],['../a00315.html#ga89ac8e000199292ec7875519d27e214b',1,'glm::lerp(const vec< 4, T, Q > &x, const vec< 4, T, Q > &y, T a)'],['../a00315.html#gaf68de5baf72d16135368b8ef4f841604',1,'glm::lerp(const vec< 2, T, Q > &x, const vec< 2, T, Q > &y, const vec< 2, T, Q > &a)'],['../a00315.html#ga4ae1a616c8540a2649eab8e0cd051bb3',1,'glm::lerp(const vec< 3, T, Q > &x, const vec< 3, T, Q > &y, const vec< 3, T, Q > &a)'],['../a00315.html#gab5477ab69c40de4db5d58d3359529724',1,'glm::lerp(const vec< 4, T, Q > &x, const vec< 4, T, Q > &y, const vec< 4, T, Q > &a)'],['../a00317.html#gace8380112d16d33f520839cb35a4d173',1,'glm::lerp(tdualquat< T, Q > const &x, tdualquat< T, Q > const &y, T const &a)']]], ['lessthan',['lessThan',['../a00299.html#gad091a2d22c8acfebfa92bcfca1dfe9c4',1,'glm::lessThan(qua< T, Q > const &x, qua< T, Q > const &y)'],['../a00374.html#gae90ed1592c395f93e3f3dfce6b2f39c6',1,'glm::lessThan(vec< L, T, Q > const &x, vec< L, T, Q > const &y)']]], ['lessthanequal',['lessThanEqual',['../a00299.html#gac00012eea281800d2403f4ea8443134d',1,'glm::lessThanEqual(qua< T, Q > const &x, qua< T, Q > const &y)'],['../a00374.html#gab0bdafc019d227257ff73fb5bcca1718',1,'glm::lessThanEqual(vec< L, T, Q > const &x, vec< L, T, Q > const &y)']]], ['levels',['levels',['../a00361.html#gaa8c377f4e63486db4fa872d77880da73',1,'glm']]], ['lineargradient',['linearGradient',['../a00327.html#ga849241df1e55129b8ce9476200307419',1,'glm']]], ['linearinterpolation',['linearInterpolation',['../a00318.html#ga290c3e47cb0a49f2e8abe90b1872b649',1,'glm']]], ['linearrand',['linearRand',['../a00300.html#ga04e241ab88374a477a2c2ceadd2fa03d',1,'glm::linearRand(genType Min, genType Max)'],['../a00300.html#ga94731130c298a9ff5e5025fdee6d97a0',1,'glm::linearRand(vec< L, T, Q > const &Min, vec< L, T, Q > const &Max)']]], ['lmaxnorm',['lMaxNorm',['../a00343.html#gad58a8231fc32e38104a9e1c4d3c0cb64',1,'glm::lMaxNorm(vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)'],['../a00343.html#ga6968a324837a8e899396d44de23d5aae',1,'glm::lMaxNorm(vec< 3, T, Q > const &x)']]], ['ln_5fln_5ftwo',['ln_ln_two',['../a00290.html#gaca94292c839ed31a405ab7a81ae7e850',1,'glm']]], ['ln_5ften',['ln_ten',['../a00290.html#gaf97ebc6c059ffd788e6c4946f71ef66c',1,'glm']]], ['ln_5ftwo',['ln_two',['../a00290.html#ga24f4d27765678116f41a2f336ab7975c',1,'glm']]], ['log',['log',['../a00242.html#ga918c9f3fd086ce20e6760c903bd30fa9',1,'glm::log(vec< L, T, Q > const &v)'],['../a00256.html#gaa5f7b20e296671b16ce25a2ab7ad5473',1,'glm::log(qua< T, Q > const &q)'],['../a00333.html#ga60a7b0a401da660869946b2b77c710c9',1,'glm::log(genType const &x, genType const &base)']]], ['log2',['log2',['../a00242.html#ga82831c7d9cca777cebedfe03a19c8d75',1,'glm::log2(vec< L, T, Q > const &v)'],['../a00292.html#ga9bd682e74bfacb005c735305207ec417',1,'glm::log2(genIUType x)']]], ['log_5fbase_2ehpp',['log_base.hpp',['../a00046.html',1,'']]], ['lookat',['lookAt',['../a00247.html#gaa64aa951a0e99136bba9008d2b59c78e',1,'glm']]], ['lookatlh',['lookAtLH',['../a00247.html#gab2c09e25b0a16d3a9d89cc85bbae41b0',1,'glm']]], ['lookatrh',['lookAtRH',['../a00247.html#gacfa12c8889c754846bc20c65d9b5c701',1,'glm']]], ['lowestbitvalue',['lowestBitValue',['../a00309.html#ga2ff6568089f3a9b67f5c30918855fc6f',1,'glm']]], ['lowp_5fbvec1',['lowp_bvec1',['../a00266.html#ga24a3d364e2ddd444f5b9e7975bbef8f9',1,'glm']]], ['lowp_5fbvec2',['lowp_bvec2',['../a00282.html#ga5a5452140650988b94d5716e4d872465',1,'glm']]], ['lowp_5fbvec3',['lowp_bvec3',['../a00282.html#ga79e0922a977662a8fd39d7829be3908b',1,'glm']]], ['lowp_5fbvec4',['lowp_bvec4',['../a00282.html#ga15ac87724048ab7169bb5d3572939dd3',1,'glm']]], ['lowp_5fddualquat',['lowp_ddualquat',['../a00317.html#gab4c5103338af3dac7e0fbc86895a3f1a',1,'glm']]], ['lowp_5fdmat2',['lowp_dmat2',['../a00284.html#gad8e2727a6e7aa68280245bb0022118e1',1,'glm']]], ['lowp_5fdmat2x2',['lowp_dmat2x2',['../a00284.html#gac61b94f5d9775f83f321bac899322fe2',1,'glm']]], ['lowp_5fdmat2x3',['lowp_dmat2x3',['../a00284.html#gaf6bf2f5bde7ad5b9c289f777b93094af',1,'glm']]], ['lowp_5fdmat2x4',['lowp_dmat2x4',['../a00284.html#ga97507a31ecee8609887d0f23bbde92c7',1,'glm']]], ['lowp_5fdmat3',['lowp_dmat3',['../a00284.html#ga0cab80beee64a5f8d2ae4e823983063a',1,'glm']]], ['lowp_5fdmat3x2',['lowp_dmat3x2',['../a00284.html#ga1e0ea3fba496bc7c6f620d2590acb66b',1,'glm']]], ['lowp_5fdmat3x3',['lowp_dmat3x3',['../a00284.html#gac017848a9df570f60916a21a297b1e8e',1,'glm']]], ['lowp_5fdmat3x4',['lowp_dmat3x4',['../a00284.html#ga93add35d2a44c5830978b827e8c295e8',1,'glm']]], ['lowp_5fdmat4',['lowp_dmat4',['../a00284.html#ga708bc5b91bbfedd21debac8dcf2a64cd',1,'glm']]], ['lowp_5fdmat4x2',['lowp_dmat4x2',['../a00284.html#ga382dc5295cead78766239a8457abfa98',1,'glm']]], ['lowp_5fdmat4x3',['lowp_dmat4x3',['../a00284.html#ga3d7ea07da7c6e5c81a3f4c8b3d44056e',1,'glm']]], ['lowp_5fdmat4x4',['lowp_dmat4x4',['../a00284.html#ga5b0413198b7e9f061f7534a221c9dac9',1,'glm']]], ['lowp_5fdquat',['lowp_dquat',['../a00250.html#ga9e6e5f42e67dd5877350ba485c191f1c',1,'glm']]], ['lowp_5fdualquat',['lowp_dualquat',['../a00317.html#gade05d29ebd4deea0f883d0e1bb4169aa',1,'glm']]], ['lowp_5fdvec1',['lowp_dvec1',['../a00269.html#gaf906eb86b6e96c35138d0e4928e1435a',1,'glm']]], ['lowp_5fdvec2',['lowp_dvec2',['../a00282.html#ga108086730d086b7f6f7a033955dfb9c3',1,'glm']]], ['lowp_5fdvec3',['lowp_dvec3',['../a00282.html#ga42c518b2917e19ce6946a84c64a3a4b2',1,'glm']]], ['lowp_5fdvec4',['lowp_dvec4',['../a00282.html#ga0b4432cb8d910e406576d10d802e190d',1,'glm']]], ['lowp_5ff32',['lowp_f32',['../a00304.html#gaeea53879fc327293cf3352a409b7867b',1,'glm']]], ['lowp_5ff32mat2',['lowp_f32mat2',['../a00304.html#ga52409bc6d4a2ce3421526c069220d685',1,'glm']]], ['lowp_5ff32mat2x2',['lowp_f32mat2x2',['../a00304.html#ga1d091b6abfba1772450e1745a06525bc',1,'glm']]], ['lowp_5ff32mat2x3',['lowp_f32mat2x3',['../a00304.html#ga961ccb34cd1a5654c772c8709e001dc5',1,'glm']]], ['lowp_5ff32mat2x4',['lowp_f32mat2x4',['../a00304.html#gacc6bf0209dda0c7c14851a646071c974',1,'glm']]], ['lowp_5ff32mat3',['lowp_f32mat3',['../a00304.html#ga4187f89f196505b40e63f516139511e5',1,'glm']]], ['lowp_5ff32mat3x2',['lowp_f32mat3x2',['../a00304.html#gac53f9d7ab04eace67adad026092fb1e8',1,'glm']]], ['lowp_5ff32mat3x3',['lowp_f32mat3x3',['../a00304.html#ga841211b641cff1fcf861bdb14e5e4abc',1,'glm']]], ['lowp_5ff32mat3x4',['lowp_f32mat3x4',['../a00304.html#ga21b1b22dec013a72656e3644baf8a1e1',1,'glm']]], ['lowp_5ff32mat4',['lowp_f32mat4',['../a00304.html#ga766aed2871e6173a81011a877f398f04',1,'glm']]], ['lowp_5ff32mat4x2',['lowp_f32mat4x2',['../a00304.html#gae6f3fcb702a666de07650c149cfa845a',1,'glm']]], ['lowp_5ff32mat4x3',['lowp_f32mat4x3',['../a00304.html#gac21eda58a1475449a5709b412ebd776c',1,'glm']]], ['lowp_5ff32mat4x4',['lowp_f32mat4x4',['../a00304.html#ga4143d129898f91545948c46859adce44',1,'glm']]], ['lowp_5ff32quat',['lowp_f32quat',['../a00304.html#gaa3ba60ef8f69c6aeb1629594eaa95347',1,'glm']]], ['lowp_5ff32vec1',['lowp_f32vec1',['../a00304.html#ga43e5b41c834fcaf4db5a831c0e28128e',1,'glm']]], ['lowp_5ff32vec2',['lowp_f32vec2',['../a00304.html#gaf3b694b2b8ded7e0b9f07b061917e1a0',1,'glm']]], ['lowp_5ff32vec3',['lowp_f32vec3',['../a00304.html#gaf739a2cd7b81783a43148b53e40d983b',1,'glm']]], ['lowp_5ff32vec4',['lowp_f32vec4',['../a00304.html#ga4e2e1debe022074ab224c9faf856d374',1,'glm']]], ['lowp_5ff64',['lowp_f64',['../a00304.html#gabc7a97c07cbfac8e35eb5e63beb4b679',1,'glm']]], ['lowp_5ff64mat2',['lowp_f64mat2',['../a00304.html#gafc730f6b4242763b0eda0ffa25150292',1,'glm']]], ['lowp_5ff64mat2x2',['lowp_f64mat2x2',['../a00304.html#ga771fda9109933db34f808d92b9b84d7e',1,'glm']]], ['lowp_5ff64mat2x3',['lowp_f64mat2x3',['../a00304.html#ga39e90adcffe33264bd608fa9c6bd184b',1,'glm']]], ['lowp_5ff64mat2x4',['lowp_f64mat2x4',['../a00304.html#ga50265a202fbfe0a25fc70066c31d9336',1,'glm']]], ['lowp_5ff64mat3',['lowp_f64mat3',['../a00304.html#ga58119a41d143ebaea0df70fe882e8a40',1,'glm']]], ['lowp_5ff64mat3x2',['lowp_f64mat3x2',['../a00304.html#gab0eb2d65514ee3e49905aa2caad8c0ad',1,'glm']]], ['lowp_5ff64mat3x3',['lowp_f64mat3x3',['../a00304.html#gac8f8a12ee03105ef8861dc652434e3b7',1,'glm']]], ['lowp_5ff64mat3x4',['lowp_f64mat3x4',['../a00304.html#gade8d1edfb23996ab6c622e65e3893271',1,'glm']]], ['lowp_5ff64mat4',['lowp_f64mat4',['../a00304.html#ga7451266e67794bd1125163502bc4a570',1,'glm']]], ['lowp_5ff64mat4x2',['lowp_f64mat4x2',['../a00304.html#gab0cecb80fd106bc369b9e46a165815ce',1,'glm']]], ['lowp_5ff64mat4x3',['lowp_f64mat4x3',['../a00304.html#gae731613b25db3a5ef5a05d21e57a57d3',1,'glm']]], ['lowp_5ff64mat4x4',['lowp_f64mat4x4',['../a00304.html#ga8c9cd734e03cd49674f3e287aa4a6f95',1,'glm']]], ['lowp_5ff64quat',['lowp_f64quat',['../a00304.html#gaa3ee2bc4af03cc06578b66b3e3f878ae',1,'glm']]], ['lowp_5ff64vec1',['lowp_f64vec1',['../a00304.html#gaf2d02c5f4d59135b9bc524fe317fd26b',1,'glm']]], ['lowp_5ff64vec2',['lowp_f64vec2',['../a00304.html#ga4e641a54d70c81eabf56c25c966d04bd',1,'glm']]], ['lowp_5ff64vec3',['lowp_f64vec3',['../a00304.html#gae7a4711107b7d078fc5f03ce2227b90b',1,'glm']]], ['lowp_5ff64vec4',['lowp_f64vec4',['../a00304.html#gaa666bb9e6d204d3bea0b3a39a3a335f4',1,'glm']]], ['lowp_5ffdualquat',['lowp_fdualquat',['../a00317.html#gaa38f671be25a7f3b136a452a8bb42860',1,'glm']]], ['lowp_5ffloat32',['lowp_float32',['../a00304.html#ga41b0d390bd8cc827323b1b3816ff4bf8',1,'glm']]], ['lowp_5ffloat32_5ft',['lowp_float32_t',['../a00304.html#gaea881cae4ddc6c0fbf7cc5b08177ca5b',1,'glm']]], ['lowp_5ffloat64',['lowp_float64',['../a00304.html#ga3714dab2c16a6545a405cb0c3b3aaa6f',1,'glm']]], ['lowp_5ffloat64_5ft',['lowp_float64_t',['../a00304.html#ga7286a37076a09da140df18bfa75d4e38',1,'glm']]], ['lowp_5ffmat2',['lowp_fmat2',['../a00304.html#ga5bba0ce31210e274f73efacd3364c03f',1,'glm']]], ['lowp_5ffmat2x2',['lowp_fmat2x2',['../a00304.html#gab0feb11edd0d3ab3e8ed996d349a5066',1,'glm']]], ['lowp_5ffmat2x3',['lowp_fmat2x3',['../a00304.html#ga71cdb53801ed4c3aadb3603c04723210',1,'glm']]], ['lowp_5ffmat2x4',['lowp_fmat2x4',['../a00304.html#gaab217601c74974a84acbca428123ecf7',1,'glm']]], ['lowp_5ffmat3',['lowp_fmat3',['../a00304.html#ga83079315e230e8f39728f4bf0d2f9a9b',1,'glm']]], ['lowp_5ffmat3x2',['lowp_fmat3x2',['../a00304.html#ga49b98e7d71804af45d86886a489e633c',1,'glm']]], ['lowp_5ffmat3x3',['lowp_fmat3x3',['../a00304.html#gaba56275dd04a7a61560b0e8fa5d365b4',1,'glm']]], ['lowp_5ffmat3x4',['lowp_fmat3x4',['../a00304.html#ga28733aec7288191b314d42154fd0b690',1,'glm']]], ['lowp_5ffmat4',['lowp_fmat4',['../a00304.html#ga5803cb9ae26399762d8bba9e0b2fc09f',1,'glm']]], ['lowp_5ffmat4x2',['lowp_fmat4x2',['../a00304.html#ga5868c2dcce41cc3ea5edcaeae239f62c',1,'glm']]], ['lowp_5ffmat4x3',['lowp_fmat4x3',['../a00304.html#ga5e649bbdb135fbcb4bfe950f4c73a444',1,'glm']]], ['lowp_5ffmat4x4',['lowp_fmat4x4',['../a00304.html#gac2f5263708ac847b361a9841e74ddf9f',1,'glm']]], ['lowp_5ffvec1',['lowp_fvec1',['../a00304.html#ga346b2336fff168a7e0df1583aae3e5a5',1,'glm']]], ['lowp_5ffvec2',['lowp_fvec2',['../a00304.html#ga62a32c31f4e2e8ca859663b6e3289a2d',1,'glm']]], ['lowp_5ffvec3',['lowp_fvec3',['../a00304.html#ga40b5c557efebb5bb99d6b9aa81095afa',1,'glm']]], ['lowp_5ffvec4',['lowp_fvec4',['../a00304.html#ga755484ffbe39ae3db2875953ed04e7b7',1,'glm']]], ['lowp_5fi16',['lowp_i16',['../a00304.html#ga392b673fd10847bfb78fb808c6cf8ff7',1,'glm']]], ['lowp_5fi16vec1',['lowp_i16vec1',['../a00304.html#ga501a2f313f1c220eef4ab02bdabdc3c6',1,'glm']]], ['lowp_5fi16vec2',['lowp_i16vec2',['../a00304.html#ga7cac84b520a6b57f2fbd880d3d63c51b',1,'glm']]], ['lowp_5fi16vec3',['lowp_i16vec3',['../a00304.html#gab69ef9cbc2a9214bf5596c528c801b72',1,'glm']]], ['lowp_5fi16vec4',['lowp_i16vec4',['../a00304.html#ga1d47d94d17c2406abdd1f087a816e387',1,'glm']]], ['lowp_5fi32',['lowp_i32',['../a00304.html#ga7ff73a45cea9613ebf1a9fad0b9f82ac',1,'glm']]], ['lowp_5fi32vec1',['lowp_i32vec1',['../a00304.html#gae31ac3608cf643ceffd6554874bec4a0',1,'glm']]], ['lowp_5fi32vec2',['lowp_i32vec2',['../a00304.html#ga867a3c2d99ab369a454167d2c0a24dbd',1,'glm']]], ['lowp_5fi32vec3',['lowp_i32vec3',['../a00304.html#ga5fe17c87ede1b1b4d92454cff4da076d',1,'glm']]], ['lowp_5fi32vec4',['lowp_i32vec4',['../a00304.html#gac9b2eb4296ffe50a32eacca9ed932c08',1,'glm']]], ['lowp_5fi64',['lowp_i64',['../a00304.html#ga354736e0c645099cd44c42fb2f87c2b8',1,'glm']]], ['lowp_5fi64vec1',['lowp_i64vec1',['../a00304.html#gab0f7d875db5f3cc9f3168c5a0ed56437',1,'glm']]], ['lowp_5fi64vec2',['lowp_i64vec2',['../a00304.html#gab485c48f06a4fdd6b8d58d343bb49f3c',1,'glm']]], ['lowp_5fi64vec3',['lowp_i64vec3',['../a00304.html#ga5cb1dc9e8d300c2cdb0d7ff2308fa36c',1,'glm']]], ['lowp_5fi64vec4',['lowp_i64vec4',['../a00304.html#gabb4229a4c1488bf063eed0c45355bb9c',1,'glm']]], ['lowp_5fi8',['lowp_i8',['../a00304.html#ga552a6bde5e75984efb0f863278da2e54',1,'glm']]], ['lowp_5fi8vec1',['lowp_i8vec1',['../a00304.html#ga036d6c7ca9fbbdc5f3871bfcb937c85c',1,'glm']]], ['lowp_5fi8vec2',['lowp_i8vec2',['../a00304.html#gac03e5099d27eeaa74b6016ea435a1df2',1,'glm']]], ['lowp_5fi8vec3',['lowp_i8vec3',['../a00304.html#gae2f43ace6b5b33ab49516d9e40af1845',1,'glm']]], ['lowp_5fi8vec4',['lowp_i8vec4',['../a00304.html#ga6d388e9b9aa1b389f0672d9c7dfc61c5',1,'glm']]], ['lowp_5fimat2',['lowp_imat2',['../a00294.html#gaa0bff0be804142bb16d441aec0a7962e',1,'glm']]], ['lowp_5fimat2x2',['lowp_imat2x2',['../a00294.html#ga92b95b679975d408645547ab45a8dcd8',1,'glm']]], ['lowp_5fimat2x3',['lowp_imat2x3',['../a00294.html#ga8c9e7a388f8e7c52f1e6857dee8afb65',1,'glm']]], ['lowp_5fimat2x4',['lowp_imat2x4',['../a00294.html#ga9cc13bd1f8dd2933e9fa31fe3f70e16e',1,'glm']]], ['lowp_5fimat3',['lowp_imat3',['../a00294.html#ga69bfe668f4170379fc1f35d82b060c43',1,'glm']]], ['lowp_5fimat3x2',['lowp_imat3x2',['../a00294.html#ga33db8f27491d30906cd37c0d86b3f432',1,'glm']]], ['lowp_5fimat3x3',['lowp_imat3x3',['../a00294.html#ga664f061df00020048c3f8530329ace45',1,'glm']]], ['lowp_5fimat3x4',['lowp_imat3x4',['../a00294.html#ga9273faab33623d944af4080befbb2c80',1,'glm']]], ['lowp_5fimat4',['lowp_imat4',['../a00294.html#gad1e77f7270cad461ca4fcb4c3ec2e98c',1,'glm']]], ['lowp_5fimat4x2',['lowp_imat4x2',['../a00294.html#ga26ec1a2ba08a1488f5f05336858a0f09',1,'glm']]], ['lowp_5fimat4x3',['lowp_imat4x3',['../a00294.html#ga8f40483a3ae634ead8ad22272c543a33',1,'glm']]], ['lowp_5fimat4x4',['lowp_imat4x4',['../a00294.html#gaf65677e53ac8e31a107399340d5e2451',1,'glm']]], ['lowp_5fint16',['lowp_int16',['../a00304.html#ga698e36b01167fc0f037889334dce8def',1,'glm']]], ['lowp_5fint16_5ft',['lowp_int16_t',['../a00304.html#ga8b2cd8d31eb345b2d641d9261c38db1a',1,'glm']]], ['lowp_5fint32',['lowp_int32',['../a00304.html#ga864aabca5f3296e176e0c3ed9cc16b02',1,'glm']]], ['lowp_5fint32_5ft',['lowp_int32_t',['../a00304.html#ga0350631d35ff800e6133ac6243b13cbc',1,'glm']]], ['lowp_5fint64',['lowp_int64',['../a00304.html#gaf645b1a60203b39c0207baff5e3d8c3c',1,'glm']]], ['lowp_5fint64_5ft',['lowp_int64_t',['../a00304.html#gaebf341fc4a5be233f7dde962c2e33847',1,'glm']]], ['lowp_5fint8',['lowp_int8',['../a00304.html#ga760bcf26fdb23a2c3ecad3c928a19ae6',1,'glm']]], ['lowp_5fint8_5ft',['lowp_int8_t',['../a00304.html#ga119c41d73fe9977358174eb3ac1035a3',1,'glm']]], ['lowp_5fivec1',['lowp_ivec1',['../a00273.html#ga836dbb1dc516c233b7f5fe9763bc15dc',1,'glm']]], ['lowp_5fivec2',['lowp_ivec2',['../a00282.html#ga8433c6c1fdd80c0a83941d94aff73fa0',1,'glm']]], ['lowp_5fivec3',['lowp_ivec3',['../a00282.html#gac1a86a75b3c68ebb704d7094043669d6',1,'glm']]], ['lowp_5fivec4',['lowp_ivec4',['../a00282.html#ga27fc23da61859cd6356326c5f1c796de',1,'glm']]], ['lowp_5fmat2',['lowp_mat2',['../a00284.html#gae400c4ce1f5f3e1fa12861b2baed331a',1,'glm']]], ['lowp_5fmat2x2',['lowp_mat2x2',['../a00284.html#ga2df7cdaf9a571ce7a1b09435f502c694',1,'glm']]], ['lowp_5fmat2x3',['lowp_mat2x3',['../a00284.html#ga3eee3a74d0f1de8635d846dfb29ec4bb',1,'glm']]], ['lowp_5fmat2x4',['lowp_mat2x4',['../a00284.html#gade27f8324a16626cbce5d3e7da66b070',1,'glm']]], ['lowp_5fmat3',['lowp_mat3',['../a00284.html#ga6271ebc85ed778ccc15458c3d86fc854',1,'glm']]], ['lowp_5fmat3x2',['lowp_mat3x2',['../a00284.html#gaabf6cf90fd31efe25c94965507e98390',1,'glm']]], ['lowp_5fmat3x3',['lowp_mat3x3',['../a00284.html#ga63362cb4a63fc1be7d2e49cd5d574c84',1,'glm']]], ['lowp_5fmat3x4',['lowp_mat3x4',['../a00284.html#gac5fc6786688eff02904ca5e7d6960092',1,'glm']]], ['lowp_5fmat4',['lowp_mat4',['../a00284.html#ga2dedee030500865267cd5851c00c139d',1,'glm']]], ['lowp_5fmat4x2',['lowp_mat4x2',['../a00284.html#gafa3cdb8f24d09d761ec9ae2a4c7e5e21',1,'glm']]], ['lowp_5fmat4x3',['lowp_mat4x3',['../a00284.html#ga534c3ef5c3b8fdd8656b6afc205b4b77',1,'glm']]], ['lowp_5fmat4x4',['lowp_mat4x4',['../a00284.html#ga686468a9a815bd4db8cddae42a6d6b87',1,'glm']]], ['lowp_5fquat',['lowp_quat',['../a00253.html#gade62c5316c1c11a79c34c00c189558eb',1,'glm']]], ['lowp_5fu16',['lowp_u16',['../a00304.html#ga504ce1631cb2ac02fcf1d44d8c2aa126',1,'glm']]], ['lowp_5fu16vec1',['lowp_u16vec1',['../a00304.html#gaa6aab4ee7189b86716f5d7015d43021d',1,'glm']]], ['lowp_5fu16vec2',['lowp_u16vec2',['../a00304.html#ga2a7d997da9ac29cb931e35bd399f58df',1,'glm']]], ['lowp_5fu16vec3',['lowp_u16vec3',['../a00304.html#gac0253db6c3d3bae1f591676307a9dd8c',1,'glm']]], ['lowp_5fu16vec4',['lowp_u16vec4',['../a00304.html#gaa7f00459b9a2e5b2757e70afc0c189e1',1,'glm']]], ['lowp_5fu32',['lowp_u32',['../a00304.html#ga4f072ada9552e1e480bbb3b1acde5250',1,'glm']]], ['lowp_5fu32vec1',['lowp_u32vec1',['../a00304.html#gabed3be8dfdc4a0df4bf3271dbd7344c4',1,'glm']]], ['lowp_5fu32vec2',['lowp_u32vec2',['../a00304.html#gaf7e286e81347011e257ee779524e73b9',1,'glm']]], ['lowp_5fu32vec3',['lowp_u32vec3',['../a00304.html#gad3ad390560a671b1f676fbf03cd3aa15',1,'glm']]], ['lowp_5fu32vec4',['lowp_u32vec4',['../a00304.html#ga4502885718742aa238c36a312c3f3f20',1,'glm']]], ['lowp_5fu64',['lowp_u64',['../a00304.html#ga30069d1f02b19599cbfadf98c23ac6ed',1,'glm']]], ['lowp_5fu64vec1',['lowp_u64vec1',['../a00304.html#ga859be7b9d3a3765c1cafc14dbcf249a6',1,'glm']]], ['lowp_5fu64vec2',['lowp_u64vec2',['../a00304.html#ga581485db4ba6ddb501505ee711fd8e42',1,'glm']]], ['lowp_5fu64vec3',['lowp_u64vec3',['../a00304.html#gaa4a8682bec7ec8af666ef87fae38d5d1',1,'glm']]], ['lowp_5fu64vec4',['lowp_u64vec4',['../a00304.html#ga6fccc89c34045c86339f6fa781ce96de',1,'glm']]], ['lowp_5fu8',['lowp_u8',['../a00304.html#ga1b09f03da7ac43055c68a349d5445083',1,'glm']]], ['lowp_5fu8vec1',['lowp_u8vec1',['../a00304.html#ga4b2e0e10d8d154fec9cab50e216588ec',1,'glm']]], ['lowp_5fu8vec2',['lowp_u8vec2',['../a00304.html#gae6f63fa38635431e51a8f2602f15c566',1,'glm']]], ['lowp_5fu8vec3',['lowp_u8vec3',['../a00304.html#ga150dc47e31c6b8cf8461803c8d56f7bd',1,'glm']]], ['lowp_5fu8vec4',['lowp_u8vec4',['../a00304.html#ga9910927f3a4d1addb3da6a82542a8287',1,'glm']]], ['lowp_5fuint16',['lowp_uint16',['../a00304.html#gad68bfd9f881856fc863a6ebca0b67f78',1,'glm']]], ['lowp_5fuint16_5ft',['lowp_uint16_t',['../a00304.html#ga91c4815f93177eb423362fd296a87e9f',1,'glm']]], ['lowp_5fuint32',['lowp_uint32',['../a00304.html#gaa6a5b461bbf5fe20982472aa51896d4b',1,'glm']]], ['lowp_5fuint32_5ft',['lowp_uint32_t',['../a00304.html#gaf1b735b4b1145174f4e4167d13778f9b',1,'glm']]], ['lowp_5fuint64',['lowp_uint64',['../a00304.html#gaa212b805736a759998e312cbdd550fae',1,'glm']]], ['lowp_5fuint64_5ft',['lowp_uint64_t',['../a00304.html#ga8dd3a3281ae5c970ffe0c41d538aa153',1,'glm']]], ['lowp_5fuint8',['lowp_uint8',['../a00304.html#gaf49470869e9be2c059629b250619804e',1,'glm']]], ['lowp_5fuint8_5ft',['lowp_uint8_t',['../a00304.html#ga667b2ece2b258be898812dc2177995d1',1,'glm']]], ['lowp_5fumat2',['lowp_umat2',['../a00294.html#gaf2fba702d990437fc88ff3f3a76846ee',1,'glm']]], ['lowp_5fumat2x2',['lowp_umat2x2',['../a00294.html#ga7b2e9d89745f7175051284e54c81d81c',1,'glm']]], ['lowp_5fumat2x3',['lowp_umat2x3',['../a00294.html#ga3072f90fd86f17a862e21589fbb14c0f',1,'glm']]], ['lowp_5fumat2x4',['lowp_umat2x4',['../a00294.html#ga8bb45fec4bd77bd81b4ae7eb961a270d',1,'glm']]], ['lowp_5fumat3',['lowp_umat3',['../a00294.html#gaf1145f72bcdd590f5808c4bc170c2924',1,'glm']]], ['lowp_5fumat3x2',['lowp_umat3x2',['../a00294.html#ga56ea68c6a6cba8d8c21d17bb14e69c6b',1,'glm']]], ['lowp_5fumat3x3',['lowp_umat3x3',['../a00294.html#ga4f660a39a395cc14f018f985e7dfbeb5',1,'glm']]], ['lowp_5fumat3x4',['lowp_umat3x4',['../a00294.html#gaec3d624306bd59649f021864709d56b5',1,'glm']]], ['lowp_5fumat4',['lowp_umat4',['../a00294.html#gac092c6105827bf9ea080db38074b78eb',1,'glm']]], ['lowp_5fumat4x2',['lowp_umat4x2',['../a00294.html#ga7716c2b210d141846f1ac4e774adef5e',1,'glm']]], ['lowp_5fumat4x3',['lowp_umat4x3',['../a00294.html#ga09ab33a2636f5f43f7fae29cfbc20fff',1,'glm']]], ['lowp_5fumat4x4',['lowp_umat4x4',['../a00294.html#ga10aafc66cf1a0ece336b1c5ae13d0cc0',1,'glm']]], ['lowp_5fuvec1',['lowp_uvec1',['../a00277.html#ga8bf3fc8a7863d140f48b29341c750402',1,'glm']]], ['lowp_5fuvec2',['lowp_uvec2',['../a00282.html#ga752ee45136011301b64afd8c310c47a4',1,'glm']]], ['lowp_5fuvec3',['lowp_uvec3',['../a00282.html#ga7b2efbdd6bdc2f8250c57f3e5dc9a292',1,'glm']]], ['lowp_5fuvec4',['lowp_uvec4',['../a00282.html#ga5e6a632ec1165cf9f54ceeaa5e9b2b1e',1,'glm']]], ['lowp_5fvec1',['lowp_vec1',['../a00271.html#ga0a57630f03031706b1d26a7d70d9184c',1,'glm']]], ['lowp_5fvec2',['lowp_vec2',['../a00282.html#ga30e8baef5d56d5c166872a2bc00f36e9',1,'glm']]], ['lowp_5fvec3',['lowp_vec3',['../a00282.html#ga868e8e4470a3ef97c7ee3032bf90dc79',1,'glm']]], ['lowp_5fvec4',['lowp_vec4',['../a00282.html#gace3acb313c800552a9411953eb8b2ed7',1,'glm']]], ['luminosity',['luminosity',['../a00312.html#gad028e0a4f1a9c812b39439b746295b34',1,'glm']]], ['lxnorm',['lxNorm',['../a00343.html#gacad23d30497eb16f67709f2375d1f66a',1,'glm::lxNorm(vec< 3, T, Q > const &x, vec< 3, T, Q > const &y, unsigned int Depth)'],['../a00343.html#gac61b6d81d796d6eb4d4183396a19ab91',1,'glm::lxNorm(vec< 3, T, Q > const &x, unsigned int Depth)']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_a.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_a.js ================================================ var searchData= [ ['matrix_20functions',['Matrix functions',['../a00371.html',1,'']]], ['matrix_20types',['Matrix types',['../a00283.html',1,'']]], ['matrix_20types_20with_20precision_20qualifiers',['Matrix types with precision qualifiers',['../a00284.html',1,'']]], ['make_5fmat2',['make_mat2',['../a00305.html#ga04409e74dc3da251d2501acf5b4b546c',1,'glm']]], ['make_5fmat2x2',['make_mat2x2',['../a00305.html#gae49e1c7bcd5abec74d1c34155031f663',1,'glm']]], ['make_5fmat2x3',['make_mat2x3',['../a00305.html#ga21982104164789cf8985483aaefc25e8',1,'glm']]], ['make_5fmat2x4',['make_mat2x4',['../a00305.html#ga078b862c90b0e9a79ed43a58997d8388',1,'glm']]], ['make_5fmat3',['make_mat3',['../a00305.html#ga611ee7c4d4cadfc83a8fa8e1d10a170f',1,'glm']]], ['make_5fmat3x2',['make_mat3x2',['../a00305.html#ga27a24e121dc39e6857620e0f85b6e1a8',1,'glm']]], ['make_5fmat3x3',['make_mat3x3',['../a00305.html#gaf2e8337b15c3362aaeb6e5849e1c0536',1,'glm']]], ['make_5fmat3x4',['make_mat3x4',['../a00305.html#ga05dd66232aedb993e3b8e7b35eaf932b',1,'glm']]], ['make_5fmat4',['make_mat4',['../a00305.html#gae7bcedb710d1446c87fd1fc93ed8ee9a',1,'glm']]], ['make_5fmat4x2',['make_mat4x2',['../a00305.html#ga8b34c9b25bf3310d8ff9c828c7e2d97c',1,'glm']]], ['make_5fmat4x3',['make_mat4x3',['../a00305.html#ga0330bf6640092d7985fac92927bbd42b',1,'glm']]], ['make_5fmat4x4',['make_mat4x4',['../a00305.html#ga8f084be30e404844bfbb4a551ac2728c',1,'glm']]], ['make_5fquat',['make_quat',['../a00305.html#ga58110d7d81cf7d029e2bab7f8cd9b246',1,'glm']]], ['make_5fvec1',['make_vec1',['../a00305.html#ga4135f03f3049f0a4eb76545c4967957c',1,'glm::make_vec1(vec< 1, T, Q > const &v)'],['../a00305.html#ga13c92b81e55f201b052a6404d57da220',1,'glm::make_vec1(vec< 2, T, Q > const &v)'],['../a00305.html#ga3c23cc74086d361e22bbd5e91a334e03',1,'glm::make_vec1(vec< 3, T, Q > const &v)'],['../a00305.html#ga6af06bb60d64ca8bcd169e3c93bc2419',1,'glm::make_vec1(vec< 4, T, Q > const &v)']]], ['make_5fvec2',['make_vec2',['../a00305.html#ga8476d0e6f1b9b4a6193cc25f59d8a896',1,'glm::make_vec2(vec< 1, T, Q > const &v)'],['../a00305.html#gae54bd325a08ad26edf63929201adebc7',1,'glm::make_vec2(vec< 2, T, Q > const &v)'],['../a00305.html#ga0084fea4694cf47276e9cccbe7b1015a',1,'glm::make_vec2(vec< 3, T, Q > const &v)'],['../a00305.html#ga2b81f71f3a222fe5bba81e3983751249',1,'glm::make_vec2(vec< 4, T, Q > const &v)'],['../a00305.html#ga81253cf7b0ebfbb1e70540c5774e6824',1,'glm::make_vec2(T const *const ptr)']]], ['make_5fvec3',['make_vec3',['../a00305.html#ga9147e4b3a5d0f4772edfbfd179d7ea0b',1,'glm::make_vec3(vec< 1, T, Q > const &v)'],['../a00305.html#ga482b60a842a5b154d3eed392417a9511',1,'glm::make_vec3(vec< 2, T, Q > const &v)'],['../a00305.html#gacd57046034df557b8b1c457f58613623',1,'glm::make_vec3(vec< 3, T, Q > const &v)'],['../a00305.html#ga8b589ed7d41a298b516d2a69169248f1',1,'glm::make_vec3(vec< 4, T, Q > const &v)'],['../a00305.html#gad9e0d36ff489cb30c65ad1fa40351651',1,'glm::make_vec3(T const *const ptr)']]], ['make_5fvec4',['make_vec4',['../a00305.html#ga600cb97f70c5d50d3a4a145e1cafbf37',1,'glm::make_vec4(vec< 1, T, Q > const &v)'],['../a00305.html#gaa9bd116caf28196fd1cf00b278286fa7',1,'glm::make_vec4(vec< 2, T, Q > const &v)'],['../a00305.html#ga4036328ba4702c74cbdfad1fc03d1b8f',1,'glm::make_vec4(vec< 3, T, Q > const &v)'],['../a00305.html#gaa95cb15732f708f613e65a0578895ae5',1,'glm::make_vec4(vec< 4, T, Q > const &v)'],['../a00305.html#ga63f576518993efc22a969f18f80e29bb',1,'glm::make_vec4(T const *const ptr)']]], ['mask',['mask',['../a00288.html#gad7eba518a0b71662114571ee76939f8a',1,'glm::mask(genIUType Bits)'],['../a00288.html#ga2e64e3b922a296033b825311e7f5fff1',1,'glm::mask(vec< L, T, Q > const &v)']]], ['mat2',['mat2',['../a00283.html#ga8dd59e7fc6913ac5d61b86553e9148ba',1,'glm']]], ['mat2x2',['mat2x2',['../a00283.html#gaaa17ef6bfa4e4f2692348b1460c8efcb',1,'glm']]], ['mat2x2_2ehpp',['mat2x2.hpp',['../a00048.html',1,'']]], ['mat2x3',['mat2x3',['../a00283.html#ga493ab21243abe564b3f7d381e677d29a',1,'glm']]], ['mat2x3_2ehpp',['mat2x3.hpp',['../a00049.html',1,'']]], ['mat2x4',['mat2x4',['../a00283.html#ga8e879b57ddd81e5bf5a88929844e8b40',1,'glm']]], ['mat2x4_2ehpp',['mat2x4.hpp',['../a00050.html',1,'']]], ['mat2x4_5fcast',['mat2x4_cast',['../a00317.html#gae99d143b37f9cad4cd9285571aab685a',1,'glm']]], ['mat3',['mat3',['../a00283.html#gaefb0fc7a4960b782c18708bb6b655262',1,'glm']]], ['mat3_5fcast',['mat3_cast',['../a00299.html#ga333ab70047fbe4132406100c292dbc89',1,'glm']]], ['mat3x2',['mat3x2',['../a00280.html#ga2c27aea32de57d58aec8e92d5d2181e2',1,'glm']]], ['mat3x2_2ehpp',['mat3x2.hpp',['../a00051.html',1,'']]], ['mat3x3',['mat3x3',['../a00283.html#gab91887d7565059dac640e3a1921c914a',1,'glm']]], ['mat3x3_2ehpp',['mat3x3.hpp',['../a00052.html',1,'']]], ['mat3x4',['mat3x4',['../a00283.html#gaf991cad0b34f64e33af186326dbc4d66',1,'glm']]], ['mat3x4_2ehpp',['mat3x4.hpp',['../a00053.html',1,'']]], ['mat3x4_5fcast',['mat3x4_cast',['../a00317.html#gaf59f5bb69620d2891c3795c6f2639179',1,'glm']]], ['mat4',['mat4',['../a00283.html#ga0db98d836c5549d31cf64ecd043b7af7',1,'glm']]], ['mat4_5fcast',['mat4_cast',['../a00299.html#ga1113212d9bdefc2e31ad40e5bbb506f3',1,'glm']]], ['mat4x2',['mat4x2',['../a00283.html#gad941c947ad6cdd117a0e8554a4754983',1,'glm']]], ['mat4x2_2ehpp',['mat4x2.hpp',['../a00054.html',1,'']]], ['mat4x3',['mat4x3',['../a00283.html#gac7574544bb94777bdbd2eb224eb72fd0',1,'glm']]], ['mat4x3_2ehpp',['mat4x3.hpp',['../a00055.html',1,'']]], ['mat4x4',['mat4x4',['../a00283.html#gab2d35cc2655f44d60958d60a1de34e81',1,'glm']]], ['mat4x4_2ehpp',['mat4x4.hpp',['../a00056.html',1,'']]], ['matrix_2ehpp',['matrix.hpp',['../a00057.html',1,'']]], ['matrix_5faccess_2ehpp',['matrix_access.hpp',['../a00058.html',1,'']]], ['matrix_5fclip_5fspace_2ehpp',['matrix_clip_space.hpp',['../a00059.html',1,'']]], ['matrix_5fcommon_2ehpp',['matrix_common.hpp',['../a00060.html',1,'']]], ['matrix_5fcross_5fproduct_2ehpp',['matrix_cross_product.hpp',['../a00061.html',1,'']]], ['matrix_5fdecompose_2ehpp',['matrix_decompose.hpp',['../a00062.html',1,'']]], ['matrix_5fdouble2x2_2ehpp',['matrix_double2x2.hpp',['../a00063.html',1,'']]], ['matrix_5fdouble2x2_5fprecision_2ehpp',['matrix_double2x2_precision.hpp',['../a00064.html',1,'']]], ['matrix_5fdouble2x3_2ehpp',['matrix_double2x3.hpp',['../a00065.html',1,'']]], ['matrix_5fdouble2x3_5fprecision_2ehpp',['matrix_double2x3_precision.hpp',['../a00066.html',1,'']]], ['matrix_5fdouble2x4_2ehpp',['matrix_double2x4.hpp',['../a00067.html',1,'']]], ['matrix_5fdouble2x4_5fprecision_2ehpp',['matrix_double2x4_precision.hpp',['../a00068.html',1,'']]], ['matrix_5fdouble3x2_2ehpp',['matrix_double3x2.hpp',['../a00069.html',1,'']]], ['matrix_5fdouble3x2_5fprecision_2ehpp',['matrix_double3x2_precision.hpp',['../a00070.html',1,'']]], ['matrix_5fdouble3x3_2ehpp',['matrix_double3x3.hpp',['../a00071.html',1,'']]], ['matrix_5fdouble3x3_5fprecision_2ehpp',['matrix_double3x3_precision.hpp',['../a00072.html',1,'']]], ['matrix_5fdouble3x4_2ehpp',['matrix_double3x4.hpp',['../a00073.html',1,'']]], ['matrix_5fdouble3x4_5fprecision_2ehpp',['matrix_double3x4_precision.hpp',['../a00074.html',1,'']]], ['matrix_5fdouble4x2_2ehpp',['matrix_double4x2.hpp',['../a00075.html',1,'']]], ['matrix_5fdouble4x2_5fprecision_2ehpp',['matrix_double4x2_precision.hpp',['../a00076.html',1,'']]], ['matrix_5fdouble4x3_2ehpp',['matrix_double4x3.hpp',['../a00077.html',1,'']]], ['matrix_5fdouble4x3_5fprecision_2ehpp',['matrix_double4x3_precision.hpp',['../a00078.html',1,'']]], ['matrix_5fdouble4x4_2ehpp',['matrix_double4x4.hpp',['../a00079.html',1,'']]], ['matrix_5fdouble4x4_5fprecision_2ehpp',['matrix_double4x4_precision.hpp',['../a00080.html',1,'']]], ['matrix_5ffactorisation_2ehpp',['matrix_factorisation.hpp',['../a00081.html',1,'']]], ['matrix_5ffloat2x2_2ehpp',['matrix_float2x2.hpp',['../a00082.html',1,'']]], ['matrix_5ffloat2x2_5fprecision_2ehpp',['matrix_float2x2_precision.hpp',['../a00083.html',1,'']]], ['matrix_5ffloat2x3_2ehpp',['matrix_float2x3.hpp',['../a00084.html',1,'']]], ['matrix_5ffloat2x3_5fprecision_2ehpp',['matrix_float2x3_precision.hpp',['../a00085.html',1,'']]], ['matrix_5ffloat2x4_2ehpp',['matrix_float2x4.hpp',['../a00086.html',1,'']]], ['matrix_5ffloat2x4_5fprecision_2ehpp',['matrix_float2x4_precision.hpp',['../a00087.html',1,'']]], ['matrix_5ffloat3x2_2ehpp',['matrix_float3x2.hpp',['../a00088.html',1,'']]], ['matrix_5ffloat3x2_5fprecision_2ehpp',['matrix_float3x2_precision.hpp',['../a00089.html',1,'']]], ['matrix_5ffloat3x3_2ehpp',['matrix_float3x3.hpp',['../a00090.html',1,'']]], ['matrix_5ffloat3x3_5fprecision_2ehpp',['matrix_float3x3_precision.hpp',['../a00091.html',1,'']]], ['matrix_5ffloat3x4_2ehpp',['matrix_float3x4.hpp',['../a00092.html',1,'']]], ['matrix_5ffloat3x4_5fprecision_2ehpp',['matrix_float3x4_precision.hpp',['../a00093.html',1,'']]], ['matrix_5ffloat4x2_2ehpp',['matrix_float4x2.hpp',['../a00094.html',1,'']]], ['matrix_5ffloat4x3_2ehpp',['matrix_float4x3.hpp',['../a00096.html',1,'']]], ['matrix_5ffloat4x3_5fprecision_2ehpp',['matrix_float4x3_precision.hpp',['../a00097.html',1,'']]], ['matrix_5ffloat4x4_2ehpp',['matrix_float4x4.hpp',['../a00098.html',1,'']]], ['matrix_5ffloat4x4_5fprecision_2ehpp',['matrix_float4x4_precision.hpp',['../a00099.html',1,'']]], ['matrix_5finteger_2ehpp',['matrix_integer.hpp',['../a00100.html',1,'']]], ['matrix_5finterpolation_2ehpp',['matrix_interpolation.hpp',['../a00101.html',1,'']]], ['matrix_5finverse_2ehpp',['matrix_inverse.hpp',['../a00102.html',1,'']]], ['matrix_5fmajor_5fstorage_2ehpp',['matrix_major_storage.hpp',['../a00103.html',1,'']]], ['matrix_5foperation_2ehpp',['matrix_operation.hpp',['../a00104.html',1,'']]], ['matrix_5fprojection_2ehpp',['matrix_projection.hpp',['../a00105.html',1,'']]], ['matrix_5fquery_2ehpp',['matrix_query.hpp',['../a00106.html',1,'']]], ['matrix_5frelational_2ehpp',['matrix_relational.hpp',['../a00107.html',1,'']]], ['matrix_5ftransform_5f2d_2ehpp',['matrix_transform_2d.hpp',['../a00110.html',1,'']]], ['matrixcompmult',['matrixCompMult',['../a00371.html#gaf14569404c779fedca98d0b9b8e58c1f',1,'glm']]], ['matrixcross3',['matrixCross3',['../a00334.html#ga5802386bb4c37b3332a3b6fd8b6960ff',1,'glm']]], ['matrixcross4',['matrixCross4',['../a00334.html#ga20057fff91ddafa102934adb25458cde',1,'glm']]], ['max',['max',['../a00241.html#gae02d42887fc5570451f880e3c624b9ac',1,'glm::max(genType x, genType y)'],['../a00241.html#ga03e45d6e60d1c36edb00c52edeea0f31',1,'glm::max(vec< L, T, Q > const &x, T y)'],['../a00241.html#gac1fec0c3303b572a6d4697a637213870',1,'glm::max(vec< L, T, Q > const &x, vec< L, T, Q > const &y)'],['../a00258.html#gaa20839d9ab14514f8966f69877ea0de8',1,'glm::max(T a, T b, T c)'],['../a00258.html#ga2274b5e75ed84b0b1e50d8d22f1f2f67',1,'glm::max(T a, T b, T c, T d)'],['../a00267.html#gaa45d34f6a2906f8bf58ab2ba5429234d',1,'glm::max(vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &z)'],['../a00267.html#ga94d42b8da2b4ded5ddf7504fbdc6bf10',1,'glm::max(vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &z, vec< L, T, Q > const &w)'],['../a00321.html#ga04991ccb9865c4c4e58488cfb209ce69',1,'glm::max(T const &x, T const &y, T const &z)'],['../a00321.html#gae1b7bbe5c91de4924835ea3e14530744',1,'glm::max(C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)'],['../a00321.html#gaf832e9d4ab4826b2dda2fda25935a3a4',1,'glm::max(C< T > const &x, C< T > const &y, C< T > const &z)'],['../a00321.html#ga78e04a0cef1c4863fcae1a2130500d87',1,'glm::max(T const &x, T const &y, T const &z, T const &w)'],['../a00321.html#ga7cca8b53cfda402040494cdf40fbdf4a',1,'glm::max(C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)'],['../a00321.html#gaacffbc466c2d08c140b181e7fd8a4858',1,'glm::max(C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)']]], ['mediump_5fbvec1',['mediump_bvec1',['../a00266.html#ga7b4ccb989ba179fa44f7b0879c782621',1,'glm']]], ['mediump_5fbvec2',['mediump_bvec2',['../a00282.html#ga1e743764869efa9223c2bcefccedaddc',1,'glm']]], ['mediump_5fbvec3',['mediump_bvec3',['../a00282.html#ga50c783c25082882ef00fe2e5cddba4aa',1,'glm']]], ['mediump_5fbvec4',['mediump_bvec4',['../a00282.html#ga0be2c682258604a35004f088782a9645',1,'glm']]], ['mediump_5fddualquat',['mediump_ddualquat',['../a00317.html#ga0fb11e48e2d16348ccb06a25213641b4',1,'glm']]], ['mediump_5fdmat2',['mediump_dmat2',['../a00284.html#ga6205fd19be355600334edef6af0b27cb',1,'glm']]], ['mediump_5fdmat2x2',['mediump_dmat2x2',['../a00284.html#ga51dc36a7719cb458fa5114831c20d64f',1,'glm']]], ['mediump_5fdmat2x3',['mediump_dmat2x3',['../a00284.html#ga741e05adf1f12d5d913f67088db1009a',1,'glm']]], ['mediump_5fdmat2x4',['mediump_dmat2x4',['../a00284.html#ga685bda24922d112786af385deb4deb43',1,'glm']]], ['mediump_5fdmat3',['mediump_dmat3',['../a00284.html#ga939fbf9c53008a8e84c7dd7cf8de29e2',1,'glm']]], ['mediump_5fdmat3x2',['mediump_dmat3x2',['../a00284.html#ga2076157df85e49b8c021e03e46a376c1',1,'glm']]], ['mediump_5fdmat3x3',['mediump_dmat3x3',['../a00284.html#ga47bd2aae4701ee2fc865674a9df3d7a6',1,'glm']]], ['mediump_5fdmat3x4',['mediump_dmat3x4',['../a00284.html#ga3a132bd05675c2e46556f67cf738600b',1,'glm']]], ['mediump_5fdmat4',['mediump_dmat4',['../a00284.html#gaf650bc667bf2a0e496b5a9182bc8d378',1,'glm']]], ['mediump_5fdmat4x2',['mediump_dmat4x2',['../a00284.html#gae220fa4c5a7b13ef2ab0420340de645c',1,'glm']]], ['mediump_5fdmat4x3',['mediump_dmat4x3',['../a00284.html#ga43ef60e4d996db15c9c8f069a96ff763',1,'glm']]], ['mediump_5fdmat4x4',['mediump_dmat4x4',['../a00284.html#ga5389b3ab32dc0d72bea00057ab6d1dd3',1,'glm']]], ['mediump_5fdquat',['mediump_dquat',['../a00250.html#gacdf73b1f7fd8f5a0c79a3934e99c1a14',1,'glm']]], ['mediump_5fdualquat',['mediump_dualquat',['../a00317.html#gaa7aeb54c167712b38f2178a1be2360ad',1,'glm']]], ['mediump_5fdvec1',['mediump_dvec1',['../a00269.html#ga79a789ebb176b37a45848f7ccdd3b3dd',1,'glm']]], ['mediump_5fdvec2',['mediump_dvec2',['../a00282.html#ga2f4f6e9a69a0281d06940fd0990cafc3',1,'glm']]], ['mediump_5fdvec3',['mediump_dvec3',['../a00282.html#ga61c3b1dff4ec7c878af80503141b9f37',1,'glm']]], ['mediump_5fdvec4',['mediump_dvec4',['../a00282.html#ga23a8bca00914a51542bfea13a4778186',1,'glm']]], ['mediump_5ff32',['mediump_f32',['../a00304.html#ga3b27fcd9eaa2757f0aaf6b0ce0d85c80',1,'glm']]], ['mediump_5ff32mat2',['mediump_f32mat2',['../a00304.html#gaf9020c6176a75bc84828ab01ea7dac25',1,'glm']]], ['mediump_5ff32mat2x2',['mediump_f32mat2x2',['../a00304.html#gaa3ca74a44102035b3ffb5c9c52dfdd3f',1,'glm']]], ['mediump_5ff32mat2x3',['mediump_f32mat2x3',['../a00304.html#gad4cc829ab1ad3e05ac0a24828a3c95cf',1,'glm']]], ['mediump_5ff32mat2x4',['mediump_f32mat2x4',['../a00304.html#gae71445ac6cd0b9fba3e5c905cd030fb1',1,'glm']]], ['mediump_5ff32mat3',['mediump_f32mat3',['../a00304.html#gaaaf878d0d7bfc0aac054fe269a886ca8',1,'glm']]], ['mediump_5ff32mat3x2',['mediump_f32mat3x2',['../a00304.html#gaaab39454f56cf9fc6d940358ce5e6a0f',1,'glm']]], ['mediump_5ff32mat3x3',['mediump_f32mat3x3',['../a00304.html#gacd80ad7640e9e32f2edcb8330b1ffe4f',1,'glm']]], ['mediump_5ff32mat3x4',['mediump_f32mat3x4',['../a00304.html#ga8df705d775b776f5ae6b39e2ab892899',1,'glm']]], ['mediump_5ff32mat4',['mediump_f32mat4',['../a00304.html#ga4491baaebbc46a20f1cb5da985576bf4',1,'glm']]], ['mediump_5ff32mat4x2',['mediump_f32mat4x2',['../a00304.html#gab005efe0fa4de1a928e8ddec4bc2c43f',1,'glm']]], ['mediump_5ff32mat4x3',['mediump_f32mat4x3',['../a00304.html#gade108f16633cf95fa500b5b8c36c8b00',1,'glm']]], ['mediump_5ff32mat4x4',['mediump_f32mat4x4',['../a00304.html#ga936e95b881ecd2d109459ca41913fa99',1,'glm']]], ['mediump_5ff32quat',['mediump_f32quat',['../a00304.html#gaa40c03d52dbfbfaf03e75773b9606ff3',1,'glm']]], ['mediump_5ff32vec1',['mediump_f32vec1',['../a00304.html#gabb33cab7d7c74cc14aa95455d0690865',1,'glm']]], ['mediump_5ff32vec2',['mediump_f32vec2',['../a00304.html#gad6eb11412a3161ca8dc1d63b2a307c4b',1,'glm']]], ['mediump_5ff32vec3',['mediump_f32vec3',['../a00304.html#ga062ffef2973bd8241df993c3b30b327c',1,'glm']]], ['mediump_5ff32vec4',['mediump_f32vec4',['../a00304.html#gad80c84bcd5f585840faa6179f6fd446c',1,'glm']]], ['mediump_5ff64',['mediump_f64',['../a00304.html#ga6d40381d78472553f878f66e443feeef',1,'glm']]], ['mediump_5ff64mat2',['mediump_f64mat2',['../a00304.html#gac1281da5ded55047e8892b0e1f1ae965',1,'glm']]], ['mediump_5ff64mat2x2',['mediump_f64mat2x2',['../a00304.html#ga4fd527644cccbca4cb205320eab026f3',1,'glm']]], ['mediump_5ff64mat2x3',['mediump_f64mat2x3',['../a00304.html#gafd9a6ebc0c7b95f5c581d00d16a17c54',1,'glm']]], ['mediump_5ff64mat2x4',['mediump_f64mat2x4',['../a00304.html#gaf306dd69e53633636aee38cea79d4cb7',1,'glm']]], ['mediump_5ff64mat3',['mediump_f64mat3',['../a00304.html#gad35fb67eb1d03c5a514f0bd7aed1c776',1,'glm']]], ['mediump_5ff64mat3x2',['mediump_f64mat3x2',['../a00304.html#gacd926d36a72433f6cac51dd60fa13107',1,'glm']]], ['mediump_5ff64mat3x3',['mediump_f64mat3x3',['../a00304.html#ga84d88a6e3a54ccd2b67e195af4a4c23e',1,'glm']]], ['mediump_5ff64mat3x4',['mediump_f64mat3x4',['../a00304.html#gad38c544d332b8c4bd0b70b1bd9feccc2',1,'glm']]], ['mediump_5ff64mat4',['mediump_f64mat4',['../a00304.html#gaa805ef691c711dc41e2776cfb67f5cf5',1,'glm']]], ['mediump_5ff64mat4x2',['mediump_f64mat4x2',['../a00304.html#ga17d36f0ea22314117e1cec9594b33945',1,'glm']]], ['mediump_5ff64mat4x3',['mediump_f64mat4x3',['../a00304.html#ga54697a78f9a4643af6a57fc2e626ec0d',1,'glm']]], ['mediump_5ff64mat4x4',['mediump_f64mat4x4',['../a00304.html#ga66edb8de17b9235029472f043ae107e9',1,'glm']]], ['mediump_5ff64quat',['mediump_f64quat',['../a00304.html#ga5e52f485059ce6e3010c590b882602c9',1,'glm']]], ['mediump_5ff64vec1',['mediump_f64vec1',['../a00304.html#gac30fdf8afa489400053275b6a3350127',1,'glm']]], ['mediump_5ff64vec2',['mediump_f64vec2',['../a00304.html#ga8ebc04ecf6440c4ee24718a16600ce6b',1,'glm']]], ['mediump_5ff64vec3',['mediump_f64vec3',['../a00304.html#ga461c4c7d0757404dd0dba931760b25cf',1,'glm']]], ['mediump_5ff64vec4',['mediump_f64vec4',['../a00304.html#gacfea053bd6bb3eddb996a4f94de22a3e',1,'glm']]], ['mediump_5ffdualquat',['mediump_fdualquat',['../a00317.html#ga4a6b594ff7e81150d8143001367a9431',1,'glm']]], ['mediump_5ffloat32',['mediump_float32',['../a00304.html#ga7812bf00676fb1a86dcd62cca354d2c7',1,'glm']]], ['mediump_5ffloat32_5ft',['mediump_float32_t',['../a00304.html#gae4dee61f8fe1caccec309fbed02faf12',1,'glm']]], ['mediump_5ffloat64',['mediump_float64',['../a00304.html#gab83d8aae6e4f115e97a785e8574a115f',1,'glm']]], ['mediump_5ffloat64_5ft',['mediump_float64_t',['../a00304.html#gac61843e4fa96c1f4e9d8316454f32a8e',1,'glm']]], ['mediump_5ffmat2',['mediump_fmat2',['../a00304.html#ga74e9133378fd0b4da8ac0bc0876702ff',1,'glm']]], ['mediump_5ffmat2x2',['mediump_fmat2x2',['../a00304.html#ga98a687c17b174ea316b5f397b64f44bc',1,'glm']]], ['mediump_5ffmat2x3',['mediump_fmat2x3',['../a00304.html#gaa03f939d90d5ef157df957d93f0b9a64',1,'glm']]], ['mediump_5ffmat2x4',['mediump_fmat2x4',['../a00304.html#ga35223623e9ccebd8a281873b71b7d213',1,'glm']]], ['mediump_5ffmat3',['mediump_fmat3',['../a00304.html#ga80823dfad5dba98512c76af498343847',1,'glm']]], ['mediump_5ffmat3x2',['mediump_fmat3x2',['../a00304.html#ga42569e5b92f8635cedeadb1457ee1467',1,'glm']]], ['mediump_5ffmat3x3',['mediump_fmat3x3',['../a00304.html#gaa6f526388c74a66b3d52315a14d434ae',1,'glm']]], ['mediump_5ffmat3x4',['mediump_fmat3x4',['../a00304.html#gaefe8ef520c6cb78590ebbefe648da4d4',1,'glm']]], ['mediump_5ffmat4',['mediump_fmat4',['../a00304.html#gac1c38778c0b5a1263f07753c05a4f7b9',1,'glm']]], ['mediump_5ffmat4x2',['mediump_fmat4x2',['../a00304.html#gacea38a85893e17e6834b6cb09a9ad0cf',1,'glm']]], ['mediump_5ffmat4x3',['mediump_fmat4x3',['../a00304.html#ga41ad497f7eae211556aefd783cb02b90',1,'glm']]], ['mediump_5ffmat4x4',['mediump_fmat4x4',['../a00304.html#ga22e27beead07bff4d5ce9d6065a57279',1,'glm']]], ['mediump_5ffvec1',['mediump_fvec1',['../a00304.html#ga367964fc2133d3f1b5b3755ff9cf6c9b',1,'glm']]], ['mediump_5ffvec2',['mediump_fvec2',['../a00304.html#ga44bfa55cda5dbf53f24a1fb7610393d6',1,'glm']]], ['mediump_5ffvec3',['mediump_fvec3',['../a00304.html#ga999dc6703ad16e3d3c26b74ea8083f07',1,'glm']]], ['mediump_5ffvec4',['mediump_fvec4',['../a00304.html#ga1bed890513c0f50b7e7ba4f7f359dbfb',1,'glm']]], ['mediump_5fi16',['mediump_i16',['../a00304.html#ga62a17cddeb4dffb4e18fe3aea23f051a',1,'glm']]], ['mediump_5fi16vec1',['mediump_i16vec1',['../a00304.html#gacc44265ed440bf5e6e566782570de842',1,'glm']]], ['mediump_5fi16vec2',['mediump_i16vec2',['../a00304.html#ga4b5e2c9aaa5d7717bf71179aefa12e88',1,'glm']]], ['mediump_5fi16vec3',['mediump_i16vec3',['../a00304.html#ga3be6c7fc5fe08fa2274bdb001d5f2633',1,'glm']]], ['mediump_5fi16vec4',['mediump_i16vec4',['../a00304.html#gaf52982bb23e3a3772649b2c5bb84b107',1,'glm']]], ['mediump_5fi32',['mediump_i32',['../a00304.html#gaf5e94bf2a20af7601787c154751dc2e1',1,'glm']]], ['mediump_5fi32vec1',['mediump_i32vec1',['../a00304.html#ga46a57f71e430637559097a732b550a7e',1,'glm']]], ['mediump_5fi32vec2',['mediump_i32vec2',['../a00304.html#ga20bf224bd4f8a24ecc4ed2004a40c219',1,'glm']]], ['mediump_5fi32vec3',['mediump_i32vec3',['../a00304.html#ga13a221b910aa9eb1b04ca1c86e81015a',1,'glm']]], ['mediump_5fi32vec4',['mediump_i32vec4',['../a00304.html#ga6addd4dfee87fc09ab9525e3d07db4c8',1,'glm']]], ['mediump_5fi64',['mediump_i64',['../a00304.html#ga3ebcb1f6d8d8387253de8bccb058d77f',1,'glm']]], ['mediump_5fi64vec1',['mediump_i64vec1',['../a00304.html#ga8343e9d244fb17a5bbf0d94d36b3695e',1,'glm']]], ['mediump_5fi64vec2',['mediump_i64vec2',['../a00304.html#ga2c94aeae3457325944ca1059b0b68330',1,'glm']]], ['mediump_5fi64vec3',['mediump_i64vec3',['../a00304.html#ga8089722ffdf868cdfe721dea1fb6a90e',1,'glm']]], ['mediump_5fi64vec4',['mediump_i64vec4',['../a00304.html#gabf1f16c5ab8cb0484bd1e846ae4368f1',1,'glm']]], ['mediump_5fi8',['mediump_i8',['../a00304.html#gacf1ded173e1e2d049c511d095b259e21',1,'glm']]], ['mediump_5fi8vec1',['mediump_i8vec1',['../a00304.html#ga85e8893f4ae3630065690a9000c0c483',1,'glm']]], ['mediump_5fi8vec2',['mediump_i8vec2',['../a00304.html#ga2a8bdc32184ea0a522ef7bd90640cf67',1,'glm']]], ['mediump_5fi8vec3',['mediump_i8vec3',['../a00304.html#ga6dd1c1618378c6f94d522a61c28773c9',1,'glm']]], ['mediump_5fi8vec4',['mediump_i8vec4',['../a00304.html#gac7bb04fb857ef7b520e49f6c381432be',1,'glm']]], ['mediump_5fimat2',['mediump_imat2',['../a00294.html#ga20f4cc7ab23e2aa1f4db9fdb5496d378',1,'glm']]], ['mediump_5fimat2x2',['mediump_imat2x2',['../a00294.html#ga4b2aeb11a329940721dda9583e71f856',1,'glm']]], ['mediump_5fimat2x3',['mediump_imat2x3',['../a00294.html#ga74362470ba99843ac70aee5ac38cc674',1,'glm']]], ['mediump_5fimat2x4',['mediump_imat2x4',['../a00294.html#ga8da25cd380ba30fc5b68a4687deb3e09',1,'glm']]], ['mediump_5fimat3',['mediump_imat3',['../a00294.html#ga6c63bdc736efd3466e0730de0251cb71',1,'glm']]], ['mediump_5fimat3x2',['mediump_imat3x2',['../a00294.html#gac0b4e42d648fb3eaf4bb88da82ecc809',1,'glm']]], ['mediump_5fimat3x3',['mediump_imat3x3',['../a00294.html#gad99cc2aad8fc57f068cfa7719dbbea12',1,'glm']]], ['mediump_5fimat3x4',['mediump_imat3x4',['../a00294.html#ga67689a518b181a26540bc44a163525cd',1,'glm']]], ['mediump_5fimat4',['mediump_imat4',['../a00294.html#gaf348552978553630d2a00b78eb887ced',1,'glm']]], ['mediump_5fimat4x2',['mediump_imat4x2',['../a00294.html#ga8b2d35816f7103f0f4c82dd2f27571fc',1,'glm']]], ['mediump_5fimat4x3',['mediump_imat4x3',['../a00294.html#ga5b10acc696759e03f6ab918f4467e94c',1,'glm']]], ['mediump_5fimat4x4',['mediump_imat4x4',['../a00294.html#ga2596869d154dec1180beadbb9df80501',1,'glm']]], ['mediump_5fint16',['mediump_int16',['../a00304.html#gadff3608baa4b5bd3ed28f95c1c2c345d',1,'glm']]], ['mediump_5fint16_5ft',['mediump_int16_t',['../a00304.html#ga80e72fe94c88498537e8158ba7591c54',1,'glm']]], ['mediump_5fint32',['mediump_int32',['../a00304.html#ga5244cef85d6e870e240c76428a262ae8',1,'glm']]], ['mediump_5fint32_5ft',['mediump_int32_t',['../a00304.html#ga26fc7ced1ad7ca5024f1c973c8dc9180',1,'glm']]], ['mediump_5fint64',['mediump_int64',['../a00304.html#ga7b968f2b86a0442a89c7359171e1d866',1,'glm']]], ['mediump_5fint64_5ft',['mediump_int64_t',['../a00304.html#gac3bc41bcac61d1ba8f02a6f68ce23f64',1,'glm']]], ['mediump_5fint8',['mediump_int8',['../a00304.html#ga6fbd69cbdaa44345bff923a2cf63de7e',1,'glm']]], ['mediump_5fint8_5ft',['mediump_int8_t',['../a00304.html#ga6d7b3789ecb932c26430009478cac7ae',1,'glm']]], ['mediump_5fivec1',['mediump_ivec1',['../a00273.html#gad628c608970b3d0aa6cfb63ce6e53e56',1,'glm']]], ['mediump_5fivec2',['mediump_ivec2',['../a00282.html#gac57496299d276ed97044074097bd5e2c',1,'glm']]], ['mediump_5fivec3',['mediump_ivec3',['../a00282.html#ga27cfb51e0dbe15bba27a14a8590e8466',1,'glm']]], ['mediump_5fivec4',['mediump_ivec4',['../a00282.html#ga92a204c37e66ac6c1dc7ae91142f2ea5',1,'glm']]], ['mediump_5fmat2',['mediump_mat2',['../a00284.html#ga745452bd9c89f5ad948203e4fb4b4ea3',1,'glm']]], ['mediump_5fmat2x2',['mediump_mat2x2',['../a00284.html#ga0cdf57d29f9448864237b2fb3e39aa1d',1,'glm']]], ['mediump_5fmat2x3',['mediump_mat2x3',['../a00284.html#ga497d513d552d927537d61fa11e3701ab',1,'glm']]], ['mediump_5fmat2x4',['mediump_mat2x4',['../a00284.html#gae7b75ea2e09fa686a79bbe9b6ca68ee5',1,'glm']]], ['mediump_5fmat3',['mediump_mat3',['../a00284.html#ga5aae49834d02732942f44e61d7bce136',1,'glm']]], ['mediump_5fmat3x2',['mediump_mat3x2',['../a00284.html#ga9e1c9ee65fef547bde793e69723e24eb',1,'glm']]], ['mediump_5fmat3x3',['mediump_mat3x3',['../a00284.html#gabc0f2f4ad21c90b341881cf056f8650e',1,'glm']]], ['mediump_5fmat3x4',['mediump_mat3x4',['../a00284.html#gaa669c6675c3405f76c0b14020d1c0d61',1,'glm']]], ['mediump_5fmat4',['mediump_mat4',['../a00284.html#gab8531bc3f269aa45835cd6e1972b7fc7',1,'glm']]], ['mediump_5fmat4x2',['mediump_mat4x2',['../a00284.html#gad75706b70545412ba9ac27d5ee210f66',1,'glm']]], ['mediump_5fmat4x3',['mediump_mat4x3',['../a00284.html#ga4a1440b5ea3cf84d5b06c79b534bd770',1,'glm']]], ['mediump_5fmat4x4',['mediump_mat4x4',['../a00284.html#ga15bca2b70917d9752231160d9da74b01',1,'glm']]], ['mediump_5fquat',['mediump_quat',['../a00253.html#gad2a59409de1bb12ccb6eb692ee7e9d8d',1,'glm']]], ['mediump_5fu16',['mediump_u16',['../a00304.html#ga9df98857be695d5a30cb30f5bfa38a80',1,'glm']]], ['mediump_5fu16vec1',['mediump_u16vec1',['../a00304.html#ga400ce8cc566de093a9b28e59e220d6e4',1,'glm']]], ['mediump_5fu16vec2',['mediump_u16vec2',['../a00304.html#ga429c201b3e92c90b4ef4356f2be52ee1',1,'glm']]], ['mediump_5fu16vec3',['mediump_u16vec3',['../a00304.html#gac9ba20234b0c3751d45ce575fc71e551',1,'glm']]], ['mediump_5fu16vec4',['mediump_u16vec4',['../a00304.html#ga5793393686ce5bd2d5968ff9144762b8',1,'glm']]], ['mediump_5fu32',['mediump_u32',['../a00304.html#ga1bd0e914158bf03135f8a317de6debe9',1,'glm']]], ['mediump_5fu32vec1',['mediump_u32vec1',['../a00304.html#ga8a11ccd2e38f674bbf3c2d1afc232aee',1,'glm']]], ['mediump_5fu32vec2',['mediump_u32vec2',['../a00304.html#ga94f74851fce338549c705b5f0d601c4f',1,'glm']]], ['mediump_5fu32vec3',['mediump_u32vec3',['../a00304.html#ga012c24c8fc69707b90260474c70275a2',1,'glm']]], ['mediump_5fu32vec4',['mediump_u32vec4',['../a00304.html#ga5d43ee8b5dbaa06c327b03b83682598a',1,'glm']]], ['mediump_5fu64',['mediump_u64',['../a00304.html#ga2af9490085ae3bdf36a544e9dd073610',1,'glm']]], ['mediump_5fu64vec1',['mediump_u64vec1',['../a00304.html#ga659f372ccb8307d5db5beca942cde5e8',1,'glm']]], ['mediump_5fu64vec2',['mediump_u64vec2',['../a00304.html#ga73a08ef5a74798f3a1a99250b5f86a7d',1,'glm']]], ['mediump_5fu64vec3',['mediump_u64vec3',['../a00304.html#ga1900c6ab74acd392809425953359ef52',1,'glm']]], ['mediump_5fu64vec4',['mediump_u64vec4',['../a00304.html#gaec7ee455cb379ec2993e81482123e1cc',1,'glm']]], ['mediump_5fu8',['mediump_u8',['../a00304.html#gad1213a22bbb9e4107f07eaa4956f8281',1,'glm']]], ['mediump_5fu8vec1',['mediump_u8vec1',['../a00304.html#ga4a43050843b141bdc7e85437faef6f55',1,'glm']]], ['mediump_5fu8vec2',['mediump_u8vec2',['../a00304.html#ga907f85d4a0eac3d8aaf571e5c2647194',1,'glm']]], ['mediump_5fu8vec3',['mediump_u8vec3',['../a00304.html#gaddc6f7748b699254942c5216b68f8f7f',1,'glm']]], ['mediump_5fu8vec4',['mediump_u8vec4',['../a00304.html#gaaf4ee3b76d43d98da02ec399b99bda4b',1,'glm']]], ['mediump_5fuint16',['mediump_uint16',['../a00304.html#ga2885a6c89916911e418c06bb76b9bdbb',1,'glm']]], ['mediump_5fuint16_5ft',['mediump_uint16_t',['../a00304.html#ga3963b1050fc65a383ee28e3f827b6e3e',1,'glm']]], ['mediump_5fuint32',['mediump_uint32',['../a00304.html#ga34dd5ec1988c443bae80f1b20a8ade5f',1,'glm']]], ['mediump_5fuint32_5ft',['mediump_uint32_t',['../a00304.html#gaf4dae276fd29623950de14a6ca2586b5',1,'glm']]], ['mediump_5fuint64',['mediump_uint64',['../a00304.html#ga30652709815ad9404272a31957daa59e',1,'glm']]], ['mediump_5fuint64_5ft',['mediump_uint64_t',['../a00304.html#ga9b170dd4a8f38448a2dc93987c7875e9',1,'glm']]], ['mediump_5fuint8',['mediump_uint8',['../a00304.html#ga1fa92a233b9110861cdbc8c2ccf0b5a3',1,'glm']]], ['mediump_5fuint8_5ft',['mediump_uint8_t',['../a00304.html#gadfe65c78231039e90507770db50c98c7',1,'glm']]], ['mediump_5fumat2',['mediump_umat2',['../a00294.html#ga43041378b3410ea951b7de0dfd2bc7ee',1,'glm']]], ['mediump_5fumat2x2',['mediump_umat2x2',['../a00294.html#ga3b209b1b751f041422137e3c065dfa98',1,'glm']]], ['mediump_5fumat2x3',['mediump_umat2x3',['../a00294.html#gaee2c1f13b41f4c92ea5b3efe367a1306',1,'glm']]], ['mediump_5fumat2x4',['mediump_umat2x4',['../a00294.html#gae1317ddca16d01e119a40b7f0ee85f95',1,'glm']]], ['mediump_5fumat3',['mediump_umat3',['../a00294.html#ga1730dbe3c67801f53520b06d1aa0a34a',1,'glm']]], ['mediump_5fumat3x2',['mediump_umat3x2',['../a00294.html#gaadc28bfdc8ebca81ae85121b11994970',1,'glm']]], ['mediump_5fumat3x3',['mediump_umat3x3',['../a00294.html#ga48f2fc38d3f7fab3cfbc961278ced53d',1,'glm']]], ['mediump_5fumat3x4',['mediump_umat3x4',['../a00294.html#ga78009a1e4ca64217e46b418535e52546',1,'glm']]], ['mediump_5fumat4',['mediump_umat4',['../a00294.html#ga5087c2beb26a11d9af87432e554cf9d1',1,'glm']]], ['mediump_5fumat4x2',['mediump_umat4x2',['../a00294.html#gaf35aefd81cc13718f6b059623f7425fa',1,'glm']]], ['mediump_5fumat4x3',['mediump_umat4x3',['../a00294.html#ga4e1bed14fbc7f4b376aaed064f89f0fb',1,'glm']]], ['mediump_5fumat4x4',['mediump_umat4x4',['../a00294.html#gaa9428fc8430dc552aad920653f822ef3',1,'glm']]], ['mediump_5fuvec1',['mediump_uvec1',['../a00277.html#ga38fde73aaf1420175ece8d4882558a3f',1,'glm']]], ['mediump_5fuvec2',['mediump_uvec2',['../a00282.html#gaa3b4f7806dad03d83bb3da0baa1e3b9b',1,'glm']]], ['mediump_5fuvec3',['mediump_uvec3',['../a00282.html#ga83b7df38feefbb357f3673d950fafef7',1,'glm']]], ['mediump_5fuvec4',['mediump_uvec4',['../a00282.html#ga64ed0deb6573375b7016daf82ffd53a7',1,'glm']]], ['mediump_5fvec1',['mediump_vec1',['../a00271.html#ga645f53e6b8056609023a894b4e2beef4',1,'glm']]], ['mediump_5fvec2',['mediump_vec2',['../a00282.html#gabc61976261c406520c7a8e4d946dc3f0',1,'glm']]], ['mediump_5fvec3',['mediump_vec3',['../a00282.html#ga2384e263df19f1404b733016eff78fca',1,'glm']]], ['mediump_5fvec4',['mediump_vec4',['../a00282.html#ga5c6978d3ffba06738416a33083853fc0',1,'glm']]], ['min',['min',['../a00241.html#ga6cf8098827054a270ee36b18e30d471d',1,'glm::min(genType x, genType y)'],['../a00241.html#gaa7d015eba1f9f48519251f4abe69b14d',1,'glm::min(vec< L, T, Q > const &x, T y)'],['../a00241.html#ga31f49ef9e7d1beb003160c5e009b0c48',1,'glm::min(vec< L, T, Q > const &x, vec< L, T, Q > const &y)'],['../a00258.html#ga420b37cbd98c395b93dab0278305cd46',1,'glm::min(T a, T b, T c)'],['../a00258.html#ga0d24a9acb8178df77e4aff90cbb2010d',1,'glm::min(T a, T b, T c, T d)'],['../a00267.html#ga3cd83d80fd4f433d8e333593ec56dddf',1,'glm::min(vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c)'],['../a00267.html#gab66920ed064ab518d6859c5a889c4be4',1,'glm::min(vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c, vec< L, T, Q > const &d)'],['../a00321.html#ga713d3f9b3e76312c0d314e0c8611a6a6',1,'glm::min(T const &x, T const &y, T const &z)'],['../a00321.html#ga74d1a96e7cdbac40f6d35142d3bcbbd4',1,'glm::min(C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)'],['../a00321.html#ga42b5c3fc027fd3d9a50d2ccc9126d9f0',1,'glm::min(C< T > const &x, C< T > const &y, C< T > const &z)'],['../a00321.html#ga95466987024d03039607f09e69813d69',1,'glm::min(T const &x, T const &y, T const &z, T const &w)'],['../a00321.html#ga4fe35dd31dd0c45693c9b60b830b8d47',1,'glm::min(C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)'],['../a00321.html#ga7471ea4159eed8dd9ea4ac5d46c2fead',1,'glm::min(C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)']]], ['mirrorclamp',['mirrorClamp',['../a00369.html#gaa6856a0a048d2749252848da35e10c8b',1,'glm']]], ['mirrorrepeat',['mirrorRepeat',['../a00369.html#ga16a89b0661b60d5bea85137bbae74d73',1,'glm']]], ['mix',['mix',['../a00241.html#ga8e93f374aae27d1a88b921860351f8d4',1,'glm::mix(genTypeT x, genTypeT y, genTypeU a)'],['../a00248.html#gafbfe587b8da11fb89a30c3d67dd5ccc2',1,'glm::mix(qua< T, Q > const &x, qua< T, Q > const &y, T a)']]], ['mixed_5fproduct_2ehpp',['mixed_product.hpp',['../a00111.html',1,'']]], ['mixedproduct',['mixedProduct',['../a00342.html#gab3c6048fbb67f7243b088a4fee48d020',1,'glm']]], ['mod',['mod',['../a00241.html#ga9b197a452cd52db3c5c18bac72bd7798',1,'glm::mod(vec< L, T, Q > const &x, vec< L, T, Q > const &y)'],['../a00330.html#gaabfbb41531ab7ad8d06fc176edfba785',1,'glm::mod(int x, int y)'],['../a00330.html#ga63fc8d63e7da1706439233b386ba8b6f',1,'glm::mod(uint x, uint y)']]], ['modf',['modf',['../a00241.html#ga85e33f139b8db1b39b590a5713b9e679',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_b.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_b.js ================================================ var searchData= [ ['nextmultiple',['nextMultiple',['../a00261.html#gab770a3835c44c8a6fd225be4f4e6b317',1,'glm::nextMultiple(genIUType v, genIUType Multiple)'],['../a00274.html#gace38d00601cbf49cd4dc03f003ab42b7',1,'glm::nextMultiple(vec< L, T, Q > const &v, T Multiple)'],['../a00274.html#gacda365edad320c7aff19cc283a3b8ca2',1,'glm::nextMultiple(vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)']]], ['nextpoweroftwo',['nextPowerOfTwo',['../a00261.html#ga3a37c2f2fd347886c9af6a3ca3db04dc',1,'glm::nextPowerOfTwo(genIUType v)'],['../a00274.html#gabba67f8aac9915e10fca727277274502',1,'glm::nextPowerOfTwo(vec< L, T, Q > const &v)']]], ['nlz',['nlz',['../a00330.html#ga78dff8bdb361bf0061194c93e003d189',1,'glm']]], ['noise_2ehpp',['noise.hpp',['../a00112.html',1,'']]], ['norm_2ehpp',['norm.hpp',['../a00113.html',1,'']]], ['normal_2ehpp',['normal.hpp',['../a00114.html',1,'']]], ['normalize',['normalize',['../a00254.html#gabf30e3263fffe8dcc6659aea76ae8927',1,'glm::normalize(qua< T, Q > const &q)'],['../a00279.html#ga3b8d3dcae77870781392ed2902cce597',1,'glm::normalize(vec< L, T, Q > const &x)'],['../a00317.html#ga299b8641509606b1958ffa104a162cfe',1,'glm::normalize(tdualquat< T, Q > const &q)']]], ['normalize_5fdot_2ehpp',['normalize_dot.hpp',['../a00115.html',1,'']]], ['normalizedot',['normalizeDot',['../a00345.html#gacb140a2b903115d318c8b0a2fb5a5daa',1,'glm']]], ['not_5f',['not_',['../a00374.html#ga610fcd175791fd246e328ffee10dbf1e',1,'glm']]], ['notequal',['notEqual',['../a00246.html#ga8504f18a7e2bf315393032c2137dad83',1,'glm::notEqual(mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y)'],['../a00246.html#ga29071147d118569344d10944b7d5c378',1,'glm::notEqual(mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, T epsilon)'],['../a00246.html#gad7959e14fbc35b4ed2617daf4d67f6cd',1,'glm::notEqual(mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, vec< C, T, Q > const &epsilon)'],['../a00246.html#gaa1cd7fc228ef6e26c73583fd0d9c6552',1,'glm::notEqual(mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, int ULPs)'],['../a00246.html#gaa5517341754149ffba742d230afd1f32',1,'glm::notEqual(mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, vec< C, int, Q > const &ULPs)'],['../a00255.html#gab441cee0de5867a868f3a586ee68cfe1',1,'glm::notEqual(qua< T, Q > const &x, qua< T, Q > const &y)'],['../a00255.html#ga5117a44c1bf21af857cd23e44a96d313',1,'glm::notEqual(qua< T, Q > const &x, qua< T, Q > const &y, T epsilon)'],['../a00275.html#ga4a99cc41341567567a608719449c1fac',1,'glm::notEqual(vec< L, T, Q > const &x, vec< L, T, Q > const &y, T epsilon)'],['../a00275.html#ga417cf51304359db18e819dda9bce5767',1,'glm::notEqual(vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &epsilon)'],['../a00275.html#ga8b5c2c3f83422ae5b71fa960d03b0339',1,'glm::notEqual(vec< L, T, Q > const &x, vec< L, T, Q > const &y, int ULPs)'],['../a00275.html#ga0b15ffe32987a6029b14398eb0def01a',1,'glm::notEqual(vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, int, Q > const &ULPs)'],['../a00374.html#ga17c19dc1b76cd5aef63e9e7ff3aa3c27',1,'glm::notEqual(vec< L, T, Q > const &x, vec< L, T, Q > const &y)']]], ['number_5fprecision_2ehpp',['number_precision.hpp',['../a00116.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_c.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_c.js ================================================ var searchData= [ ['opengl_20mathematics_20_28glm_29',['OpenGL Mathematics (GLM)',['../index.html',1,'']]], ['one',['one',['../a00290.html#ga39c2fb227631ca25894326529bdd1ee5',1,'glm']]], ['one_5fover_5fpi',['one_over_pi',['../a00290.html#ga555150da2b06d23c8738981d5013e0eb',1,'glm']]], ['one_5fover_5froot_5ftwo',['one_over_root_two',['../a00290.html#ga788fa23a0939bac4d1d0205fb4f35818',1,'glm']]], ['one_5fover_5ftwo_5fpi',['one_over_two_pi',['../a00290.html#ga7c922b427986cbb2e4c6ac69874eefbc',1,'glm']]], ['openbounded',['openBounded',['../a00314.html#gafd303042ba2ba695bf53b2315f53f93f',1,'glm']]], ['optimum_5fpow_2ehpp',['optimum_pow.hpp',['../a00117.html',1,'']]], ['orientate2',['orientate2',['../a00319.html#gae16738a9f1887cf4e4db6a124637608d',1,'glm']]], ['orientate3',['orientate3',['../a00319.html#ga7ca98668a5786f19c7b38299ebbc9b4c',1,'glm::orientate3(T const &angle)'],['../a00319.html#ga7238c8e15c7720e3ca6a45ab151eeabb',1,'glm::orientate3(vec< 3, T, Q > const &angles)']]], ['orientate4',['orientate4',['../a00319.html#ga4a044653f71a4ecec68e0b623382b48a',1,'glm']]], ['orientation',['orientation',['../a00356.html#ga1a32fceb71962e6160e8af295c91930a',1,'glm']]], ['orientedangle',['orientedAngle',['../a00367.html#ga9556a803dce87fe0f42fdabe4ebba1d5',1,'glm::orientedAngle(vec< 2, T, Q > const &x, vec< 2, T, Q > const &y)'],['../a00367.html#ga706fce3d111f485839756a64f5a48553',1,'glm::orientedAngle(vec< 3, T, Q > const &x, vec< 3, T, Q > const &y, vec< 3, T, Q > const &ref)']]], ['ortho',['ortho',['../a00243.html#gae5b6b40ed882cd56cd7cb97701909c06',1,'glm::ortho(T left, T right, T bottom, T top)'],['../a00243.html#ga6615d8a9d39432e279c4575313ecb456',1,'glm::ortho(T left, T right, T bottom, T top, T zNear, T zFar)']]], ['ortholh',['orthoLH',['../a00243.html#gad122a79aadaa5529cec4ac197203db7f',1,'glm']]], ['ortholh_5fno',['orthoLH_NO',['../a00243.html#ga526416735ea7c5c5cd255bf99d051bd8',1,'glm']]], ['ortholh_5fzo',['orthoLH_ZO',['../a00243.html#gab37ac3eec8d61f22fceda7775e836afa',1,'glm']]], ['orthono',['orthoNO',['../a00243.html#gab219d28a8f178d4517448fcd6395a073',1,'glm']]], ['orthonormalize',['orthonormalize',['../a00348.html#ga4cab5d698e6e2eccea30c8e81c74371f',1,'glm::orthonormalize(mat< 3, 3, T, Q > const &m)'],['../a00348.html#gac3bc7ef498815026bc3d361ae0b7138e',1,'glm::orthonormalize(vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)']]], ['orthonormalize_2ehpp',['orthonormalize.hpp',['../a00118.html',1,'']]], ['orthorh',['orthoRH',['../a00243.html#ga16264c9b838edeb9dd1de7a1010a13a4',1,'glm']]], ['orthorh_5fno',['orthoRH_NO',['../a00243.html#gaa2f7a1373170bf0a4a2ddef9b0706780',1,'glm']]], ['orthorh_5fzo',['orthoRH_ZO',['../a00243.html#ga9aea2e515b08fd7dce47b7b6ec34d588',1,'glm']]], ['orthozo',['orthoZO',['../a00243.html#gaea11a70817af2c0801c869dea0b7a5bc',1,'glm']]], ['outerproduct',['outerProduct',['../a00371.html#gac29fb7bae75a8e4c1b74cbbf85520e50',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_d.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_d.js ================================================ var searchData= [ ['packdouble2x32',['packDouble2x32',['../a00372.html#gaa916ca426b2bb0343ba17e3753e245c2',1,'glm']]], ['packed_5fbvec1',['packed_bvec1',['../a00303.html#ga88632cea9008ac0ac1388e94e804a53c',1,'glm']]], ['packed_5fbvec2',['packed_bvec2',['../a00303.html#gab85245913eaa40ab82adabcae37086cb',1,'glm']]], ['packed_5fbvec3',['packed_bvec3',['../a00303.html#ga0c48f9417f649e27f3fb0c9f733a18bd',1,'glm']]], ['packed_5fbvec4',['packed_bvec4',['../a00303.html#ga3180d7db84a74c402157df3bbc0ae3ed',1,'glm']]], ['packed_5fdmat2',['packed_dmat2',['../a00303.html#gad87408a8350918711f845f071bbe43fb',1,'glm']]], ['packed_5fdmat2x2',['packed_dmat2x2',['../a00303.html#gaaa33d8e06657a777efb0c72c44ce87a9',1,'glm']]], ['packed_5fdmat2x3',['packed_dmat2x3',['../a00303.html#gac3a5315f588ba04ad255188071ec4e22',1,'glm']]], ['packed_5fdmat2x4',['packed_dmat2x4',['../a00303.html#gae398fc3156f51d3684b08f62c1a5a6d4',1,'glm']]], ['packed_5fdmat3',['packed_dmat3',['../a00303.html#ga03dfc90d539cc87ea3a15a9caa5d2245',1,'glm']]], ['packed_5fdmat3x2',['packed_dmat3x2',['../a00303.html#gae36de20a4c0e0b1444b7903ae811d94e',1,'glm']]], ['packed_5fdmat3x3',['packed_dmat3x3',['../a00303.html#gab9b909f1392d86854334350efcae85f5',1,'glm']]], ['packed_5fdmat3x4',['packed_dmat3x4',['../a00303.html#ga199131fd279c92c2ac12df6d978f1dd6',1,'glm']]], ['packed_5fdmat4',['packed_dmat4',['../a00303.html#gada980a3485640aa8151f368f17ad3086',1,'glm']]], ['packed_5fdmat4x2',['packed_dmat4x2',['../a00303.html#ga6dc65249730698d3cc9ac5d7e1bc4d72',1,'glm']]], ['packed_5fdmat4x3',['packed_dmat4x3',['../a00303.html#gadf202aaa9ed71c09f9bbe347e43f8764',1,'glm']]], ['packed_5fdmat4x4',['packed_dmat4x4',['../a00303.html#gae20617435a6d042d7c38da2badd64a09',1,'glm']]], ['packed_5fdvec1',['packed_dvec1',['../a00303.html#ga532f0c940649b1ee303acd572fc35531',1,'glm']]], ['packed_5fdvec2',['packed_dvec2',['../a00303.html#ga5c194b11fbda636f2ab20c3bd0079196',1,'glm']]], ['packed_5fdvec3',['packed_dvec3',['../a00303.html#ga0581ea552d86b2b5de7a2804bed80e72',1,'glm']]], ['packed_5fdvec4',['packed_dvec4',['../a00303.html#gae8a9b181f9dc813ad6e125a52b14b935',1,'glm']]], ['packed_5fhighp_5fbvec1',['packed_highp_bvec1',['../a00303.html#ga439e97795314b81cd15abd4e5c2e6e7a',1,'glm']]], ['packed_5fhighp_5fbvec2',['packed_highp_bvec2',['../a00303.html#gad791d671f4fcf1ed1ea41f752916b70a',1,'glm']]], ['packed_5fhighp_5fbvec3',['packed_highp_bvec3',['../a00303.html#ga6a5a3250b57dfadc66735bc72911437f',1,'glm']]], ['packed_5fhighp_5fbvec4',['packed_highp_bvec4',['../a00303.html#ga09f517d88b996ef1b2f42fd54222b82d',1,'glm']]], ['packed_5fhighp_5fdmat2',['packed_highp_dmat2',['../a00303.html#gae29686632fd05efac0675d9a6370d77b',1,'glm']]], ['packed_5fhighp_5fdmat2x2',['packed_highp_dmat2x2',['../a00303.html#ga22bd6382b16052e301edbfc031b9f37a',1,'glm']]], ['packed_5fhighp_5fdmat2x3',['packed_highp_dmat2x3',['../a00303.html#ga999d82719696d4c59f4d236dd08f273d',1,'glm']]], ['packed_5fhighp_5fdmat2x4',['packed_highp_dmat2x4',['../a00303.html#ga6998ac2a8d7fe456b651a6336ed26bb0',1,'glm']]], ['packed_5fhighp_5fdmat3',['packed_highp_dmat3',['../a00303.html#gadac7c040c4810dd52b36fcd09d097400',1,'glm']]], ['packed_5fhighp_5fdmat3x2',['packed_highp_dmat3x2',['../a00303.html#gab462744977beb85fb5c782bc2eea7b15',1,'glm']]], ['packed_5fhighp_5fdmat3x3',['packed_highp_dmat3x3',['../a00303.html#ga49e5a709d098523823b2f824e48672a6',1,'glm']]], ['packed_5fhighp_5fdmat3x4',['packed_highp_dmat3x4',['../a00303.html#ga2c67b3b0adab71c8680c3d819f1fa9b7',1,'glm']]], ['packed_5fhighp_5fdmat4',['packed_highp_dmat4',['../a00303.html#ga6718822cd7af005a9b5bd6ee282f6ba6',1,'glm']]], ['packed_5fhighp_5fdmat4x2',['packed_highp_dmat4x2',['../a00303.html#ga12e39e797fb724a5b51fcbea2513a7da',1,'glm']]], ['packed_5fhighp_5fdmat4x3',['packed_highp_dmat4x3',['../a00303.html#ga79c2e9f82e67963c1ecad0ad6d0ec72e',1,'glm']]], ['packed_5fhighp_5fdmat4x4',['packed_highp_dmat4x4',['../a00303.html#ga2df58e03e5afded28707b4f7d077afb4',1,'glm']]], ['packed_5fhighp_5fdvec1',['packed_highp_dvec1',['../a00303.html#gab472b2d917b5e6efd76e8c7dbfbbf9f1',1,'glm']]], ['packed_5fhighp_5fdvec2',['packed_highp_dvec2',['../a00303.html#ga5b2dc48fa19b684d207d69c6b145eb63',1,'glm']]], ['packed_5fhighp_5fdvec3',['packed_highp_dvec3',['../a00303.html#gaaac6b356ef00154da41aaae7d1549193',1,'glm']]], ['packed_5fhighp_5fdvec4',['packed_highp_dvec4',['../a00303.html#ga81b5368fe485e2630aa9b44832d592e7',1,'glm']]], ['packed_5fhighp_5fivec1',['packed_highp_ivec1',['../a00303.html#ga7245acc887a5438f46fd85fdf076bb3b',1,'glm']]], ['packed_5fhighp_5fivec2',['packed_highp_ivec2',['../a00303.html#ga54f368ec6b514a5aa4f28d40e6f93ef7',1,'glm']]], ['packed_5fhighp_5fivec3',['packed_highp_ivec3',['../a00303.html#ga865a9c7bb22434b1b8c5ac31e164b628',1,'glm']]], ['packed_5fhighp_5fivec4',['packed_highp_ivec4',['../a00303.html#gad6f1b4e3a51c2c051814b60d5d1b8895',1,'glm']]], ['packed_5fhighp_5fmat2',['packed_highp_mat2',['../a00303.html#ga2f2d913d8cca2f935b2522964408c0b2',1,'glm']]], ['packed_5fhighp_5fmat2x2',['packed_highp_mat2x2',['../a00303.html#ga245c12d2daf67feecaa2d3277c8f6661',1,'glm']]], ['packed_5fhighp_5fmat2x3',['packed_highp_mat2x3',['../a00303.html#ga069cc8892aadae144c00f35297617d44',1,'glm']]], ['packed_5fhighp_5fmat2x4',['packed_highp_mat2x4',['../a00303.html#ga6904d09b62141d09712b76983892f95b',1,'glm']]], ['packed_5fhighp_5fmat3',['packed_highp_mat3',['../a00303.html#gabdd5fbffe8b8b8a7b33523f25b120dbe',1,'glm']]], ['packed_5fhighp_5fmat3x2',['packed_highp_mat3x2',['../a00303.html#ga2624719cb251d8de8cad1beaefc3a3f9',1,'glm']]], ['packed_5fhighp_5fmat3x3',['packed_highp_mat3x3',['../a00303.html#gaf2e07527d678440bf0c20adbeb9177c5',1,'glm']]], ['packed_5fhighp_5fmat3x4',['packed_highp_mat3x4',['../a00303.html#ga72102fa6ac2445aa3bb203128ad52449',1,'glm']]], ['packed_5fhighp_5fmat4',['packed_highp_mat4',['../a00303.html#ga253e8379b08d2dc6fe2800b2fb913203',1,'glm']]], ['packed_5fhighp_5fmat4x2',['packed_highp_mat4x2',['../a00303.html#gae389c2071cf3cdb33e7812c6fd156710',1,'glm']]], ['packed_5fhighp_5fmat4x3',['packed_highp_mat4x3',['../a00303.html#ga4584f64394bd7123b7a8534741e4916c',1,'glm']]], ['packed_5fhighp_5fmat4x4',['packed_highp_mat4x4',['../a00303.html#ga0149fe15668925147e07c94fd2c2d6ae',1,'glm']]], ['packed_5fhighp_5fuvec1',['packed_highp_uvec1',['../a00303.html#ga8c32b53f628a3616aa5061e58d66fe74',1,'glm']]], ['packed_5fhighp_5fuvec2',['packed_highp_uvec2',['../a00303.html#gab704d4fb15f6f96d70e363d5db7060cd',1,'glm']]], ['packed_5fhighp_5fuvec3',['packed_highp_uvec3',['../a00303.html#ga0b570da473fec4619db5aa0dce5133b0',1,'glm']]], ['packed_5fhighp_5fuvec4',['packed_highp_uvec4',['../a00303.html#gaa582f38c82aef61dea7aaedf15bb06a6',1,'glm']]], ['packed_5fhighp_5fvec1',['packed_highp_vec1',['../a00303.html#ga56473759d2702ee19ab7f91d0017fa70',1,'glm']]], ['packed_5fhighp_5fvec2',['packed_highp_vec2',['../a00303.html#ga6b8b9475e7c3b16aed13edbc460bbc4d',1,'glm']]], ['packed_5fhighp_5fvec3',['packed_highp_vec3',['../a00303.html#ga3815661df0e2de79beff8168c09adf1e',1,'glm']]], ['packed_5fhighp_5fvec4',['packed_highp_vec4',['../a00303.html#ga4015f36bf5a5adb6ac5d45beed959867',1,'glm']]], ['packed_5fivec1',['packed_ivec1',['../a00303.html#ga11581a06fc7bf941fa4d4b6aca29812c',1,'glm']]], ['packed_5fivec2',['packed_ivec2',['../a00303.html#ga1fe4c5f56b8087d773aa90dc88a257a7',1,'glm']]], ['packed_5fivec3',['packed_ivec3',['../a00303.html#gae157682a7847161787951ba1db4cf325',1,'glm']]], ['packed_5fivec4',['packed_ivec4',['../a00303.html#gac228b70372abd561340d5f926a7c1778',1,'glm']]], ['packed_5flowp_5fbvec1',['packed_lowp_bvec1',['../a00303.html#gae3c8750f53259ece334d3aa3b3649a40',1,'glm']]], ['packed_5flowp_5fbvec2',['packed_lowp_bvec2',['../a00303.html#gac969befedbda69eb78d4e23f751fdbee',1,'glm']]], ['packed_5flowp_5fbvec3',['packed_lowp_bvec3',['../a00303.html#ga7c20adbe1409e3fe4544677a7f6fe954',1,'glm']]], ['packed_5flowp_5fbvec4',['packed_lowp_bvec4',['../a00303.html#gae473587cff3092edc0877fc691c26a0b',1,'glm']]], ['packed_5flowp_5fdmat2',['packed_lowp_dmat2',['../a00303.html#gac93f9b1a35b9de4f456b9f2dfeaf1097',1,'glm']]], ['packed_5flowp_5fdmat2x2',['packed_lowp_dmat2x2',['../a00303.html#gaeeaff6c132ec91ebd21da3a2399548ea',1,'glm']]], ['packed_5flowp_5fdmat2x3',['packed_lowp_dmat2x3',['../a00303.html#ga2ccdcd4846775cbe4f9d12e71d55b5d2',1,'glm']]], ['packed_5flowp_5fdmat2x4',['packed_lowp_dmat2x4',['../a00303.html#gac870c47d2d9d48503f6c9ee3baec8ce1',1,'glm']]], ['packed_5flowp_5fdmat3',['packed_lowp_dmat3',['../a00303.html#ga3894a059eeaacec8791c25de398d9955',1,'glm']]], ['packed_5flowp_5fdmat3x2',['packed_lowp_dmat3x2',['../a00303.html#ga23ec236950f5859f59197663266b535d',1,'glm']]], ['packed_5flowp_5fdmat3x3',['packed_lowp_dmat3x3',['../a00303.html#ga4a7c7d8c3a663d0ec2a858cbfa14e54c',1,'glm']]], ['packed_5flowp_5fdmat3x4',['packed_lowp_dmat3x4',['../a00303.html#ga8fc0e66da83599071b7ec17510686cd9',1,'glm']]], ['packed_5flowp_5fdmat4',['packed_lowp_dmat4',['../a00303.html#ga03e1edf5666c40affe39aee35c87956f',1,'glm']]], ['packed_5flowp_5fdmat4x2',['packed_lowp_dmat4x2',['../a00303.html#ga39658fb13369db869d363684bd8399c0',1,'glm']]], ['packed_5flowp_5fdmat4x3',['packed_lowp_dmat4x3',['../a00303.html#ga30b0351eebc18c6056101359bdd3a359',1,'glm']]], ['packed_5flowp_5fdmat4x4',['packed_lowp_dmat4x4',['../a00303.html#ga0294d4c45151425c86a11deee7693c0e',1,'glm']]], ['packed_5flowp_5fdvec1',['packed_lowp_dvec1',['../a00303.html#ga054050e9d4e78d81db0e6d1573b1c624',1,'glm']]], ['packed_5flowp_5fdvec2',['packed_lowp_dvec2',['../a00303.html#gadc19938ddb204bfcb4d9ef35b1e2bf93',1,'glm']]], ['packed_5flowp_5fdvec3',['packed_lowp_dvec3',['../a00303.html#ga9189210cabd6651a5e14a4c46fb20598',1,'glm']]], ['packed_5flowp_5fdvec4',['packed_lowp_dvec4',['../a00303.html#ga262dafd0c001c3a38d1cc91d024ca738',1,'glm']]], ['packed_5flowp_5fivec1',['packed_lowp_ivec1',['../a00303.html#gaf22b77f1cf3e73b8b1dddfe7f959357c',1,'glm']]], ['packed_5flowp_5fivec2',['packed_lowp_ivec2',['../a00303.html#ga52635859f5ef660ab999d22c11b7867f',1,'glm']]], ['packed_5flowp_5fivec3',['packed_lowp_ivec3',['../a00303.html#ga98c9d122a959e9f3ce10a5623c310f5d',1,'glm']]], ['packed_5flowp_5fivec4',['packed_lowp_ivec4',['../a00303.html#ga931731b8ae3b54c7ecc221509dae96bc',1,'glm']]], ['packed_5flowp_5fmat2',['packed_lowp_mat2',['../a00303.html#ga70dcb9ef0b24e832772a7405efa9669a',1,'glm']]], ['packed_5flowp_5fmat2x2',['packed_lowp_mat2x2',['../a00303.html#gac70667c7642ec8d50245e6e6936a3927',1,'glm']]], ['packed_5flowp_5fmat2x3',['packed_lowp_mat2x3',['../a00303.html#ga3e7df5a11e1be27bc29a4c0d3956f234',1,'glm']]], ['packed_5flowp_5fmat2x4',['packed_lowp_mat2x4',['../a00303.html#gaea9c555e669dc56c45d95dcc75d59bf3',1,'glm']]], ['packed_5flowp_5fmat3',['packed_lowp_mat3',['../a00303.html#ga0d22400969dd223465b2900fecfb4f53',1,'glm']]], ['packed_5flowp_5fmat3x2',['packed_lowp_mat3x2',['../a00303.html#ga128cd52649621861635fab746df91735',1,'glm']]], ['packed_5flowp_5fmat3x3',['packed_lowp_mat3x3',['../a00303.html#ga5adf1802c5375a9dfb1729691bedd94e',1,'glm']]], ['packed_5flowp_5fmat3x4',['packed_lowp_mat3x4',['../a00303.html#ga92247ca09fa03c4013ba364f3a0fca7f',1,'glm']]], ['packed_5flowp_5fmat4',['packed_lowp_mat4',['../a00303.html#ga2a1dd2387725a335413d4c4fee8609c4',1,'glm']]], ['packed_5flowp_5fmat4x2',['packed_lowp_mat4x2',['../a00303.html#ga8f22607dcd090cd280071ccc689f4079',1,'glm']]], ['packed_5flowp_5fmat4x3',['packed_lowp_mat4x3',['../a00303.html#ga7661d759d6ad218e132e3d051e7b2c6c',1,'glm']]], ['packed_5flowp_5fmat4x4',['packed_lowp_mat4x4',['../a00303.html#ga776f18d1a6e7d399f05d386167dc60f5',1,'glm']]], ['packed_5flowp_5fuvec1',['packed_lowp_uvec1',['../a00303.html#gaf111fed760ecce16cb1988807569bee5',1,'glm']]], ['packed_5flowp_5fuvec2',['packed_lowp_uvec2',['../a00303.html#ga958210fe245a75b058325d367c951132',1,'glm']]], ['packed_5flowp_5fuvec3',['packed_lowp_uvec3',['../a00303.html#ga576a3f8372197a56a79dee1c8280f485',1,'glm']]], ['packed_5flowp_5fuvec4',['packed_lowp_uvec4',['../a00303.html#gafdd97922b4a2a42cd0c99a13877ff4da',1,'glm']]], ['packed_5flowp_5fvec1',['packed_lowp_vec1',['../a00303.html#ga0a6198fe64166a6a61084d43c71518a9',1,'glm']]], ['packed_5flowp_5fvec2',['packed_lowp_vec2',['../a00303.html#gafbf1c2cce307c5594b165819ed83bf5d',1,'glm']]], ['packed_5flowp_5fvec3',['packed_lowp_vec3',['../a00303.html#ga3a30c137c1f8cce478c28eab0427a570',1,'glm']]], ['packed_5flowp_5fvec4',['packed_lowp_vec4',['../a00303.html#ga3cc94fb8de80bbd8a4aa7a5b206d304a',1,'glm']]], ['packed_5fmat2',['packed_mat2',['../a00303.html#gadd019b43fcf42e1590d45dddaa504a1a',1,'glm']]], ['packed_5fmat2x2',['packed_mat2x2',['../a00303.html#ga51eaadcdc292c8750f746a5dc3e6c517',1,'glm']]], ['packed_5fmat2x3',['packed_mat2x3',['../a00303.html#ga301b76a89b8a9625501ca58815017f20',1,'glm']]], ['packed_5fmat2x4',['packed_mat2x4',['../a00303.html#gac401da1dd9177ad81d7618a2a5541e23',1,'glm']]], ['packed_5fmat3',['packed_mat3',['../a00303.html#ga9bc12b0ab7be8448836711b77cc7b83a',1,'glm']]], ['packed_5fmat3x2',['packed_mat3x2',['../a00303.html#ga134f0d99fbd2459c13cd9ebd056509fa',1,'glm']]], ['packed_5fmat3x3',['packed_mat3x3',['../a00303.html#ga6c1dbe8cde9fbb231284b01f8aeaaa99',1,'glm']]], ['packed_5fmat3x4',['packed_mat3x4',['../a00303.html#gad63515526cccfe88ffa8fe5ed64f95f8',1,'glm']]], ['packed_5fmat4',['packed_mat4',['../a00303.html#ga2c139854e5b04cf08a957dee3b510441',1,'glm']]], ['packed_5fmat4x2',['packed_mat4x2',['../a00303.html#ga379c1153f1339bdeaefd592bebf538e8',1,'glm']]], ['packed_5fmat4x3',['packed_mat4x3',['../a00303.html#gab286466e19f7399c8d25089da9400d43',1,'glm']]], ['packed_5fmat4x4',['packed_mat4x4',['../a00303.html#ga67e7102557d6067bb6ac00d4ad0e1374',1,'glm']]], ['packed_5fmediump_5fbvec1',['packed_mediump_bvec1',['../a00303.html#ga5546d828d63010a8f9cf81161ad0275a',1,'glm']]], ['packed_5fmediump_5fbvec2',['packed_mediump_bvec2',['../a00303.html#gab4c6414a59539e66a242ad4cf4b476b4',1,'glm']]], ['packed_5fmediump_5fbvec3',['packed_mediump_bvec3',['../a00303.html#ga70147763edff3fe96b03a0b98d6339a2',1,'glm']]], ['packed_5fmediump_5fbvec4',['packed_mediump_bvec4',['../a00303.html#ga7b1620f259595b9da47a6374fc44588a',1,'glm']]], ['packed_5fmediump_5fdmat2',['packed_mediump_dmat2',['../a00303.html#ga9d60e32d3fcb51f817046cd881fdbf57',1,'glm']]], ['packed_5fmediump_5fdmat2x2',['packed_mediump_dmat2x2',['../a00303.html#ga39e8bb9b70e5694964e8266a21ba534e',1,'glm']]], ['packed_5fmediump_5fdmat2x3',['packed_mediump_dmat2x3',['../a00303.html#ga8897c6d9adb4140b1c3b0a07b8f0a430',1,'glm']]], ['packed_5fmediump_5fdmat2x4',['packed_mediump_dmat2x4',['../a00303.html#gaaa4126969c765e7faa2ebf6951c22ffb',1,'glm']]], ['packed_5fmediump_5fdmat3',['packed_mediump_dmat3',['../a00303.html#gaf969eb879c76a5f4576e4a1e10095cf6',1,'glm']]], ['packed_5fmediump_5fdmat3x2',['packed_mediump_dmat3x2',['../a00303.html#ga86efe91cdaa2864c828a5d6d46356c6a',1,'glm']]], ['packed_5fmediump_5fdmat3x3',['packed_mediump_dmat3x3',['../a00303.html#gaf85877d38d8cfbc21d59d939afd72375',1,'glm']]], ['packed_5fmediump_5fdmat3x4',['packed_mediump_dmat3x4',['../a00303.html#gad5dcaf93df267bc3029174e430e0907f',1,'glm']]], ['packed_5fmediump_5fdmat4',['packed_mediump_dmat4',['../a00303.html#ga4b0ee7996651ddd04eaa0c4cdbb66332',1,'glm']]], ['packed_5fmediump_5fdmat4x2',['packed_mediump_dmat4x2',['../a00303.html#ga9a15514a0631f700de6312b9d5db3a73',1,'glm']]], ['packed_5fmediump_5fdmat4x3',['packed_mediump_dmat4x3',['../a00303.html#gab5b36cc9caee1bb1c5178fe191bf5713',1,'glm']]], ['packed_5fmediump_5fdmat4x4',['packed_mediump_dmat4x4',['../a00303.html#ga21e86cf2f6c126bacf31b8985db06bd4',1,'glm']]], ['packed_5fmediump_5fdvec1',['packed_mediump_dvec1',['../a00303.html#ga8920e90ea9c01d9c97e604a938ce2cbd',1,'glm']]], ['packed_5fmediump_5fdvec2',['packed_mediump_dvec2',['../a00303.html#ga0c754a783b6fcf80374c013371c4dae9',1,'glm']]], ['packed_5fmediump_5fdvec3',['packed_mediump_dvec3',['../a00303.html#ga1f18ada6f7cdd8c46db33ba987280fc4',1,'glm']]], ['packed_5fmediump_5fdvec4',['packed_mediump_dvec4',['../a00303.html#ga568b850f1116b667043533cf77826968',1,'glm']]], ['packed_5fmediump_5fivec1',['packed_mediump_ivec1',['../a00303.html#ga09507ef020a49517a7bcd50438f05056',1,'glm']]], ['packed_5fmediump_5fivec2',['packed_mediump_ivec2',['../a00303.html#gaaa891048dddef4627df33809ec726219',1,'glm']]], ['packed_5fmediump_5fivec3',['packed_mediump_ivec3',['../a00303.html#ga06f26d54dca30994eb1fdadb8e69f4a2',1,'glm']]], ['packed_5fmediump_5fivec4',['packed_mediump_ivec4',['../a00303.html#ga70130dc8ed9c966ec2a221ce586d45d8',1,'glm']]], ['packed_5fmediump_5fmat2',['packed_mediump_mat2',['../a00303.html#ga43cd36d430c5187bfdca34a23cb41581',1,'glm']]], ['packed_5fmediump_5fmat2x2',['packed_mediump_mat2x2',['../a00303.html#ga2d2a73e662759e301c22b8931ff6a526',1,'glm']]], ['packed_5fmediump_5fmat2x3',['packed_mediump_mat2x3',['../a00303.html#ga99049db01faf1e95ed9fb875a47dffe2',1,'glm']]], ['packed_5fmediump_5fmat2x4',['packed_mediump_mat2x4',['../a00303.html#gad43a240533f388ce0504b495d9df3d52',1,'glm']]], ['packed_5fmediump_5fmat3',['packed_mediump_mat3',['../a00303.html#ga13a75c6cbd0a411f694bc82486cd1e55',1,'glm']]], ['packed_5fmediump_5fmat3x2',['packed_mediump_mat3x2',['../a00303.html#ga04cfaf1421284df3c24ea0985dab24e7',1,'glm']]], ['packed_5fmediump_5fmat3x3',['packed_mediump_mat3x3',['../a00303.html#gaaa9cea174d342dd9650e3436823cab23',1,'glm']]], ['packed_5fmediump_5fmat3x4',['packed_mediump_mat3x4',['../a00303.html#gabc93a9560593bd32e099c908531305f5',1,'glm']]], ['packed_5fmediump_5fmat4',['packed_mediump_mat4',['../a00303.html#gae89d72ffc149147f61df701bbc8755bf',1,'glm']]], ['packed_5fmediump_5fmat4x2',['packed_mediump_mat4x2',['../a00303.html#gaa458f9d9e0934bae3097e2a373b24707',1,'glm']]], ['packed_5fmediump_5fmat4x3',['packed_mediump_mat4x3',['../a00303.html#ga02ca6255394aa778abaeb0f733c4d2b6',1,'glm']]], ['packed_5fmediump_5fmat4x4',['packed_mediump_mat4x4',['../a00303.html#gaf304f64c06743c1571401504d3f50259',1,'glm']]], ['packed_5fmediump_5fuvec1',['packed_mediump_uvec1',['../a00303.html#ga2c29fb42bab9a4f9b66bc60b2e514a34',1,'glm']]], ['packed_5fmediump_5fuvec2',['packed_mediump_uvec2',['../a00303.html#gaa1f95690a78dc12e39da32943243aeef',1,'glm']]], ['packed_5fmediump_5fuvec3',['packed_mediump_uvec3',['../a00303.html#ga1ea2bbdbcb0a69242f6d884663c1b0ab',1,'glm']]], ['packed_5fmediump_5fuvec4',['packed_mediump_uvec4',['../a00303.html#ga63a73be86a4f07ea7a7499ab0bfebe45',1,'glm']]], ['packed_5fmediump_5fvec1',['packed_mediump_vec1',['../a00303.html#ga71d63cead1e113fca0bcdaaa33aad050',1,'glm']]], ['packed_5fmediump_5fvec2',['packed_mediump_vec2',['../a00303.html#ga6844c6f4691d1bf67673240850430948',1,'glm']]], ['packed_5fmediump_5fvec3',['packed_mediump_vec3',['../a00303.html#gab0eb771b708c5b2205d9b14dd1434fd8',1,'glm']]], ['packed_5fmediump_5fvec4',['packed_mediump_vec4',['../a00303.html#ga68c9bb24f387b312bae6a0a68e74d95e',1,'glm']]], ['packed_5fuvec1',['packed_uvec1',['../a00303.html#ga5621493caac01bdd22ab6be4416b0314',1,'glm']]], ['packed_5fuvec2',['packed_uvec2',['../a00303.html#gabcc33efb4d5e83b8fe4706360e75b932',1,'glm']]], ['packed_5fuvec3',['packed_uvec3',['../a00303.html#gab96804e99e3a72a35740fec690c79617',1,'glm']]], ['packed_5fuvec4',['packed_uvec4',['../a00303.html#ga8e5d92e84ebdbe2480cf96bc17d6e2f2',1,'glm']]], ['packed_5fvec1',['packed_vec1',['../a00303.html#ga14741e3d9da9ae83765389927f837331',1,'glm']]], ['packed_5fvec2',['packed_vec2',['../a00303.html#ga3254defa5a8f0ae4b02b45fedba84a66',1,'glm']]], ['packed_5fvec3',['packed_vec3',['../a00303.html#gaccccd090e185450caa28b5b63ad4e8f0',1,'glm']]], ['packed_5fvec4',['packed_vec4',['../a00303.html#ga37a0e0bf653169b581c5eea3d547fa5d',1,'glm']]], ['packf2x11_5f1x10',['packF2x11_1x10',['../a00298.html#ga4944ad465ff950e926d49621f916c78d',1,'glm']]], ['packf3x9_5fe1x5',['packF3x9_E1x5',['../a00298.html#ga3f648fc205467792dc6d8c59c748f8a6',1,'glm']]], ['packhalf',['packHalf',['../a00298.html#ga2d8bbce673ebc04831c1fb05c47f5251',1,'glm']]], ['packhalf1x16',['packHalf1x16',['../a00298.html#ga43f2093b6ff192a79058ff7834fc3528',1,'glm']]], ['packhalf2x16',['packHalf2x16',['../a00372.html#ga20f134b07db3a3d3a38efb2617388c92',1,'glm']]], ['packhalf4x16',['packHalf4x16',['../a00298.html#gafe2f7b39caf8f5ec555e1c059ec530e6',1,'glm']]], ['packi3x10_5f1x2',['packI3x10_1x2',['../a00298.html#ga06ecb6afb902dba45419008171db9023',1,'glm']]], ['packing_2ehpp',['packing.hpp',['../a00120.html',1,'']]], ['packint2x16',['packInt2x16',['../a00298.html#ga3644163cf3a47bf1d4af1f4b03013a7e',1,'glm']]], ['packint2x32',['packInt2x32',['../a00298.html#gad1e4c8a9e67d86b61a6eec86703a827a',1,'glm']]], ['packint2x8',['packInt2x8',['../a00298.html#ga8884b1f2292414f36d59ef3be5d62914',1,'glm']]], ['packint4x16',['packInt4x16',['../a00298.html#ga1989f093a27ae69cf9207145be48b3d7',1,'glm']]], ['packint4x8',['packInt4x8',['../a00298.html#gaf2238401d5ce2aaade1a44ba19709072',1,'glm']]], ['packrgbm',['packRGBM',['../a00298.html#ga0466daf4c90f76cc64b3f105ce727295',1,'glm']]], ['packsnorm',['packSnorm',['../a00298.html#gaa54b5855a750d6aeb12c1c902f5939b8',1,'glm']]], ['packsnorm1x16',['packSnorm1x16',['../a00298.html#gab22f8bcfdb5fc65af4701b25f143c1af',1,'glm']]], ['packsnorm1x8',['packSnorm1x8',['../a00298.html#gae3592e0795e62aaa1865b3a10496a7a1',1,'glm']]], ['packsnorm2x16',['packSnorm2x16',['../a00372.html#ga977ab172da5494e5ac63e952afacfbe2',1,'glm']]], ['packsnorm2x8',['packSnorm2x8',['../a00298.html#ga6be3cfb2cce3702f03e91bbeb5286d7e',1,'glm']]], ['packsnorm3x10_5f1x2',['packSnorm3x10_1x2',['../a00298.html#gab997545661877d2c7362a5084d3897d3',1,'glm']]], ['packsnorm4x16',['packSnorm4x16',['../a00298.html#ga358943934d21da947d5bcc88c2ab7832',1,'glm']]], ['packsnorm4x8',['packSnorm4x8',['../a00372.html#ga85e8f17627516445026ab7a9c2e3531a',1,'glm']]], ['packu3x10_5f1x2',['packU3x10_1x2',['../a00298.html#gada3d88d59f0f458f9c51a9fd359a4bc0',1,'glm']]], ['packuint2x16',['packUint2x16',['../a00298.html#ga5eecc9e8cbaf51ac6cf57501e670ee19',1,'glm']]], ['packuint2x32',['packUint2x32',['../a00298.html#gaa864081097b86e83d8e4a4d79c382b22',1,'glm']]], ['packuint2x8',['packUint2x8',['../a00298.html#ga3c3c9fb53ae7823b10fa083909357590',1,'glm']]], ['packuint4x16',['packUint4x16',['../a00298.html#ga2ceb62cca347d8ace42ee90317a3f1f9',1,'glm']]], ['packuint4x8',['packUint4x8',['../a00298.html#gaa0fe2f09aeb403cd66c1a062f58861ab',1,'glm']]], ['packunorm',['packUnorm',['../a00298.html#gaccd3f27e6ba5163eb7aa9bc8ff96251a',1,'glm']]], ['packunorm1x16',['packUnorm1x16',['../a00298.html#ga9f82737bf2a44bedff1d286b76837886',1,'glm']]], ['packunorm1x5_5f1x6_5f1x5',['packUnorm1x5_1x6_1x5',['../a00298.html#ga768e0337dd6246773f14aa0a421fe9a8',1,'glm']]], ['packunorm1x8',['packUnorm1x8',['../a00298.html#ga4b2fa60df3460403817d28b082ee0736',1,'glm']]], ['packunorm2x16',['packUnorm2x16',['../a00372.html#ga0e2d107039fe608a209497af867b85fb',1,'glm']]], ['packunorm2x3_5f1x2',['packUnorm2x3_1x2',['../a00298.html#ga7f9abdb50f9be1aa1c14912504a0d98d',1,'glm']]], ['packunorm2x4',['packUnorm2x4',['../a00298.html#gab6bbd5be3b8e6db538ecb33a7844481c',1,'glm']]], ['packunorm2x8',['packUnorm2x8',['../a00298.html#ga9a666b1c688ab54100061ed06526de6e',1,'glm']]], ['packunorm3x10_5f1x2',['packUnorm3x10_1x2',['../a00298.html#ga8a1ee625d2707c60530fb3fca2980b19',1,'glm']]], ['packunorm3x5_5f1x1',['packUnorm3x5_1x1',['../a00298.html#gaec4112086d7fb133bea104a7c237de52',1,'glm']]], ['packunorm4x16',['packUnorm4x16',['../a00298.html#ga1f63c264e7ab63264e2b2a99fd393897',1,'glm']]], ['packunorm4x4',['packUnorm4x4',['../a00298.html#gad3e7e3ce521513584a53aedc5f9765c1',1,'glm']]], ['packunorm4x8',['packUnorm4x8',['../a00372.html#gaf7d2f7341a9eeb4a436929d6f9ad08f2',1,'glm']]], ['perlin',['perlin',['../a00297.html#ga1e043ce3b51510e9bc4469227cefc38a',1,'glm::perlin(vec< L, T, Q > const &p)'],['../a00297.html#gac270edc54c5fc52f5985a45f940bb103',1,'glm::perlin(vec< L, T, Q > const &p, vec< L, T, Q > const &rep)']]], ['perp',['perp',['../a00349.html#ga264cfc4e180cf9b852e943b35089003c',1,'glm']]], ['perpendicular_2ehpp',['perpendicular.hpp',['../a00121.html',1,'']]], ['perspective',['perspective',['../a00243.html#ga747c8cf99458663dd7ad1bb3a2f07787',1,'glm']]], ['perspectivefov',['perspectiveFov',['../a00243.html#gaebd02240fd36e85ad754f02ddd9a560d',1,'glm']]], ['perspectivefovlh',['perspectiveFovLH',['../a00243.html#ga6aebe16c164bd8e52554cbe0304ef4aa',1,'glm']]], ['perspectivefovlh_5fno',['perspectiveFovLH_NO',['../a00243.html#gad18a4495b77530317327e8d466488c1a',1,'glm']]], ['perspectivefovlh_5fzo',['perspectiveFovLH_ZO',['../a00243.html#gabdd37014f529e25b2fa1b3ba06c10d5c',1,'glm']]], ['perspectivefovno',['perspectiveFovNO',['../a00243.html#gaf30e7bd3b1387a6776433dd5383e6633',1,'glm']]], ['perspectivefovrh',['perspectiveFovRH',['../a00243.html#gaf32bf563f28379c68554a44ee60c6a85',1,'glm']]], ['perspectivefovrh_5fno',['perspectiveFovRH_NO',['../a00243.html#ga257b733ff883c9a065801023cf243eb2',1,'glm']]], ['perspectivefovrh_5fzo',['perspectiveFovRH_ZO',['../a00243.html#ga7dcbb25331676f5b0795aced1a905c44',1,'glm']]], ['perspectivefovzo',['perspectiveFovZO',['../a00243.html#ga4bc69fa1d1f95128430aa3d2a712390b',1,'glm']]], ['perspectivelh',['perspectiveLH',['../a00243.html#ga9bd34951dc7022ac256fcb51d7f6fc2f',1,'glm']]], ['perspectivelh_5fno',['perspectiveLH_NO',['../a00243.html#gaead4d049d1feab463b700b5641aa590e',1,'glm']]], ['perspectivelh_5fzo',['perspectiveLH_ZO',['../a00243.html#gaca32af88c2719005c02817ad1142986c',1,'glm']]], ['perspectiveno',['perspectiveNO',['../a00243.html#gaf497e6bca61e7c87088370b126a93758',1,'glm']]], ['perspectiverh',['perspectiveRH',['../a00243.html#ga26b88757fbd90601b80768a7e1ad3aa1',1,'glm']]], ['perspectiverh_5fno',['perspectiveRH_NO',['../a00243.html#gad1526cb2cbe796095284e8f34b01c582',1,'glm']]], ['perspectiverh_5fzo',['perspectiveRH_ZO',['../a00243.html#ga4da358d6e1b8e5b9ae35d1f3f2dc3b9a',1,'glm']]], ['perspectivezo',['perspectiveZO',['../a00243.html#gaa9dfba5c2322da54f72b1eb7c7c11b47',1,'glm']]], ['pi',['pi',['../a00259.html#ga94bafeb2a0f23ab6450fed1f98ee4e45',1,'glm']]], ['pickmatrix',['pickMatrix',['../a00245.html#gaf6b21eadb7ac2ecbbe258a9a233b4c82',1,'glm']]], ['pitch',['pitch',['../a00299.html#ga7603e81477b46ddb448896909bc04928',1,'glm']]], ['polar',['polar',['../a00350.html#gab83ac2c0e55b684b06b6c46c28b1590d',1,'glm']]], ['polar_5fcoordinates_2ehpp',['polar_coordinates.hpp',['../a00122.html',1,'']]], ['pow',['pow',['../a00242.html#ga2254981952d4f333b900a6bf5167a6c4',1,'glm::pow(vec< L, T, Q > const &base, vec< L, T, Q > const &exponent)'],['../a00256.html#ga4975ffcacd312a8c0bbd046a76c5607e',1,'glm::pow(qua< T, Q > const &q, T y)'],['../a00330.html#ga465016030a81d513fa2fac881ebdaa83',1,'glm::pow(int x, uint y)'],['../a00330.html#ga998e5ee915d3769255519e2fbaa2bbf0',1,'glm::pow(uint x, uint y)']]], ['pow2',['pow2',['../a00347.html#ga19aaff3213bf23bdec3ef124ace237e9',1,'glm::gtx']]], ['pow3',['pow3',['../a00347.html#ga35689d03cd434d6ea819f1942d3bf82e',1,'glm::gtx']]], ['pow4',['pow4',['../a00347.html#gacef0968763026e180e53e735007dbf5a',1,'glm::gtx']]], ['poweroftwoabove',['powerOfTwoAbove',['../a00309.html#ga8cda2459871f574a0aecbe702ac93291',1,'glm::powerOfTwoAbove(genIUType Value)'],['../a00309.html#ga2bbded187c5febfefc1e524ba31b3fab',1,'glm::powerOfTwoAbove(vec< L, T, Q > const &value)']]], ['poweroftwobelow',['powerOfTwoBelow',['../a00309.html#ga3de7df63c589325101a2817a56f8e29d',1,'glm::powerOfTwoBelow(genIUType Value)'],['../a00309.html#gaf78ddcc4152c051b2a21e68fecb10980',1,'glm::powerOfTwoBelow(vec< L, T, Q > const &value)']]], ['poweroftwonearest',['powerOfTwoNearest',['../a00309.html#ga5f65973a5d2ea38c719e6a663149ead9',1,'glm::powerOfTwoNearest(genIUType Value)'],['../a00309.html#gac87e65d11e16c3d6b91c3bcfaef7da0b',1,'glm::powerOfTwoNearest(vec< L, T, Q > const &value)']]], ['prevmultiple',['prevMultiple',['../a00261.html#gada3bdd871ffe31f2d484aa668362f636',1,'glm::prevMultiple(genIUType v, genIUType Multiple)'],['../a00274.html#ga7b3915a7cd3d50ff4976ab7a75a6880a',1,'glm::prevMultiple(vec< L, T, Q > const &v, T Multiple)'],['../a00274.html#ga51e04379e8aebbf83e2e5ab094578ee9',1,'glm::prevMultiple(vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)']]], ['prevpoweroftwo',['prevPowerOfTwo',['../a00261.html#gab21902a0e7e5a8451a7ad80333618727',1,'glm::prevPowerOfTwo(genIUType v)'],['../a00274.html#ga759db73f14d79f63612bd2398b577e7a',1,'glm::prevPowerOfTwo(vec< L, T, Q > const &v)']]], ['proj',['proj',['../a00351.html#ga58384b7170801dd513de46f87c7fb00e',1,'glm']]], ['proj2d',['proj2D',['../a00363.html#ga5b992a0cdc8298054edb68e228f0d93e',1,'glm']]], ['proj3d',['proj3D',['../a00363.html#gaa2b7f4f15b98f697caede11bef50509e',1,'glm']]], ['project',['project',['../a00245.html#gaf36e96033f456659e6705472a06b6e11',1,'glm']]], ['projection_2ehpp',['projection.hpp',['../a00123.html',1,'']]], ['projectno',['projectNO',['../a00245.html#ga05249751f48d14cb282e4979802b8111',1,'glm']]], ['projectzo',['projectZO',['../a00245.html#ga77d157525063dec83a557186873ee080',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_e.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_e.js ================================================ var searchData= [ ['qr_5fdecompose',['qr_decompose',['../a00336.html#gac62d7bfc8dc661e616620d70552cd566',1,'glm']]], ['quadraticeasein',['quadraticEaseIn',['../a00318.html#gaf42089d35855695132d217cd902304a0',1,'glm']]], ['quadraticeaseinout',['quadraticEaseInOut',['../a00318.html#ga03e8fc2d7945a4e63ee33b2159c14cea',1,'glm']]], ['quadraticeaseout',['quadraticEaseOut',['../a00318.html#ga283717bc2d937547ad34ec0472234ee3',1,'glm']]], ['quarter_5fpi',['quarter_pi',['../a00290.html#ga3c9df42bd73c519a995c43f0f99e77e0',1,'glm']]], ['quarticeasein',['quarticEaseIn',['../a00318.html#ga808b41f14514f47dad5dcc69eb924afd',1,'glm']]], ['quarticeaseinout',['quarticEaseInOut',['../a00318.html#ga6d000f852de12b197e154f234b20c505',1,'glm']]], ['quarticeaseout',['quarticEaseOut',['../a00318.html#ga4dfb33fa7664aa888eb647999d329b98',1,'glm']]], ['quat',['quat',['../a00252.html#gab0b441adb4509bc58d2946c2239a8942',1,'glm']]], ['quat_5fcast',['quat_cast',['../a00299.html#ga1108a4ab88ca87bac321454eea7702f8',1,'glm::quat_cast(mat< 3, 3, T, Q > const &x)'],['../a00299.html#ga4524810f07f72e8c7bdc7764fa11cb58',1,'glm::quat_cast(mat< 4, 4, T, Q > const &x)']]], ['quat_5fidentity',['quat_identity',['../a00352.html#ga5ee8332600b2aca3a77622a28d857b55',1,'glm']]], ['quaternion_5fcommon_2ehpp',['quaternion_common.hpp',['../a00127.html',1,'']]], ['quaternion_5fdouble_2ehpp',['quaternion_double.hpp',['../a00128.html',1,'']]], ['quaternion_5fdouble_5fprecision_2ehpp',['quaternion_double_precision.hpp',['../a00129.html',1,'']]], ['quaternion_5fexponential_2ehpp',['quaternion_exponential.hpp',['../a00130.html',1,'']]], ['quaternion_5ffloat_2ehpp',['quaternion_float.hpp',['../a00131.html',1,'']]], ['quaternion_5ffloat_5fprecision_2ehpp',['quaternion_float_precision.hpp',['../a00132.html',1,'']]], ['quaternion_5fgeometric_2ehpp',['quaternion_geometric.hpp',['../a00133.html',1,'']]], ['quaternion_5frelational_2ehpp',['quaternion_relational.hpp',['../a00134.html',1,'']]], ['quaternion_5ftransform_2ehpp',['quaternion_transform.hpp',['../a00135.html',1,'']]], ['quaternion_5ftrigonometric_2ehpp',['quaternion_trigonometric.hpp',['../a00136.html',1,'']]], ['quatlookat',['quatLookAt',['../a00299.html#gabe7fc5ec5feb41ab234d5d2b6254697f',1,'glm']]], ['quatlookatlh',['quatLookAtLH',['../a00299.html#ga2da350c73411be3bb19441b226b81a74',1,'glm']]], ['quatlookatrh',['quatLookAtRH',['../a00299.html#gaf6529ac8c04a57fcc35865b5c9437cc8',1,'glm']]], ['quinticeasein',['quinticEaseIn',['../a00318.html#ga097579d8e087dcf48037588140a21640',1,'glm']]], ['quinticeaseinout',['quinticEaseInOut',['../a00318.html#ga2a82d5c46df7e2d21cc0108eb7b83934',1,'glm']]], ['quinticeaseout',['quinticEaseOut',['../a00318.html#ga7dbd4d5c8da3f5353121f615e7b591d7',1,'glm']]], ['qword',['qword',['../a00354.html#ga4021754ffb8e5ef14c75802b15657714',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_f.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/all_f.js ================================================ var searchData= [ ['recommended_20extensions',['Recommended extensions',['../a00286.html',1,'']]], ['radialgradient',['radialGradient',['../a00327.html#gaaecb1e93de4cbe0758b882812d4da294',1,'glm']]], ['radians',['radians',['../a00373.html#ga6e1db4862c5e25afd553930e2fdd6a68',1,'glm']]], ['random_2ehpp',['random.hpp',['../a00137.html',1,'']]], ['range_2ehpp',['range.hpp',['../a00138.html',1,'']]], ['raw_5fdata_2ehpp',['raw_data.hpp',['../a00139.html',1,'']]], ['reciprocal_2ehpp',['reciprocal.hpp',['../a00140.html',1,'']]], ['reflect',['reflect',['../a00279.html#ga5631dd1d5618de5450b1ea3cf3e94905',1,'glm']]], ['refract',['refract',['../a00279.html#ga01da3dff9e2ef6b9d4915c3047e22b74',1,'glm']]], ['repeat',['repeat',['../a00369.html#ga809650c6310ea7c42666e918c117fb6f',1,'glm']]], ['rgb2ycocg',['rgb2YCoCg',['../a00313.html#ga0606353ec2a9b9eaa84f1b02ec391bc5',1,'glm']]], ['rgb2ycocgr',['rgb2YCoCgR',['../a00313.html#ga0389772e44ca0fd2ba4a79bdd8efe898',1,'glm']]], ['rgbcolor',['rgbColor',['../a00312.html#ga5f9193be46f45f0655c05a0cdca006db',1,'glm']]], ['righthanded',['rightHanded',['../a00328.html#ga99386a5ab5491871b947076e21699cc8',1,'glm']]], ['roll',['roll',['../a00299.html#ga0cc5ad970d0b00829b139fe0fe5a1e13',1,'glm']]], ['root_5ffive',['root_five',['../a00290.html#gae9ebbded75b53d4faeb1e4ef8b3347a2',1,'glm']]], ['root_5fhalf_5fpi',['root_half_pi',['../a00290.html#ga4e276cb823cc5e612d4f89ed99c75039',1,'glm']]], ['root_5fln_5ffour',['root_ln_four',['../a00290.html#ga4129412e96b33707a77c1a07652e23e2',1,'glm']]], ['root_5fpi',['root_pi',['../a00290.html#ga261380796b2cd496f68d2cf1d08b8eb9',1,'glm']]], ['root_5fthree',['root_three',['../a00290.html#ga4f286be4abe88be1eed7d2a9f6cb193e',1,'glm']]], ['root_5ftwo',['root_two',['../a00290.html#ga74e607d29020f100c0d0dc46ce2ca950',1,'glm']]], ['root_5ftwo_5fpi',['root_two_pi',['../a00290.html#ga2bcedc575039fe0cd765742f8bbb0bd3',1,'glm']]], ['rotate',['rotate',['../a00247.html#gaee9e865eaa9776370996da2940873fd4',1,'glm::rotate(mat< 4, 4, T, Q > const &m, T angle, vec< 3, T, Q > const &axis)'],['../a00256.html#gabfc57de6d4d2e11970f54119c5ccf0f5',1,'glm::rotate(qua< T, Q > const &q, T const &angle, vec< 3, T, Q > const &axis)'],['../a00341.html#gad5c84a4932a758f385a87098ce1b1660',1,'glm::rotate(mat< 3, 3, T, Q > const &m, T angle)'],['../a00352.html#ga07da6ef58646442efe93b0c273d73776',1,'glm::rotate(qua< T, Q > const &q, vec< 3, T, Q > const &v)'],['../a00352.html#gafcb78dfff45fbf19a7fcb2bd03fbf196',1,'glm::rotate(qua< T, Q > const &q, vec< 4, T, Q > const &v)'],['../a00356.html#gab64a67b52ff4f86c3ba16595a5a25af6',1,'glm::rotate(vec< 2, T, Q > const &v, T const &angle)'],['../a00356.html#ga1ba501ef83d1a009a17ac774cc560f21',1,'glm::rotate(vec< 3, T, Q > const &v, T const &angle, vec< 3, T, Q > const &normal)'],['../a00356.html#ga1005f1267ed9c57faa3f24cf6873b961',1,'glm::rotate(vec< 4, T, Q > const &v, T const &angle, vec< 3, T, Q > const &normal)'],['../a00362.html#gaf599be4c0e9d99be1f9cddba79b6018b',1,'glm::rotate(T angle, vec< 3, T, Q > const &v)']]], ['rotate_5fnormalized_5faxis_2ehpp',['rotate_normalized_axis.hpp',['../a00141.html',1,'']]], ['rotate_5fvector_2ehpp',['rotate_vector.hpp',['../a00142.html',1,'']]], ['rotatenormalizedaxis',['rotateNormalizedAxis',['../a00355.html#ga50efd7ebca0f7a603bb3cc11e34c708d',1,'glm::rotateNormalizedAxis(mat< 4, 4, T, Q > const &m, T const &angle, vec< 3, T, Q > const &axis)'],['../a00355.html#ga08f9c5411437d528019a25bfc01473d1',1,'glm::rotateNormalizedAxis(qua< T, Q > const &q, T const &angle, vec< 3, T, Q > const &axis)']]], ['rotatex',['rotateX',['../a00356.html#ga059fdbdba4cca35cdff172a9d0d0afc9',1,'glm::rotateX(vec< 3, T, Q > const &v, T const &angle)'],['../a00356.html#ga4333b1ea8ebf1bd52bc3801a7617398a',1,'glm::rotateX(vec< 4, T, Q > const &v, T const &angle)']]], ['rotatey',['rotateY',['../a00356.html#gaebdc8b054ace27d9f62e054531c6f44d',1,'glm::rotateY(vec< 3, T, Q > const &v, T const &angle)'],['../a00356.html#ga3ce3db0867b7f8efd878ee34f95a623b',1,'glm::rotateY(vec< 4, T, Q > const &v, T const &angle)']]], ['rotatez',['rotateZ',['../a00356.html#ga5a048838a03f6249acbacb4dbacf79c4',1,'glm::rotateZ(vec< 3, T, Q > const &v, T const &angle)'],['../a00356.html#ga923b75c6448161053768822d880702e6',1,'glm::rotateZ(vec< 4, T, Q > const &v, T const &angle)']]], ['rotation',['rotation',['../a00352.html#ga03e61282831cc3f52cc76f72f52ad2c5',1,'glm']]], ['round',['round',['../a00241.html#gafa03aca8c4713e1cc892aa92ca135a7e',1,'glm']]], ['round_2ehpp',['round.hpp',['../a00143.html',1,'']]], ['roundeven',['roundEven',['../a00241.html#ga76b81785045a057989a84d99aeeb1578',1,'glm']]], ['roundmultiple',['roundMultiple',['../a00302.html#gab892defcc9c0b0618df7251253dc0fbb',1,'glm::roundMultiple(genType v, genType Multiple)'],['../a00302.html#ga2f1a68332d761804c054460a612e3a4b',1,'glm::roundMultiple(vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)']]], ['roundpoweroftwo',['roundPowerOfTwo',['../a00302.html#gae4e1bf5d1cd179f59261a7342bdcafca',1,'glm::roundPowerOfTwo(genIUType v)'],['../a00302.html#ga258802a7d55c03c918f28cf4d241c4d0',1,'glm::roundPowerOfTwo(vec< L, T, Q > const &v)']]], ['row',['row',['../a00293.html#ga259e5ebd0f31ec3f83440f8cae7f5dba',1,'glm::row(genType const &m, length_t index)'],['../a00293.html#gaadcc64829aadf4103477679e48c7594f',1,'glm::row(genType const &m, length_t index, typename genType::row_type const &x)']]], ['rowmajor2',['rowMajor2',['../a00338.html#gaf5b1aee9e3eb1acf9d6c3c8be1e73bb8',1,'glm::rowMajor2(vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)'],['../a00338.html#gaf66c75ed69ca9e87462550708c2c6726',1,'glm::rowMajor2(mat< 2, 2, T, Q > const &m)']]], ['rowmajor3',['rowMajor3',['../a00338.html#ga2ae46497493339f745754e40f438442e',1,'glm::rowMajor3(vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2, vec< 3, T, Q > const &v3)'],['../a00338.html#gad8a3a50ab47bbe8d36cdb81d90dfcf77',1,'glm::rowMajor3(mat< 3, 3, T, Q > const &m)']]], ['rowmajor4',['rowMajor4',['../a00338.html#ga9636cd6bbe2c32a8d0c03ffb8b1ef284',1,'glm::rowMajor4(vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2, vec< 4, T, Q > const &v3, vec< 4, T, Q > const &v4)'],['../a00338.html#gac92ad1c2acdf18d3eb7be45a32f9566b',1,'glm::rowMajor4(mat< 4, 4, T, Q > const &m)']]], ['rq_5fdecompose',['rq_decompose',['../a00336.html#ga82874e2ebe891ba35ac21d9993873758',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_0.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_0.js ================================================ var searchData= [ ['associated_5fmin_5fmax_2ehpp',['associated_min_max.hpp',['../a00007.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_1.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_1.js ================================================ var searchData= [ ['bit_2ehpp',['bit.hpp',['../a00008.html',1,'']]], ['bitfield_2ehpp',['bitfield.hpp',['../a00009.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_10.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_10.js ================================================ var searchData= [ ['scalar_5fcommon_2ehpp',['scalar_common.hpp',['../a00144.html',1,'']]], ['scalar_5fconstants_2ehpp',['scalar_constants.hpp',['../a00145.html',1,'']]], ['scalar_5fint_5fsized_2ehpp',['scalar_int_sized.hpp',['../a00146.html',1,'']]], ['scalar_5finteger_2ehpp',['scalar_integer.hpp',['../a00147.html',1,'']]], ['scalar_5fmultiplication_2ehpp',['scalar_multiplication.hpp',['../a00148.html',1,'']]], ['scalar_5fuint_5fsized_2ehpp',['scalar_uint_sized.hpp',['../a00151.html',1,'']]], ['scalar_5fulp_2ehpp',['scalar_ulp.hpp',['../a00152.html',1,'']]], ['spline_2ehpp',['spline.hpp',['../a00154.html',1,'']]], ['std_5fbased_5ftype_2ehpp',['std_based_type.hpp',['../a00155.html',1,'']]], ['string_5fcast_2ehpp',['string_cast.hpp',['../a00156.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_11.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_11.js ================================================ var searchData= [ ['texture_2ehpp',['texture.hpp',['../a00157.html',1,'']]], ['transform_2ehpp',['transform.hpp',['../a00158.html',1,'']]], ['transform2_2ehpp',['transform2.hpp',['../a00159.html',1,'']]], ['trigonometric_2ehpp',['trigonometric.hpp',['../a00160.html',1,'']]], ['type_5fmat2x2_2ehpp',['type_mat2x2.hpp',['../a00165.html',1,'']]], ['type_5fmat2x3_2ehpp',['type_mat2x3.hpp',['../a00166.html',1,'']]], ['type_5fmat2x4_2ehpp',['type_mat2x4.hpp',['../a00167.html',1,'']]], ['type_5fmat3x2_2ehpp',['type_mat3x2.hpp',['../a00168.html',1,'']]], ['type_5fmat3x3_2ehpp',['type_mat3x3.hpp',['../a00169.html',1,'']]], ['type_5fmat3x4_2ehpp',['type_mat3x4.hpp',['../a00170.html',1,'']]], ['type_5fmat4x2_2ehpp',['type_mat4x2.hpp',['../a00171.html',1,'']]], ['type_5fmat4x3_2ehpp',['type_mat4x3.hpp',['../a00172.html',1,'']]], ['type_5fmat4x4_2ehpp',['type_mat4x4.hpp',['../a00173.html',1,'']]], ['type_5fprecision_2ehpp',['type_precision.hpp',['../a00174.html',1,'']]], ['type_5fptr_2ehpp',['type_ptr.hpp',['../a00175.html',1,'']]], ['type_5fquat_2ehpp',['type_quat.hpp',['../a00176.html',1,'']]], ['type_5ftrait_2ehpp',['type_trait.hpp',['../a00177.html',1,'']]], ['type_5fvec1_2ehpp',['type_vec1.hpp',['../a00178.html',1,'']]], ['type_5fvec2_2ehpp',['type_vec2.hpp',['../a00179.html',1,'']]], ['type_5fvec3_2ehpp',['type_vec3.hpp',['../a00180.html',1,'']]], ['type_5fvec4_2ehpp',['type_vec4.hpp',['../a00181.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_12.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_12.js ================================================ var searchData= [ ['ulp_2ehpp',['ulp.hpp',['../a00182.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_13.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_13.js ================================================ var searchData= [ ['vec1_2ehpp',['vec1.hpp',['../a00183.html',1,'']]], ['vec2_2ehpp',['vec2.hpp',['../a00184.html',1,'']]], ['vec3_2ehpp',['vec3.hpp',['../a00185.html',1,'']]], ['vec4_2ehpp',['vec4.hpp',['../a00186.html',1,'']]], ['vec_5fswizzle_2ehpp',['vec_swizzle.hpp',['../a00187.html',1,'']]], ['vector_5fangle_2ehpp',['vector_angle.hpp',['../a00188.html',1,'']]], ['vector_5fbool1_2ehpp',['vector_bool1.hpp',['../a00189.html',1,'']]], ['vector_5fbool1_5fprecision_2ehpp',['vector_bool1_precision.hpp',['../a00190.html',1,'']]], ['vector_5fbool2_2ehpp',['vector_bool2.hpp',['../a00191.html',1,'']]], ['vector_5fbool2_5fprecision_2ehpp',['vector_bool2_precision.hpp',['../a00192.html',1,'']]], ['vector_5fbool3_2ehpp',['vector_bool3.hpp',['../a00193.html',1,'']]], ['vector_5fbool3_5fprecision_2ehpp',['vector_bool3_precision.hpp',['../a00194.html',1,'']]], ['vector_5fbool4_2ehpp',['vector_bool4.hpp',['../a00195.html',1,'']]], ['vector_5fbool4_5fprecision_2ehpp',['vector_bool4_precision.hpp',['../a00196.html',1,'']]], ['vector_5fcommon_2ehpp',['vector_common.hpp',['../a00197.html',1,'']]], ['vector_5fdouble1_2ehpp',['vector_double1.hpp',['../a00198.html',1,'']]], ['vector_5fdouble1_5fprecision_2ehpp',['vector_double1_precision.hpp',['../a00199.html',1,'']]], ['vector_5fdouble2_2ehpp',['vector_double2.hpp',['../a00200.html',1,'']]], ['vector_5fdouble2_5fprecision_2ehpp',['vector_double2_precision.hpp',['../a00201.html',1,'']]], ['vector_5fdouble3_2ehpp',['vector_double3.hpp',['../a00202.html',1,'']]], ['vector_5fdouble3_5fprecision_2ehpp',['vector_double3_precision.hpp',['../a00203.html',1,'']]], ['vector_5fdouble4_2ehpp',['vector_double4.hpp',['../a00204.html',1,'']]], ['vector_5fdouble4_5fprecision_2ehpp',['vector_double4_precision.hpp',['../a00205.html',1,'']]], ['vector_5ffloat1_2ehpp',['vector_float1.hpp',['../a00206.html',1,'']]], ['vector_5ffloat1_5fprecision_2ehpp',['vector_float1_precision.hpp',['../a00207.html',1,'']]], ['vector_5ffloat2_2ehpp',['vector_float2.hpp',['../a00208.html',1,'']]], ['vector_5ffloat2_5fprecision_2ehpp',['vector_float2_precision.hpp',['../a00209.html',1,'']]], ['vector_5ffloat3_2ehpp',['vector_float3.hpp',['../a00210.html',1,'']]], ['vector_5ffloat3_5fprecision_2ehpp',['vector_float3_precision.hpp',['../a00211.html',1,'']]], ['vector_5ffloat4_2ehpp',['vector_float4.hpp',['../a00212.html',1,'']]], ['vector_5ffloat4_5fprecision_2ehpp',['vector_float4_precision.hpp',['../a00213.html',1,'']]], ['vector_5fint1_2ehpp',['vector_int1.hpp',['../a00214.html',1,'']]], ['vector_5fint1_5fprecision_2ehpp',['vector_int1_precision.hpp',['../a00215.html',1,'']]], ['vector_5fint2_2ehpp',['vector_int2.hpp',['../a00216.html',1,'']]], ['vector_5fint2_5fprecision_2ehpp',['vector_int2_precision.hpp',['../a00217.html',1,'']]], ['vector_5fint3_2ehpp',['vector_int3.hpp',['../a00218.html',1,'']]], ['vector_5fint3_5fprecision_2ehpp',['vector_int3_precision.hpp',['../a00219.html',1,'']]], ['vector_5fint4_2ehpp',['vector_int4.hpp',['../a00220.html',1,'']]], ['vector_5fint4_5fprecision_2ehpp',['vector_int4_precision.hpp',['../a00221.html',1,'']]], ['vector_5finteger_2ehpp',['vector_integer.hpp',['../a00222.html',1,'']]], ['vector_5fquery_2ehpp',['vector_query.hpp',['../a00223.html',1,'']]], ['vector_5frelational_2ehpp',['vector_relational.hpp',['../a00225.html',1,'']]], ['vector_5fuint1_2ehpp',['vector_uint1.hpp',['../a00226.html',1,'']]], ['vector_5fuint1_5fprecision_2ehpp',['vector_uint1_precision.hpp',['../a00227.html',1,'']]], ['vector_5fuint2_2ehpp',['vector_uint2.hpp',['../a00228.html',1,'']]], ['vector_5fuint2_5fprecision_2ehpp',['vector_uint2_precision.hpp',['../a00229.html',1,'']]], ['vector_5fuint3_2ehpp',['vector_uint3.hpp',['../a00230.html',1,'']]], ['vector_5fuint3_5fprecision_2ehpp',['vector_uint3_precision.hpp',['../a00231.html',1,'']]], ['vector_5fuint4_2ehpp',['vector_uint4.hpp',['../a00232.html',1,'']]], ['vector_5fuint4_5fprecision_2ehpp',['vector_uint4_precision.hpp',['../a00233.html',1,'']]], ['vector_5fulp_2ehpp',['vector_ulp.hpp',['../a00234.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_14.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_14.js ================================================ var searchData= [ ['wrap_2ehpp',['wrap.hpp',['../a00235.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_2.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_2.js ================================================ var searchData= [ ['closest_5fpoint_2ehpp',['closest_point.hpp',['../a00010.html',1,'']]], ['color_5fencoding_2ehpp',['color_encoding.hpp',['../a00011.html',1,'']]], ['color_5fspace_5fycocg_2ehpp',['color_space_YCoCg.hpp',['../a00014.html',1,'']]], ['common_2ehpp',['common.hpp',['../a00015.html',1,'']]], ['compatibility_2ehpp',['compatibility.hpp',['../a00017.html',1,'']]], ['component_5fwise_2ehpp',['component_wise.hpp',['../a00018.html',1,'']]], ['constants_2ehpp',['constants.hpp',['../a00021.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_3.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_3.js ================================================ var searchData= [ ['dual_5fquaternion_2ehpp',['dual_quaternion.hpp',['../a00022.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_4.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_4.js ================================================ var searchData= [ ['easing_2ehpp',['easing.hpp',['../a00023.html',1,'']]], ['epsilon_2ehpp',['epsilon.hpp',['../a00024.html',1,'']]], ['euler_5fangles_2ehpp',['euler_angles.hpp',['../a00025.html',1,'']]], ['exponential_2ehpp',['exponential.hpp',['../a00026.html',1,'']]], ['ext_2ehpp',['ext.hpp',['../a00027.html',1,'']]], ['extend_2ehpp',['extend.hpp',['../a00028.html',1,'']]], ['extended_5fmin_5fmax_2ehpp',['extended_min_max.hpp',['../a00029.html',1,'']]], ['exterior_5fproduct_2ehpp',['exterior_product.hpp',['../a00030.html',1,'']]], ['matrix_5ftransform_2ehpp',['matrix_transform.hpp',['../a00108.html',1,'']]], ['scalar_5frelational_2ehpp',['scalar_relational.hpp',['../a00149.html',1,'']]], ['vector_5frelational_2ehpp',['vector_relational.hpp',['../a00224.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_5.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_5.js ================================================ var searchData= [ ['fast_5fexponential_2ehpp',['fast_exponential.hpp',['../a00031.html',1,'']]], ['fast_5fsquare_5froot_2ehpp',['fast_square_root.hpp',['../a00032.html',1,'']]], ['fast_5ftrigonometry_2ehpp',['fast_trigonometry.hpp',['../a00033.html',1,'']]], ['functions_2ehpp',['functions.hpp',['../a00034.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_6.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_6.js ================================================ var searchData= [ ['color_5fspace_2ehpp',['color_space.hpp',['../a00012.html',1,'']]], ['color_5fspace_2ehpp',['color_space.hpp',['../a00013.html',1,'']]], ['common_2ehpp',['common.hpp',['../a00016.html',1,'']]], ['geometric_2ehpp',['geometric.hpp',['../a00036.html',1,'']]], ['glm_2ehpp',['glm.hpp',['../a00037.html',1,'']]], ['gradient_5fpaint_2ehpp',['gradient_paint.hpp',['../a00038.html',1,'']]], ['integer_2ehpp',['integer.hpp',['../a00042.html',1,'']]], ['integer_2ehpp',['integer.hpp',['../a00041.html',1,'']]], ['matrix_5ftransform_2ehpp',['matrix_transform.hpp',['../a00109.html',1,'']]], ['packing_2ehpp',['packing.hpp',['../a00119.html',1,'']]], ['quaternion_2ehpp',['quaternion.hpp',['../a00125.html',1,'']]], ['quaternion_2ehpp',['quaternion.hpp',['../a00126.html',1,'']]], ['scalar_5frelational_2ehpp',['scalar_relational.hpp',['../a00150.html',1,'']]], ['type_5faligned_2ehpp',['type_aligned.hpp',['../a00162.html',1,'']]], ['type_5faligned_2ehpp',['type_aligned.hpp',['../a00161.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_7.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_7.js ================================================ var searchData= [ ['handed_5fcoordinate_5fspace_2ehpp',['handed_coordinate_space.hpp',['../a00039.html',1,'']]], ['hash_2ehpp',['hash.hpp',['../a00040.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_8.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_8.js ================================================ var searchData= [ ['integer_2ehpp',['integer.hpp',['../a00043.html',1,'']]], ['intersect_2ehpp',['intersect.hpp',['../a00044.html',1,'']]], ['io_2ehpp',['io.hpp',['../a00045.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_9.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_9.js ================================================ var searchData= [ ['log_5fbase_2ehpp',['log_base.hpp',['../a00046.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_a.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_a.js ================================================ var searchData= [ ['mat2x2_2ehpp',['mat2x2.hpp',['../a00048.html',1,'']]], ['mat2x3_2ehpp',['mat2x3.hpp',['../a00049.html',1,'']]], ['mat2x4_2ehpp',['mat2x4.hpp',['../a00050.html',1,'']]], ['mat3x2_2ehpp',['mat3x2.hpp',['../a00051.html',1,'']]], ['mat3x3_2ehpp',['mat3x3.hpp',['../a00052.html',1,'']]], ['mat3x4_2ehpp',['mat3x4.hpp',['../a00053.html',1,'']]], ['mat4x2_2ehpp',['mat4x2.hpp',['../a00054.html',1,'']]], ['mat4x3_2ehpp',['mat4x3.hpp',['../a00055.html',1,'']]], ['mat4x4_2ehpp',['mat4x4.hpp',['../a00056.html',1,'']]], ['matrix_2ehpp',['matrix.hpp',['../a00057.html',1,'']]], ['matrix_5faccess_2ehpp',['matrix_access.hpp',['../a00058.html',1,'']]], ['matrix_5fclip_5fspace_2ehpp',['matrix_clip_space.hpp',['../a00059.html',1,'']]], ['matrix_5fcommon_2ehpp',['matrix_common.hpp',['../a00060.html',1,'']]], ['matrix_5fcross_5fproduct_2ehpp',['matrix_cross_product.hpp',['../a00061.html',1,'']]], ['matrix_5fdecompose_2ehpp',['matrix_decompose.hpp',['../a00062.html',1,'']]], ['matrix_5fdouble2x2_2ehpp',['matrix_double2x2.hpp',['../a00063.html',1,'']]], ['matrix_5fdouble2x2_5fprecision_2ehpp',['matrix_double2x2_precision.hpp',['../a00064.html',1,'']]], ['matrix_5fdouble2x3_2ehpp',['matrix_double2x3.hpp',['../a00065.html',1,'']]], ['matrix_5fdouble2x3_5fprecision_2ehpp',['matrix_double2x3_precision.hpp',['../a00066.html',1,'']]], ['matrix_5fdouble2x4_2ehpp',['matrix_double2x4.hpp',['../a00067.html',1,'']]], ['matrix_5fdouble2x4_5fprecision_2ehpp',['matrix_double2x4_precision.hpp',['../a00068.html',1,'']]], ['matrix_5fdouble3x2_2ehpp',['matrix_double3x2.hpp',['../a00069.html',1,'']]], ['matrix_5fdouble3x2_5fprecision_2ehpp',['matrix_double3x2_precision.hpp',['../a00070.html',1,'']]], ['matrix_5fdouble3x3_2ehpp',['matrix_double3x3.hpp',['../a00071.html',1,'']]], ['matrix_5fdouble3x3_5fprecision_2ehpp',['matrix_double3x3_precision.hpp',['../a00072.html',1,'']]], ['matrix_5fdouble3x4_2ehpp',['matrix_double3x4.hpp',['../a00073.html',1,'']]], ['matrix_5fdouble3x4_5fprecision_2ehpp',['matrix_double3x4_precision.hpp',['../a00074.html',1,'']]], ['matrix_5fdouble4x2_2ehpp',['matrix_double4x2.hpp',['../a00075.html',1,'']]], ['matrix_5fdouble4x2_5fprecision_2ehpp',['matrix_double4x2_precision.hpp',['../a00076.html',1,'']]], ['matrix_5fdouble4x3_2ehpp',['matrix_double4x3.hpp',['../a00077.html',1,'']]], ['matrix_5fdouble4x3_5fprecision_2ehpp',['matrix_double4x3_precision.hpp',['../a00078.html',1,'']]], ['matrix_5fdouble4x4_2ehpp',['matrix_double4x4.hpp',['../a00079.html',1,'']]], ['matrix_5fdouble4x4_5fprecision_2ehpp',['matrix_double4x4_precision.hpp',['../a00080.html',1,'']]], ['matrix_5ffactorisation_2ehpp',['matrix_factorisation.hpp',['../a00081.html',1,'']]], ['matrix_5ffloat2x2_2ehpp',['matrix_float2x2.hpp',['../a00082.html',1,'']]], ['matrix_5ffloat2x2_5fprecision_2ehpp',['matrix_float2x2_precision.hpp',['../a00083.html',1,'']]], ['matrix_5ffloat2x3_2ehpp',['matrix_float2x3.hpp',['../a00084.html',1,'']]], ['matrix_5ffloat2x3_5fprecision_2ehpp',['matrix_float2x3_precision.hpp',['../a00085.html',1,'']]], ['matrix_5ffloat2x4_2ehpp',['matrix_float2x4.hpp',['../a00086.html',1,'']]], ['matrix_5ffloat2x4_5fprecision_2ehpp',['matrix_float2x4_precision.hpp',['../a00087.html',1,'']]], ['matrix_5ffloat3x2_2ehpp',['matrix_float3x2.hpp',['../a00088.html',1,'']]], ['matrix_5ffloat3x2_5fprecision_2ehpp',['matrix_float3x2_precision.hpp',['../a00089.html',1,'']]], ['matrix_5ffloat3x3_2ehpp',['matrix_float3x3.hpp',['../a00090.html',1,'']]], ['matrix_5ffloat3x3_5fprecision_2ehpp',['matrix_float3x3_precision.hpp',['../a00091.html',1,'']]], ['matrix_5ffloat3x4_2ehpp',['matrix_float3x4.hpp',['../a00092.html',1,'']]], ['matrix_5ffloat3x4_5fprecision_2ehpp',['matrix_float3x4_precision.hpp',['../a00093.html',1,'']]], ['matrix_5ffloat4x2_2ehpp',['matrix_float4x2.hpp',['../a00094.html',1,'']]], ['matrix_5ffloat4x3_2ehpp',['matrix_float4x3.hpp',['../a00096.html',1,'']]], ['matrix_5ffloat4x3_5fprecision_2ehpp',['matrix_float4x3_precision.hpp',['../a00097.html',1,'']]], ['matrix_5ffloat4x4_2ehpp',['matrix_float4x4.hpp',['../a00098.html',1,'']]], ['matrix_5ffloat4x4_5fprecision_2ehpp',['matrix_float4x4_precision.hpp',['../a00099.html',1,'']]], ['matrix_5finteger_2ehpp',['matrix_integer.hpp',['../a00100.html',1,'']]], ['matrix_5finterpolation_2ehpp',['matrix_interpolation.hpp',['../a00101.html',1,'']]], ['matrix_5finverse_2ehpp',['matrix_inverse.hpp',['../a00102.html',1,'']]], ['matrix_5fmajor_5fstorage_2ehpp',['matrix_major_storage.hpp',['../a00103.html',1,'']]], ['matrix_5foperation_2ehpp',['matrix_operation.hpp',['../a00104.html',1,'']]], ['matrix_5fprojection_2ehpp',['matrix_projection.hpp',['../a00105.html',1,'']]], ['matrix_5fquery_2ehpp',['matrix_query.hpp',['../a00106.html',1,'']]], ['matrix_5frelational_2ehpp',['matrix_relational.hpp',['../a00107.html',1,'']]], ['matrix_5ftransform_5f2d_2ehpp',['matrix_transform_2d.hpp',['../a00110.html',1,'']]], ['mixed_5fproduct_2ehpp',['mixed_product.hpp',['../a00111.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_b.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_b.js ================================================ var searchData= [ ['noise_2ehpp',['noise.hpp',['../a00112.html',1,'']]], ['norm_2ehpp',['norm.hpp',['../a00113.html',1,'']]], ['normal_2ehpp',['normal.hpp',['../a00114.html',1,'']]], ['normalize_5fdot_2ehpp',['normalize_dot.hpp',['../a00115.html',1,'']]], ['number_5fprecision_2ehpp',['number_precision.hpp',['../a00116.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_c.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_c.js ================================================ var searchData= [ ['optimum_5fpow_2ehpp',['optimum_pow.hpp',['../a00117.html',1,'']]], ['orthonormalize_2ehpp',['orthonormalize.hpp',['../a00118.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_d.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_d.js ================================================ var searchData= [ ['packing_2ehpp',['packing.hpp',['../a00120.html',1,'']]], ['perpendicular_2ehpp',['perpendicular.hpp',['../a00121.html',1,'']]], ['polar_5fcoordinates_2ehpp',['polar_coordinates.hpp',['../a00122.html',1,'']]], ['projection_2ehpp',['projection.hpp',['../a00123.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_e.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_e.js ================================================ var searchData= [ ['quaternion_5fcommon_2ehpp',['quaternion_common.hpp',['../a00127.html',1,'']]], ['quaternion_5fdouble_2ehpp',['quaternion_double.hpp',['../a00128.html',1,'']]], ['quaternion_5fdouble_5fprecision_2ehpp',['quaternion_double_precision.hpp',['../a00129.html',1,'']]], ['quaternion_5fexponential_2ehpp',['quaternion_exponential.hpp',['../a00130.html',1,'']]], ['quaternion_5ffloat_2ehpp',['quaternion_float.hpp',['../a00131.html',1,'']]], ['quaternion_5ffloat_5fprecision_2ehpp',['quaternion_float_precision.hpp',['../a00132.html',1,'']]], ['quaternion_5fgeometric_2ehpp',['quaternion_geometric.hpp',['../a00133.html',1,'']]], ['quaternion_5frelational_2ehpp',['quaternion_relational.hpp',['../a00134.html',1,'']]], ['quaternion_5ftransform_2ehpp',['quaternion_transform.hpp',['../a00135.html',1,'']]], ['quaternion_5ftrigonometric_2ehpp',['quaternion_trigonometric.hpp',['../a00136.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_f.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/files_f.js ================================================ var searchData= [ ['random_2ehpp',['random.hpp',['../a00137.html',1,'']]], ['range_2ehpp',['range.hpp',['../a00138.html',1,'']]], ['raw_5fdata_2ehpp',['raw_data.hpp',['../a00139.html',1,'']]], ['reciprocal_2ehpp',['reciprocal.hpp',['../a00140.html',1,'']]], ['rotate_5fnormalized_5faxis_2ehpp',['rotate_normalized_axis.hpp',['../a00141.html',1,'']]], ['rotate_5fvector_2ehpp',['rotate_vector.hpp',['../a00142.html',1,'']]], ['round_2ehpp',['round.hpp',['../a00143.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_0.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_0.js ================================================ var searchData= [ ['abs',['abs',['../a00241.html#ga439e60a72eadecfeda2df5449c613a64',1,'glm::abs(genType x)'],['../a00241.html#ga81d3abddd0ef0c8de579bc541ecadab6',1,'glm::abs(vec< L, T, Q > const &x)']]], ['acos',['acos',['../a00373.html#gacc9b092df8257c68f19c9053703e2563',1,'glm']]], ['acosh',['acosh',['../a00373.html#ga858f35dc66fd2688f20c52b5f25be76a',1,'glm']]], ['acot',['acot',['../a00301.html#gaeadfb9c9d71093f7865b2ba2ca8d104d',1,'glm']]], ['acoth',['acoth',['../a00301.html#gafaca98a7100170db8841f446282debfa',1,'glm']]], ['acsc',['acsc',['../a00301.html#ga1b4bed91476b9b915e76b4a30236d330',1,'glm']]], ['acsch',['acsch',['../a00301.html#ga4b50aa5e5afc7e19ec113ab91596c576',1,'glm']]], ['adjugate',['adjugate',['../a00339.html#ga40a38402a30860af6e508fe76211e659',1,'glm::adjugate(mat< 2, 2, T, Q > const &m)'],['../a00339.html#gaddb09f7abc1a9c56a243d32ff3538be6',1,'glm::adjugate(mat< 3, 3, T, Q > const &m)'],['../a00339.html#ga9aaa7d1f40391b0b5cacccb60e104ba8',1,'glm::adjugate(mat< 4, 4, T, Q > const &m)']]], ['affineinverse',['affineInverse',['../a00295.html#gae0fcc5fc8783291f9702272de428fa0e',1,'glm']]], ['all',['all',['../a00374.html#ga87e53f50b679f5f95c5cb4780311b3dd',1,'glm']]], ['angle',['angle',['../a00257.html#ga8aa248b31d5ade470c87304df5eb7bd8',1,'glm::angle(qua< T, Q > const &x)'],['../a00367.html#ga2e2917b4cb75ca3d043ac15ff88f14e1',1,'glm::angle(vec< L, T, Q > const &x, vec< L, T, Q > const &y)']]], ['angleaxis',['angleAxis',['../a00257.html#ga5c0095cfcb218c75a4b79d7687950036',1,'glm']]], ['any',['any',['../a00374.html#ga911b3f8e41459dd551ccb6d385d91061',1,'glm']]], ['arecollinear',['areCollinear',['../a00368.html#ga13da4a787a2ff70e95d561fb19ff91b4',1,'glm']]], ['areorthogonal',['areOrthogonal',['../a00368.html#gac7b95b3f798e3c293262b2bdaad47c57',1,'glm']]], ['areorthonormal',['areOrthonormal',['../a00368.html#ga1b091c3d7f9ee3b0708311c001c293e3',1,'glm']]], ['asec',['asec',['../a00301.html#ga2c5b7f962c2c9ff684e6d2de48db1f10',1,'glm']]], ['asech',['asech',['../a00301.html#gaec7586dccfe431f850d006f3824b8ca6',1,'glm']]], ['asin',['asin',['../a00373.html#ga0552d2df4865fa8c3d7cfc3ec2caac73',1,'glm']]], ['asinh',['asinh',['../a00373.html#ga3ef16b501ee859fddde88e22192a5950',1,'glm']]], ['associatedmax',['associatedMax',['../a00308.html#ga7d9c8785230c8db60f72ec8975f1ba45',1,'glm::associatedMax(T x, U a, T y, U b)'],['../a00308.html#ga5c6758bc50aa7fbe700f87123a045aad',1,'glm::associatedMax(vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b)'],['../a00308.html#ga0d169d6ce26b03248df175f39005d77f',1,'glm::associatedMax(T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b)'],['../a00308.html#ga4086269afabcb81dd7ded33cb3448653',1,'glm::associatedMax(vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b)'],['../a00308.html#gaec891e363d91abbf3a4443cf2f652209',1,'glm::associatedMax(T x, U a, T y, U b, T z, U c)'],['../a00308.html#gab84fdc35016a31e8cd0cbb8296bddf7c',1,'glm::associatedMax(vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c)'],['../a00308.html#gadd2a2002f4f2144bbc39eb2336dd2fba',1,'glm::associatedMax(T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b, T z, vec< L, U, Q > const &c)'],['../a00308.html#ga19f59d1141a51a3b2108a9807af78f7f',1,'glm::associatedMax(vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c)'],['../a00308.html#ga3038ffcb43eaa6af75897a99a5047ccc',1,'glm::associatedMax(T x, U a, T y, U b, T z, U c, T w, U d)'],['../a00308.html#gaf5ab0c428f8d1cd9e3b45fcfbf6423a6',1,'glm::associatedMax(vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c, vec< L, T, Q > const &w, vec< L, U, Q > const &d)'],['../a00308.html#ga11477c2c4b5b0bfd1b72b29df3725a9d',1,'glm::associatedMax(T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b, T z, vec< L, U, Q > const &c, T w, vec< L, U, Q > const &d)'],['../a00308.html#gab9c3dd74cac899d2c625b5767ea3b3fb',1,'glm::associatedMax(vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c, vec< L, T, Q > const &w, U d)']]], ['associatedmin',['associatedMin',['../a00308.html#gacc01bd272359572fc28437ae214a02df',1,'glm::associatedMin(T x, U a, T y, U b)'],['../a00308.html#gac2f0dff90948f2e44386a5eafd941d1c',1,'glm::associatedMin(vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b)'],['../a00308.html#gacfec519c820331d023ef53a511749319',1,'glm::associatedMin(T x, const vec< L, U, Q > &a, T y, const vec< L, U, Q > &b)'],['../a00308.html#ga4757c7cab2d809124a8525d0a9deeb37',1,'glm::associatedMin(vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b)'],['../a00308.html#gad0aa8f86259a26d839d34a3577a923fc',1,'glm::associatedMin(T x, U a, T y, U b, T z, U c)'],['../a00308.html#ga723e5411cebc7ffbd5c81ffeec61127d',1,'glm::associatedMin(vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c)'],['../a00308.html#ga432224ebe2085eaa2b63a077ecbbbff6',1,'glm::associatedMin(T x, U a, T y, U b, T z, U c, T w, U d)'],['../a00308.html#ga66b08118bc88f0494bcacb7cdb940556',1,'glm::associatedMin(vec< L, T, Q > const &x, vec< L, U, Q > const &a, vec< L, T, Q > const &y, vec< L, U, Q > const &b, vec< L, T, Q > const &z, vec< L, U, Q > const &c, vec< L, T, Q > const &w, vec< L, U, Q > const &d)'],['../a00308.html#ga78c28fde1a7080fb7420bd88e68c6c68',1,'glm::associatedMin(T x, vec< L, U, Q > const &a, T y, vec< L, U, Q > const &b, T z, vec< L, U, Q > const &c, T w, vec< L, U, Q > const &d)'],['../a00308.html#ga2db7e351994baee78540a562d4bb6d3b',1,'glm::associatedMin(vec< L, T, Q > const &x, U a, vec< L, T, Q > const &y, U b, vec< L, T, Q > const &z, U c, vec< L, T, Q > const &w, U d)']]], ['atan',['atan',['../a00373.html#gac61629f3a4aa14057e7a8cae002291db',1,'glm::atan(vec< L, T, Q > const &y, vec< L, T, Q > const &x)'],['../a00373.html#ga5229f087eaccbc466f1c609ce3107b95',1,'glm::atan(vec< L, T, Q > const &y_over_x)']]], ['atan2',['atan2',['../a00315.html#gac63011205bf6d0be82589dc56dd26708',1,'glm::atan2(T x, T y)'],['../a00315.html#ga83bc41bd6f89113ee8006576b12bfc50',1,'glm::atan2(const vec< 2, T, Q > &x, const vec< 2, T, Q > &y)'],['../a00315.html#gac39314f5087e7e51e592897cabbc1927',1,'glm::atan2(const vec< 3, T, Q > &x, const vec< 3, T, Q > &y)'],['../a00315.html#gaba86c28da7bf5bdac64fecf7d56e8ff3',1,'glm::atan2(const vec< 4, T, Q > &x, const vec< 4, T, Q > &y)']]], ['atanh',['atanh',['../a00373.html#gabc925650e618357d07da255531658b87',1,'glm']]], ['axis',['axis',['../a00257.html#ga764254f10248b505e936e5309a88c23d',1,'glm']]], ['axisangle',['axisAngle',['../a00337.html#gafefe32ce5a90a135287ba34fac3623bc',1,'glm']]], ['axisanglematrix',['axisAngleMatrix',['../a00337.html#ga3a788e2f5223397df5c426413ecc2f6b',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_1.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_1.js ================================================ var searchData= [ ['backeasein',['backEaseIn',['../a00318.html#ga93cddcdb6347a44d5927cc2bf2570816',1,'glm::backEaseIn(genType const &a)'],['../a00318.html#ga33777c9dd98f61d9472f96aafdf2bd36',1,'glm::backEaseIn(genType const &a, genType const &o)']]], ['backeaseinout',['backEaseInOut',['../a00318.html#gace6d24722a2f6722b56398206eb810bb',1,'glm::backEaseInOut(genType const &a)'],['../a00318.html#ga68a7b760f2afdfab298d5cd6d7611fb1',1,'glm::backEaseInOut(genType const &a, genType const &o)']]], ['backeaseout',['backEaseOut',['../a00318.html#gabf25069fa906413c858fd46903d520b9',1,'glm::backEaseOut(genType const &a)'],['../a00318.html#ga640c1ac6fe9d277a197da69daf60ee4f',1,'glm::backEaseOut(genType const &a, genType const &o)']]], ['ballrand',['ballRand',['../a00300.html#ga7c53b7797f3147af68a11c767679fa3f',1,'glm']]], ['bitcount',['bitCount',['../a00370.html#ga44abfe3379e11cbd29425a843420d0d6',1,'glm::bitCount(genType v)'],['../a00370.html#gaac7b15e40bdea8d9aa4c4cb34049f7b5',1,'glm::bitCount(vec< L, T, Q > const &v)']]], ['bitfielddeinterleave',['bitfieldDeinterleave',['../a00288.html#ga091d934233a2e121df91b8c7230357c8',1,'glm::bitfieldDeinterleave(glm::uint16 x)'],['../a00288.html#ga7d1cc24dfbcdd932c3a2abbb76235f98',1,'glm::bitfieldDeinterleave(glm::uint32 x)'],['../a00288.html#ga8dbb8c87092f33bd815dd8a840be5d60',1,'glm::bitfieldDeinterleave(glm::uint64 x)']]], ['bitfieldextract',['bitfieldExtract',['../a00370.html#ga346b25ab11e793e91a4a69c8aa6819f2',1,'glm']]], ['bitfieldfillone',['bitfieldFillOne',['../a00288.html#ga46f9295abe3b5c7658f5b13c7f819f0a',1,'glm::bitfieldFillOne(genIUType Value, int FirstBit, int BitCount)'],['../a00288.html#ga3e96dd1f0a4bc892f063251ed118c0c1',1,'glm::bitfieldFillOne(vec< L, T, Q > const &Value, int FirstBit, int BitCount)']]], ['bitfieldfillzero',['bitfieldFillZero',['../a00288.html#ga697b86998b7d74ee0a69d8e9f8819fee',1,'glm::bitfieldFillZero(genIUType Value, int FirstBit, int BitCount)'],['../a00288.html#ga0d16c9acef4be79ea9b47c082a0cf7c2',1,'glm::bitfieldFillZero(vec< L, T, Q > const &Value, int FirstBit, int BitCount)']]], ['bitfieldinsert',['bitfieldInsert',['../a00370.html#ga2e82992340d421fadb61a473df699b20',1,'glm']]], ['bitfieldinterleave',['bitfieldInterleave',['../a00288.html#ga24cad0069f9a0450abd80b3e89501adf',1,'glm::bitfieldInterleave(int8 x, int8 y)'],['../a00288.html#ga9a4976a529aec2cee56525e1165da484',1,'glm::bitfieldInterleave(uint8 x, uint8 y)'],['../a00288.html#ga4a76bbca39c40153f3203d0a1926e142',1,'glm::bitfieldInterleave(u8vec2 const &v)'],['../a00288.html#gac51c33a394593f0631fa3aa5bb778809',1,'glm::bitfieldInterleave(int16 x, int16 y)'],['../a00288.html#ga94f3646a5667f4be56f8dcf3310e963f',1,'glm::bitfieldInterleave(uint16 x, uint16 y)'],['../a00288.html#ga406c4ee56af4ca37a73f449f154eca3e',1,'glm::bitfieldInterleave(u16vec2 const &v)'],['../a00288.html#gaebb756a24a0784e3d6fba8bd011ab77a',1,'glm::bitfieldInterleave(int32 x, int32 y)'],['../a00288.html#ga2f1e2b3fe699e7d897ae38b2115ddcbd',1,'glm::bitfieldInterleave(uint32 x, uint32 y)'],['../a00288.html#ga8cb17574d60abd6ade84bc57c10e8f78',1,'glm::bitfieldInterleave(u32vec2 const &v)'],['../a00288.html#ga8fdb724dccd4a07d57efc01147102137',1,'glm::bitfieldInterleave(int8 x, int8 y, int8 z)'],['../a00288.html#ga9fc2a0dd5dcf8b00e113f272a5feca93',1,'glm::bitfieldInterleave(uint8 x, uint8 y, uint8 z)'],['../a00288.html#gaa901c36a842fa5d126ea650549f17b24',1,'glm::bitfieldInterleave(int16 x, int16 y, int16 z)'],['../a00288.html#ga3afd6d38881fe3948c53d4214d2197fd',1,'glm::bitfieldInterleave(uint16 x, uint16 y, uint16 z)'],['../a00288.html#gad2075d96a6640121edaa98ea534102ca',1,'glm::bitfieldInterleave(int32 x, int32 y, int32 z)'],['../a00288.html#gab19fbc739fc0cf7247978602c36f7da8',1,'glm::bitfieldInterleave(uint32 x, uint32 y, uint32 z)'],['../a00288.html#ga8a44ae22f5c953b296c42d067dccbe6d',1,'glm::bitfieldInterleave(int8 x, int8 y, int8 z, int8 w)'],['../a00288.html#ga14bb274d54a3c26f4919dd7ed0dd0c36',1,'glm::bitfieldInterleave(uint8 x, uint8 y, uint8 z, uint8 w)'],['../a00288.html#ga180a63161e1319fbd5a53c84d0429c7a',1,'glm::bitfieldInterleave(int16 x, int16 y, int16 z, int16 w)'],['../a00288.html#gafca8768671a14c8016facccb66a89f26',1,'glm::bitfieldInterleave(uint16 x, uint16 y, uint16 z, uint16 w)']]], ['bitfieldreverse',['bitfieldReverse',['../a00370.html#ga750a1d92464489b7711dee67aa3441b6',1,'glm']]], ['bitfieldrotateleft',['bitfieldRotateLeft',['../a00288.html#ga2eb49678a344ce1495bdb5586d9896b9',1,'glm::bitfieldRotateLeft(genIUType In, int Shift)'],['../a00288.html#gae186317091b1a39214ebf79008d44a1e',1,'glm::bitfieldRotateLeft(vec< L, T, Q > const &In, int Shift)']]], ['bitfieldrotateright',['bitfieldRotateRight',['../a00288.html#ga1c33d075c5fb8bd8dbfd5092bfc851ca',1,'glm::bitfieldRotateRight(genIUType In, int Shift)'],['../a00288.html#ga590488e1fc00a6cfe5d3bcaf93fbfe88',1,'glm::bitfieldRotateRight(vec< L, T, Q > const &In, int Shift)']]], ['bounceeasein',['bounceEaseIn',['../a00318.html#gaac30767f2e430b0c3fc859a4d59c7b5b',1,'glm']]], ['bounceeaseinout',['bounceEaseInOut',['../a00318.html#gadf9f38eff1e5f4c2fa5b629a25ae413e',1,'glm']]], ['bounceeaseout',['bounceEaseOut',['../a00318.html#ga94007005ff0dcfa0749ebfa2aec540b2',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_10.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_10.js ================================================ var searchData= [ ['saturate',['saturate',['../a00315.html#ga0fd09e616d122bc2ed9726682ffd44b7',1,'glm::saturate(T x)'],['../a00315.html#gaee97b8001c794a78a44f5d59f62a8aba',1,'glm::saturate(const vec< 2, T, Q > &x)'],['../a00315.html#ga39bfe3a421286ee31680d45c31ccc161',1,'glm::saturate(const vec< 3, T, Q > &x)'],['../a00315.html#ga356f8c3a7e7d6376d3d4b0a026407183',1,'glm::saturate(const vec< 4, T, Q > &x)']]], ['saturation',['saturation',['../a00312.html#ga01a97152b44e1550edcac60bd849e884',1,'glm::saturation(T const s)'],['../a00312.html#ga2156cea600e90148ece5bc96fd6db43a',1,'glm::saturation(T const s, vec< 3, T, Q > const &color)'],['../a00312.html#gaba0eacee0736dae860e9371cc1ae4785',1,'glm::saturation(T const s, vec< 4, T, Q > const &color)']]], ['scale',['scale',['../a00247.html#ga05051adbee603fb3c5095d8cf5cc229b',1,'glm::scale(mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &v)'],['../a00341.html#gadb47d2ad2bd984b213e8ff7d9cd8154e',1,'glm::scale(mat< 3, 3, T, Q > const &m, vec< 2, T, Q > const &v)'],['../a00362.html#gafbeefee8fec884d566e4ada0049174d7',1,'glm::scale(vec< 3, T, Q > const &v)']]], ['scalebias',['scaleBias',['../a00363.html#gabf249498b236e62c983d90d30d63c99c',1,'glm::scaleBias(T scale, T bias)'],['../a00363.html#gae2bdd91a76759fecfbaef97e3020aa8e',1,'glm::scaleBias(mat< 4, 4, T, Q > const &m, T scale, T bias)']]], ['sec',['sec',['../a00301.html#gae4bcbebee670c5ea155f0777b3acbd84',1,'glm']]], ['sech',['sech',['../a00301.html#ga9a5cfd1e7170104a7b33863b1b75e5ae',1,'glm']]], ['shearx',['shearX',['../a00341.html#ga2a118ece5db1e2022112b954846012af',1,'glm']]], ['shearx2d',['shearX2D',['../a00363.html#gabf714b8a358181572b32a45555f71948',1,'glm']]], ['shearx3d',['shearX3D',['../a00363.html#ga73e867c6cd4d700fe2054437e56106c4',1,'glm']]], ['sheary',['shearY',['../a00341.html#ga717f1833369c1ac4a40e4ac015af885e',1,'glm']]], ['sheary2d',['shearY2D',['../a00363.html#gac7998d0763d9181550c77e8af09a182c',1,'glm']]], ['sheary3d',['shearY3D',['../a00363.html#gade5bb65ffcb513973db1a1314fb5cfac',1,'glm']]], ['shearz3d',['shearZ3D',['../a00363.html#ga6591e0a3a9d2c9c0b6577bb4dace0255',1,'glm']]], ['shortmix',['shortMix',['../a00352.html#gadc576cc957adc2a568cdcbc3799175bc',1,'glm']]], ['sign',['sign',['../a00241.html#ga1e2e5cfff800056540e32f6c9b604b28',1,'glm::sign(vec< L, T, Q > const &x)'],['../a00333.html#ga04ef803a24f3d4f8c67dbccb33b0fce0',1,'glm::sign(vec< L, T, Q > const &x, vec< L, T, Q > const &base)']]], ['simplex',['simplex',['../a00297.html#ga8122468c69015ff397349a7dcc638b27',1,'glm']]], ['sin',['sin',['../a00373.html#ga29747fd108cb7292ae5a284f69691a69',1,'glm']]], ['sineeasein',['sineEaseIn',['../a00318.html#gafb338ac6f6b2bcafee50e3dca5201dbf',1,'glm']]], ['sineeaseinout',['sineEaseInOut',['../a00318.html#gaa46e3d5fbf7a15caa28eff9ef192d7c7',1,'glm']]], ['sineeaseout',['sineEaseOut',['../a00318.html#gab3e454f883afc1606ef91363881bf5a3',1,'glm']]], ['sinh',['sinh',['../a00373.html#gac7c39ff21809e281552b4dbe46f4a39d',1,'glm']]], ['slerp',['slerp',['../a00248.html#gae7fc3c945be366b9942b842f55da428a',1,'glm::slerp(qua< T, Q > const &x, qua< T, Q > const &y, T a)'],['../a00356.html#ga8b11b18ce824174ea1a5a69ea14e2cee',1,'glm::slerp(vec< 3, T, Q > const &x, vec< 3, T, Q > const &y, T const &a)']]], ['smoothstep',['smoothstep',['../a00241.html#ga562edf7eca082cc5b7a0aaf180436daf',1,'glm']]], ['sphericalrand',['sphericalRand',['../a00300.html#ga22f90fcaccdf001c516ca90f6428e138',1,'glm']]], ['sqrt',['sqrt',['../a00242.html#gaa83e5f1648b7ccdf33b87c07c76cb77c',1,'glm::sqrt(vec< L, T, Q > const &v)'],['../a00256.html#ga64b7b255ed7bcba616fe6b44470b022e',1,'glm::sqrt(qua< T, Q > const &q)'],['../a00330.html#ga7ce36693a75879ccd9bb10167cfa722d',1,'glm::sqrt(int x)'],['../a00330.html#ga1975d318978d6dacf78b6444fa5ed7bc',1,'glm::sqrt(uint x)']]], ['squad',['squad',['../a00352.html#ga0b9bf3459e132ad8a18fe970669e3e35',1,'glm']]], ['step',['step',['../a00241.html#ga015a1261ff23e12650211aa872863cce',1,'glm::step(genType edge, genType x)'],['../a00241.html#ga8f9a911a48ef244b51654eaefc81c551',1,'glm::step(T edge, vec< L, T, Q > const &x)'],['../a00241.html#gaf4a5fc81619c7d3e8b22f53d4a098c7f',1,'glm::step(vec< L, T, Q > const &edge, vec< L, T, Q > const &x)']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_11.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_11.js ================================================ var searchData= [ ['tan',['tan',['../a00373.html#ga293a34cfb9f0115cc606b4a97c84f11f',1,'glm']]], ['tanh',['tanh',['../a00373.html#gaa1bccbfdcbe40ed2ffcddc2aa8bfd0f1',1,'glm']]], ['third',['third',['../a00290.html#ga3077c6311010a214b69ddc8214ec13b5',1,'glm']]], ['three_5fover_5ftwo_5fpi',['three_over_two_pi',['../a00290.html#gae94950df74b0ce382b1fc1d978ef7394',1,'glm']]], ['to_5fstring',['to_string',['../a00360.html#ga8f0dced1fd45e67e2d77e80ab93c7af5',1,'glm']]], ['tomat3',['toMat3',['../a00352.html#gaab0afabb894b28a983fb8ec610409d56',1,'glm']]], ['tomat4',['toMat4',['../a00352.html#gadfa2c77094e8cc9adad321d938855ffb',1,'glm']]], ['toquat',['toQuat',['../a00352.html#ga798de5d186499c9a9231cd92c8afaef1',1,'glm::toQuat(mat< 3, 3, T, Q > const &x)'],['../a00352.html#ga5eb36f51e1638e710451eba194dbc011',1,'glm::toQuat(mat< 4, 4, T, Q > const &x)']]], ['translate',['translate',['../a00247.html#ga1a4ecc4ad82652b8fb14dcb087879284',1,'glm::translate(mat< 4, 4, T, Q > const &m, vec< 3, T, Q > const &v)'],['../a00341.html#gaf4573ae47c80938aa9053ef6a33755ab',1,'glm::translate(mat< 3, 3, T, Q > const &m, vec< 2, T, Q > const &v)'],['../a00362.html#ga309a30e652e58c396e2c3d4db3ee7658',1,'glm::translate(vec< 3, T, Q > const &v)']]], ['transpose',['transpose',['../a00371.html#gae679d841da8ce9dbcc6c2d454f15bc35',1,'glm']]], ['trianglenormal',['triangleNormal',['../a00344.html#gaff1cb5496925dfa7962df457772a7f35',1,'glm']]], ['trunc',['trunc',['../a00241.html#gaf9375e3e06173271d49e6ffa3a334259',1,'glm']]], ['tweakedinfiniteperspective',['tweakedInfinitePerspective',['../a00243.html#gaaeacc04a2a6f4b18c5899d37e7bb3ef9',1,'glm::tweakedInfinitePerspective(T fovy, T aspect, T near)'],['../a00243.html#gaf5b3c85ff6737030a1d2214474ffa7a8',1,'glm::tweakedInfinitePerspective(T fovy, T aspect, T near, T ep)']]], ['two_5fover_5fpi',['two_over_pi',['../a00290.html#ga74eadc8a211253079683219a3ea0462a',1,'glm']]], ['two_5fover_5froot_5fpi',['two_over_root_pi',['../a00290.html#ga5827301817640843cf02026a8d493894',1,'glm']]], ['two_5fpi',['two_pi',['../a00290.html#gaa5276a4617566abcfe49286f40e3a256',1,'glm']]], ['two_5fthirds',['two_thirds',['../a00290.html#ga9b4d2f4322edcf63a6737b92a29dd1f5',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_12.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_12.js ================================================ var searchData= [ ['uaddcarry',['uaddCarry',['../a00370.html#gaedcec48743632dff6786bcc492074b1b',1,'glm']]], ['uintbitstofloat',['uintBitsToFloat',['../a00241.html#gab2bae0d15dcdca6093f88f76b3975d97',1,'glm::uintBitsToFloat(uint const &v)'],['../a00241.html#ga97f46b5f7b42fe44482e13356eb394ae',1,'glm::uintBitsToFloat(vec< L, uint, Q > const &v)']]], ['umulextended',['umulExtended',['../a00370.html#ga732e2fb56db57ea541c7e5c92b7121be',1,'glm']]], ['unpackdouble2x32',['unpackDouble2x32',['../a00372.html#ga5f4296dc5f12f0aa67ac05b8bb322483',1,'glm']]], ['unpackf2x11_5f1x10',['unpackF2x11_1x10',['../a00298.html#ga2b1fd1e854705b1345e98409e0a25e50',1,'glm']]], ['unpackf3x9_5fe1x5',['unpackF3x9_E1x5',['../a00298.html#gab9e60ebe3ad3eeced6a9ec6eb876d74e',1,'glm']]], ['unpackhalf',['unpackHalf',['../a00298.html#ga30d6b2f1806315bcd6047131f547d33b',1,'glm']]], ['unpackhalf1x16',['unpackHalf1x16',['../a00298.html#gac37dedaba24b00adb4ec6e8f92c19dbf',1,'glm']]], ['unpackhalf2x16',['unpackHalf2x16',['../a00372.html#gaf59b52e6b28da9335322c4ae19b5d745',1,'glm']]], ['unpackhalf4x16',['unpackHalf4x16',['../a00298.html#ga57dfc41b2eb20b0ac00efae7d9c49dcd',1,'glm']]], ['unpacki3x10_5f1x2',['unpackI3x10_1x2',['../a00298.html#ga9a05330e5490be0908d3b117d82aff56',1,'glm']]], ['unpackint2x16',['unpackInt2x16',['../a00298.html#gaccde055882918a3175de82f4ca8b7d8e',1,'glm']]], ['unpackint2x32',['unpackInt2x32',['../a00298.html#gab297c0bfd38433524791eb0584d8f08d',1,'glm']]], ['unpackint2x8',['unpackInt2x8',['../a00298.html#gab0c59f1e259fca9e68adb2207a6b665e',1,'glm']]], ['unpackint4x16',['unpackInt4x16',['../a00298.html#ga52c154a9b232b62c22517a700cc0c78c',1,'glm']]], ['unpackint4x8',['unpackInt4x8',['../a00298.html#ga1cd8d2038cdd33a860801aa155a26221',1,'glm']]], ['unpackrgbm',['unpackRGBM',['../a00298.html#ga5c1ec97894b05ea21a05aea4f0204a02',1,'glm']]], ['unpacksnorm',['unpackSnorm',['../a00298.html#ga6d49b31e5c3f9df8e1f99ab62b999482',1,'glm']]], ['unpacksnorm1x16',['unpackSnorm1x16',['../a00298.html#ga96dd15002370627a443c835ab03a766c',1,'glm']]], ['unpacksnorm1x8',['unpackSnorm1x8',['../a00298.html#ga4851ff86678aa1c7ace9d67846894285',1,'glm']]], ['unpacksnorm2x16',['unpackSnorm2x16',['../a00372.html#gacd8f8971a3fe28418be0d0fa1f786b38',1,'glm']]], ['unpacksnorm2x8',['unpackSnorm2x8',['../a00298.html#ga8b128e89be449fc71336968a66bf6e1a',1,'glm']]], ['unpacksnorm3x10_5f1x2',['unpackSnorm3x10_1x2',['../a00298.html#ga7a4fbf79be9740e3c57737bc2af05e5b',1,'glm']]], ['unpacksnorm4x16',['unpackSnorm4x16',['../a00298.html#gaaddf9c353528fe896106f7181219c7f4',1,'glm']]], ['unpacksnorm4x8',['unpackSnorm4x8',['../a00372.html#ga2db488646d48b7c43d3218954523fe82',1,'glm']]], ['unpacku3x10_5f1x2',['unpackU3x10_1x2',['../a00298.html#ga48df3042a7d079767f5891a1bfd8a60a',1,'glm']]], ['unpackuint2x16',['unpackUint2x16',['../a00298.html#ga035bbbeab7ec2b28c0529757395b645b',1,'glm']]], ['unpackuint2x32',['unpackUint2x32',['../a00298.html#gaf942ff11b65e83eb5f77e68329ebc6ab',1,'glm']]], ['unpackuint2x8',['unpackUint2x8',['../a00298.html#gaa7600a6c71784b637a410869d2a5adcd',1,'glm']]], ['unpackuint4x16',['unpackUint4x16',['../a00298.html#gab173834ef14cfc23a96a959f3ff4b8dc',1,'glm']]], ['unpackuint4x8',['unpackUint4x8',['../a00298.html#gaf6dc0e4341810a641c7ed08f10e335d1',1,'glm']]], ['unpackunorm',['unpackUnorm',['../a00298.html#ga3e6ac9178b59f0b1b2f7599f2183eb7f',1,'glm']]], ['unpackunorm1x16',['unpackUnorm1x16',['../a00298.html#ga83d34160a5cb7bcb5339823210fc7501',1,'glm']]], ['unpackunorm1x5_5f1x6_5f1x5',['unpackUnorm1x5_1x6_1x5',['../a00298.html#gab3bc08ecfc0f3339be93fb2b3b56d88a',1,'glm']]], ['unpackunorm1x8',['unpackUnorm1x8',['../a00298.html#ga1319207e30874fb4931a9ee913983ee1',1,'glm']]], ['unpackunorm2x16',['unpackUnorm2x16',['../a00372.html#ga1f66188e5d65afeb9ffba1ad971e4007',1,'glm']]], ['unpackunorm2x3_5f1x2',['unpackUnorm2x3_1x2',['../a00298.html#ga6abd5a9014df3b5ce4059008d2491260',1,'glm']]], ['unpackunorm2x4',['unpackUnorm2x4',['../a00298.html#ga2e50476132fe5f27f08e273d9c70d85b',1,'glm']]], ['unpackunorm2x8',['unpackUnorm2x8',['../a00298.html#ga637cbe3913dd95c6e7b4c99c61bd611f',1,'glm']]], ['unpackunorm3x10_5f1x2',['unpackUnorm3x10_1x2',['../a00298.html#ga5156d3060355fe332865da2c7f78815f',1,'glm']]], ['unpackunorm3x5_5f1x1',['unpackUnorm3x5_1x1',['../a00298.html#ga5ff95ff5bc16f396432ab67243dbae4d',1,'glm']]], ['unpackunorm4x16',['unpackUnorm4x16',['../a00298.html#ga2ae149c5d2473ac1e5f347bb654a242d',1,'glm']]], ['unpackunorm4x4',['unpackUnorm4x4',['../a00298.html#gac58ee89d0e224bb6df5e8bbb18843a2d',1,'glm']]], ['unpackunorm4x8',['unpackUnorm4x8',['../a00372.html#ga7f903259150b67e9466f5f8edffcd197',1,'glm']]], ['unproject',['unProject',['../a00245.html#ga36641e5d60f994e01c3d8f56b10263d2',1,'glm']]], ['unprojectno',['unProjectNO',['../a00245.html#gae089ba9fc150ff69c252a20e508857b5',1,'glm']]], ['unprojectzo',['unProjectZO',['../a00245.html#gade5136413ce530f8e606124d570fba32',1,'glm']]], ['uround',['uround',['../a00292.html#ga6715b9d573972a0f7763d30d45bcaec4',1,'glm']]], ['usubborrow',['usubBorrow',['../a00370.html#gae3316ba1229ad9b9f09480833321b053',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_13.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_13.js ================================================ var searchData= [ ['value_5fptr',['value_ptr',['../a00305.html#ga1c64669e1ba1160ad9386e43dc57569a',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_14.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_14.js ================================================ var searchData= [ ['wrapangle',['wrapAngle',['../a00325.html#ga069527c6dbd64f53435b8ebc4878b473',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_15.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_15.js ================================================ var searchData= [ ['yaw',['yaw',['../a00299.html#ga8da38cdfdc452dafa660c2f46506bad5',1,'glm']]], ['yawpitchroll',['yawPitchRoll',['../a00319.html#gae6aa26ccb020d281b449619e419a609e',1,'glm']]], ['ycocg2rgb',['YCoCg2rgb',['../a00313.html#ga163596b804c7241810b2534a99eb1343',1,'glm']]], ['ycocgr2rgb',['YCoCgR2rgb',['../a00313.html#gaf8d30574c8576838097d8e20c295384a',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_16.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_16.js ================================================ var searchData= [ ['zero',['zero',['../a00290.html#ga788f5a421fc0f40a1296ebc094cbaa8a',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_2.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_2.js ================================================ var searchData= [ ['catmullrom',['catmullRom',['../a00358.html#ga8119c04f8210fd0d292757565cd6918d',1,'glm']]], ['ceil',['ceil',['../a00241.html#gafb9d2a645a23aca12d4d6de0104b7657',1,'glm']]], ['ceilmultiple',['ceilMultiple',['../a00302.html#ga1d89ac88582aaf4d5dfa5feb4a376fd4',1,'glm::ceilMultiple(genType v, genType Multiple)'],['../a00302.html#gab77fdcc13f8e92d2e0b1b7d7aeab8e9d',1,'glm::ceilMultiple(vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)']]], ['ceilpoweroftwo',['ceilPowerOfTwo',['../a00302.html#ga5c3ef36ae32aa4271f1544f92bd578b6',1,'glm::ceilPowerOfTwo(genIUType v)'],['../a00302.html#gab53d4a97c0d3e297be5f693cdfdfe5d2',1,'glm::ceilPowerOfTwo(vec< L, T, Q > const &v)']]], ['circulareasein',['circularEaseIn',['../a00318.html#ga34508d4b204a321ec26d6086aa047997',1,'glm']]], ['circulareaseinout',['circularEaseInOut',['../a00318.html#ga0c1027637a5b02d4bb3612aa12599d69',1,'glm']]], ['circulareaseout',['circularEaseOut',['../a00318.html#ga26fefde9ced9b72745fe21f1a3fe8da7',1,'glm']]], ['circularrand',['circularRand',['../a00300.html#ga9dd05c36025088fae25b97c869e88517',1,'glm']]], ['clamp',['clamp',['../a00241.html#ga7cd77683da6361e297c56443fc70806d',1,'glm::clamp(genType x, genType minVal, genType maxVal)'],['../a00241.html#gafba2e0674deb5953878d89483cd6323d',1,'glm::clamp(vec< L, T, Q > const &x, T minVal, T maxVal)'],['../a00241.html#gaa0f2f12e9108b09e22a3f0b2008a0b5d',1,'glm::clamp(vec< L, T, Q > const &x, vec< L, T, Q > const &minVal, vec< L, T, Q > const &maxVal)'],['../a00369.html#ga6c0cc6bd1d67ea1008d2592e998bad33',1,'glm::clamp(genType const &Texcoord)']]], ['closebounded',['closeBounded',['../a00314.html#gab7d89c14c48ad01f720fb5daf8813161',1,'glm']]], ['closestpointonline',['closestPointOnLine',['../a00310.html#ga36529c278ef716986151d58d151d697d',1,'glm::closestPointOnLine(vec< 3, T, Q > const &point, vec< 3, T, Q > const &a, vec< 3, T, Q > const &b)'],['../a00310.html#ga55bcbcc5fc06cb7ff7bc7a6e0e155eb0',1,'glm::closestPointOnLine(vec< 2, T, Q > const &point, vec< 2, T, Q > const &a, vec< 2, T, Q > const &b)']]], ['colmajor2',['colMajor2',['../a00338.html#gaaff72f11286e59a4a88ed21a347f284c',1,'glm::colMajor2(vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)'],['../a00338.html#gafc25fd44196c92b1397b127aec1281ab',1,'glm::colMajor2(mat< 2, 2, T, Q > const &m)']]], ['colmajor3',['colMajor3',['../a00338.html#ga1e25b72b085087740c92f5c70f3b051f',1,'glm::colMajor3(vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2, vec< 3, T, Q > const &v3)'],['../a00338.html#ga86bd0656e787bb7f217607572590af27',1,'glm::colMajor3(mat< 3, 3, T, Q > const &m)']]], ['colmajor4',['colMajor4',['../a00338.html#gaf4aa6c7e17bfce41a6c13bf6469fab05',1,'glm::colMajor4(vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2, vec< 4, T, Q > const &v3, vec< 4, T, Q > const &v4)'],['../a00338.html#gaf3f9511c366c20ba2e4a64c9e4cec2b3',1,'glm::colMajor4(mat< 4, 4, T, Q > const &m)']]], ['column',['column',['../a00293.html#ga96022eb0d3fae39d89fc7a954e59b374',1,'glm::column(genType const &m, length_t index)'],['../a00293.html#ga9e757377523890e8b80c5843dbe4dd15',1,'glm::column(genType const &m, length_t index, typename genType::col_type const &x)']]], ['compadd',['compAdd',['../a00316.html#gaf71833350e15e74d31cbf8a3e7f27051',1,'glm']]], ['compmax',['compMax',['../a00316.html#gabfa4bb19298c8c73d4217ba759c496b6',1,'glm']]], ['compmin',['compMin',['../a00316.html#gab5d0832b5c7bb01b8d7395973bfb1425',1,'glm']]], ['compmul',['compMul',['../a00316.html#gae8ab88024197202c9479d33bdc5a8a5d',1,'glm']]], ['compnormalize',['compNormalize',['../a00316.html#ga8f2b81ada8515875e58cb1667b6b9908',1,'glm']]], ['compscale',['compScale',['../a00316.html#ga80abc2980d65d675f435d178c36880eb',1,'glm']]], ['conjugate',['conjugate',['../a00248.html#ga10d7bda73201788ac2ab28cd8d0d409b',1,'glm']]], ['convertd65xyztod50xyz',['convertD65XYZToD50XYZ',['../a00311.html#gad12f4f65022b2c80e33fcba2ced0dc48',1,'glm']]], ['convertd65xyztolinearsrgb',['convertD65XYZToLinearSRGB',['../a00311.html#ga5265386fc3ac29e4c580d37ed470859c',1,'glm']]], ['convertlinearsrgbtod50xyz',['convertLinearSRGBToD50XYZ',['../a00311.html#ga1522ba180e3d83d554a734056da031f9',1,'glm']]], ['convertlinearsrgbtod65xyz',['convertLinearSRGBToD65XYZ',['../a00311.html#gaf9e130d9d4ccf51cc99317de7449f369',1,'glm']]], ['convertlineartosrgb',['convertLinearToSRGB',['../a00289.html#ga42239e7b3da900f7ef37cec7e2476579',1,'glm::convertLinearToSRGB(vec< L, T, Q > const &ColorLinear)'],['../a00289.html#gaace0a21167d13d26116c283009af57f6',1,'glm::convertLinearToSRGB(vec< L, T, Q > const &ColorLinear, T Gamma)']]], ['convertsrgbtolinear',['convertSRGBToLinear',['../a00289.html#ga16c798b7a226b2c3079dedc55083d187',1,'glm::convertSRGBToLinear(vec< L, T, Q > const &ColorSRGB)'],['../a00289.html#gad1b91f27a9726c9cb403f9fee6e2e200',1,'glm::convertSRGBToLinear(vec< L, T, Q > const &ColorSRGB, T Gamma)']]], ['cos',['cos',['../a00373.html#ga6a41efc740e3b3c937447d3a6284130e',1,'glm']]], ['cosh',['cosh',['../a00373.html#ga4e260e372742c5f517aca196cf1e62b3',1,'glm']]], ['cot',['cot',['../a00301.html#ga3a7b517a95bbd3ad74da3aea87a66314',1,'glm']]], ['coth',['coth',['../a00301.html#ga6b8b770eb7198e4dea59d52e6db81442',1,'glm']]], ['cross',['cross',['../a00254.html#ga755beaa929c75751dee646cccba37e4c',1,'glm::cross(qua< T, Q > const &q1, qua< T, Q > const &q2)'],['../a00279.html#gaeeec0794212fe84fc9d261de067c9587',1,'glm::cross(vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)'],['../a00322.html#gac36e72b934ea6a9dd313772d7e78fa93',1,'glm::cross(vec< 2, T, Q > const &v, vec< 2, T, Q > const &u)'],['../a00352.html#ga2f32f970411c44cdd38bb98960198385',1,'glm::cross(qua< T, Q > const &q, vec< 3, T, Q > const &v)'],['../a00352.html#ga9f5f77255756e5668dfee7f0d07ed021',1,'glm::cross(vec< 3, T, Q > const &v, qua< T, Q > const &q)']]], ['csc',['csc',['../a00301.html#ga59dd0005b6474eea48af743b4f14ebbb',1,'glm']]], ['csch',['csch',['../a00301.html#ga6d95843ff3ca6472ab399ba171d290a0',1,'glm']]], ['cubic',['cubic',['../a00358.html#ga6b867eb52e2fc933d2e0bf26aabc9a70',1,'glm']]], ['cubiceasein',['cubicEaseIn',['../a00318.html#gaff52f746102b94864d105563ba8895ae',1,'glm']]], ['cubiceaseinout',['cubicEaseInOut',['../a00318.html#ga55134072b42d75452189321d4a2ad91c',1,'glm']]], ['cubiceaseout',['cubicEaseOut',['../a00318.html#ga40d746385d8bcc5973f5bc6a2340ca91',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_3.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_3.js ================================================ var searchData= [ ['decompose',['decompose',['../a00335.html#gac0e342656ba09a9bc97c57182ba73124',1,'glm']]], ['degrees',['degrees',['../a00373.html#ga8faec9e303538065911ba8b3caf7326b',1,'glm']]], ['derivedeuleranglex',['derivedEulerAngleX',['../a00319.html#ga994b8186b3b80d91cf90bc403164692f',1,'glm']]], ['derivedeulerangley',['derivedEulerAngleY',['../a00319.html#ga0a4c56ecce7abcb69508ebe6313e9d10',1,'glm']]], ['derivedeuleranglez',['derivedEulerAngleZ',['../a00319.html#gae8b397348201c42667be983ba3f344df',1,'glm']]], ['determinant',['determinant',['../a00371.html#gad7928795124768e058f99dce270f5c8d',1,'glm']]], ['diagonal2x2',['diagonal2x2',['../a00339.html#ga58a32a2beeb2478dae2a721368cdd4ac',1,'glm']]], ['diagonal2x3',['diagonal2x3',['../a00339.html#gab69f900206a430e2875a5a073851e175',1,'glm']]], ['diagonal2x4',['diagonal2x4',['../a00339.html#ga30b4dbfed60a919d66acc8a63bcdc549',1,'glm']]], ['diagonal3x2',['diagonal3x2',['../a00339.html#ga832c805d5130d28ad76236958d15b47d',1,'glm']]], ['diagonal3x3',['diagonal3x3',['../a00339.html#ga5487ff9cdbc8e04d594adef1bcb16ee0',1,'glm']]], ['diagonal3x4',['diagonal3x4',['../a00339.html#gad7551139cff0c4208d27f0ad3437833e',1,'glm']]], ['diagonal4x2',['diagonal4x2',['../a00339.html#gacb8969e6543ba775c6638161a37ac330',1,'glm']]], ['diagonal4x3',['diagonal4x3',['../a00339.html#gae235def5049d6740f0028433f5e13f90',1,'glm']]], ['diagonal4x4',['diagonal4x4',['../a00339.html#ga0b4cd8dea436791b072356231ee8578f',1,'glm']]], ['diskrand',['diskRand',['../a00300.html#gaa0b18071f3f97dbf8bcf6f53c6fe5f73',1,'glm']]], ['distance',['distance',['../a00279.html#gaa68de6c53e20dfb2dac2d20197562e3f',1,'glm']]], ['distance2',['distance2',['../a00343.html#ga85660f1b79f66c09c7b5a6f80e68c89f',1,'glm']]], ['dot',['dot',['../a00254.html#ga84865a56acb8fbd7bc4f5c0b928e3cfc',1,'glm::dot(qua< T, Q > const &x, qua< T, Q > const &y)'],['../a00279.html#gaad6c5d9d39bdc0bf43baf1b22e147a0a',1,'glm::dot(vec< L, T, Q > const &x, vec< L, T, Q > const &y)']]], ['dual_5fquat_5fidentity',['dual_quat_identity',['../a00317.html#ga0b35c0e30df8a875dbaa751e0bd800e0',1,'glm']]], ['dualquat_5fcast',['dualquat_cast',['../a00317.html#gac4064ff813759740201765350eac4236',1,'glm::dualquat_cast(mat< 2, 4, T, Q > const &x)'],['../a00317.html#ga91025ebdca0f4ea54da08497b00e8c84',1,'glm::dualquat_cast(mat< 3, 4, T, Q > const &x)']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_4.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_4.js ================================================ var searchData= [ ['e',['e',['../a00290.html#ga4b7956eb6e2fbedfc7cf2e46e85c5139',1,'glm']]], ['elasticeasein',['elasticEaseIn',['../a00318.html#ga230918eccee4e113d10ec5b8cdc58695',1,'glm']]], ['elasticeaseinout',['elasticEaseInOut',['../a00318.html#ga2db4ac8959559b11b4029e54812908d6',1,'glm']]], ['elasticeaseout',['elasticEaseOut',['../a00318.html#gace9c9d1bdf88bf2ab1e7cdefa54c7365',1,'glm']]], ['epsilon',['epsilon',['../a00259.html#ga2a1e57fc5592b69cfae84174cbfc9429',1,'glm']]], ['epsilonequal',['epsilonEqual',['../a00291.html#ga91b417866cafadd076004778217a1844',1,'glm::epsilonEqual(vec< L, T, Q > const &x, vec< L, T, Q > const &y, T const &epsilon)'],['../a00291.html#gaa7f227999ca09e7ca994e8b35aba47bb',1,'glm::epsilonEqual(genType const &x, genType const &y, genType const &epsilon)']]], ['epsilonnotequal',['epsilonNotEqual',['../a00291.html#gaf840d33b9a5261ec78dcd5125743b025',1,'glm::epsilonNotEqual(vec< L, T, Q > const &x, vec< L, T, Q > const &y, T const &epsilon)'],['../a00291.html#ga50a92103fb0cbd796908e1bf20c79aaf',1,'glm::epsilonNotEqual(genType const &x, genType const &y, genType const &epsilon)']]], ['equal',['equal',['../a00246.html#ga27e90dcb7941c9b70e295dc3f6f6369f',1,'glm::equal(mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y)'],['../a00246.html#gaf5d687d70d11708b68c36c6db5777040',1,'glm::equal(mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, T epsilon)'],['../a00246.html#gafa6a053e81179fa4292b35651c83c3fb',1,'glm::equal(mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, vec< C, T, Q > const &epsilon)'],['../a00246.html#gab3a93f19e72e9141f50527c9de21d0c0',1,'glm::equal(mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, int ULPs)'],['../a00246.html#ga5305af376173f1902719fa309bbae671',1,'glm::equal(mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, vec< C, int, Q > const &ULPs)'],['../a00255.html#gad7827af0549504ff1cd6a359786acc7a',1,'glm::equal(qua< T, Q > const &x, qua< T, Q > const &y)'],['../a00255.html#gaa001eecb91106463169a8e5ef1577b39',1,'glm::equal(qua< T, Q > const &x, qua< T, Q > const &y, T epsilon)'],['../a00275.html#ga2ac7651a2fa7354f2da610dbd50d28e2',1,'glm::equal(vec< L, T, Q > const &x, vec< L, T, Q > const &y, T epsilon)'],['../a00275.html#ga37d261a65f69babc82cec2ae1af7145f',1,'glm::equal(vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &epsilon)'],['../a00275.html#ga2b46cb50911e97b32f4cd743c2c69771',1,'glm::equal(vec< L, T, Q > const &x, vec< L, T, Q > const &y, int ULPs)'],['../a00275.html#ga7da2b8605be7f245b39cb6fbf6d9d581',1,'glm::equal(vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, int, Q > const &ULPs)'],['../a00374.html#gab4c5cfdaa70834421397a85aa83ad946',1,'glm::equal(vec< L, T, Q > const &x, vec< L, T, Q > const &y)']]], ['euclidean',['euclidean',['../a00350.html#ga1821d5b3324201e60a9e2823d0b5d0c8',1,'glm']]], ['euler',['euler',['../a00290.html#gad8fe2e6f90bce9d829e9723b649fbd42',1,'glm']]], ['eulerangles',['eulerAngles',['../a00299.html#gaf4dd967dead22dd932fc7460ceecb03f',1,'glm']]], ['euleranglex',['eulerAngleX',['../a00319.html#gafba6282e4ed3ff8b5c75331abfba3489',1,'glm']]], ['euleranglexy',['eulerAngleXY',['../a00319.html#ga64036577ee17a2d24be0dbc05881d4e2',1,'glm']]], ['euleranglexyx',['eulerAngleXYX',['../a00319.html#ga29bd0787a28a6648159c0d6e69706066',1,'glm']]], ['euleranglexyz',['eulerAngleXYZ',['../a00319.html#ga1975e0f0e9bed7f716dc9946da2ab645',1,'glm']]], ['euleranglexz',['eulerAngleXZ',['../a00319.html#gaa39bd323c65c2fc0a1508be33a237ce9',1,'glm']]], ['euleranglexzx',['eulerAngleXZX',['../a00319.html#ga60171c79a17aec85d7891ae1d1533ec9',1,'glm']]], ['euleranglexzy',['eulerAngleXZY',['../a00319.html#ga996dce12a60d8a674ba6737a535fa910',1,'glm']]], ['eulerangley',['eulerAngleY',['../a00319.html#gab84bf4746805fd69b8ecbb230e3974c5',1,'glm']]], ['eulerangleyx',['eulerAngleYX',['../a00319.html#ga4f57e6dd25c3cffbbd4daa6ef3f4486d',1,'glm']]], ['eulerangleyxy',['eulerAngleYXY',['../a00319.html#ga750fba9894117f87bcc529d7349d11de',1,'glm']]], ['eulerangleyxz',['eulerAngleYXZ',['../a00319.html#gab8ba99a9814f6d9edf417b6c6d5b0c10',1,'glm']]], ['eulerangleyz',['eulerAngleYZ',['../a00319.html#ga220379e10ac8cca55e275f0c9018fed9',1,'glm']]], ['eulerangleyzx',['eulerAngleYZX',['../a00319.html#ga08bef16357b8f9b3051b3dcaec4b7848',1,'glm']]], ['eulerangleyzy',['eulerAngleYZY',['../a00319.html#ga5e5e40abc27630749b42b3327c76d6e4',1,'glm']]], ['euleranglez',['eulerAngleZ',['../a00319.html#ga5b3935248bb6c3ec6b0d9297d406e251',1,'glm']]], ['euleranglezx',['eulerAngleZX',['../a00319.html#ga483903115cd4059228961046a28d69b5',1,'glm']]], ['euleranglezxy',['eulerAngleZXY',['../a00319.html#gab4505c54d2dd654df4569fd1f04c43aa',1,'glm']]], ['euleranglezxz',['eulerAngleZXZ',['../a00319.html#ga178f966c52b01e4d65e31ebd007e3247',1,'glm']]], ['euleranglezy',['eulerAngleZY',['../a00319.html#ga400b2bd5984999efab663f3a68e1d020',1,'glm']]], ['euleranglezyx',['eulerAngleZYX',['../a00319.html#ga2e61f1e39069c47530acab9167852dd6',1,'glm']]], ['euleranglezyz',['eulerAngleZYZ',['../a00319.html#gacd795f1dbecaf74974f9c76bbcca6830',1,'glm']]], ['exp',['exp',['../a00242.html#ga071566cadc7505455e611f2a0353f4d4',1,'glm::exp(vec< L, T, Q > const &v)'],['../a00256.html#gaab2d37ef7265819f1d2939b9dc2c52ac',1,'glm::exp(qua< T, Q > const &q)']]], ['exp2',['exp2',['../a00242.html#gaff17ace6b579a03bf223ed4d1ed2cd16',1,'glm']]], ['exponentialeasein',['exponentialEaseIn',['../a00318.html#ga7f24ee9219ab4c84dc8de24be84c1e3c',1,'glm']]], ['exponentialeaseinout',['exponentialEaseInOut',['../a00318.html#ga232fb6dc093c5ce94bee105ff2947501',1,'glm']]], ['exponentialeaseout',['exponentialEaseOut',['../a00318.html#ga517f2bcfd15bc2c25c466ae50808efc3',1,'glm']]], ['extend',['extend',['../a00320.html#ga8140caae613b0f847ab0d7175dc03a37',1,'glm']]], ['extracteuleranglexyx',['extractEulerAngleXYX',['../a00319.html#gaf1077a72171d0f3b08f022ab5ff88af7',1,'glm']]], ['extracteuleranglexyz',['extractEulerAngleXYZ',['../a00319.html#gacea701562f778c1da4d3a0a1cf091000',1,'glm']]], ['extracteuleranglexzx',['extractEulerAngleXZX',['../a00319.html#gacf0bc6c031f25fa3ee0055b62c8260d0',1,'glm']]], ['extracteuleranglexzy',['extractEulerAngleXZY',['../a00319.html#gabe5a65d8eb1cd873c8de121cce1a15ed',1,'glm']]], ['extracteulerangleyxy',['extractEulerAngleYXY',['../a00319.html#gaab8868556361a190db94374e9983ed39',1,'glm']]], ['extracteulerangleyxz',['extractEulerAngleYXZ',['../a00319.html#gaf0937518e63037335a0e8358b6f053c5',1,'glm']]], ['extracteulerangleyzx',['extractEulerAngleYZX',['../a00319.html#ga9049b78466796c0de2971756e25b93d3',1,'glm']]], ['extracteulerangleyzy',['extractEulerAngleYZY',['../a00319.html#ga11dad972c109e4bf8694c915017c44a6',1,'glm']]], ['extracteuleranglezxy',['extractEulerAngleZXY',['../a00319.html#ga81fbbca2ba0c778b9662d5355b4e2363',1,'glm']]], ['extracteuleranglezxz',['extractEulerAngleZXZ',['../a00319.html#ga59359fef9bad92afaca55e193f91e702',1,'glm']]], ['extracteuleranglezyx',['extractEulerAngleZYX',['../a00319.html#ga2d6c11a4abfa60c565483cee2d3f7665',1,'glm']]], ['extracteuleranglezyz',['extractEulerAngleZYZ',['../a00319.html#gafdfa880a64b565223550c2d3938b1aeb',1,'glm']]], ['extractmatrixrotation',['extractMatrixRotation',['../a00337.html#gabbc1c7385a145f04b5c54228965df145',1,'glm']]], ['extractrealcomponent',['extractRealComponent',['../a00352.html#ga321953c1b2e7befe6f5dcfddbfc6b76b',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_5.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_5.js ================================================ var searchData= [ ['faceforward',['faceforward',['../a00279.html#ga7aed0a36c738169402404a3a5d54e43b',1,'glm']]], ['factorial',['factorial',['../a00330.html#ga8cbd3120905f398ec321b5d1836e08fb',1,'glm']]], ['fastacos',['fastAcos',['../a00325.html#ga9721d63356e5d94fdc4b393a426ab26b',1,'glm']]], ['fastasin',['fastAsin',['../a00325.html#ga562cb62c51fbfe7fac7db0bce706b81f',1,'glm']]], ['fastatan',['fastAtan',['../a00325.html#ga8d197c6ef564f5e5d59af3b3f8adcc2c',1,'glm::fastAtan(T y, T x)'],['../a00325.html#gae25de86a968490ff56856fa425ec9d30',1,'glm::fastAtan(T angle)']]], ['fastcos',['fastCos',['../a00325.html#gab34c8b45c23c0165a64dcecfcc3b302a',1,'glm']]], ['fastdistance',['fastDistance',['../a00324.html#gaac333418d0c4e0cc6d3d219ed606c238',1,'glm::fastDistance(genType x, genType y)'],['../a00324.html#ga42d3e771fa7cb3c60d828e315829df19',1,'glm::fastDistance(vec< L, T, Q > const &x, vec< L, T, Q > const &y)']]], ['fastexp',['fastExp',['../a00323.html#gaa3180ac8f96ab37ab96e0cacaf608e10',1,'glm::fastExp(T x)'],['../a00323.html#ga3ba6153aec6bd74628f8b00530aa8d58',1,'glm::fastExp(vec< L, T, Q > const &x)']]], ['fastexp2',['fastExp2',['../a00323.html#ga0af50585955eb14c60bb286297fabab2',1,'glm::fastExp2(T x)'],['../a00323.html#gacaaed8b67d20d244b7de217e7816c1b6',1,'glm::fastExp2(vec< L, T, Q > const &x)']]], ['fastinversesqrt',['fastInverseSqrt',['../a00324.html#ga7f081b14d9c7035c8714eba5f7f75a8f',1,'glm::fastInverseSqrt(genType x)'],['../a00324.html#gadcd7be12b1e5ee182141359d4c45dd24',1,'glm::fastInverseSqrt(vec< L, T, Q > const &x)']]], ['fastlength',['fastLength',['../a00324.html#gafe697d6287719538346bbdf8b1367c59',1,'glm::fastLength(genType x)'],['../a00324.html#ga90f66be92ef61e705c005e7b3209edb8',1,'glm::fastLength(vec< L, T, Q > const &x)']]], ['fastlog',['fastLog',['../a00323.html#gae1bdc97b7f96a600e29c753f1cd4388a',1,'glm::fastLog(T x)'],['../a00323.html#ga937256993a7219e73f186bb348fe6be8',1,'glm::fastLog(vec< L, T, Q > const &x)']]], ['fastlog2',['fastLog2',['../a00323.html#ga6e98118685f6dc9e05fbb13dd5e5234e',1,'glm::fastLog2(T x)'],['../a00323.html#ga7562043539194ccc24649f8475bc5584',1,'glm::fastLog2(vec< L, T, Q > const &x)']]], ['fastmix',['fastMix',['../a00352.html#ga264e10708d58dd0ff53b7902a2bd2561',1,'glm']]], ['fastnormalize',['fastNormalize',['../a00324.html#ga3b02c1d6e0c754144e2f1e110bf9f16c',1,'glm']]], ['fastnormalizedot',['fastNormalizeDot',['../a00345.html#ga2746fb9b5bd22b06b2f7c8babba5de9e',1,'glm']]], ['fastpow',['fastPow',['../a00323.html#ga5340e98a11fcbbd936ba6e983a154d50',1,'glm::fastPow(genType x, genType y)'],['../a00323.html#ga15325a8ed2d1c4ed2412c4b3b3927aa2',1,'glm::fastPow(vec< L, T, Q > const &x, vec< L, T, Q > const &y)'],['../a00323.html#ga7f2562db9c3e02ae76169c36b086c3f6',1,'glm::fastPow(genTypeT x, genTypeU y)'],['../a00323.html#ga1abe488c0829da5b9de70ac64aeaa7e5',1,'glm::fastPow(vec< L, T, Q > const &x)']]], ['fastsin',['fastSin',['../a00325.html#ga0aab3257bb3b628d10a1e0483e2c6915',1,'glm']]], ['fastsqrt',['fastSqrt',['../a00324.html#ga6c460e9414a50b2fc455c8f64c86cdc9',1,'glm::fastSqrt(genType x)'],['../a00324.html#gae83f0c03614f73eae5478c5b6274ee6d',1,'glm::fastSqrt(vec< L, T, Q > const &x)']]], ['fasttan',['fastTan',['../a00325.html#gaf29b9c1101a10007b4f79ee89df27ba2',1,'glm']]], ['fclamp',['fclamp',['../a00321.html#ga1e28539d3a46965ed9ef92ec7cb3b18a',1,'glm::fclamp(genType x, genType minVal, genType maxVal)'],['../a00321.html#ga60796d08903489ee185373593bc16b9d',1,'glm::fclamp(vec< L, T, Q > const &x, T minVal, T maxVal)'],['../a00321.html#ga5c15fa4709763c269c86c0b8b3aa2297',1,'glm::fclamp(vec< L, T, Q > const &x, vec< L, T, Q > const &minVal, vec< L, T, Q > const &maxVal)']]], ['findlsb',['findLSB',['../a00370.html#gaf74c4d969fa34ab8acb9d390f5ca5274',1,'glm::findLSB(genIUType x)'],['../a00370.html#ga4454c0331d6369888c28ab677f4810c7',1,'glm::findLSB(vec< L, T, Q > const &v)']]], ['findmsb',['findMSB',['../a00370.html#ga7e4a794d766861c70bc961630f8ef621',1,'glm::findMSB(genIUType x)'],['../a00370.html#ga39ac4d52028bb6ab08db5ad6562c2872',1,'glm::findMSB(vec< L, T, Q > const &v)']]], ['findnsb',['findNSB',['../a00261.html#ga2777901e41ad6e1e9d0ad6cc855d1075',1,'glm::findNSB(genIUType x, int significantBitCount)'],['../a00274.html#gaff61eca266da315002a3db92ff0dd604',1,'glm::findNSB(vec< L, T, Q > const &Source, vec< L, int, Q > SignificantBitCount)']]], ['fliplr',['fliplr',['../a00336.html#gaf39f4e5f78eb29c1a90277d45b9b3feb',1,'glm']]], ['flipud',['flipud',['../a00336.html#ga85003371f0ba97380dd25e8905de1870',1,'glm']]], ['floatbitstoint',['floatBitsToInt',['../a00241.html#ga1425c1c3160ec51214b03a0469a3013d',1,'glm::floatBitsToInt(float const &v)'],['../a00241.html#ga99f7d62f78ac5ea3b49bae715c9488ed',1,'glm::floatBitsToInt(vec< L, float, Q > const &v)']]], ['floatbitstouint',['floatBitsToUint',['../a00241.html#ga70e0271c34af52f3100c7960e18c3f2b',1,'glm::floatBitsToUint(float const &v)'],['../a00241.html#ga49418ba4c8a60fbbb5d57b705f3e26db',1,'glm::floatBitsToUint(vec< L, float, Q > const &v)']]], ['floor',['floor',['../a00241.html#gaa9d0742639e85b29c7c5de11cfd6840d',1,'glm']]], ['floor_5flog2',['floor_log2',['../a00330.html#ga7011b4e1c1e1ed492149b028feacc00e',1,'glm']]], ['floormultiple',['floorMultiple',['../a00302.html#ga2ffa3cd5f2ea746ee1bf57c46da6315e',1,'glm::floorMultiple(genType v, genType Multiple)'],['../a00302.html#gacdd8901448f51f0b192380e422fae3e4',1,'glm::floorMultiple(vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)']]], ['floorpoweroftwo',['floorPowerOfTwo',['../a00302.html#gafe273a57935d04c9db677bf67f9a71f4',1,'glm::floorPowerOfTwo(genIUType v)'],['../a00302.html#gaf0d591a8fca8ddb9289cdeb44b989c2d',1,'glm::floorPowerOfTwo(vec< L, T, Q > const &v)']]], ['fma',['fma',['../a00241.html#gad0f444d4b81cc53c3b6edf5aa25078c2',1,'glm']]], ['fmax',['fmax',['../a00258.html#ga36920478565cf608e93064283ce06421',1,'glm::fmax(T a, T b)'],['../a00258.html#ga0007bba71ca451ac70e99d28dfbeaab9',1,'glm::fmax(T a, T b, T C)'],['../a00258.html#ga27e260b1ff4d04c3ad4b864d26cbaf08',1,'glm::fmax(T a, T b, T C, T D)'],['../a00267.html#gad66b6441f7200db16c9f341711733c56',1,'glm::fmax(vec< L, T, Q > const &a, T b)'],['../a00267.html#ga8df4be3f48d6717c40ea788fd30deebf',1,'glm::fmax(vec< L, T, Q > const &a, vec< L, T, Q > const &b)'],['../a00267.html#ga0f04ba924294dae4234ca93ede23229a',1,'glm::fmax(vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c)'],['../a00267.html#ga4ed3eb250ccbe17bfe8ded8a6b72d230',1,'glm::fmax(vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c, vec< L, T, Q > const &d)'],['../a00321.html#gae5792cb2b51190057e4aea027eb56f81',1,'glm::fmax(genType x, genType y)']]], ['fmin',['fmin',['../a00258.html#ga7b2b438a765e2a62098c79eb212f28f0',1,'glm::fmin(T a, T b)'],['../a00258.html#ga1a95fe4cf5437e8133f1093fe9726a64',1,'glm::fmin(T a, T b, T c)'],['../a00258.html#ga3d6f9c6c16bfd6f38f2c4f8076e8b661',1,'glm::fmin(T a, T b, T c, T d)'],['../a00267.html#gae989203363cff9eab5093630df4fe071',1,'glm::fmin(vec< L, T, Q > const &x, T y)'],['../a00267.html#ga7c42e93cd778c9181d1cdeea4d3e43bd',1,'glm::fmin(vec< L, T, Q > const &x, vec< L, T, Q > const &y)'],['../a00267.html#ga7e62739055b49189d9355471f78fe000',1,'glm::fmin(vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c)'],['../a00267.html#ga4a543dd7d22ad1f3b8b839f808a9d93c',1,'glm::fmin(vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c, vec< L, T, Q > const &d)'],['../a00321.html#gaa3200559611ac5b9b9ae7283547916a7',1,'glm::fmin(genType x, genType y)']]], ['fmod',['fmod',['../a00314.html#gae5e80425df9833164ad469e83b475fb4',1,'glm']]], ['four_5fover_5fpi',['four_over_pi',['../a00290.html#ga753950e5140e4ea6a88e4a18ba61dc09',1,'glm']]], ['fract',['fract',['../a00241.html#ga8ba89e40e55ae5cdf228548f9b7639c7',1,'glm::fract(genType x)'],['../a00241.html#ga2df623004f634b440d61e018d62c751b',1,'glm::fract(vec< L, T, Q > const &x)']]], ['frexp',['frexp',['../a00241.html#gaddf5ef73283c171730e0bcc11833fa81',1,'glm']]], ['frustum',['frustum',['../a00243.html#ga0bcd4542e0affc63a0b8c08fcb839ea9',1,'glm']]], ['frustumlh',['frustumLH',['../a00243.html#gae4277c37f61d81da01bc9db14ea90296',1,'glm']]], ['frustumlh_5fno',['frustumLH_NO',['../a00243.html#ga259520cad03b3f8bca9417920035ed01',1,'glm']]], ['frustumlh_5fzo',['frustumLH_ZO',['../a00243.html#ga94218b094862d17798370242680b9030',1,'glm']]], ['frustumno',['frustumNO',['../a00243.html#gae34ec664ad44860bf4b5ba631f0e0e90',1,'glm']]], ['frustumrh',['frustumRH',['../a00243.html#ga4366ab45880c6c5f8b3e8c371ca4b136',1,'glm']]], ['frustumrh_5fno',['frustumRH_NO',['../a00243.html#ga9236c8439f21be186b79c97b588836b9',1,'glm']]], ['frustumrh_5fzo',['frustumRH_ZO',['../a00243.html#ga7654a9227f14d5382786b9fc0eb5692d',1,'glm']]], ['frustumzo',['frustumZO',['../a00243.html#gaa73322e152edf50cf30a6edac342a757',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_6.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_6.js ================================================ var searchData= [ ['gauss',['gauss',['../a00326.html#ga0b50b197ff74261a0fad90f4b8d24702',1,'glm::gauss(T x, T ExpectedValue, T StandardDeviation)'],['../a00326.html#gad19ec8754a83c0b9a8dc16b7e60705ab',1,'glm::gauss(vec< 2, T, Q > const &Coord, vec< 2, T, Q > const &ExpectedValue, vec< 2, T, Q > const &StandardDeviation)']]], ['gaussrand',['gaussRand',['../a00300.html#ga5193a83e49e4fdc5652c084711083574',1,'glm']]], ['glm_5faligned_5ftypedef',['GLM_ALIGNED_TYPEDEF',['../a00364.html#gab5cd5c5fad228b25c782084f1cc30114',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_int8, aligned_lowp_int8, 1)'],['../a00364.html#ga5bb5dd895ef625c1b113f2cf400186b0',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_int16, aligned_lowp_int16, 2)'],['../a00364.html#gac6efa54cf7c6c86f7158922abdb1a430',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_int32, aligned_lowp_int32, 4)'],['../a00364.html#ga6612eb77c8607048e7552279a11eeb5f',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_int64, aligned_lowp_int64, 8)'],['../a00364.html#ga7ddc1848ff2223026db8968ce0c97497',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_int8_t, aligned_lowp_int8_t, 1)'],['../a00364.html#ga22240dd9458b0f8c11fbcc4f48714f68',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_int16_t, aligned_lowp_int16_t, 2)'],['../a00364.html#ga8130ea381d76a2cc34a93ccbb6cf487d',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_int32_t, aligned_lowp_int32_t, 4)'],['../a00364.html#ga7ccb60f3215d293fd62b33b31ed0e7be',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_int64_t, aligned_lowp_int64_t, 8)'],['../a00364.html#gac20d508d2ef5cc95ad3daf083c57ec2a',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_i8, aligned_lowp_i8, 1)'],['../a00364.html#ga50257b48069a31d0c8d9c1f644d267de',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_i16, aligned_lowp_i16, 2)'],['../a00364.html#gaa07e98e67b7a3435c0746018c7a2a839',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_i32, aligned_lowp_i32, 4)'],['../a00364.html#ga62601fc6f8ca298b77285bedf03faffd',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_i64, aligned_lowp_i64, 8)'],['../a00364.html#gac8cff825951aeb54dd846037113c72db',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_int8, aligned_mediump_int8, 1)'],['../a00364.html#ga78f443d88f438575a62b5df497cdf66b',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_int16, aligned_mediump_int16, 2)'],['../a00364.html#ga0680cd3b5d4e8006985fb41a4f9b57af',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_int32, aligned_mediump_int32, 4)'],['../a00364.html#gad9e5babb1dd3e3531b42c37bf25dd951',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_int64, aligned_mediump_int64, 8)'],['../a00364.html#ga353fd9fa8a9ad952fcabd0d53ad9a6dd',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_int8_t, aligned_mediump_int8_t, 1)'],['../a00364.html#ga2196442c0e5c5e8c77842de388c42521',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_int16_t, aligned_mediump_int16_t, 2)'],['../a00364.html#ga1284488189daf897cf095c5eefad9744',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_int32_t, aligned_mediump_int32_t, 4)'],['../a00364.html#ga73fdc86a539808af58808b7c60a1c4d8',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_int64_t, aligned_mediump_int64_t, 8)'],['../a00364.html#gafafeea923e1983262c972e2b83922d3b',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_i8, aligned_mediump_i8, 1)'],['../a00364.html#ga4b35ca5fe8f55c9d2fe54fdb8d8896f4',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_i16, aligned_mediump_i16, 2)'],['../a00364.html#ga63b882e29170d428463d99c3d630acc6',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_i32, aligned_mediump_i32, 4)'],['../a00364.html#ga8b20507bb048c1edea2d441cc953e6f0',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_i64, aligned_mediump_i64, 8)'],['../a00364.html#ga56c5ca60813027b603c7b61425a0479d',1,'glm::GLM_ALIGNED_TYPEDEF(highp_int8, aligned_highp_int8, 1)'],['../a00364.html#ga7a751b3aff24c0259f4a7357c2969089',1,'glm::GLM_ALIGNED_TYPEDEF(highp_int16, aligned_highp_int16, 2)'],['../a00364.html#ga70cd2144351c556469ee6119e59971fc',1,'glm::GLM_ALIGNED_TYPEDEF(highp_int32, aligned_highp_int32, 4)'],['../a00364.html#ga46bbf08dc004d8c433041e0b5018a5d3',1,'glm::GLM_ALIGNED_TYPEDEF(highp_int64, aligned_highp_int64, 8)'],['../a00364.html#gab3e10c77a20d1abad2de1c561c7a5c18',1,'glm::GLM_ALIGNED_TYPEDEF(highp_int8_t, aligned_highp_int8_t, 1)'],['../a00364.html#ga968f30319ebeaca9ebcd3a25a8e139fb',1,'glm::GLM_ALIGNED_TYPEDEF(highp_int16_t, aligned_highp_int16_t, 2)'],['../a00364.html#gaae773c28e6390c6aa76f5b678b7098a3',1,'glm::GLM_ALIGNED_TYPEDEF(highp_int32_t, aligned_highp_int32_t, 4)'],['../a00364.html#ga790cfff1ca39d0ed696ffed980809311',1,'glm::GLM_ALIGNED_TYPEDEF(highp_int64_t, aligned_highp_int64_t, 8)'],['../a00364.html#ga8265b91eb23c120a9b0c3e381bc37b96',1,'glm::GLM_ALIGNED_TYPEDEF(highp_i8, aligned_highp_i8, 1)'],['../a00364.html#gae6d384de17588d8edb894fbe06e0d410',1,'glm::GLM_ALIGNED_TYPEDEF(highp_i16, aligned_highp_i16, 2)'],['../a00364.html#ga9c8172b745ee03fc5b2b91c350c2922f',1,'glm::GLM_ALIGNED_TYPEDEF(highp_i32, aligned_highp_i32, 4)'],['../a00364.html#ga77e0dff12aa4020ddc3f8cabbea7b2e6',1,'glm::GLM_ALIGNED_TYPEDEF(highp_i64, aligned_highp_i64, 8)'],['../a00364.html#gabd82b9faa9d4d618dbbe0fc8a1efee63',1,'glm::GLM_ALIGNED_TYPEDEF(int8, aligned_int8, 1)'],['../a00364.html#ga285649744560be21000cfd81bbb5d507',1,'glm::GLM_ALIGNED_TYPEDEF(int16, aligned_int16, 2)'],['../a00364.html#ga07732da630b2deda428ce95c0ecaf3ff',1,'glm::GLM_ALIGNED_TYPEDEF(int32, aligned_int32, 4)'],['../a00364.html#ga1a8da2a8c51f69c07a2e7f473aa420f4',1,'glm::GLM_ALIGNED_TYPEDEF(int64, aligned_int64, 8)'],['../a00364.html#ga848aedf13e2d9738acf0bb482c590174',1,'glm::GLM_ALIGNED_TYPEDEF(int8_t, aligned_int8_t, 1)'],['../a00364.html#gafd2803d39049dd45a37a63931e25d943',1,'glm::GLM_ALIGNED_TYPEDEF(int16_t, aligned_int16_t, 2)'],['../a00364.html#gae553b33349d6da832cf0724f1e024094',1,'glm::GLM_ALIGNED_TYPEDEF(int32_t, aligned_int32_t, 4)'],['../a00364.html#ga16d223a2b3409e812e1d3bd87f0e9e5c',1,'glm::GLM_ALIGNED_TYPEDEF(int64_t, aligned_int64_t, 8)'],['../a00364.html#ga2de065d2ddfdb366bcd0febca79ae2ad',1,'glm::GLM_ALIGNED_TYPEDEF(i8, aligned_i8, 1)'],['../a00364.html#gabd786bdc20a11c8cb05c92c8212e28d3',1,'glm::GLM_ALIGNED_TYPEDEF(i16, aligned_i16, 2)'],['../a00364.html#gad4aefe56691cdb640c72f0d46d3fb532',1,'glm::GLM_ALIGNED_TYPEDEF(i32, aligned_i32, 4)'],['../a00364.html#ga8fe9745f7de24a8394518152ff9fccdc',1,'glm::GLM_ALIGNED_TYPEDEF(i64, aligned_i64, 8)'],['../a00364.html#gaaad735483450099f7f882d4e3a3569bd',1,'glm::GLM_ALIGNED_TYPEDEF(ivec1, aligned_ivec1, 4)'],['../a00364.html#gac7b6f823802edbd6edbaf70ea25bf068',1,'glm::GLM_ALIGNED_TYPEDEF(ivec2, aligned_ivec2, 8)'],['../a00364.html#ga3e235bcd2b8029613f25b8d40a2d3ef7',1,'glm::GLM_ALIGNED_TYPEDEF(ivec3, aligned_ivec3, 16)'],['../a00364.html#ga50d8a9523968c77f8325b4c9bfbff41e',1,'glm::GLM_ALIGNED_TYPEDEF(ivec4, aligned_ivec4, 16)'],['../a00364.html#ga9ec20fdfb729c702032da9378c79679f',1,'glm::GLM_ALIGNED_TYPEDEF(i8vec1, aligned_i8vec1, 1)'],['../a00364.html#ga25b3fe1d9e8d0a5e86c1949c1acd8131',1,'glm::GLM_ALIGNED_TYPEDEF(i8vec2, aligned_i8vec2, 2)'],['../a00364.html#ga2958f907719d94d8109b562540c910e2',1,'glm::GLM_ALIGNED_TYPEDEF(i8vec3, aligned_i8vec3, 4)'],['../a00364.html#ga1fe6fc032a978f1c845fac9aa0668714',1,'glm::GLM_ALIGNED_TYPEDEF(i8vec4, aligned_i8vec4, 4)'],['../a00364.html#gaa4161e7a496dc96972254143fe873e55',1,'glm::GLM_ALIGNED_TYPEDEF(i16vec1, aligned_i16vec1, 2)'],['../a00364.html#ga9d7cb211ccda69b1c22ddeeb0f3e7aba',1,'glm::GLM_ALIGNED_TYPEDEF(i16vec2, aligned_i16vec2, 4)'],['../a00364.html#gaaee91dd2ab34423bcc11072ef6bd0f02',1,'glm::GLM_ALIGNED_TYPEDEF(i16vec3, aligned_i16vec3, 8)'],['../a00364.html#ga49f047ccaa8b31fad9f26c67bf9b3510',1,'glm::GLM_ALIGNED_TYPEDEF(i16vec4, aligned_i16vec4, 8)'],['../a00364.html#ga904e9c2436bb099397c0823506a0771f',1,'glm::GLM_ALIGNED_TYPEDEF(i32vec1, aligned_i32vec1, 4)'],['../a00364.html#gaf90651cf2f5e7ee2b11cfdc5a6749534',1,'glm::GLM_ALIGNED_TYPEDEF(i32vec2, aligned_i32vec2, 8)'],['../a00364.html#ga7354a4ead8cb17868aec36b9c30d6010',1,'glm::GLM_ALIGNED_TYPEDEF(i32vec3, aligned_i32vec3, 16)'],['../a00364.html#gad2ecbdea18732163e2636e27b37981ee',1,'glm::GLM_ALIGNED_TYPEDEF(i32vec4, aligned_i32vec4, 16)'],['../a00364.html#ga965b1c9aa1800e93d4abc2eb2b5afcbf',1,'glm::GLM_ALIGNED_TYPEDEF(i64vec1, aligned_i64vec1, 8)'],['../a00364.html#ga1f9e9c2ea2768675dff9bae5cde2d829',1,'glm::GLM_ALIGNED_TYPEDEF(i64vec2, aligned_i64vec2, 16)'],['../a00364.html#gad77c317b7d942322cd5be4c8127b3187',1,'glm::GLM_ALIGNED_TYPEDEF(i64vec3, aligned_i64vec3, 32)'],['../a00364.html#ga716f8ea809bdb11b5b542d8b71aeb04f',1,'glm::GLM_ALIGNED_TYPEDEF(i64vec4, aligned_i64vec4, 32)'],['../a00364.html#gad46f8e9082d5878b1bc04f9c1471cdaa',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_uint8, aligned_lowp_uint8, 1)'],['../a00364.html#ga1246094581af624aca6c7499aaabf801',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_uint16, aligned_lowp_uint16, 2)'],['../a00364.html#ga7a5009a1d0196bbf21dd7518f61f0249',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_uint32, aligned_lowp_uint32, 4)'],['../a00364.html#ga45213fd18b3bb1df391671afefe4d1e7',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_uint64, aligned_lowp_uint64, 8)'],['../a00364.html#ga0ba26b4e3fd9ecbc25358efd68d8a4ca',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_uint8_t, aligned_lowp_uint8_t, 1)'],['../a00364.html#gaf2b58f5fb6d4ec8ce7b76221d3af43e1',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_uint16_t, aligned_lowp_uint16_t, 2)'],['../a00364.html#gadc246401847dcba155f0699425e49dcd',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_uint32_t, aligned_lowp_uint32_t, 4)'],['../a00364.html#gaace64bddf51a9def01498da9a94fb01c',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_uint64_t, aligned_lowp_uint64_t, 8)'],['../a00364.html#gad7bb97c29d664bd86ffb1bed4abc5534',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_u8, aligned_lowp_u8, 1)'],['../a00364.html#ga404bba7785130e0b1384d695a9450b28',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_u16, aligned_lowp_u16, 2)'],['../a00364.html#ga31ba41fd896257536958ec6080203d2a',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_u32, aligned_lowp_u32, 4)'],['../a00364.html#gacca5f13627f57b3505676e40a6e43e5e',1,'glm::GLM_ALIGNED_TYPEDEF(lowp_u64, aligned_lowp_u64, 8)'],['../a00364.html#ga5faf1d3e70bf33174dd7f3d01d5b883b',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_uint8, aligned_mediump_uint8, 1)'],['../a00364.html#ga727e2bf2c433bb3b0182605860a48363',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_uint16, aligned_mediump_uint16, 2)'],['../a00364.html#ga12566ca66d5962dadb4a5eb4c74e891e',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_uint32, aligned_mediump_uint32, 4)'],['../a00364.html#ga7b66a97a8acaa35c5a377b947318c6bc',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_uint64, aligned_mediump_uint64, 8)'],['../a00364.html#gaa9cde002439b74fa66120a16a9f55fcc',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_uint8_t, aligned_mediump_uint8_t, 1)'],['../a00364.html#ga1ca98c67f7d1e975f7c5202f1da1df1f',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_uint16_t, aligned_mediump_uint16_t, 2)'],['../a00364.html#ga1dc8bc6199d785f235576948d80a597c',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_uint32_t, aligned_mediump_uint32_t, 4)'],['../a00364.html#gad14a0f2ec93519682b73d70b8e401d81',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_uint64_t, aligned_mediump_uint64_t, 8)'],['../a00364.html#gada8b996eb6526dc1ead813bd49539d1b',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_u8, aligned_mediump_u8, 1)'],['../a00364.html#ga28948f6bfb52b42deb9d73ae1ea8d8b0',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_u16, aligned_mediump_u16, 2)'],['../a00364.html#gad6a7c0b5630f89d3f1c5b4ef2919bb4c',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_u32, aligned_mediump_u32, 4)'],['../a00364.html#gaa0fc531cbaa972ac3a0b86d21ef4a7fa',1,'glm::GLM_ALIGNED_TYPEDEF(mediump_u64, aligned_mediump_u64, 8)'],['../a00364.html#ga0ee829f7b754b262bbfe6317c0d678ac',1,'glm::GLM_ALIGNED_TYPEDEF(highp_uint8, aligned_highp_uint8, 1)'],['../a00364.html#ga447848a817a626cae08cedc9778b331c',1,'glm::GLM_ALIGNED_TYPEDEF(highp_uint16, aligned_highp_uint16, 2)'],['../a00364.html#ga6027ae13b2734f542a6e7beee11b8820',1,'glm::GLM_ALIGNED_TYPEDEF(highp_uint32, aligned_highp_uint32, 4)'],['../a00364.html#ga2aca46c8608c95ef991ee4c332acde5f',1,'glm::GLM_ALIGNED_TYPEDEF(highp_uint64, aligned_highp_uint64, 8)'],['../a00364.html#gaff50b10dd1c48be324fdaffd18e2c7ea',1,'glm::GLM_ALIGNED_TYPEDEF(highp_uint8_t, aligned_highp_uint8_t, 1)'],['../a00364.html#ga9fc4421dbb833d5461e6d4e59dcfde55',1,'glm::GLM_ALIGNED_TYPEDEF(highp_uint16_t, aligned_highp_uint16_t, 2)'],['../a00364.html#ga329f1e2b94b33ba5e3918197030bcf03',1,'glm::GLM_ALIGNED_TYPEDEF(highp_uint32_t, aligned_highp_uint32_t, 4)'],['../a00364.html#ga71e646f7e301aa422328194162c9c998',1,'glm::GLM_ALIGNED_TYPEDEF(highp_uint64_t, aligned_highp_uint64_t, 8)'],['../a00364.html#ga8942e09f479489441a7a5004c6d8cb66',1,'glm::GLM_ALIGNED_TYPEDEF(highp_u8, aligned_highp_u8, 1)'],['../a00364.html#gaab32497d6e4db16ee439dbedd64c5865',1,'glm::GLM_ALIGNED_TYPEDEF(highp_u16, aligned_highp_u16, 2)'],['../a00364.html#gaaadbb34952eca8e3d7fe122c3e167742',1,'glm::GLM_ALIGNED_TYPEDEF(highp_u32, aligned_highp_u32, 4)'],['../a00364.html#ga92024d27c74a3650afb55ec8e024ed25',1,'glm::GLM_ALIGNED_TYPEDEF(highp_u64, aligned_highp_u64, 8)'],['../a00364.html#gabde1d0b4072df35453db76075ab896a6',1,'glm::GLM_ALIGNED_TYPEDEF(uint8, aligned_uint8, 1)'],['../a00364.html#ga06c296c9e398b294c8c9dd2a7693dcbb',1,'glm::GLM_ALIGNED_TYPEDEF(uint16, aligned_uint16, 2)'],['../a00364.html#gacf1744488c96ebd33c9f36ad33b2010a',1,'glm::GLM_ALIGNED_TYPEDEF(uint32, aligned_uint32, 4)'],['../a00364.html#ga3328061a64c20ba59d5f9da24c2cd059',1,'glm::GLM_ALIGNED_TYPEDEF(uint64, aligned_uint64, 8)'],['../a00364.html#gaf6ced36f13bae57f377bafa6f5fcc299',1,'glm::GLM_ALIGNED_TYPEDEF(uint8_t, aligned_uint8_t, 1)'],['../a00364.html#gafbc7fb7847bfc78a339d1d371c915c73',1,'glm::GLM_ALIGNED_TYPEDEF(uint16_t, aligned_uint16_t, 2)'],['../a00364.html#gaa86bc56a73fd8120b1121b5f5e6245ae',1,'glm::GLM_ALIGNED_TYPEDEF(uint32_t, aligned_uint32_t, 4)'],['../a00364.html#ga68c0b9e669060d0eb5ab8c3ddeb483d8',1,'glm::GLM_ALIGNED_TYPEDEF(uint64_t, aligned_uint64_t, 8)'],['../a00364.html#ga4f3bab577daf3343e99cc005134bce86',1,'glm::GLM_ALIGNED_TYPEDEF(u8, aligned_u8, 1)'],['../a00364.html#ga13a2391339d0790d43b76d00a7611c4f',1,'glm::GLM_ALIGNED_TYPEDEF(u16, aligned_u16, 2)'],['../a00364.html#ga197570e03acbc3d18ab698e342971e8f',1,'glm::GLM_ALIGNED_TYPEDEF(u32, aligned_u32, 4)'],['../a00364.html#ga0f033b21e145a1faa32c62ede5878993',1,'glm::GLM_ALIGNED_TYPEDEF(u64, aligned_u64, 8)'],['../a00364.html#ga509af83527f5cd512e9a7873590663aa',1,'glm::GLM_ALIGNED_TYPEDEF(uvec1, aligned_uvec1, 4)'],['../a00364.html#ga94e86186978c502c6dc0c0d9c4a30679',1,'glm::GLM_ALIGNED_TYPEDEF(uvec2, aligned_uvec2, 8)'],['../a00364.html#ga5cec574686a7f3c8ed24bb195c5e2d0a',1,'glm::GLM_ALIGNED_TYPEDEF(uvec3, aligned_uvec3, 16)'],['../a00364.html#ga47edfdcee9c89b1ebdaf20450323b1d4',1,'glm::GLM_ALIGNED_TYPEDEF(uvec4, aligned_uvec4, 16)'],['../a00364.html#ga5611d6718e3a00096918a64192e73a45',1,'glm::GLM_ALIGNED_TYPEDEF(u8vec1, aligned_u8vec1, 1)'],['../a00364.html#ga19837e6f72b60d994a805ef564c6c326',1,'glm::GLM_ALIGNED_TYPEDEF(u8vec2, aligned_u8vec2, 2)'],['../a00364.html#ga9740cf8e34f068049b42a2753f9601c2',1,'glm::GLM_ALIGNED_TYPEDEF(u8vec3, aligned_u8vec3, 4)'],['../a00364.html#ga8b8588bb221448f5541a858903822a57',1,'glm::GLM_ALIGNED_TYPEDEF(u8vec4, aligned_u8vec4, 4)'],['../a00364.html#ga991abe990c16de26b2129d6bc2f4c051',1,'glm::GLM_ALIGNED_TYPEDEF(u16vec1, aligned_u16vec1, 2)'],['../a00364.html#gac01bb9fc32a1cd76c2b80d030f71df4c',1,'glm::GLM_ALIGNED_TYPEDEF(u16vec2, aligned_u16vec2, 4)'],['../a00364.html#ga09540dbca093793a36a8997e0d4bee77',1,'glm::GLM_ALIGNED_TYPEDEF(u16vec3, aligned_u16vec3, 8)'],['../a00364.html#gaecafb5996f5a44f57e34d29c8670741e',1,'glm::GLM_ALIGNED_TYPEDEF(u16vec4, aligned_u16vec4, 8)'],['../a00364.html#gac6b161a04d2f8408fe1c9d857e8daac0',1,'glm::GLM_ALIGNED_TYPEDEF(u32vec1, aligned_u32vec1, 4)'],['../a00364.html#ga1fa0dfc8feb0fa17dab2acd43e05342b',1,'glm::GLM_ALIGNED_TYPEDEF(u32vec2, aligned_u32vec2, 8)'],['../a00364.html#ga0019500abbfa9c66eff61ca75eaaed94',1,'glm::GLM_ALIGNED_TYPEDEF(u32vec3, aligned_u32vec3, 16)'],['../a00364.html#ga14fd29d01dae7b08a04e9facbcc18824',1,'glm::GLM_ALIGNED_TYPEDEF(u32vec4, aligned_u32vec4, 16)'],['../a00364.html#gab253845f534a67136f9619843cade903',1,'glm::GLM_ALIGNED_TYPEDEF(u64vec1, aligned_u64vec1, 8)'],['../a00364.html#ga929427a7627940cdf3304f9c050b677d',1,'glm::GLM_ALIGNED_TYPEDEF(u64vec2, aligned_u64vec2, 16)'],['../a00364.html#gae373b6c04fdf9879f33d63e6949c037e',1,'glm::GLM_ALIGNED_TYPEDEF(u64vec3, aligned_u64vec3, 32)'],['../a00364.html#ga53a8a03dca2015baec4584f45b8e9cdc',1,'glm::GLM_ALIGNED_TYPEDEF(u64vec4, aligned_u64vec4, 32)'],['../a00364.html#gab3301bae94ef5bf59fbdd9a24e7d2a01',1,'glm::GLM_ALIGNED_TYPEDEF(float32, aligned_float32, 4)'],['../a00364.html#gada9b0bea273d3ae0286f891533b9568f',1,'glm::GLM_ALIGNED_TYPEDEF(float32_t, aligned_float32_t, 4)'],['../a00364.html#gadbce23b9f23d77bb3884e289a574ebd5',1,'glm::GLM_ALIGNED_TYPEDEF(float32, aligned_f32, 4)'],['../a00364.html#ga75930684ff2233171c573e603f216162',1,'glm::GLM_ALIGNED_TYPEDEF(float64, aligned_float64, 8)'],['../a00364.html#ga6e3a2d83b131336219a0f4c7cbba2a48',1,'glm::GLM_ALIGNED_TYPEDEF(float64_t, aligned_float64_t, 8)'],['../a00364.html#gaa4deaa0dea930c393d55e7a4352b0a20',1,'glm::GLM_ALIGNED_TYPEDEF(float64, aligned_f64, 8)'],['../a00364.html#ga81bc497b2bfc6f80bab690c6ee28f0f9',1,'glm::GLM_ALIGNED_TYPEDEF(vec1, aligned_vec1, 4)'],['../a00364.html#gada3e8f783e9d4b90006695a16c39d4d4',1,'glm::GLM_ALIGNED_TYPEDEF(vec2, aligned_vec2, 8)'],['../a00364.html#gab8d081fac3a38d6f55fa552f32168d32',1,'glm::GLM_ALIGNED_TYPEDEF(vec3, aligned_vec3, 16)'],['../a00364.html#ga12fe7b9769c964c5b48dcfd8b7f40198',1,'glm::GLM_ALIGNED_TYPEDEF(vec4, aligned_vec4, 16)'],['../a00364.html#gaefab04611c7f8fe1fd9be3071efea6cc',1,'glm::GLM_ALIGNED_TYPEDEF(fvec1, aligned_fvec1, 4)'],['../a00364.html#ga2543c05ba19b3bd19d45b1227390c5b4',1,'glm::GLM_ALIGNED_TYPEDEF(fvec2, aligned_fvec2, 8)'],['../a00364.html#ga009afd727fd657ef33a18754d6d28f60',1,'glm::GLM_ALIGNED_TYPEDEF(fvec3, aligned_fvec3, 16)'],['../a00364.html#ga2f26177e74bfb301a3d0e02ec3c3ef53',1,'glm::GLM_ALIGNED_TYPEDEF(fvec4, aligned_fvec4, 16)'],['../a00364.html#ga309f495a1d6b75ddf195b674b65cb1e4',1,'glm::GLM_ALIGNED_TYPEDEF(f32vec1, aligned_f32vec1, 4)'],['../a00364.html#ga5e185865a2217d0cd47187644683a8c3',1,'glm::GLM_ALIGNED_TYPEDEF(f32vec2, aligned_f32vec2, 8)'],['../a00364.html#gade4458b27b039b9ca34f8ec049f3115a',1,'glm::GLM_ALIGNED_TYPEDEF(f32vec3, aligned_f32vec3, 16)'],['../a00364.html#ga2e8a12c5e6a9c4ae4ddaeda1d1cffe3b',1,'glm::GLM_ALIGNED_TYPEDEF(f32vec4, aligned_f32vec4, 16)'],['../a00364.html#ga3e0f35fa0c626285a8bad41707e7316c',1,'glm::GLM_ALIGNED_TYPEDEF(dvec1, aligned_dvec1, 8)'],['../a00364.html#ga78bfec2f185d1d365ea0a9ef1e3d45b8',1,'glm::GLM_ALIGNED_TYPEDEF(dvec2, aligned_dvec2, 16)'],['../a00364.html#ga01fe6fee6db5df580b6724a7e681f069',1,'glm::GLM_ALIGNED_TYPEDEF(dvec3, aligned_dvec3, 32)'],['../a00364.html#ga687d5b8f551d5af32425c0b2fba15e99',1,'glm::GLM_ALIGNED_TYPEDEF(dvec4, aligned_dvec4, 32)'],['../a00364.html#ga8e842371d46842ff8f1813419ba49d0f',1,'glm::GLM_ALIGNED_TYPEDEF(f64vec1, aligned_f64vec1, 8)'],['../a00364.html#ga32814aa0f19316b43134fc25f2aad2b9',1,'glm::GLM_ALIGNED_TYPEDEF(f64vec2, aligned_f64vec2, 16)'],['../a00364.html#gaf3d3bbc1e93909b689123b085e177a14',1,'glm::GLM_ALIGNED_TYPEDEF(f64vec3, aligned_f64vec3, 32)'],['../a00364.html#ga804c654cead1139bd250f90f9bb01fad',1,'glm::GLM_ALIGNED_TYPEDEF(f64vec4, aligned_f64vec4, 32)'],['../a00364.html#gacce4ac532880b8c7469d3c31974420a1',1,'glm::GLM_ALIGNED_TYPEDEF(mat2, aligned_mat2, 16)'],['../a00364.html#ga0498e0e249a6faddaf96aa55d7f81c3b',1,'glm::GLM_ALIGNED_TYPEDEF(mat3, aligned_mat3, 16)'],['../a00364.html#ga7435d87de82a0d652b35dc5b9cc718d5',1,'glm::GLM_ALIGNED_TYPEDEF(mat4, aligned_mat4, 16)'],['../a00364.html#ga719da577361541a4c43a2dd1d0e361e1',1,'glm::GLM_ALIGNED_TYPEDEF(fmat2x2, aligned_fmat2, 16)'],['../a00364.html#ga6e7ee4f541e1d7db66cd1a224caacafb',1,'glm::GLM_ALIGNED_TYPEDEF(fmat3x3, aligned_fmat3, 16)'],['../a00364.html#gae5d672d359f2a39f63f98c7975057486',1,'glm::GLM_ALIGNED_TYPEDEF(fmat4x4, aligned_fmat4, 16)'],['../a00364.html#ga6fa2df037dbfc5fe8c8e0b4db8a34953',1,'glm::GLM_ALIGNED_TYPEDEF(fmat2x2, aligned_fmat2x2, 16)'],['../a00364.html#ga0743b4f4f69a3227b82ff58f6abbad62',1,'glm::GLM_ALIGNED_TYPEDEF(fmat2x3, aligned_fmat2x3, 16)'],['../a00364.html#ga1a76b325fdf70f961d835edd182c63dd',1,'glm::GLM_ALIGNED_TYPEDEF(fmat2x4, aligned_fmat2x4, 16)'],['../a00364.html#ga4b4e181cd041ba28c3163e7b8074aef0',1,'glm::GLM_ALIGNED_TYPEDEF(fmat3x2, aligned_fmat3x2, 16)'],['../a00364.html#ga27b13f465abc8a40705698145e222c3f',1,'glm::GLM_ALIGNED_TYPEDEF(fmat3x3, aligned_fmat3x3, 16)'],['../a00364.html#ga2608d19cc275830a6f8c0b6405625a4f',1,'glm::GLM_ALIGNED_TYPEDEF(fmat3x4, aligned_fmat3x4, 16)'],['../a00364.html#ga93f09768241358a287c4cca538f1f7e7',1,'glm::GLM_ALIGNED_TYPEDEF(fmat4x2, aligned_fmat4x2, 16)'],['../a00364.html#ga7c117e3ecca089e10247b1d41d88aff9',1,'glm::GLM_ALIGNED_TYPEDEF(fmat4x3, aligned_fmat4x3, 16)'],['../a00364.html#ga07c75cd04ba42dc37fa3e105f89455c5',1,'glm::GLM_ALIGNED_TYPEDEF(fmat4x4, aligned_fmat4x4, 16)'],['../a00364.html#ga65ff0d690a34a4d7f46f9b2eb51525ee',1,'glm::GLM_ALIGNED_TYPEDEF(f32mat2x2, aligned_f32mat2, 16)'],['../a00364.html#gadd8ddbe2bf65ccede865ba2f510176dc',1,'glm::GLM_ALIGNED_TYPEDEF(f32mat3x3, aligned_f32mat3, 16)'],['../a00364.html#gaf18dbff14bf13d3ff540c517659ec045',1,'glm::GLM_ALIGNED_TYPEDEF(f32mat4x4, aligned_f32mat4, 16)'],['../a00364.html#ga66339f6139bf7ff19e245beb33f61cc8',1,'glm::GLM_ALIGNED_TYPEDEF(f32mat2x2, aligned_f32mat2x2, 16)'],['../a00364.html#ga1558a48b3934011b52612809f443e46d',1,'glm::GLM_ALIGNED_TYPEDEF(f32mat2x3, aligned_f32mat2x3, 16)'],['../a00364.html#gaa52e5732daa62851627021ad551c7680',1,'glm::GLM_ALIGNED_TYPEDEF(f32mat2x4, aligned_f32mat2x4, 16)'],['../a00364.html#gac09663c42566bcb58d23c6781ac4e85a',1,'glm::GLM_ALIGNED_TYPEDEF(f32mat3x2, aligned_f32mat3x2, 16)'],['../a00364.html#ga3f510999e59e1b309113e1d561162b29',1,'glm::GLM_ALIGNED_TYPEDEF(f32mat3x3, aligned_f32mat3x3, 16)'],['../a00364.html#ga2c9c94f0c89cd71ce56551db6cf4aaec',1,'glm::GLM_ALIGNED_TYPEDEF(f32mat3x4, aligned_f32mat3x4, 16)'],['../a00364.html#ga99ce8274c750fbfdf0e70c95946a2875',1,'glm::GLM_ALIGNED_TYPEDEF(f32mat4x2, aligned_f32mat4x2, 16)'],['../a00364.html#ga9476ef66790239df53dbe66f3989c3b5',1,'glm::GLM_ALIGNED_TYPEDEF(f32mat4x3, aligned_f32mat4x3, 16)'],['../a00364.html#gacc429b3b0b49921e12713b6d31e14e1d',1,'glm::GLM_ALIGNED_TYPEDEF(f32mat4x4, aligned_f32mat4x4, 16)'],['../a00364.html#ga88f6c6fa06e6e64479763e69444669cf',1,'glm::GLM_ALIGNED_TYPEDEF(f64mat2x2, aligned_f64mat2, 32)'],['../a00364.html#gaae8e4639c991e64754145ab8e4c32083',1,'glm::GLM_ALIGNED_TYPEDEF(f64mat3x3, aligned_f64mat3, 32)'],['../a00364.html#ga6e9094f3feb3b5b49d0f83683a101fde',1,'glm::GLM_ALIGNED_TYPEDEF(f64mat4x4, aligned_f64mat4, 32)'],['../a00364.html#gadbd2c639c03de1c3e9591b5a39f65559',1,'glm::GLM_ALIGNED_TYPEDEF(f64mat2x2, aligned_f64mat2x2, 32)'],['../a00364.html#gab059d7b9fe2094acc563b7223987499f',1,'glm::GLM_ALIGNED_TYPEDEF(f64mat2x3, aligned_f64mat2x3, 32)'],['../a00364.html#gabbc811d1c52ed2b8cfcaff1378f75c69',1,'glm::GLM_ALIGNED_TYPEDEF(f64mat2x4, aligned_f64mat2x4, 32)'],['../a00364.html#ga9ddf5212777734d2fd841a84439f3bdf',1,'glm::GLM_ALIGNED_TYPEDEF(f64mat3x2, aligned_f64mat3x2, 32)'],['../a00364.html#gad1dda32ed09f94bfcf0a7d8edfb6cf13',1,'glm::GLM_ALIGNED_TYPEDEF(f64mat3x3, aligned_f64mat3x3, 32)'],['../a00364.html#ga5875e0fa72f07e271e7931811cbbf31a',1,'glm::GLM_ALIGNED_TYPEDEF(f64mat3x4, aligned_f64mat3x4, 32)'],['../a00364.html#ga41e82cd6ac07f912ba2a2d45799dcf0d',1,'glm::GLM_ALIGNED_TYPEDEF(f64mat4x2, aligned_f64mat4x2, 32)'],['../a00364.html#ga0892638d6ba773043b3d63d1d092622e',1,'glm::GLM_ALIGNED_TYPEDEF(f64mat4x3, aligned_f64mat4x3, 32)'],['../a00364.html#ga912a16432608b822f1e13607529934c1',1,'glm::GLM_ALIGNED_TYPEDEF(f64mat4x4, aligned_f64mat4x4, 32)'],['../a00364.html#gafd945a8ea86b042aba410e0560df9a3d',1,'glm::GLM_ALIGNED_TYPEDEF(quat, aligned_quat, 16)'],['../a00364.html#ga19c2ba545d1f2f36bcb7b60c9a228622',1,'glm::GLM_ALIGNED_TYPEDEF(quat, aligned_fquat, 16)'],['../a00364.html#gaabc28c84a3288b697605d4688686f9a9',1,'glm::GLM_ALIGNED_TYPEDEF(dquat, aligned_dquat, 32)'],['../a00364.html#ga1ed8aeb5ca67fade269a46105f1bf273',1,'glm::GLM_ALIGNED_TYPEDEF(f32quat, aligned_f32quat, 16)'],['../a00364.html#ga95cc03b8b475993fa50e05e38e203303',1,'glm::GLM_ALIGNED_TYPEDEF(f64quat, aligned_f64quat, 32)']]], ['golden_5fratio',['golden_ratio',['../a00290.html#ga748cf8642830657c5b7eae04d0a80899',1,'glm']]], ['greaterthan',['greaterThan',['../a00299.html#ga8f7fa76e06c417b757ddfd438f3f677b',1,'glm::greaterThan(qua< T, Q > const &x, qua< T, Q > const &y)'],['../a00374.html#gadfdb8ea82deca869ddc7e63ea5a63ae4',1,'glm::greaterThan(vec< L, T, Q > const &x, vec< L, T, Q > const &y)']]], ['greaterthanequal',['greaterThanEqual',['../a00299.html#ga388cbeba987dae7b5937f742efa49a5a',1,'glm::greaterThanEqual(qua< T, Q > const &x, qua< T, Q > const &y)'],['../a00374.html#ga859975f538940f8d18fe62f916b9abd7',1,'glm::greaterThanEqual(vec< L, T, Q > const &x, vec< L, T, Q > const &y)']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_7.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_7.js ================================================ var searchData= [ ['half_5fpi',['half_pi',['../a00290.html#ga0c36b41d462e45641faf7d7938948bac',1,'glm']]], ['hermite',['hermite',['../a00358.html#gaa69e143f6374d32f934a8edeaa50bac9',1,'glm']]], ['highestbitvalue',['highestBitValue',['../a00309.html#ga0dcc8fe7c3d3ad60dea409281efa3d05',1,'glm::highestBitValue(genIUType Value)'],['../a00309.html#ga898ef075ccf809a1e480faab48fe96bf',1,'glm::highestBitValue(vec< L, T, Q > const &value)']]], ['hsvcolor',['hsvColor',['../a00312.html#ga789802bec2d4fe0f9741c731b4a8a7d8',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_8.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_8.js ================================================ var searchData= [ ['identity',['identity',['../a00247.html#ga81696f2b8d1db02ea1aff8da8f269314',1,'glm']]], ['imulextended',['imulExtended',['../a00370.html#gac0c510a70e852f57594a9141848642e3',1,'glm']]], ['infiniteperspective',['infinitePerspective',['../a00243.html#ga44fa38a18349450325cae2661bb115ca',1,'glm']]], ['infiniteperspectivelh',['infinitePerspectiveLH',['../a00243.html#ga3201b30f5b3ea0f933246d87bfb992a9',1,'glm']]], ['infiniteperspectiverh',['infinitePerspectiveRH',['../a00243.html#ga99672ffe5714ef478dab2437255fe7e1',1,'glm']]], ['intbitstofloat',['intBitsToFloat',['../a00241.html#ga4fb7c21c2dce064b26fd9ccdaf9adcd4',1,'glm::intBitsToFloat(int const &v)'],['../a00241.html#ga7a0a8291a1cf3e1c2aee33030a1bd7b0',1,'glm::intBitsToFloat(vec< L, int, Q > const &v)']]], ['intermediate',['intermediate',['../a00352.html#gacc5cd5f3e78de61d141c2355417424de',1,'glm']]], ['interpolate',['interpolate',['../a00337.html#ga4e67863d150724b10c1ac00972dc958c',1,'glm']]], ['intersectlinesphere',['intersectLineSphere',['../a00331.html#ga9c68139f3d8a4f3d7fe45f9dbc0de5b7',1,'glm']]], ['intersectlinetriangle',['intersectLineTriangle',['../a00331.html#ga9d29b9b3acb504d43986502f42740df4',1,'glm']]], ['intersectrayplane',['intersectRayPlane',['../a00331.html#gad3697a9700ea379739a667ea02573488',1,'glm']]], ['intersectraysphere',['intersectRaySphere',['../a00331.html#gac88f8cd84c4bcb5b947d56acbbcfa56e',1,'glm::intersectRaySphere(genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, typename genType::value_type const sphereRadiusSquared, typename genType::value_type &intersectionDistance)'],['../a00331.html#gad28c00515b823b579c608aafa1100c1d',1,'glm::intersectRaySphere(genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, const typename genType::value_type sphereRadius, genType &intersectionPosition, genType &intersectionNormal)']]], ['intersectraytriangle',['intersectRayTriangle',['../a00331.html#ga65bf2c594482f04881c36bc761f9e946',1,'glm']]], ['inverse',['inverse',['../a00248.html#gab41da854ae678e23e114b598cbca4065',1,'glm::inverse(qua< T, Q > const &q)'],['../a00317.html#ga070f521a953f6461af4ab4cf8ccbf27e',1,'glm::inverse(tdualquat< T, Q > const &q)'],['../a00371.html#gaed509fe8129b01e4f20a6d0de5690091',1,'glm::inverse(mat< C, R, T, Q > const &m)']]], ['inversesqrt',['inversesqrt',['../a00242.html#ga523dd6bd0ad9f75ae2d24c8e4b017b7a',1,'glm']]], ['inversetranspose',['inverseTranspose',['../a00295.html#gab213cd0e3ead5f316d583f99d6312008',1,'glm']]], ['iround',['iround',['../a00292.html#ga57824268ebe13a922f1d69a5d37f637f',1,'glm']]], ['iscompnull',['isCompNull',['../a00368.html#gaf6ec1688eab7442fe96fe4941d5d4e76',1,'glm']]], ['isdenormal',['isdenormal',['../a00314.html#ga74aa7c7462245d83bd5a9edf9c6c2d91',1,'glm']]], ['isfinite',['isfinite',['../a00315.html#gaf4b04dcd3526996d68c1bfe17bfc8657',1,'glm::isfinite(genType const &x)'],['../a00315.html#gac3b12b8ac3014418fe53c299478b6603',1,'glm::isfinite(const vec< 1, T, Q > &x)'],['../a00315.html#ga8e76dc3e406ce6a4155c2b12a2e4b084',1,'glm::isfinite(const vec< 2, T, Q > &x)'],['../a00315.html#ga929ef27f896d902c1771a2e5e150fc97',1,'glm::isfinite(const vec< 3, T, Q > &x)'],['../a00315.html#ga19925badbe10ce61df1d0de00be0b5ad',1,'glm::isfinite(const vec< 4, T, Q > &x)']]], ['isidentity',['isIdentity',['../a00340.html#gaee935d145581c82e82b154ccfd78ad91',1,'glm']]], ['isinf',['isinf',['../a00241.html#ga2885587c23a106301f20443896365b62',1,'glm::isinf(vec< L, T, Q > const &x)'],['../a00248.html#ga45722741ea266b4e861938b365c5f362',1,'glm::isinf(qua< T, Q > const &x)']]], ['ismultiple',['isMultiple',['../a00261.html#gaec593d33956a8fe43f78fccc63ddde9a',1,'glm::isMultiple(genIUType v, genIUType Multiple)'],['../a00274.html#ga354caf634ef333d9cb4844407416256a',1,'glm::isMultiple(vec< L, T, Q > const &v, T Multiple)'],['../a00274.html#gabb4360e38c0943d8981ba965dead519d',1,'glm::isMultiple(vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)']]], ['isnan',['isnan',['../a00241.html#ga29ef934c00306490de837b4746b4e14d',1,'glm::isnan(vec< L, T, Q > const &x)'],['../a00248.html#ga1bb55f8963616502e96dc564384d8a03',1,'glm::isnan(qua< T, Q > const &x)']]], ['isnormalized',['isNormalized',['../a00340.html#gae785af56f47ce220a1609f7f84aa077a',1,'glm::isNormalized(mat< 2, 2, T, Q > const &m, T const &epsilon)'],['../a00340.html#gaa068311695f28f5f555f5f746a6a66fb',1,'glm::isNormalized(mat< 3, 3, T, Q > const &m, T const &epsilon)'],['../a00340.html#ga4d9bb4d0465df49fedfad79adc6ce4ad',1,'glm::isNormalized(mat< 4, 4, T, Q > const &m, T const &epsilon)'],['../a00368.html#gac3c974f459fd75453134fad7ae89a39e',1,'glm::isNormalized(vec< L, T, Q > const &v, T const &epsilon)']]], ['isnull',['isNull',['../a00340.html#ga9790ec222ce948c0ff0d8ce927340dba',1,'glm::isNull(mat< 2, 2, T, Q > const &m, T const &epsilon)'],['../a00340.html#gae14501c6b14ccda6014cc5350080103d',1,'glm::isNull(mat< 3, 3, T, Q > const &m, T const &epsilon)'],['../a00340.html#ga2b98bb30a9fefa7cdea5f1dcddba677b',1,'glm::isNull(mat< 4, 4, T, Q > const &m, T const &epsilon)'],['../a00368.html#gab4a3637dbcb4bb42dc55caea7a1e0495',1,'glm::isNull(vec< L, T, Q > const &v, T const &epsilon)']]], ['isorthogonal',['isOrthogonal',['../a00340.html#ga58f3289f74dcab653387dd78ad93ca40',1,'glm']]], ['ispoweroftwo',['isPowerOfTwo',['../a00261.html#gadf491730354aa7da67fbe23d4d688763',1,'glm::isPowerOfTwo(genIUType v)'],['../a00274.html#gabf2b61ded7049bcb13e25164f832a290',1,'glm::isPowerOfTwo(vec< L, T, Q > const &v)']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_9.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_9.js ================================================ var searchData= [ ['l1norm',['l1Norm',['../a00343.html#gae2fc0b2aa967bebfd6a244700bff6997',1,'glm::l1Norm(vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)'],['../a00343.html#ga1a7491e2037ceeb37f83ce41addfc0be',1,'glm::l1Norm(vec< 3, T, Q > const &v)']]], ['l2norm',['l2Norm',['../a00343.html#ga41340b2ef40a9307ab0f137181565168',1,'glm::l2Norm(vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)'],['../a00343.html#gae288bde8f0e41fb4ed62e65137b18cba',1,'glm::l2Norm(vec< 3, T, Q > const &x)']]], ['ldexp',['ldexp',['../a00241.html#gac3010e0a0c35a1b514540f2fb579c58c',1,'glm']]], ['lefthanded',['leftHanded',['../a00328.html#ga6f1bad193b9a3b048543d1935cf04dd3',1,'glm']]], ['length',['length',['../a00254.html#gab703732449be6c7199369b3f9a91ed38',1,'glm::length(qua< T, Q > const &q)'],['../a00279.html#ga0cdabbb000834d994a1d6dc56f8f5263',1,'glm::length(vec< L, T, Q > const &x)']]], ['length2',['length2',['../a00343.html#ga8d1789651050adb7024917984b41c3de',1,'glm::length2(vec< L, T, Q > const &x)'],['../a00352.html#ga58a609b1b8ab965f5df2702e8ca4e75b',1,'glm::length2(qua< T, Q > const &q)']]], ['lerp',['lerp',['../a00248.html#ga6033dc0741051fa463a0a147ba29f293',1,'glm::lerp(qua< T, Q > const &x, qua< T, Q > const &y, T a)'],['../a00315.html#ga5494ba3a95ea6594c86fc75236886864',1,'glm::lerp(T x, T y, T a)'],['../a00315.html#gaa551c0a0e16d2d4608e49f7696df897f',1,'glm::lerp(const vec< 2, T, Q > &x, const vec< 2, T, Q > &y, T a)'],['../a00315.html#ga44a8b5fd776320f1713413dec959b32a',1,'glm::lerp(const vec< 3, T, Q > &x, const vec< 3, T, Q > &y, T a)'],['../a00315.html#ga89ac8e000199292ec7875519d27e214b',1,'glm::lerp(const vec< 4, T, Q > &x, const vec< 4, T, Q > &y, T a)'],['../a00315.html#gaf68de5baf72d16135368b8ef4f841604',1,'glm::lerp(const vec< 2, T, Q > &x, const vec< 2, T, Q > &y, const vec< 2, T, Q > &a)'],['../a00315.html#ga4ae1a616c8540a2649eab8e0cd051bb3',1,'glm::lerp(const vec< 3, T, Q > &x, const vec< 3, T, Q > &y, const vec< 3, T, Q > &a)'],['../a00315.html#gab5477ab69c40de4db5d58d3359529724',1,'glm::lerp(const vec< 4, T, Q > &x, const vec< 4, T, Q > &y, const vec< 4, T, Q > &a)'],['../a00317.html#gace8380112d16d33f520839cb35a4d173',1,'glm::lerp(tdualquat< T, Q > const &x, tdualquat< T, Q > const &y, T const &a)']]], ['lessthan',['lessThan',['../a00299.html#gad091a2d22c8acfebfa92bcfca1dfe9c4',1,'glm::lessThan(qua< T, Q > const &x, qua< T, Q > const &y)'],['../a00374.html#gae90ed1592c395f93e3f3dfce6b2f39c6',1,'glm::lessThan(vec< L, T, Q > const &x, vec< L, T, Q > const &y)']]], ['lessthanequal',['lessThanEqual',['../a00299.html#gac00012eea281800d2403f4ea8443134d',1,'glm::lessThanEqual(qua< T, Q > const &x, qua< T, Q > const &y)'],['../a00374.html#gab0bdafc019d227257ff73fb5bcca1718',1,'glm::lessThanEqual(vec< L, T, Q > const &x, vec< L, T, Q > const &y)']]], ['levels',['levels',['../a00361.html#gaa8c377f4e63486db4fa872d77880da73',1,'glm']]], ['lineargradient',['linearGradient',['../a00327.html#ga849241df1e55129b8ce9476200307419',1,'glm']]], ['linearinterpolation',['linearInterpolation',['../a00318.html#ga290c3e47cb0a49f2e8abe90b1872b649',1,'glm']]], ['linearrand',['linearRand',['../a00300.html#ga04e241ab88374a477a2c2ceadd2fa03d',1,'glm::linearRand(genType Min, genType Max)'],['../a00300.html#ga94731130c298a9ff5e5025fdee6d97a0',1,'glm::linearRand(vec< L, T, Q > const &Min, vec< L, T, Q > const &Max)']]], ['lmaxnorm',['lMaxNorm',['../a00343.html#gad58a8231fc32e38104a9e1c4d3c0cb64',1,'glm::lMaxNorm(vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)'],['../a00343.html#ga6968a324837a8e899396d44de23d5aae',1,'glm::lMaxNorm(vec< 3, T, Q > const &x)']]], ['ln_5fln_5ftwo',['ln_ln_two',['../a00290.html#gaca94292c839ed31a405ab7a81ae7e850',1,'glm']]], ['ln_5ften',['ln_ten',['../a00290.html#gaf97ebc6c059ffd788e6c4946f71ef66c',1,'glm']]], ['ln_5ftwo',['ln_two',['../a00290.html#ga24f4d27765678116f41a2f336ab7975c',1,'glm']]], ['log',['log',['../a00242.html#ga918c9f3fd086ce20e6760c903bd30fa9',1,'glm::log(vec< L, T, Q > const &v)'],['../a00256.html#gaa5f7b20e296671b16ce25a2ab7ad5473',1,'glm::log(qua< T, Q > const &q)'],['../a00333.html#ga60a7b0a401da660869946b2b77c710c9',1,'glm::log(genType const &x, genType const &base)']]], ['log2',['log2',['../a00242.html#ga82831c7d9cca777cebedfe03a19c8d75',1,'glm::log2(vec< L, T, Q > const &v)'],['../a00292.html#ga9bd682e74bfacb005c735305207ec417',1,'glm::log2(genIUType x)']]], ['lookat',['lookAt',['../a00247.html#gaa64aa951a0e99136bba9008d2b59c78e',1,'glm']]], ['lookatlh',['lookAtLH',['../a00247.html#gab2c09e25b0a16d3a9d89cc85bbae41b0',1,'glm']]], ['lookatrh',['lookAtRH',['../a00247.html#gacfa12c8889c754846bc20c65d9b5c701',1,'glm']]], ['lowestbitvalue',['lowestBitValue',['../a00309.html#ga2ff6568089f3a9b67f5c30918855fc6f',1,'glm']]], ['luminosity',['luminosity',['../a00312.html#gad028e0a4f1a9c812b39439b746295b34',1,'glm']]], ['lxnorm',['lxNorm',['../a00343.html#gacad23d30497eb16f67709f2375d1f66a',1,'glm::lxNorm(vec< 3, T, Q > const &x, vec< 3, T, Q > const &y, unsigned int Depth)'],['../a00343.html#gac61b6d81d796d6eb4d4183396a19ab91',1,'glm::lxNorm(vec< 3, T, Q > const &x, unsigned int Depth)']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_a.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_a.js ================================================ var searchData= [ ['make_5fmat2',['make_mat2',['../a00305.html#ga04409e74dc3da251d2501acf5b4b546c',1,'glm']]], ['make_5fmat2x2',['make_mat2x2',['../a00305.html#gae49e1c7bcd5abec74d1c34155031f663',1,'glm']]], ['make_5fmat2x3',['make_mat2x3',['../a00305.html#ga21982104164789cf8985483aaefc25e8',1,'glm']]], ['make_5fmat2x4',['make_mat2x4',['../a00305.html#ga078b862c90b0e9a79ed43a58997d8388',1,'glm']]], ['make_5fmat3',['make_mat3',['../a00305.html#ga611ee7c4d4cadfc83a8fa8e1d10a170f',1,'glm']]], ['make_5fmat3x2',['make_mat3x2',['../a00305.html#ga27a24e121dc39e6857620e0f85b6e1a8',1,'glm']]], ['make_5fmat3x3',['make_mat3x3',['../a00305.html#gaf2e8337b15c3362aaeb6e5849e1c0536',1,'glm']]], ['make_5fmat3x4',['make_mat3x4',['../a00305.html#ga05dd66232aedb993e3b8e7b35eaf932b',1,'glm']]], ['make_5fmat4',['make_mat4',['../a00305.html#gae7bcedb710d1446c87fd1fc93ed8ee9a',1,'glm']]], ['make_5fmat4x2',['make_mat4x2',['../a00305.html#ga8b34c9b25bf3310d8ff9c828c7e2d97c',1,'glm']]], ['make_5fmat4x3',['make_mat4x3',['../a00305.html#ga0330bf6640092d7985fac92927bbd42b',1,'glm']]], ['make_5fmat4x4',['make_mat4x4',['../a00305.html#ga8f084be30e404844bfbb4a551ac2728c',1,'glm']]], ['make_5fquat',['make_quat',['../a00305.html#ga58110d7d81cf7d029e2bab7f8cd9b246',1,'glm']]], ['make_5fvec1',['make_vec1',['../a00305.html#ga4135f03f3049f0a4eb76545c4967957c',1,'glm::make_vec1(vec< 1, T, Q > const &v)'],['../a00305.html#ga13c92b81e55f201b052a6404d57da220',1,'glm::make_vec1(vec< 2, T, Q > const &v)'],['../a00305.html#ga3c23cc74086d361e22bbd5e91a334e03',1,'glm::make_vec1(vec< 3, T, Q > const &v)'],['../a00305.html#ga6af06bb60d64ca8bcd169e3c93bc2419',1,'glm::make_vec1(vec< 4, T, Q > const &v)']]], ['make_5fvec2',['make_vec2',['../a00305.html#ga8476d0e6f1b9b4a6193cc25f59d8a896',1,'glm::make_vec2(vec< 1, T, Q > const &v)'],['../a00305.html#gae54bd325a08ad26edf63929201adebc7',1,'glm::make_vec2(vec< 2, T, Q > const &v)'],['../a00305.html#ga0084fea4694cf47276e9cccbe7b1015a',1,'glm::make_vec2(vec< 3, T, Q > const &v)'],['../a00305.html#ga2b81f71f3a222fe5bba81e3983751249',1,'glm::make_vec2(vec< 4, T, Q > const &v)'],['../a00305.html#ga81253cf7b0ebfbb1e70540c5774e6824',1,'glm::make_vec2(T const *const ptr)']]], ['make_5fvec3',['make_vec3',['../a00305.html#ga9147e4b3a5d0f4772edfbfd179d7ea0b',1,'glm::make_vec3(vec< 1, T, Q > const &v)'],['../a00305.html#ga482b60a842a5b154d3eed392417a9511',1,'glm::make_vec3(vec< 2, T, Q > const &v)'],['../a00305.html#gacd57046034df557b8b1c457f58613623',1,'glm::make_vec3(vec< 3, T, Q > const &v)'],['../a00305.html#ga8b589ed7d41a298b516d2a69169248f1',1,'glm::make_vec3(vec< 4, T, Q > const &v)'],['../a00305.html#gad9e0d36ff489cb30c65ad1fa40351651',1,'glm::make_vec3(T const *const ptr)']]], ['make_5fvec4',['make_vec4',['../a00305.html#ga600cb97f70c5d50d3a4a145e1cafbf37',1,'glm::make_vec4(vec< 1, T, Q > const &v)'],['../a00305.html#gaa9bd116caf28196fd1cf00b278286fa7',1,'glm::make_vec4(vec< 2, T, Q > const &v)'],['../a00305.html#ga4036328ba4702c74cbdfad1fc03d1b8f',1,'glm::make_vec4(vec< 3, T, Q > const &v)'],['../a00305.html#gaa95cb15732f708f613e65a0578895ae5',1,'glm::make_vec4(vec< 4, T, Q > const &v)'],['../a00305.html#ga63f576518993efc22a969f18f80e29bb',1,'glm::make_vec4(T const *const ptr)']]], ['mask',['mask',['../a00288.html#gad7eba518a0b71662114571ee76939f8a',1,'glm::mask(genIUType Bits)'],['../a00288.html#ga2e64e3b922a296033b825311e7f5fff1',1,'glm::mask(vec< L, T, Q > const &v)']]], ['mat2x4_5fcast',['mat2x4_cast',['../a00317.html#gae99d143b37f9cad4cd9285571aab685a',1,'glm']]], ['mat3_5fcast',['mat3_cast',['../a00299.html#ga333ab70047fbe4132406100c292dbc89',1,'glm']]], ['mat3x4_5fcast',['mat3x4_cast',['../a00317.html#gaf59f5bb69620d2891c3795c6f2639179',1,'glm']]], ['mat4_5fcast',['mat4_cast',['../a00299.html#ga1113212d9bdefc2e31ad40e5bbb506f3',1,'glm']]], ['matrixcompmult',['matrixCompMult',['../a00371.html#gaf14569404c779fedca98d0b9b8e58c1f',1,'glm']]], ['matrixcross3',['matrixCross3',['../a00334.html#ga5802386bb4c37b3332a3b6fd8b6960ff',1,'glm']]], ['matrixcross4',['matrixCross4',['../a00334.html#ga20057fff91ddafa102934adb25458cde',1,'glm']]], ['max',['max',['../a00241.html#gae02d42887fc5570451f880e3c624b9ac',1,'glm::max(genType x, genType y)'],['../a00241.html#ga03e45d6e60d1c36edb00c52edeea0f31',1,'glm::max(vec< L, T, Q > const &x, T y)'],['../a00241.html#gac1fec0c3303b572a6d4697a637213870',1,'glm::max(vec< L, T, Q > const &x, vec< L, T, Q > const &y)'],['../a00258.html#gaa20839d9ab14514f8966f69877ea0de8',1,'glm::max(T a, T b, T c)'],['../a00258.html#ga2274b5e75ed84b0b1e50d8d22f1f2f67',1,'glm::max(T a, T b, T c, T d)'],['../a00267.html#gaa45d34f6a2906f8bf58ab2ba5429234d',1,'glm::max(vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &z)'],['../a00267.html#ga94d42b8da2b4ded5ddf7504fbdc6bf10',1,'glm::max(vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &z, vec< L, T, Q > const &w)'],['../a00321.html#ga04991ccb9865c4c4e58488cfb209ce69',1,'glm::max(T const &x, T const &y, T const &z)'],['../a00321.html#gae1b7bbe5c91de4924835ea3e14530744',1,'glm::max(C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)'],['../a00321.html#gaf832e9d4ab4826b2dda2fda25935a3a4',1,'glm::max(C< T > const &x, C< T > const &y, C< T > const &z)'],['../a00321.html#ga78e04a0cef1c4863fcae1a2130500d87',1,'glm::max(T const &x, T const &y, T const &z, T const &w)'],['../a00321.html#ga7cca8b53cfda402040494cdf40fbdf4a',1,'glm::max(C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)'],['../a00321.html#gaacffbc466c2d08c140b181e7fd8a4858',1,'glm::max(C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)']]], ['min',['min',['../a00241.html#ga6cf8098827054a270ee36b18e30d471d',1,'glm::min(genType x, genType y)'],['../a00241.html#gaa7d015eba1f9f48519251f4abe69b14d',1,'glm::min(vec< L, T, Q > const &x, T y)'],['../a00241.html#ga31f49ef9e7d1beb003160c5e009b0c48',1,'glm::min(vec< L, T, Q > const &x, vec< L, T, Q > const &y)'],['../a00258.html#ga420b37cbd98c395b93dab0278305cd46',1,'glm::min(T a, T b, T c)'],['../a00258.html#ga0d24a9acb8178df77e4aff90cbb2010d',1,'glm::min(T a, T b, T c, T d)'],['../a00267.html#ga3cd83d80fd4f433d8e333593ec56dddf',1,'glm::min(vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c)'],['../a00267.html#gab66920ed064ab518d6859c5a889c4be4',1,'glm::min(vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c, vec< L, T, Q > const &d)'],['../a00321.html#ga713d3f9b3e76312c0d314e0c8611a6a6',1,'glm::min(T const &x, T const &y, T const &z)'],['../a00321.html#ga74d1a96e7cdbac40f6d35142d3bcbbd4',1,'glm::min(C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z)'],['../a00321.html#ga42b5c3fc027fd3d9a50d2ccc9126d9f0',1,'glm::min(C< T > const &x, C< T > const &y, C< T > const &z)'],['../a00321.html#ga95466987024d03039607f09e69813d69',1,'glm::min(T const &x, T const &y, T const &z, T const &w)'],['../a00321.html#ga4fe35dd31dd0c45693c9b60b830b8d47',1,'glm::min(C< T > const &x, typename C< T >::T const &y, typename C< T >::T const &z, typename C< T >::T const &w)'],['../a00321.html#ga7471ea4159eed8dd9ea4ac5d46c2fead',1,'glm::min(C< T > const &x, C< T > const &y, C< T > const &z, C< T > const &w)']]], ['mirrorclamp',['mirrorClamp',['../a00369.html#gaa6856a0a048d2749252848da35e10c8b',1,'glm']]], ['mirrorrepeat',['mirrorRepeat',['../a00369.html#ga16a89b0661b60d5bea85137bbae74d73',1,'glm']]], ['mix',['mix',['../a00241.html#ga8e93f374aae27d1a88b921860351f8d4',1,'glm::mix(genTypeT x, genTypeT y, genTypeU a)'],['../a00248.html#gafbfe587b8da11fb89a30c3d67dd5ccc2',1,'glm::mix(qua< T, Q > const &x, qua< T, Q > const &y, T a)']]], ['mixedproduct',['mixedProduct',['../a00342.html#gab3c6048fbb67f7243b088a4fee48d020',1,'glm']]], ['mod',['mod',['../a00241.html#ga9b197a452cd52db3c5c18bac72bd7798',1,'glm::mod(vec< L, T, Q > const &x, vec< L, T, Q > const &y)'],['../a00330.html#gaabfbb41531ab7ad8d06fc176edfba785',1,'glm::mod(int x, int y)'],['../a00330.html#ga63fc8d63e7da1706439233b386ba8b6f',1,'glm::mod(uint x, uint y)']]], ['modf',['modf',['../a00241.html#ga85e33f139b8db1b39b590a5713b9e679',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_b.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_b.js ================================================ var searchData= [ ['nextmultiple',['nextMultiple',['../a00261.html#gab770a3835c44c8a6fd225be4f4e6b317',1,'glm::nextMultiple(genIUType v, genIUType Multiple)'],['../a00274.html#gace38d00601cbf49cd4dc03f003ab42b7',1,'glm::nextMultiple(vec< L, T, Q > const &v, T Multiple)'],['../a00274.html#gacda365edad320c7aff19cc283a3b8ca2',1,'glm::nextMultiple(vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)']]], ['nextpoweroftwo',['nextPowerOfTwo',['../a00261.html#ga3a37c2f2fd347886c9af6a3ca3db04dc',1,'glm::nextPowerOfTwo(genIUType v)'],['../a00274.html#gabba67f8aac9915e10fca727277274502',1,'glm::nextPowerOfTwo(vec< L, T, Q > const &v)']]], ['nlz',['nlz',['../a00330.html#ga78dff8bdb361bf0061194c93e003d189',1,'glm']]], ['normalize',['normalize',['../a00254.html#gabf30e3263fffe8dcc6659aea76ae8927',1,'glm::normalize(qua< T, Q > const &q)'],['../a00279.html#ga3b8d3dcae77870781392ed2902cce597',1,'glm::normalize(vec< L, T, Q > const &x)'],['../a00317.html#ga299b8641509606b1958ffa104a162cfe',1,'glm::normalize(tdualquat< T, Q > const &q)']]], ['normalizedot',['normalizeDot',['../a00345.html#gacb140a2b903115d318c8b0a2fb5a5daa',1,'glm']]], ['not_5f',['not_',['../a00374.html#ga610fcd175791fd246e328ffee10dbf1e',1,'glm']]], ['notequal',['notEqual',['../a00246.html#ga8504f18a7e2bf315393032c2137dad83',1,'glm::notEqual(mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y)'],['../a00246.html#ga29071147d118569344d10944b7d5c378',1,'glm::notEqual(mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, T epsilon)'],['../a00246.html#gad7959e14fbc35b4ed2617daf4d67f6cd',1,'glm::notEqual(mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, vec< C, T, Q > const &epsilon)'],['../a00246.html#gaa1cd7fc228ef6e26c73583fd0d9c6552',1,'glm::notEqual(mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, int ULPs)'],['../a00246.html#gaa5517341754149ffba742d230afd1f32',1,'glm::notEqual(mat< C, R, T, Q > const &x, mat< C, R, T, Q > const &y, vec< C, int, Q > const &ULPs)'],['../a00255.html#gab441cee0de5867a868f3a586ee68cfe1',1,'glm::notEqual(qua< T, Q > const &x, qua< T, Q > const &y)'],['../a00255.html#ga5117a44c1bf21af857cd23e44a96d313',1,'glm::notEqual(qua< T, Q > const &x, qua< T, Q > const &y, T epsilon)'],['../a00275.html#ga4a99cc41341567567a608719449c1fac',1,'glm::notEqual(vec< L, T, Q > const &x, vec< L, T, Q > const &y, T epsilon)'],['../a00275.html#ga417cf51304359db18e819dda9bce5767',1,'glm::notEqual(vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &epsilon)'],['../a00275.html#ga8b5c2c3f83422ae5b71fa960d03b0339',1,'glm::notEqual(vec< L, T, Q > const &x, vec< L, T, Q > const &y, int ULPs)'],['../a00275.html#ga0b15ffe32987a6029b14398eb0def01a',1,'glm::notEqual(vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, int, Q > const &ULPs)'],['../a00374.html#ga17c19dc1b76cd5aef63e9e7ff3aa3c27',1,'glm::notEqual(vec< L, T, Q > const &x, vec< L, T, Q > const &y)']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_c.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_c.js ================================================ var searchData= [ ['one',['one',['../a00290.html#ga39c2fb227631ca25894326529bdd1ee5',1,'glm']]], ['one_5fover_5fpi',['one_over_pi',['../a00290.html#ga555150da2b06d23c8738981d5013e0eb',1,'glm']]], ['one_5fover_5froot_5ftwo',['one_over_root_two',['../a00290.html#ga788fa23a0939bac4d1d0205fb4f35818',1,'glm']]], ['one_5fover_5ftwo_5fpi',['one_over_two_pi',['../a00290.html#ga7c922b427986cbb2e4c6ac69874eefbc',1,'glm']]], ['openbounded',['openBounded',['../a00314.html#gafd303042ba2ba695bf53b2315f53f93f',1,'glm']]], ['orientate2',['orientate2',['../a00319.html#gae16738a9f1887cf4e4db6a124637608d',1,'glm']]], ['orientate3',['orientate3',['../a00319.html#ga7ca98668a5786f19c7b38299ebbc9b4c',1,'glm::orientate3(T const &angle)'],['../a00319.html#ga7238c8e15c7720e3ca6a45ab151eeabb',1,'glm::orientate3(vec< 3, T, Q > const &angles)']]], ['orientate4',['orientate4',['../a00319.html#ga4a044653f71a4ecec68e0b623382b48a',1,'glm']]], ['orientation',['orientation',['../a00356.html#ga1a32fceb71962e6160e8af295c91930a',1,'glm']]], ['orientedangle',['orientedAngle',['../a00367.html#ga9556a803dce87fe0f42fdabe4ebba1d5',1,'glm::orientedAngle(vec< 2, T, Q > const &x, vec< 2, T, Q > const &y)'],['../a00367.html#ga706fce3d111f485839756a64f5a48553',1,'glm::orientedAngle(vec< 3, T, Q > const &x, vec< 3, T, Q > const &y, vec< 3, T, Q > const &ref)']]], ['ortho',['ortho',['../a00243.html#gae5b6b40ed882cd56cd7cb97701909c06',1,'glm::ortho(T left, T right, T bottom, T top)'],['../a00243.html#ga6615d8a9d39432e279c4575313ecb456',1,'glm::ortho(T left, T right, T bottom, T top, T zNear, T zFar)']]], ['ortholh',['orthoLH',['../a00243.html#gad122a79aadaa5529cec4ac197203db7f',1,'glm']]], ['ortholh_5fno',['orthoLH_NO',['../a00243.html#ga526416735ea7c5c5cd255bf99d051bd8',1,'glm']]], ['ortholh_5fzo',['orthoLH_ZO',['../a00243.html#gab37ac3eec8d61f22fceda7775e836afa',1,'glm']]], ['orthono',['orthoNO',['../a00243.html#gab219d28a8f178d4517448fcd6395a073',1,'glm']]], ['orthonormalize',['orthonormalize',['../a00348.html#ga4cab5d698e6e2eccea30c8e81c74371f',1,'glm::orthonormalize(mat< 3, 3, T, Q > const &m)'],['../a00348.html#gac3bc7ef498815026bc3d361ae0b7138e',1,'glm::orthonormalize(vec< 3, T, Q > const &x, vec< 3, T, Q > const &y)']]], ['orthorh',['orthoRH',['../a00243.html#ga16264c9b838edeb9dd1de7a1010a13a4',1,'glm']]], ['orthorh_5fno',['orthoRH_NO',['../a00243.html#gaa2f7a1373170bf0a4a2ddef9b0706780',1,'glm']]], ['orthorh_5fzo',['orthoRH_ZO',['../a00243.html#ga9aea2e515b08fd7dce47b7b6ec34d588',1,'glm']]], ['orthozo',['orthoZO',['../a00243.html#gaea11a70817af2c0801c869dea0b7a5bc',1,'glm']]], ['outerproduct',['outerProduct',['../a00371.html#gac29fb7bae75a8e4c1b74cbbf85520e50',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_d.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_d.js ================================================ var searchData= [ ['packdouble2x32',['packDouble2x32',['../a00372.html#gaa916ca426b2bb0343ba17e3753e245c2',1,'glm']]], ['packf2x11_5f1x10',['packF2x11_1x10',['../a00298.html#ga4944ad465ff950e926d49621f916c78d',1,'glm']]], ['packf3x9_5fe1x5',['packF3x9_E1x5',['../a00298.html#ga3f648fc205467792dc6d8c59c748f8a6',1,'glm']]], ['packhalf',['packHalf',['../a00298.html#ga2d8bbce673ebc04831c1fb05c47f5251',1,'glm']]], ['packhalf1x16',['packHalf1x16',['../a00298.html#ga43f2093b6ff192a79058ff7834fc3528',1,'glm']]], ['packhalf2x16',['packHalf2x16',['../a00372.html#ga20f134b07db3a3d3a38efb2617388c92',1,'glm']]], ['packhalf4x16',['packHalf4x16',['../a00298.html#gafe2f7b39caf8f5ec555e1c059ec530e6',1,'glm']]], ['packi3x10_5f1x2',['packI3x10_1x2',['../a00298.html#ga06ecb6afb902dba45419008171db9023',1,'glm']]], ['packint2x16',['packInt2x16',['../a00298.html#ga3644163cf3a47bf1d4af1f4b03013a7e',1,'glm']]], ['packint2x32',['packInt2x32',['../a00298.html#gad1e4c8a9e67d86b61a6eec86703a827a',1,'glm']]], ['packint2x8',['packInt2x8',['../a00298.html#ga8884b1f2292414f36d59ef3be5d62914',1,'glm']]], ['packint4x16',['packInt4x16',['../a00298.html#ga1989f093a27ae69cf9207145be48b3d7',1,'glm']]], ['packint4x8',['packInt4x8',['../a00298.html#gaf2238401d5ce2aaade1a44ba19709072',1,'glm']]], ['packrgbm',['packRGBM',['../a00298.html#ga0466daf4c90f76cc64b3f105ce727295',1,'glm']]], ['packsnorm',['packSnorm',['../a00298.html#gaa54b5855a750d6aeb12c1c902f5939b8',1,'glm']]], ['packsnorm1x16',['packSnorm1x16',['../a00298.html#gab22f8bcfdb5fc65af4701b25f143c1af',1,'glm']]], ['packsnorm1x8',['packSnorm1x8',['../a00298.html#gae3592e0795e62aaa1865b3a10496a7a1',1,'glm']]], ['packsnorm2x16',['packSnorm2x16',['../a00372.html#ga977ab172da5494e5ac63e952afacfbe2',1,'glm']]], ['packsnorm2x8',['packSnorm2x8',['../a00298.html#ga6be3cfb2cce3702f03e91bbeb5286d7e',1,'glm']]], ['packsnorm3x10_5f1x2',['packSnorm3x10_1x2',['../a00298.html#gab997545661877d2c7362a5084d3897d3',1,'glm']]], ['packsnorm4x16',['packSnorm4x16',['../a00298.html#ga358943934d21da947d5bcc88c2ab7832',1,'glm']]], ['packsnorm4x8',['packSnorm4x8',['../a00372.html#ga85e8f17627516445026ab7a9c2e3531a',1,'glm']]], ['packu3x10_5f1x2',['packU3x10_1x2',['../a00298.html#gada3d88d59f0f458f9c51a9fd359a4bc0',1,'glm']]], ['packuint2x16',['packUint2x16',['../a00298.html#ga5eecc9e8cbaf51ac6cf57501e670ee19',1,'glm']]], ['packuint2x32',['packUint2x32',['../a00298.html#gaa864081097b86e83d8e4a4d79c382b22',1,'glm']]], ['packuint2x8',['packUint2x8',['../a00298.html#ga3c3c9fb53ae7823b10fa083909357590',1,'glm']]], ['packuint4x16',['packUint4x16',['../a00298.html#ga2ceb62cca347d8ace42ee90317a3f1f9',1,'glm']]], ['packuint4x8',['packUint4x8',['../a00298.html#gaa0fe2f09aeb403cd66c1a062f58861ab',1,'glm']]], ['packunorm',['packUnorm',['../a00298.html#gaccd3f27e6ba5163eb7aa9bc8ff96251a',1,'glm']]], ['packunorm1x16',['packUnorm1x16',['../a00298.html#ga9f82737bf2a44bedff1d286b76837886',1,'glm']]], ['packunorm1x5_5f1x6_5f1x5',['packUnorm1x5_1x6_1x5',['../a00298.html#ga768e0337dd6246773f14aa0a421fe9a8',1,'glm']]], ['packunorm1x8',['packUnorm1x8',['../a00298.html#ga4b2fa60df3460403817d28b082ee0736',1,'glm']]], ['packunorm2x16',['packUnorm2x16',['../a00372.html#ga0e2d107039fe608a209497af867b85fb',1,'glm']]], ['packunorm2x3_5f1x2',['packUnorm2x3_1x2',['../a00298.html#ga7f9abdb50f9be1aa1c14912504a0d98d',1,'glm']]], ['packunorm2x4',['packUnorm2x4',['../a00298.html#gab6bbd5be3b8e6db538ecb33a7844481c',1,'glm']]], ['packunorm2x8',['packUnorm2x8',['../a00298.html#ga9a666b1c688ab54100061ed06526de6e',1,'glm']]], ['packunorm3x10_5f1x2',['packUnorm3x10_1x2',['../a00298.html#ga8a1ee625d2707c60530fb3fca2980b19',1,'glm']]], ['packunorm3x5_5f1x1',['packUnorm3x5_1x1',['../a00298.html#gaec4112086d7fb133bea104a7c237de52',1,'glm']]], ['packunorm4x16',['packUnorm4x16',['../a00298.html#ga1f63c264e7ab63264e2b2a99fd393897',1,'glm']]], ['packunorm4x4',['packUnorm4x4',['../a00298.html#gad3e7e3ce521513584a53aedc5f9765c1',1,'glm']]], ['packunorm4x8',['packUnorm4x8',['../a00372.html#gaf7d2f7341a9eeb4a436929d6f9ad08f2',1,'glm']]], ['perlin',['perlin',['../a00297.html#ga1e043ce3b51510e9bc4469227cefc38a',1,'glm::perlin(vec< L, T, Q > const &p)'],['../a00297.html#gac270edc54c5fc52f5985a45f940bb103',1,'glm::perlin(vec< L, T, Q > const &p, vec< L, T, Q > const &rep)']]], ['perp',['perp',['../a00349.html#ga264cfc4e180cf9b852e943b35089003c',1,'glm']]], ['perspective',['perspective',['../a00243.html#ga747c8cf99458663dd7ad1bb3a2f07787',1,'glm']]], ['perspectivefov',['perspectiveFov',['../a00243.html#gaebd02240fd36e85ad754f02ddd9a560d',1,'glm']]], ['perspectivefovlh',['perspectiveFovLH',['../a00243.html#ga6aebe16c164bd8e52554cbe0304ef4aa',1,'glm']]], ['perspectivefovlh_5fno',['perspectiveFovLH_NO',['../a00243.html#gad18a4495b77530317327e8d466488c1a',1,'glm']]], ['perspectivefovlh_5fzo',['perspectiveFovLH_ZO',['../a00243.html#gabdd37014f529e25b2fa1b3ba06c10d5c',1,'glm']]], ['perspectivefovno',['perspectiveFovNO',['../a00243.html#gaf30e7bd3b1387a6776433dd5383e6633',1,'glm']]], ['perspectivefovrh',['perspectiveFovRH',['../a00243.html#gaf32bf563f28379c68554a44ee60c6a85',1,'glm']]], ['perspectivefovrh_5fno',['perspectiveFovRH_NO',['../a00243.html#ga257b733ff883c9a065801023cf243eb2',1,'glm']]], ['perspectivefovrh_5fzo',['perspectiveFovRH_ZO',['../a00243.html#ga7dcbb25331676f5b0795aced1a905c44',1,'glm']]], ['perspectivefovzo',['perspectiveFovZO',['../a00243.html#ga4bc69fa1d1f95128430aa3d2a712390b',1,'glm']]], ['perspectivelh',['perspectiveLH',['../a00243.html#ga9bd34951dc7022ac256fcb51d7f6fc2f',1,'glm']]], ['perspectivelh_5fno',['perspectiveLH_NO',['../a00243.html#gaead4d049d1feab463b700b5641aa590e',1,'glm']]], ['perspectivelh_5fzo',['perspectiveLH_ZO',['../a00243.html#gaca32af88c2719005c02817ad1142986c',1,'glm']]], ['perspectiveno',['perspectiveNO',['../a00243.html#gaf497e6bca61e7c87088370b126a93758',1,'glm']]], ['perspectiverh',['perspectiveRH',['../a00243.html#ga26b88757fbd90601b80768a7e1ad3aa1',1,'glm']]], ['perspectiverh_5fno',['perspectiveRH_NO',['../a00243.html#gad1526cb2cbe796095284e8f34b01c582',1,'glm']]], ['perspectiverh_5fzo',['perspectiveRH_ZO',['../a00243.html#ga4da358d6e1b8e5b9ae35d1f3f2dc3b9a',1,'glm']]], ['perspectivezo',['perspectiveZO',['../a00243.html#gaa9dfba5c2322da54f72b1eb7c7c11b47',1,'glm']]], ['pi',['pi',['../a00259.html#ga94bafeb2a0f23ab6450fed1f98ee4e45',1,'glm']]], ['pickmatrix',['pickMatrix',['../a00245.html#gaf6b21eadb7ac2ecbbe258a9a233b4c82',1,'glm']]], ['pitch',['pitch',['../a00299.html#ga7603e81477b46ddb448896909bc04928',1,'glm']]], ['polar',['polar',['../a00350.html#gab83ac2c0e55b684b06b6c46c28b1590d',1,'glm']]], ['pow',['pow',['../a00242.html#ga2254981952d4f333b900a6bf5167a6c4',1,'glm::pow(vec< L, T, Q > const &base, vec< L, T, Q > const &exponent)'],['../a00256.html#ga4975ffcacd312a8c0bbd046a76c5607e',1,'glm::pow(qua< T, Q > const &q, T y)'],['../a00330.html#ga465016030a81d513fa2fac881ebdaa83',1,'glm::pow(int x, uint y)'],['../a00330.html#ga998e5ee915d3769255519e2fbaa2bbf0',1,'glm::pow(uint x, uint y)']]], ['pow2',['pow2',['../a00347.html#ga19aaff3213bf23bdec3ef124ace237e9',1,'glm::gtx']]], ['pow3',['pow3',['../a00347.html#ga35689d03cd434d6ea819f1942d3bf82e',1,'glm::gtx']]], ['pow4',['pow4',['../a00347.html#gacef0968763026e180e53e735007dbf5a',1,'glm::gtx']]], ['poweroftwoabove',['powerOfTwoAbove',['../a00309.html#ga8cda2459871f574a0aecbe702ac93291',1,'glm::powerOfTwoAbove(genIUType Value)'],['../a00309.html#ga2bbded187c5febfefc1e524ba31b3fab',1,'glm::powerOfTwoAbove(vec< L, T, Q > const &value)']]], ['poweroftwobelow',['powerOfTwoBelow',['../a00309.html#ga3de7df63c589325101a2817a56f8e29d',1,'glm::powerOfTwoBelow(genIUType Value)'],['../a00309.html#gaf78ddcc4152c051b2a21e68fecb10980',1,'glm::powerOfTwoBelow(vec< L, T, Q > const &value)']]], ['poweroftwonearest',['powerOfTwoNearest',['../a00309.html#ga5f65973a5d2ea38c719e6a663149ead9',1,'glm::powerOfTwoNearest(genIUType Value)'],['../a00309.html#gac87e65d11e16c3d6b91c3bcfaef7da0b',1,'glm::powerOfTwoNearest(vec< L, T, Q > const &value)']]], ['prevmultiple',['prevMultiple',['../a00261.html#gada3bdd871ffe31f2d484aa668362f636',1,'glm::prevMultiple(genIUType v, genIUType Multiple)'],['../a00274.html#ga7b3915a7cd3d50ff4976ab7a75a6880a',1,'glm::prevMultiple(vec< L, T, Q > const &v, T Multiple)'],['../a00274.html#ga51e04379e8aebbf83e2e5ab094578ee9',1,'glm::prevMultiple(vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)']]], ['prevpoweroftwo',['prevPowerOfTwo',['../a00261.html#gab21902a0e7e5a8451a7ad80333618727',1,'glm::prevPowerOfTwo(genIUType v)'],['../a00274.html#ga759db73f14d79f63612bd2398b577e7a',1,'glm::prevPowerOfTwo(vec< L, T, Q > const &v)']]], ['proj',['proj',['../a00351.html#ga58384b7170801dd513de46f87c7fb00e',1,'glm']]], ['proj2d',['proj2D',['../a00363.html#ga5b992a0cdc8298054edb68e228f0d93e',1,'glm']]], ['proj3d',['proj3D',['../a00363.html#gaa2b7f4f15b98f697caede11bef50509e',1,'glm']]], ['project',['project',['../a00245.html#gaf36e96033f456659e6705472a06b6e11',1,'glm']]], ['projectno',['projectNO',['../a00245.html#ga05249751f48d14cb282e4979802b8111',1,'glm']]], ['projectzo',['projectZO',['../a00245.html#ga77d157525063dec83a557186873ee080',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_e.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_e.js ================================================ var searchData= [ ['qr_5fdecompose',['qr_decompose',['../a00336.html#gac62d7bfc8dc661e616620d70552cd566',1,'glm']]], ['quadraticeasein',['quadraticEaseIn',['../a00318.html#gaf42089d35855695132d217cd902304a0',1,'glm']]], ['quadraticeaseinout',['quadraticEaseInOut',['../a00318.html#ga03e8fc2d7945a4e63ee33b2159c14cea',1,'glm']]], ['quadraticeaseout',['quadraticEaseOut',['../a00318.html#ga283717bc2d937547ad34ec0472234ee3',1,'glm']]], ['quarter_5fpi',['quarter_pi',['../a00290.html#ga3c9df42bd73c519a995c43f0f99e77e0',1,'glm']]], ['quarticeasein',['quarticEaseIn',['../a00318.html#ga808b41f14514f47dad5dcc69eb924afd',1,'glm']]], ['quarticeaseinout',['quarticEaseInOut',['../a00318.html#ga6d000f852de12b197e154f234b20c505',1,'glm']]], ['quarticeaseout',['quarticEaseOut',['../a00318.html#ga4dfb33fa7664aa888eb647999d329b98',1,'glm']]], ['quat_5fcast',['quat_cast',['../a00299.html#ga1108a4ab88ca87bac321454eea7702f8',1,'glm::quat_cast(mat< 3, 3, T, Q > const &x)'],['../a00299.html#ga4524810f07f72e8c7bdc7764fa11cb58',1,'glm::quat_cast(mat< 4, 4, T, Q > const &x)']]], ['quat_5fidentity',['quat_identity',['../a00352.html#ga5ee8332600b2aca3a77622a28d857b55',1,'glm']]], ['quatlookat',['quatLookAt',['../a00299.html#gabe7fc5ec5feb41ab234d5d2b6254697f',1,'glm']]], ['quatlookatlh',['quatLookAtLH',['../a00299.html#ga2da350c73411be3bb19441b226b81a74',1,'glm']]], ['quatlookatrh',['quatLookAtRH',['../a00299.html#gaf6529ac8c04a57fcc35865b5c9437cc8',1,'glm']]], ['quinticeasein',['quinticEaseIn',['../a00318.html#ga097579d8e087dcf48037588140a21640',1,'glm']]], ['quinticeaseinout',['quinticEaseInOut',['../a00318.html#ga2a82d5c46df7e2d21cc0108eb7b83934',1,'glm']]], ['quinticeaseout',['quinticEaseOut',['../a00318.html#ga7dbd4d5c8da3f5353121f615e7b591d7',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_f.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/functions_f.js ================================================ var searchData= [ ['radialgradient',['radialGradient',['../a00327.html#gaaecb1e93de4cbe0758b882812d4da294',1,'glm']]], ['radians',['radians',['../a00373.html#ga6e1db4862c5e25afd553930e2fdd6a68',1,'glm']]], ['reflect',['reflect',['../a00279.html#ga5631dd1d5618de5450b1ea3cf3e94905',1,'glm']]], ['refract',['refract',['../a00279.html#ga01da3dff9e2ef6b9d4915c3047e22b74',1,'glm']]], ['repeat',['repeat',['../a00369.html#ga809650c6310ea7c42666e918c117fb6f',1,'glm']]], ['rgb2ycocg',['rgb2YCoCg',['../a00313.html#ga0606353ec2a9b9eaa84f1b02ec391bc5',1,'glm']]], ['rgb2ycocgr',['rgb2YCoCgR',['../a00313.html#ga0389772e44ca0fd2ba4a79bdd8efe898',1,'glm']]], ['rgbcolor',['rgbColor',['../a00312.html#ga5f9193be46f45f0655c05a0cdca006db',1,'glm']]], ['righthanded',['rightHanded',['../a00328.html#ga99386a5ab5491871b947076e21699cc8',1,'glm']]], ['roll',['roll',['../a00299.html#ga0cc5ad970d0b00829b139fe0fe5a1e13',1,'glm']]], ['root_5ffive',['root_five',['../a00290.html#gae9ebbded75b53d4faeb1e4ef8b3347a2',1,'glm']]], ['root_5fhalf_5fpi',['root_half_pi',['../a00290.html#ga4e276cb823cc5e612d4f89ed99c75039',1,'glm']]], ['root_5fln_5ffour',['root_ln_four',['../a00290.html#ga4129412e96b33707a77c1a07652e23e2',1,'glm']]], ['root_5fpi',['root_pi',['../a00290.html#ga261380796b2cd496f68d2cf1d08b8eb9',1,'glm']]], ['root_5fthree',['root_three',['../a00290.html#ga4f286be4abe88be1eed7d2a9f6cb193e',1,'glm']]], ['root_5ftwo',['root_two',['../a00290.html#ga74e607d29020f100c0d0dc46ce2ca950',1,'glm']]], ['root_5ftwo_5fpi',['root_two_pi',['../a00290.html#ga2bcedc575039fe0cd765742f8bbb0bd3',1,'glm']]], ['rotate',['rotate',['../a00247.html#gaee9e865eaa9776370996da2940873fd4',1,'glm::rotate(mat< 4, 4, T, Q > const &m, T angle, vec< 3, T, Q > const &axis)'],['../a00256.html#gabfc57de6d4d2e11970f54119c5ccf0f5',1,'glm::rotate(qua< T, Q > const &q, T const &angle, vec< 3, T, Q > const &axis)'],['../a00341.html#gad5c84a4932a758f385a87098ce1b1660',1,'glm::rotate(mat< 3, 3, T, Q > const &m, T angle)'],['../a00352.html#ga07da6ef58646442efe93b0c273d73776',1,'glm::rotate(qua< T, Q > const &q, vec< 3, T, Q > const &v)'],['../a00352.html#gafcb78dfff45fbf19a7fcb2bd03fbf196',1,'glm::rotate(qua< T, Q > const &q, vec< 4, T, Q > const &v)'],['../a00356.html#gab64a67b52ff4f86c3ba16595a5a25af6',1,'glm::rotate(vec< 2, T, Q > const &v, T const &angle)'],['../a00356.html#ga1ba501ef83d1a009a17ac774cc560f21',1,'glm::rotate(vec< 3, T, Q > const &v, T const &angle, vec< 3, T, Q > const &normal)'],['../a00356.html#ga1005f1267ed9c57faa3f24cf6873b961',1,'glm::rotate(vec< 4, T, Q > const &v, T const &angle, vec< 3, T, Q > const &normal)'],['../a00362.html#gaf599be4c0e9d99be1f9cddba79b6018b',1,'glm::rotate(T angle, vec< 3, T, Q > const &v)']]], ['rotatenormalizedaxis',['rotateNormalizedAxis',['../a00355.html#ga50efd7ebca0f7a603bb3cc11e34c708d',1,'glm::rotateNormalizedAxis(mat< 4, 4, T, Q > const &m, T const &angle, vec< 3, T, Q > const &axis)'],['../a00355.html#ga08f9c5411437d528019a25bfc01473d1',1,'glm::rotateNormalizedAxis(qua< T, Q > const &q, T const &angle, vec< 3, T, Q > const &axis)']]], ['rotatex',['rotateX',['../a00356.html#ga059fdbdba4cca35cdff172a9d0d0afc9',1,'glm::rotateX(vec< 3, T, Q > const &v, T const &angle)'],['../a00356.html#ga4333b1ea8ebf1bd52bc3801a7617398a',1,'glm::rotateX(vec< 4, T, Q > const &v, T const &angle)']]], ['rotatey',['rotateY',['../a00356.html#gaebdc8b054ace27d9f62e054531c6f44d',1,'glm::rotateY(vec< 3, T, Q > const &v, T const &angle)'],['../a00356.html#ga3ce3db0867b7f8efd878ee34f95a623b',1,'glm::rotateY(vec< 4, T, Q > const &v, T const &angle)']]], ['rotatez',['rotateZ',['../a00356.html#ga5a048838a03f6249acbacb4dbacf79c4',1,'glm::rotateZ(vec< 3, T, Q > const &v, T const &angle)'],['../a00356.html#ga923b75c6448161053768822d880702e6',1,'glm::rotateZ(vec< 4, T, Q > const &v, T const &angle)']]], ['rotation',['rotation',['../a00352.html#ga03e61282831cc3f52cc76f72f52ad2c5',1,'glm']]], ['round',['round',['../a00241.html#gafa03aca8c4713e1cc892aa92ca135a7e',1,'glm']]], ['roundeven',['roundEven',['../a00241.html#ga76b81785045a057989a84d99aeeb1578',1,'glm']]], ['roundmultiple',['roundMultiple',['../a00302.html#gab892defcc9c0b0618df7251253dc0fbb',1,'glm::roundMultiple(genType v, genType Multiple)'],['../a00302.html#ga2f1a68332d761804c054460a612e3a4b',1,'glm::roundMultiple(vec< L, T, Q > const &v, vec< L, T, Q > const &Multiple)']]], ['roundpoweroftwo',['roundPowerOfTwo',['../a00302.html#gae4e1bf5d1cd179f59261a7342bdcafca',1,'glm::roundPowerOfTwo(genIUType v)'],['../a00302.html#ga258802a7d55c03c918f28cf4d241c4d0',1,'glm::roundPowerOfTwo(vec< L, T, Q > const &v)']]], ['row',['row',['../a00293.html#ga259e5ebd0f31ec3f83440f8cae7f5dba',1,'glm::row(genType const &m, length_t index)'],['../a00293.html#gaadcc64829aadf4103477679e48c7594f',1,'glm::row(genType const &m, length_t index, typename genType::row_type const &x)']]], ['rowmajor2',['rowMajor2',['../a00338.html#gaf5b1aee9e3eb1acf9d6c3c8be1e73bb8',1,'glm::rowMajor2(vec< 2, T, Q > const &v1, vec< 2, T, Q > const &v2)'],['../a00338.html#gaf66c75ed69ca9e87462550708c2c6726',1,'glm::rowMajor2(mat< 2, 2, T, Q > const &m)']]], ['rowmajor3',['rowMajor3',['../a00338.html#ga2ae46497493339f745754e40f438442e',1,'glm::rowMajor3(vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2, vec< 3, T, Q > const &v3)'],['../a00338.html#gad8a3a50ab47bbe8d36cdb81d90dfcf77',1,'glm::rowMajor3(mat< 3, 3, T, Q > const &m)']]], ['rowmajor4',['rowMajor4',['../a00338.html#ga9636cd6bbe2c32a8d0c03ffb8b1ef284',1,'glm::rowMajor4(vec< 4, T, Q > const &v1, vec< 4, T, Q > const &v2, vec< 4, T, Q > const &v3, vec< 4, T, Q > const &v4)'],['../a00338.html#gac92ad1c2acdf18d3eb7be45a32f9566b',1,'glm::rowMajor4(mat< 4, 4, T, Q > const &m)']]], ['rq_5fdecompose',['rq_decompose',['../a00336.html#ga82874e2ebe891ba35ac21d9993873758',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/groups_0.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/groups_0.js ================================================ var searchData= [ ['angle_20and_20trigonometry_20functions',['Angle and Trigonometry Functions',['../a00373.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/groups_1.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/groups_1.js ================================================ var searchData= [ ['core_20features',['Core features',['../a00280.html',1,'']]], ['common_20functions',['Common functions',['../a00241.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/groups_2.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/groups_2.js ================================================ var searchData= [ ['exponential_20functions',['Exponential functions',['../a00242.html',1,'']]], ['experimental_20extensions',['Experimental extensions',['../a00287.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/groups_3.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/groups_3.js ================================================ var searchData= [ ['floating_2dpoint_20pack_20and_20unpack_20functions',['Floating-Point Pack and Unpack Functions',['../a00372.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/groups_4.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/groups_4.js ================================================ var searchData= [ ['geometric_20functions',['Geometric functions',['../a00279.html',1,'']]], ['glm_5fext_5fmatrix_5fclip_5fspace',['GLM_EXT_matrix_clip_space',['../a00243.html',1,'']]], ['glm_5fext_5fmatrix_5fcommon',['GLM_EXT_matrix_common',['../a00244.html',1,'']]], ['glm_5fext_5fmatrix_5fprojection',['GLM_EXT_matrix_projection',['../a00245.html',1,'']]], ['glm_5fext_5fmatrix_5frelational',['GLM_EXT_matrix_relational',['../a00246.html',1,'']]], ['glm_5fext_5fmatrix_5ftransform',['GLM_EXT_matrix_transform',['../a00247.html',1,'']]], ['glm_5fext_5fquaternion_5fcommon',['GLM_EXT_quaternion_common',['../a00248.html',1,'']]], ['glm_5fext_5fquaternion_5fdouble',['GLM_EXT_quaternion_double',['../a00249.html',1,'']]], ['glm_5fext_5fquaternion_5fdouble_5fprecision',['GLM_EXT_quaternion_double_precision',['../a00250.html',1,'']]], ['glm_5fext_5fquaternion_5fexponential',['GLM_EXT_quaternion_exponential',['../a00251.html',1,'']]], ['glm_5fext_5fquaternion_5ffloat',['GLM_EXT_quaternion_float',['../a00252.html',1,'']]], ['glm_5fext_5fquaternion_5ffloat_5fprecision',['GLM_EXT_quaternion_float_precision',['../a00253.html',1,'']]], ['glm_5fext_5fquaternion_5fgeometric',['GLM_EXT_quaternion_geometric',['../a00254.html',1,'']]], ['glm_5fext_5fquaternion_5frelational',['GLM_EXT_quaternion_relational',['../a00255.html',1,'']]], ['glm_5fext_5fquaternion_5ftransform',['GLM_EXT_quaternion_transform',['../a00256.html',1,'']]], ['glm_5fext_5fquaternion_5ftrigonometric',['GLM_EXT_quaternion_trigonometric',['../a00257.html',1,'']]], ['glm_5fext_5fscalar_5fcommon',['GLM_EXT_scalar_common',['../a00258.html',1,'']]], ['glm_5fext_5fscalar_5fconstants',['GLM_EXT_scalar_constants',['../a00259.html',1,'']]], ['glm_5fext_5fscalar_5fint_5fsized',['GLM_EXT_scalar_int_sized',['../a00260.html',1,'']]], ['glm_5fext_5fscalar_5finteger',['GLM_EXT_scalar_integer',['../a00261.html',1,'']]], ['glm_5fext_5fscalar_5frelational',['GLM_EXT_scalar_relational',['../a00262.html',1,'']]], ['glm_5fext_5fscalar_5fuint_5fsized',['GLM_EXT_scalar_uint_sized',['../a00263.html',1,'']]], ['glm_5fext_5fscalar_5fulp',['GLM_EXT_scalar_ulp',['../a00264.html',1,'']]], ['glm_5fext_5fvector_5fbool1',['GLM_EXT_vector_bool1',['../a00265.html',1,'']]], ['glm_5fext_5fvector_5fbool1_5fprecision',['GLM_EXT_vector_bool1_precision',['../a00266.html',1,'']]], ['glm_5fext_5fvector_5fcommon',['GLM_EXT_vector_common',['../a00267.html',1,'']]], ['glm_5fext_5fvector_5fdouble1',['GLM_EXT_vector_double1',['../a00268.html',1,'']]], ['glm_5fext_5fvector_5fdouble1_5fprecision',['GLM_EXT_vector_double1_precision',['../a00269.html',1,'']]], ['glm_5fext_5fvector_5ffloat1',['GLM_EXT_vector_float1',['../a00270.html',1,'']]], ['glm_5fext_5fvector_5ffloat1_5fprecision',['GLM_EXT_vector_float1_precision',['../a00271.html',1,'']]], ['glm_5fext_5fvector_5fint1',['GLM_EXT_vector_int1',['../a00272.html',1,'']]], ['glm_5fext_5fvector_5fint1_5fprecision',['GLM_EXT_vector_int1_precision',['../a00273.html',1,'']]], ['glm_5fext_5fvector_5finteger',['GLM_EXT_vector_integer',['../a00274.html',1,'']]], ['glm_5fext_5fvector_5frelational',['GLM_EXT_vector_relational',['../a00275.html',1,'']]], ['glm_5fext_5fvector_5fuint1',['GLM_EXT_vector_uint1',['../a00276.html',1,'']]], ['glm_5fext_5fvector_5fuint1_5fprecision',['GLM_EXT_vector_uint1_precision',['../a00277.html',1,'']]], ['glm_5fext_5fvector_5fulp',['GLM_EXT_vector_ulp',['../a00278.html',1,'']]], ['glm_5fgtc_5fbitfield',['GLM_GTC_bitfield',['../a00288.html',1,'']]], ['glm_5fgtc_5fcolor_5fspace',['GLM_GTC_color_space',['../a00289.html',1,'']]], ['glm_5fgtc_5fconstants',['GLM_GTC_constants',['../a00290.html',1,'']]], ['glm_5fgtc_5fepsilon',['GLM_GTC_epsilon',['../a00291.html',1,'']]], ['glm_5fgtc_5finteger',['GLM_GTC_integer',['../a00292.html',1,'']]], ['glm_5fgtc_5fmatrix_5faccess',['GLM_GTC_matrix_access',['../a00293.html',1,'']]], ['glm_5fgtc_5fmatrix_5finteger',['GLM_GTC_matrix_integer',['../a00294.html',1,'']]], ['glm_5fgtc_5fmatrix_5finverse',['GLM_GTC_matrix_inverse',['../a00295.html',1,'']]], ['glm_5fgtc_5fmatrix_5ftransform',['GLM_GTC_matrix_transform',['../a00296.html',1,'']]], ['glm_5fgtc_5fnoise',['GLM_GTC_noise',['../a00297.html',1,'']]], ['glm_5fgtc_5fpacking',['GLM_GTC_packing',['../a00298.html',1,'']]], ['glm_5fgtc_5fquaternion',['GLM_GTC_quaternion',['../a00299.html',1,'']]], ['glm_5fgtc_5frandom',['GLM_GTC_random',['../a00300.html',1,'']]], ['glm_5fgtc_5freciprocal',['GLM_GTC_reciprocal',['../a00301.html',1,'']]], ['glm_5fgtc_5fround',['GLM_GTC_round',['../a00302.html',1,'']]], ['glm_5fgtc_5ftype_5faligned',['GLM_GTC_type_aligned',['../a00303.html',1,'']]], ['glm_5fgtc_5ftype_5fprecision',['GLM_GTC_type_precision',['../a00304.html',1,'']]], ['glm_5fgtc_5ftype_5fptr',['GLM_GTC_type_ptr',['../a00305.html',1,'']]], ['glm_5fgtc_5fulp',['GLM_GTC_ulp',['../a00306.html',1,'']]], ['glm_5fgtc_5fvec1',['GLM_GTC_vec1',['../a00307.html',1,'']]], ['glm_5fgtx_5fassociated_5fmin_5fmax',['GLM_GTX_associated_min_max',['../a00308.html',1,'']]], ['glm_5fgtx_5fbit',['GLM_GTX_bit',['../a00309.html',1,'']]], ['glm_5fgtx_5fclosest_5fpoint',['GLM_GTX_closest_point',['../a00310.html',1,'']]], ['glm_5fgtx_5fcolor_5fencoding',['GLM_GTX_color_encoding',['../a00311.html',1,'']]], ['glm_5fgtx_5fcolor_5fspace',['GLM_GTX_color_space',['../a00312.html',1,'']]], ['glm_5fgtx_5fcolor_5fspace_5fycocg',['GLM_GTX_color_space_YCoCg',['../a00313.html',1,'']]], ['glm_5fgtx_5fcommon',['GLM_GTX_common',['../a00314.html',1,'']]], ['glm_5fgtx_5fcompatibility',['GLM_GTX_compatibility',['../a00315.html',1,'']]], ['glm_5fgtx_5fcomponent_5fwise',['GLM_GTX_component_wise',['../a00316.html',1,'']]], ['glm_5fgtx_5fdual_5fquaternion',['GLM_GTX_dual_quaternion',['../a00317.html',1,'']]], ['glm_5fgtx_5feasing',['GLM_GTX_easing',['../a00318.html',1,'']]], ['glm_5fgtx_5feuler_5fangles',['GLM_GTX_euler_angles',['../a00319.html',1,'']]], ['glm_5fgtx_5fextend',['GLM_GTX_extend',['../a00320.html',1,'']]], ['glm_5fgtx_5fextented_5fmin_5fmax',['GLM_GTX_extented_min_max',['../a00321.html',1,'']]], ['glm_5fgtx_5fexterior_5fproduct',['GLM_GTX_exterior_product',['../a00322.html',1,'']]], ['glm_5fgtx_5ffast_5fexponential',['GLM_GTX_fast_exponential',['../a00323.html',1,'']]], ['glm_5fgtx_5ffast_5fsquare_5froot',['GLM_GTX_fast_square_root',['../a00324.html',1,'']]], ['glm_5fgtx_5ffast_5ftrigonometry',['GLM_GTX_fast_trigonometry',['../a00325.html',1,'']]], ['glm_5fgtx_5ffunctions',['GLM_GTX_functions',['../a00326.html',1,'']]], ['glm_5fgtx_5fgradient_5fpaint',['GLM_GTX_gradient_paint',['../a00327.html',1,'']]], ['glm_5fgtx_5fhanded_5fcoordinate_5fspace',['GLM_GTX_handed_coordinate_space',['../a00328.html',1,'']]], ['glm_5fgtx_5fhash',['GLM_GTX_hash',['../a00329.html',1,'']]], ['glm_5fgtx_5finteger',['GLM_GTX_integer',['../a00330.html',1,'']]], ['glm_5fgtx_5fintersect',['GLM_GTX_intersect',['../a00331.html',1,'']]], ['glm_5fgtx_5fio',['GLM_GTX_io',['../a00332.html',1,'']]], ['glm_5fgtx_5flog_5fbase',['GLM_GTX_log_base',['../a00333.html',1,'']]], ['glm_5fgtx_5fmatrix_5fcross_5fproduct',['GLM_GTX_matrix_cross_product',['../a00334.html',1,'']]], ['glm_5fgtx_5fmatrix_5fdecompose',['GLM_GTX_matrix_decompose',['../a00335.html',1,'']]], ['glm_5fgtx_5fmatrix_5ffactorisation',['GLM_GTX_matrix_factorisation',['../a00336.html',1,'']]], ['glm_5fgtx_5fmatrix_5finterpolation',['GLM_GTX_matrix_interpolation',['../a00337.html',1,'']]], ['glm_5fgtx_5fmatrix_5fmajor_5fstorage',['GLM_GTX_matrix_major_storage',['../a00338.html',1,'']]], ['glm_5fgtx_5fmatrix_5foperation',['GLM_GTX_matrix_operation',['../a00339.html',1,'']]], ['glm_5fgtx_5fmatrix_5fquery',['GLM_GTX_matrix_query',['../a00340.html',1,'']]], ['glm_5fgtx_5fmatrix_5ftransform_5f2d',['GLM_GTX_matrix_transform_2d',['../a00341.html',1,'']]], ['glm_5fgtx_5fmixed_5fproducte',['GLM_GTX_mixed_producte',['../a00342.html',1,'']]], ['glm_5fgtx_5fnorm',['GLM_GTX_norm',['../a00343.html',1,'']]], ['glm_5fgtx_5fnormal',['GLM_GTX_normal',['../a00344.html',1,'']]], ['glm_5fgtx_5fnormalize_5fdot',['GLM_GTX_normalize_dot',['../a00345.html',1,'']]], ['glm_5fgtx_5fnumber_5fprecision',['GLM_GTX_number_precision',['../a00346.html',1,'']]], ['glm_5fgtx_5foptimum_5fpow',['GLM_GTX_optimum_pow',['../a00347.html',1,'']]], ['glm_5fgtx_5forthonormalize',['GLM_GTX_orthonormalize',['../a00348.html',1,'']]], ['glm_5fgtx_5fperpendicular',['GLM_GTX_perpendicular',['../a00349.html',1,'']]], ['glm_5fgtx_5fpolar_5fcoordinates',['GLM_GTX_polar_coordinates',['../a00350.html',1,'']]], ['glm_5fgtx_5fprojection',['GLM_GTX_projection',['../a00351.html',1,'']]], ['glm_5fgtx_5fquaternion',['GLM_GTX_quaternion',['../a00352.html',1,'']]], ['glm_5fgtx_5frange',['GLM_GTX_range',['../a00353.html',1,'']]], ['glm_5fgtx_5fraw_5fdata',['GLM_GTX_raw_data',['../a00354.html',1,'']]], ['glm_5fgtx_5frotate_5fnormalized_5faxis',['GLM_GTX_rotate_normalized_axis',['../a00355.html',1,'']]], ['glm_5fgtx_5frotate_5fvector',['GLM_GTX_rotate_vector',['../a00356.html',1,'']]], ['glm_5fgtx_5fscalar_5frelational',['GLM_GTX_scalar_relational',['../a00357.html',1,'']]], ['glm_5fgtx_5fspline',['GLM_GTX_spline',['../a00358.html',1,'']]], ['glm_5fgtx_5fstd_5fbased_5ftype',['GLM_GTX_std_based_type',['../a00359.html',1,'']]], ['glm_5fgtx_5fstring_5fcast',['GLM_GTX_string_cast',['../a00360.html',1,'']]], ['glm_5fgtx_5ftexture',['GLM_GTX_texture',['../a00361.html',1,'']]], ['glm_5fgtx_5ftransform',['GLM_GTX_transform',['../a00362.html',1,'']]], ['glm_5fgtx_5ftransform2',['GLM_GTX_transform2',['../a00363.html',1,'']]], ['glm_5fgtx_5ftype_5faligned',['GLM_GTX_type_aligned',['../a00364.html',1,'']]], ['glm_5fgtx_5ftype_5ftrait',['GLM_GTX_type_trait',['../a00365.html',1,'']]], ['glm_5fgtx_5fvec_5fswizzle',['GLM_GTX_vec_swizzle',['../a00366.html',1,'']]], ['glm_5fgtx_5fvector_5fangle',['GLM_GTX_vector_angle',['../a00367.html',1,'']]], ['glm_5fgtx_5fvector_5fquery',['GLM_GTX_vector_query',['../a00368.html',1,'']]], ['glm_5fgtx_5fwrap',['GLM_GTX_wrap',['../a00369.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/groups_5.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/groups_5.js ================================================ var searchData= [ ['integer_20functions',['Integer functions',['../a00370.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/groups_6.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/groups_6.js ================================================ var searchData= [ ['matrix_20functions',['Matrix functions',['../a00371.html',1,'']]], ['matrix_20types',['Matrix types',['../a00283.html',1,'']]], ['matrix_20types_20with_20precision_20qualifiers',['Matrix types with precision qualifiers',['../a00284.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/groups_7.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/groups_7.js ================================================ var searchData= [ ['recommended_20extensions',['Recommended extensions',['../a00286.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/groups_8.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/groups_8.js ================================================ var searchData= [ ['stable_20extensions',['Stable extensions',['../a00285.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/groups_9.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/groups_9.js ================================================ var searchData= [ ['vector_20relational_20functions',['Vector Relational Functions',['../a00374.html',1,'']]], ['vector_20types',['Vector types',['../a00281.html',1,'']]], ['vector_20types_20with_20precision_20qualifiers',['Vector types with precision qualifiers',['../a00282.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/nomatches.html ================================================
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/pages_0.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/pages_0.js ================================================ var searchData= [ ['opengl_20mathematics_20_28glm_29',['OpenGL Mathematics (GLM)',['../index.html',1,'']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/search.css ================================================ /*---------------- Search Box */ #FSearchBox { float: left; } #MSearchBox { white-space : nowrap; position: absolute; float: none; display: inline; margin-top: 8px; right: 0px; width: 170px; z-index: 102; background-color: white; } #MSearchBox .left { display:block; position:absolute; left:10px; width:20px; height:19px; background:url('search_l.png') no-repeat; background-position:right; } #MSearchSelect { display:block; position:absolute; width:20px; height:19px; } .left #MSearchSelect { left:4px; } .right #MSearchSelect { right:5px; } #MSearchField { display:block; position:absolute; height:19px; background:url('search_m.png') repeat-x; border:none; width:111px; margin-left:20px; padding-left:4px; color: #909090; outline: none; font: 9pt Arial, Verdana, sans-serif; } #FSearchBox #MSearchField { margin-left:15px; } #MSearchBox .right { display:block; position:absolute; right:10px; top:0px; width:20px; height:19px; background:url('search_r.png') no-repeat; background-position:left; } #MSearchClose { display: none; position: absolute; top: 4px; background : none; border: none; margin: 0px 4px 0px 0px; padding: 0px 0px; outline: none; } .left #MSearchClose { left: 6px; } .right #MSearchClose { right: 2px; } .MSearchBoxActive #MSearchField { color: #000000; } /*---------------- Search filter selection */ #MSearchSelectWindow { display: none; position: absolute; left: 0; top: 0; border: 1px solid #90A5CE; background-color: #F9FAFC; z-index: 1; padding-top: 4px; padding-bottom: 4px; -moz-border-radius: 4px; -webkit-border-top-left-radius: 4px; -webkit-border-top-right-radius: 4px; -webkit-border-bottom-left-radius: 4px; -webkit-border-bottom-right-radius: 4px; -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); } .SelectItem { font: 8pt Arial, Verdana, sans-serif; padding-left: 2px; padding-right: 12px; border: 0px; } span.SelectionMark { margin-right: 4px; font-family: monospace; outline-style: none; text-decoration: none; } a.SelectItem { display: block; outline-style: none; color: #000000; text-decoration: none; padding-left: 6px; padding-right: 12px; } a.SelectItem:focus, a.SelectItem:active { color: #000000; outline-style: none; text-decoration: none; } a.SelectItem:hover { color: #FFFFFF; background-color: #3D578C; outline-style: none; text-decoration: none; cursor: pointer; display: block; } /*---------------- Search results window */ iframe#MSearchResults { width: 60ex; height: 15em; } #MSearchResultsWindow { display: none; position: absolute; left: 0; top: 0; border: 1px solid #000; background-color: #EEF1F7; } /* ----------------------------------- */ #SRIndex { clear:both; padding-bottom: 15px; } .SREntry { font-size: 10pt; padding-left: 1ex; } .SRPage .SREntry { font-size: 8pt; padding: 1px 5px; } body.SRPage { margin: 5px 2px; } .SRChildren { padding-left: 3ex; padding-bottom: .5em } .SRPage .SRChildren { display: none; } .SRSymbol { font-weight: bold; color: #425E97; font-family: Arial, Verdana, sans-serif; text-decoration: none; outline: none; } a.SRScope { display: block; color: #425E97; font-family: Arial, Verdana, sans-serif; text-decoration: none; outline: none; } a.SRSymbol:focus, a.SRSymbol:active, a.SRScope:focus, a.SRScope:active { text-decoration: underline; } span.SRScope { padding-left: 4px; } .SRPage .SRStatus { padding: 2px 5px; font-size: 8pt; font-style: italic; } .SRResult { display: none; } DIV.searchresults { margin-left: 10px; margin-right: 10px; } /*---------------- External search page results */ .searchresult { background-color: #F0F3F8; } .pages b { color: white; padding: 5px 5px 3px 5px; background-image: url("../tab_a.png"); background-repeat: repeat-x; text-shadow: 0 1px 1px #000000; } .pages { line-height: 17px; margin-left: 4px; text-decoration: none; } .hl { font-weight: bold; } #searchresults { margin-bottom: 20px; } .searchpages { margin-top: 10px; } ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/search.js ================================================ function convertToId(search) { var result = ''; for (i=0;i do a search { this.Search(); } } this.OnSearchSelectKey = function(evt) { var e = (evt) ? evt : window.event; // for IE if (e.keyCode==40 && this.searchIndex0) // Up { this.searchIndex--; this.OnSelectItem(this.searchIndex); } else if (e.keyCode==13 || e.keyCode==27) { this.OnSelectItem(this.searchIndex); this.CloseSelectionWindow(); this.DOMSearchField().focus(); } return false; } // --------- Actions // Closes the results window. this.CloseResultsWindow = function() { this.DOMPopupSearchResultsWindow().style.display = 'none'; this.DOMSearchClose().style.display = 'none'; this.Activate(false); } this.CloseSelectionWindow = function() { this.DOMSearchSelectWindow().style.display = 'none'; } // Performs a search. this.Search = function() { this.keyTimeout = 0; // strip leading whitespace var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); var code = searchValue.toLowerCase().charCodeAt(0); var idxChar = searchValue.substr(0, 1).toLowerCase(); if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair { idxChar = searchValue.substr(0, 2); } var resultsPage; var resultsPageWithSearch; var hasResultsPage; var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); if (idx!=-1) { var hexCode=idx.toString(16); resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; resultsPageWithSearch = resultsPage+'?'+escape(searchValue); hasResultsPage = true; } else // nothing available for this search term { resultsPage = this.resultsPath + '/nomatches.html'; resultsPageWithSearch = resultsPage; hasResultsPage = false; } window.frames.MSearchResults.location = resultsPageWithSearch; var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); if (domPopupSearchResultsWindow.style.display!='block') { var domSearchBox = this.DOMSearchBox(); this.DOMSearchClose().style.display = 'inline'; if (this.insideFrame) { var domPopupSearchResults = this.DOMPopupSearchResults(); domPopupSearchResultsWindow.style.position = 'relative'; domPopupSearchResultsWindow.style.display = 'block'; var width = document.body.clientWidth - 8; // the -8 is for IE :-( domPopupSearchResultsWindow.style.width = width + 'px'; domPopupSearchResults.style.width = width + 'px'; } else { var domPopupSearchResults = this.DOMPopupSearchResults(); var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; domPopupSearchResultsWindow.style.display = 'block'; left -= domPopupSearchResults.offsetWidth; domPopupSearchResultsWindow.style.top = top + 'px'; domPopupSearchResultsWindow.style.left = left + 'px'; } } this.lastSearchValue = searchValue; this.lastResultsPage = resultsPage; } // -------- Activation Functions // Activates or deactivates the search panel, resetting things to // their default values if necessary. this.Activate = function(isActive) { if (isActive || // open it this.DOMPopupSearchResultsWindow().style.display == 'block' ) { this.DOMSearchBox().className = 'MSearchBoxActive'; var searchField = this.DOMSearchField(); if (searchField.value == this.searchLabel) // clear "Search" term upon entry { searchField.value = ''; this.searchActive = true; } } else if (!isActive) // directly remove the panel { this.DOMSearchBox().className = 'MSearchBoxInactive'; this.DOMSearchField().value = this.searchLabel; this.searchActive = false; this.lastSearchValue = '' this.lastResultsPage = ''; } } } // ----------------------------------------------------------------------- // The class that handles everything on the search results page. function SearchResults(name) { // The number of matches from the last run of . this.lastMatchCount = 0; this.lastKey = 0; this.repeatOn = false; // Toggles the visibility of the passed element ID. this.FindChildElement = function(id) { var parentElement = document.getElementById(id); var element = parentElement.firstChild; while (element && element!=parentElement) { if (element.nodeName == 'DIV' && element.className == 'SRChildren') { return element; } if (element.nodeName == 'DIV' && element.hasChildNodes()) { element = element.firstChild; } else if (element.nextSibling) { element = element.nextSibling; } else { do { element = element.parentNode; } while (element && element!=parentElement && !element.nextSibling); if (element && element!=parentElement) { element = element.nextSibling; } } } } this.Toggle = function(id) { var element = this.FindChildElement(id); if (element) { if (element.style.display == 'block') { element.style.display = 'none'; } else { element.style.display = 'block'; } } } // Searches for the passed string. If there is no parameter, // it takes it from the URL query. // // Always returns true, since other documents may try to call it // and that may or may not be possible. this.Search = function(search) { if (!search) // get search word from URL { search = window.location.search; search = search.substring(1); // Remove the leading '?' search = unescape(search); } search = search.replace(/^ +/, ""); // strip leading spaces search = search.replace(/ +$/, ""); // strip trailing spaces search = search.toLowerCase(); search = convertToId(search); var resultRows = document.getElementsByTagName("div"); var matches = 0; var i = 0; while (i < resultRows.length) { var row = resultRows.item(i); if (row.className == "SRResult") { var rowMatchName = row.id.toLowerCase(); rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' if (search.length<=rowMatchName.length && rowMatchName.substr(0, search.length)==search) { row.style.display = 'block'; matches++; } else { row.style.display = 'none'; } } i++; } document.getElementById("Searching").style.display='none'; if (matches == 0) // no results { document.getElementById("NoMatches").style.display='block'; } else // at least one result { document.getElementById("NoMatches").style.display='none'; } this.lastMatchCount = matches; return true; } // return the first item with index index or higher that is visible this.NavNext = function(index) { var focusItem; while (1) { var focusName = 'Item'+index; focusItem = document.getElementById(focusName); if (focusItem && focusItem.parentNode.parentNode.style.display=='block') { break; } else if (!focusItem) // last element { break; } focusItem=null; index++; } return focusItem; } this.NavPrev = function(index) { var focusItem; while (1) { var focusName = 'Item'+index; focusItem = document.getElementById(focusName); if (focusItem && focusItem.parentNode.parentNode.style.display=='block') { break; } else if (!focusItem) // last element { break; } focusItem=null; index--; } return focusItem; } this.ProcessKeys = function(e) { if (e.type == "keydown") { this.repeatOn = false; this.lastKey = e.keyCode; } else if (e.type == "keypress") { if (!this.repeatOn) { if (this.lastKey) this.repeatOn = true; return false; // ignore first keypress after keydown } } else if (e.type == "keyup") { this.lastKey = 0; this.repeatOn = false; } return this.lastKey!=0; } this.Nav = function(evt,itemIndex) { var e = (evt) ? evt : window.event; // for IE if (e.keyCode==13) return true; if (!this.ProcessKeys(e)) return false; if (this.lastKey==38) // Up { var newIndex = itemIndex-1; var focusItem = this.NavPrev(newIndex); if (focusItem) { var child = this.FindChildElement(focusItem.parentNode.parentNode.id); if (child && child.style.display == 'block') // children visible { var n=0; var tmpElem; while (1) // search for last child { tmpElem = document.getElementById('Item'+newIndex+'_c'+n); if (tmpElem) { focusItem = tmpElem; } else // found it! { break; } n++; } } } if (focusItem) { focusItem.focus(); } else // return focus to search field { parent.document.getElementById("MSearchField").focus(); } } else if (this.lastKey==40) // Down { var newIndex = itemIndex+1; var focusItem; var item = document.getElementById('Item'+itemIndex); var elem = this.FindChildElement(item.parentNode.parentNode.id); if (elem && elem.style.display == 'block') // children visible { focusItem = document.getElementById('Item'+itemIndex+'_c0'); } if (!focusItem) focusItem = this.NavNext(newIndex); if (focusItem) focusItem.focus(); } else if (this.lastKey==39) // Right { var item = document.getElementById('Item'+itemIndex); var elem = this.FindChildElement(item.parentNode.parentNode.id); if (elem) elem.style.display = 'block'; } else if (this.lastKey==37) // Left { var item = document.getElementById('Item'+itemIndex); var elem = this.FindChildElement(item.parentNode.parentNode.id); if (elem) elem.style.display = 'none'; } else if (this.lastKey==27) // Escape { parent.searchBox.CloseResultsWindow(); parent.document.getElementById("MSearchField").focus(); } else if (this.lastKey==13) // Enter { return true; } return false; } this.NavChild = function(evt,itemIndex,childIndex) { var e = (evt) ? evt : window.event; // for IE if (e.keyCode==13) return true; if (!this.ProcessKeys(e)) return false; if (this.lastKey==38) // Up { if (childIndex>0) { var newIndex = childIndex-1; document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); } else // already at first child, jump to parent { document.getElementById('Item'+itemIndex).focus(); } } else if (this.lastKey==40) // Down { var newIndex = childIndex+1; var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); if (!elem) // last child, jump to parent next parent { elem = this.NavNext(itemIndex+1); } if (elem) { elem.focus(); } } else if (this.lastKey==27) // Escape { parent.searchBox.CloseResultsWindow(); parent.document.getElementById("MSearchField").focus(); } else if (this.lastKey==13) // Enter { return true; } return false; } } function setKeyActions(elem,action) { elem.setAttribute('onkeydown',action); elem.setAttribute('onkeypress',action); elem.setAttribute('onkeyup',action); } function setClassAttr(elem,attr) { elem.setAttribute('class',attr); elem.setAttribute('className',attr); } function createResults() { var results = document.getElementById("SRResults"); for (var e=0; e
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/typedefs_0.js ================================================ var searchData= [ ['aligned_5fbvec1',['aligned_bvec1',['../a00303.html#ga780a35f764020f553a9601a3fcdcd059',1,'glm']]], ['aligned_5fbvec2',['aligned_bvec2',['../a00303.html#gae766b317c5afec852bfb3d74a3c54bc8',1,'glm']]], ['aligned_5fbvec3',['aligned_bvec3',['../a00303.html#gae1964ba70d15915e5b710926decbb3cb',1,'glm']]], ['aligned_5fbvec4',['aligned_bvec4',['../a00303.html#gae164a1f7879f828bc35e50b79d786b05',1,'glm']]], ['aligned_5fdmat2',['aligned_dmat2',['../a00303.html#ga6783859382677d35fcd5dac7dcbefdbd',1,'glm']]], ['aligned_5fdmat2x2',['aligned_dmat2x2',['../a00303.html#ga449a3ec2dde6b6bb4bb94c49a6aad388',1,'glm']]], ['aligned_5fdmat2x3',['aligned_dmat2x3',['../a00303.html#ga53d519a7b1bfb69076b3ec206a6b3bd1',1,'glm']]], ['aligned_5fdmat2x4',['aligned_dmat2x4',['../a00303.html#ga5ccb2baeb0ab57b818c24e0d486c59d0',1,'glm']]], ['aligned_5fdmat3',['aligned_dmat3',['../a00303.html#ga19aa695ffdb45ce29f7ea0b5029627de',1,'glm']]], ['aligned_5fdmat3x2',['aligned_dmat3x2',['../a00303.html#ga5f5123d834bd1170edf8c386834e112c',1,'glm']]], ['aligned_5fdmat3x3',['aligned_dmat3x3',['../a00303.html#ga635bf3732281a2c2ca54d8f9d33d178f',1,'glm']]], ['aligned_5fdmat3x4',['aligned_dmat3x4',['../a00303.html#gaf488c6ad88c185054595d4d5c7ba5b9d',1,'glm']]], ['aligned_5fdmat4',['aligned_dmat4',['../a00303.html#ga001bb387ae8192fa94dbd8b23b600439',1,'glm']]], ['aligned_5fdmat4x2',['aligned_dmat4x2',['../a00303.html#gaa409cfb737bd59b68dc683e9b03930cc',1,'glm']]], ['aligned_5fdmat4x3',['aligned_dmat4x3',['../a00303.html#ga621e89ca1dbdcb7b5a3e7de237c44121',1,'glm']]], ['aligned_5fdmat4x4',['aligned_dmat4x4',['../a00303.html#gac9bda778d0b7ad82f656dab99b71857a',1,'glm']]], ['aligned_5fdvec1',['aligned_dvec1',['../a00303.html#ga4974f46ae5a19415d91316960a53617a',1,'glm']]], ['aligned_5fdvec2',['aligned_dvec2',['../a00303.html#ga18d859f87122b2b3b2992ffe86dbebc0',1,'glm']]], ['aligned_5fdvec3',['aligned_dvec3',['../a00303.html#gaa37869eea77d28419b2fb0ff70b69bf0',1,'glm']]], ['aligned_5fdvec4',['aligned_dvec4',['../a00303.html#ga8a9f0a4795ccc442fa9901845026f9f5',1,'glm']]], ['aligned_5fhighp_5fbvec1',['aligned_highp_bvec1',['../a00303.html#ga862843a45b01c35ffe4d44c47ea774ad',1,'glm']]], ['aligned_5fhighp_5fbvec2',['aligned_highp_bvec2',['../a00303.html#ga0731b593c5e33559954c80f8687e76c6',1,'glm']]], ['aligned_5fhighp_5fbvec3',['aligned_highp_bvec3',['../a00303.html#ga0913bdf048d0cb74af1d2512aec675bc',1,'glm']]], ['aligned_5fhighp_5fbvec4',['aligned_highp_bvec4',['../a00303.html#ga9df1d0c425852cf63a57e533b7a83f4f',1,'glm']]], ['aligned_5fhighp_5fdmat2',['aligned_highp_dmat2',['../a00303.html#ga3a7eeae43cb7673e14cc89bf02f7dd45',1,'glm']]], ['aligned_5fhighp_5fdmat2x2',['aligned_highp_dmat2x2',['../a00303.html#gaef26dfe3855a91644665b55c9096a8c8',1,'glm']]], ['aligned_5fhighp_5fdmat2x3',['aligned_highp_dmat2x3',['../a00303.html#gaa7c9d4ab7ab651cdf8001fe7843e238b',1,'glm']]], ['aligned_5fhighp_5fdmat2x4',['aligned_highp_dmat2x4',['../a00303.html#gaa0d2b8a75f1908dcf32c27f8524bdced',1,'glm']]], ['aligned_5fhighp_5fdmat3',['aligned_highp_dmat3',['../a00303.html#gad8f6abb2c9994850b5d5c04a5f979ed8',1,'glm']]], ['aligned_5fhighp_5fdmat3x2',['aligned_highp_dmat3x2',['../a00303.html#gab069b2fc2ec785fc4e193cf26c022679',1,'glm']]], ['aligned_5fhighp_5fdmat3x3',['aligned_highp_dmat3x3',['../a00303.html#ga66073b1ddef34b681741f572338ddb8e',1,'glm']]], ['aligned_5fhighp_5fdmat3x4',['aligned_highp_dmat3x4',['../a00303.html#ga683c8ca66de323ea533a760abedd0efc',1,'glm']]], ['aligned_5fhighp_5fdmat4',['aligned_highp_dmat4',['../a00303.html#gacaa7407ea00ffdd322ce86a57adb547e',1,'glm']]], ['aligned_5fhighp_5fdmat4x2',['aligned_highp_dmat4x2',['../a00303.html#ga93a23ca3d42818d56e0702213c66354b',1,'glm']]], ['aligned_5fhighp_5fdmat4x3',['aligned_highp_dmat4x3',['../a00303.html#gacab7374b560745cb1d0a306a90353f58',1,'glm']]], ['aligned_5fhighp_5fdmat4x4',['aligned_highp_dmat4x4',['../a00303.html#ga1fbfba14368b742972d3b58a0a303682',1,'glm']]], ['aligned_5fhighp_5fdvec1',['aligned_highp_dvec1',['../a00303.html#gaf0448b0f7ceb8273f7eda3a92205eefc',1,'glm']]], ['aligned_5fhighp_5fdvec2',['aligned_highp_dvec2',['../a00303.html#gab173a333e6b7ce153ceba66ac4a321cf',1,'glm']]], ['aligned_5fhighp_5fdvec3',['aligned_highp_dvec3',['../a00303.html#gae94ef61edfa047d05bc69b6065fc42ba',1,'glm']]], ['aligned_5fhighp_5fdvec4',['aligned_highp_dvec4',['../a00303.html#ga8fad35c5677f228e261fe541f15363a4',1,'glm']]], ['aligned_5fhighp_5fivec1',['aligned_highp_ivec1',['../a00303.html#gad63b8c5b4dc0500d54d7414ef555178f',1,'glm']]], ['aligned_5fhighp_5fivec2',['aligned_highp_ivec2',['../a00303.html#ga41563650f36cb7f479e080de21e08418',1,'glm']]], ['aligned_5fhighp_5fivec3',['aligned_highp_ivec3',['../a00303.html#ga6eca5170bb35eac90b4972590fd31a06',1,'glm']]], ['aligned_5fhighp_5fivec4',['aligned_highp_ivec4',['../a00303.html#ga31bfa801e1579fdba752ec3f7a45ec91',1,'glm']]], ['aligned_5fhighp_5fmat2',['aligned_highp_mat2',['../a00303.html#gaf9db5e8a929c317da5aa12cc53741b63',1,'glm']]], ['aligned_5fhighp_5fmat2x2',['aligned_highp_mat2x2',['../a00303.html#gab559d943abf92bc588bcd3f4c0e4664b',1,'glm']]], ['aligned_5fhighp_5fmat2x3',['aligned_highp_mat2x3',['../a00303.html#ga50c9af5aa3a848956d625fc64dc8488e',1,'glm']]], ['aligned_5fhighp_5fmat2x4',['aligned_highp_mat2x4',['../a00303.html#ga0edcfdd179f8a158342eead48a4d0c2a',1,'glm']]], ['aligned_5fhighp_5fmat3',['aligned_highp_mat3',['../a00303.html#gabab3afcc04459c7b123604ae5dc663f6',1,'glm']]], ['aligned_5fhighp_5fmat3x2',['aligned_highp_mat3x2',['../a00303.html#ga9fc2167b47c9be9295f2d8eea7f0ca75',1,'glm']]], ['aligned_5fhighp_5fmat3x3',['aligned_highp_mat3x3',['../a00303.html#ga2f7b8c99ba6f2d07c73a195a8143c259',1,'glm']]], ['aligned_5fhighp_5fmat3x4',['aligned_highp_mat3x4',['../a00303.html#ga52e00afd0eb181e6738f40cf41787049',1,'glm']]], ['aligned_5fhighp_5fmat4',['aligned_highp_mat4',['../a00303.html#ga058ae939bfdbcbb80521dd4a3b01afba',1,'glm']]], ['aligned_5fhighp_5fmat4x2',['aligned_highp_mat4x2',['../a00303.html#ga84e1f5e0718952a079b748825c03f956',1,'glm']]], ['aligned_5fhighp_5fmat4x3',['aligned_highp_mat4x3',['../a00303.html#gafff1684c4ff19b4a818138ccacc1e78d',1,'glm']]], ['aligned_5fhighp_5fmat4x4',['aligned_highp_mat4x4',['../a00303.html#ga40d49648083a0498a12a4bb41ae6ece8',1,'glm']]], ['aligned_5fhighp_5fuvec1',['aligned_highp_uvec1',['../a00303.html#ga5b80e28396c6ef7d32c6fd18df498451',1,'glm']]], ['aligned_5fhighp_5fuvec2',['aligned_highp_uvec2',['../a00303.html#ga04db692662a4908beeaf5a5ba6e19483',1,'glm']]], ['aligned_5fhighp_5fuvec3',['aligned_highp_uvec3',['../a00303.html#ga073fd6e8b241afade6d8afbd676b2667',1,'glm']]], ['aligned_5fhighp_5fuvec4',['aligned_highp_uvec4',['../a00303.html#gabdd60462042859f876c17c7346c732a5',1,'glm']]], ['aligned_5fhighp_5fvec1',['aligned_highp_vec1',['../a00303.html#ga4d0bd70d5fac49b800546d608b707513',1,'glm']]], ['aligned_5fhighp_5fvec2',['aligned_highp_vec2',['../a00303.html#gac9f8482dde741fb6bab7248b81a45465',1,'glm']]], ['aligned_5fhighp_5fvec3',['aligned_highp_vec3',['../a00303.html#ga65415d2d68c9cc0ca554524a8f5510b2',1,'glm']]], ['aligned_5fhighp_5fvec4',['aligned_highp_vec4',['../a00303.html#ga7cb26d354dd69d23849c34c4fba88da9',1,'glm']]], ['aligned_5fivec1',['aligned_ivec1',['../a00303.html#ga76298aed82a439063c3d55980c84aa0b',1,'glm']]], ['aligned_5fivec2',['aligned_ivec2',['../a00303.html#gae4f38fd2c86cee6940986197777b3ca4',1,'glm']]], ['aligned_5fivec3',['aligned_ivec3',['../a00303.html#ga32794322d294e5ace7fed4a61896f270',1,'glm']]], ['aligned_5fivec4',['aligned_ivec4',['../a00303.html#ga7f79eae5927c9033d84617e49f6f34e4',1,'glm']]], ['aligned_5flowp_5fbvec1',['aligned_lowp_bvec1',['../a00303.html#gac6036449ab1c4abf8efe1ea00fcdd1c9',1,'glm']]], ['aligned_5flowp_5fbvec2',['aligned_lowp_bvec2',['../a00303.html#ga59fadcd3835646e419372ae8b43c5d37',1,'glm']]], ['aligned_5flowp_5fbvec3',['aligned_lowp_bvec3',['../a00303.html#ga83aab4d191053f169c93a3e364f2e118',1,'glm']]], ['aligned_5flowp_5fbvec4',['aligned_lowp_bvec4',['../a00303.html#gaa7a76555ee4853614e5755181a8dd54e',1,'glm']]], ['aligned_5flowp_5fdmat2',['aligned_lowp_dmat2',['../a00303.html#ga79a90173d8faa9816dc852ce447d66ca',1,'glm']]], ['aligned_5flowp_5fdmat2x2',['aligned_lowp_dmat2x2',['../a00303.html#ga07cb8e846666cbf56045b064fb553d2e',1,'glm']]], ['aligned_5flowp_5fdmat2x3',['aligned_lowp_dmat2x3',['../a00303.html#ga7a4536b6e1f2ebb690f63816b5d7e48b',1,'glm']]], ['aligned_5flowp_5fdmat2x4',['aligned_lowp_dmat2x4',['../a00303.html#gab0cf4f7c9a264941519acad286e055ea',1,'glm']]], ['aligned_5flowp_5fdmat3',['aligned_lowp_dmat3',['../a00303.html#gac00e15efded8a57c9dec3aed0fb547e7',1,'glm']]], ['aligned_5flowp_5fdmat3x2',['aligned_lowp_dmat3x2',['../a00303.html#gaa281a47d5d627313984d0f8df993b648',1,'glm']]], ['aligned_5flowp_5fdmat3x3',['aligned_lowp_dmat3x3',['../a00303.html#ga7f3148a72355e39932d6855baca42ebc',1,'glm']]], ['aligned_5flowp_5fdmat3x4',['aligned_lowp_dmat3x4',['../a00303.html#gaea3ccc5ef5b178e6e49b4fa1427605d3',1,'glm']]], ['aligned_5flowp_5fdmat4',['aligned_lowp_dmat4',['../a00303.html#gab92c6d7d58d43dfb8147e9aedfe8351b',1,'glm']]], ['aligned_5flowp_5fdmat4x2',['aligned_lowp_dmat4x2',['../a00303.html#gaf806dfdaffb2e9f7681b1cd2825898ce',1,'glm']]], ['aligned_5flowp_5fdmat4x3',['aligned_lowp_dmat4x3',['../a00303.html#gab0931ac7807fa1428c7bbf249efcdf0d',1,'glm']]], ['aligned_5flowp_5fdmat4x4',['aligned_lowp_dmat4x4',['../a00303.html#gad8220a93d2fca2dd707821b4ab6f809e',1,'glm']]], ['aligned_5flowp_5fdvec1',['aligned_lowp_dvec1',['../a00303.html#ga7f8a2cc5a686e52b1615761f4978ca62',1,'glm']]], ['aligned_5flowp_5fdvec2',['aligned_lowp_dvec2',['../a00303.html#ga0e37cff4a43cca866101f0a35f01db6d',1,'glm']]], ['aligned_5flowp_5fdvec3',['aligned_lowp_dvec3',['../a00303.html#gab9e669c4efd52d3347fc6d5f6b20fd59',1,'glm']]], ['aligned_5flowp_5fdvec4',['aligned_lowp_dvec4',['../a00303.html#ga226f5ec7a953cea559c16fe3aff9924f',1,'glm']]], ['aligned_5flowp_5fivec1',['aligned_lowp_ivec1',['../a00303.html#ga1101d3a82b2e3f5f8828bd8f3adab3e1',1,'glm']]], ['aligned_5flowp_5fivec2',['aligned_lowp_ivec2',['../a00303.html#ga44c4accad582cfbd7226a19b83b0cadc',1,'glm']]], ['aligned_5flowp_5fivec3',['aligned_lowp_ivec3',['../a00303.html#ga65663f10a02e52cedcddbcfe36ddf38d',1,'glm']]], ['aligned_5flowp_5fivec4',['aligned_lowp_ivec4',['../a00303.html#gaae92fcec8b2e0328ffbeac31cc4fc419',1,'glm']]], ['aligned_5flowp_5fmat2',['aligned_lowp_mat2',['../a00303.html#ga17c424412207b00dba1cf587b099eea3',1,'glm']]], ['aligned_5flowp_5fmat2x2',['aligned_lowp_mat2x2',['../a00303.html#ga0e44aeb930a47f9cbf2db15b56433b0f',1,'glm']]], ['aligned_5flowp_5fmat2x3',['aligned_lowp_mat2x3',['../a00303.html#ga7dec6d96bc61312b1e56d137c9c74030',1,'glm']]], ['aligned_5flowp_5fmat2x4',['aligned_lowp_mat2x4',['../a00303.html#gaa694fab1f8df5f658846573ba8ffc563',1,'glm']]], ['aligned_5flowp_5fmat3',['aligned_lowp_mat3',['../a00303.html#ga1eb9076cc28ead5020fd3029fd0472c5',1,'glm']]], ['aligned_5flowp_5fmat3x2',['aligned_lowp_mat3x2',['../a00303.html#ga2d6639f0bd777bae1ee0eba71cd7bfdc',1,'glm']]], ['aligned_5flowp_5fmat3x3',['aligned_lowp_mat3x3',['../a00303.html#gaeaab04e378a90956eec8d68a99d777ed',1,'glm']]], ['aligned_5flowp_5fmat3x4',['aligned_lowp_mat3x4',['../a00303.html#ga1f03696ab066572c6c044e63edf635a2',1,'glm']]], ['aligned_5flowp_5fmat4',['aligned_lowp_mat4',['../a00303.html#ga25ea2f684e36aa5e978b4f2f86593824',1,'glm']]], ['aligned_5flowp_5fmat4x2',['aligned_lowp_mat4x2',['../a00303.html#ga2cb16c3fdfb15e0719d942ee3b548bc4',1,'glm']]], ['aligned_5flowp_5fmat4x3',['aligned_lowp_mat4x3',['../a00303.html#ga7e96981e872f17a780d9f1c22dc1f512',1,'glm']]], ['aligned_5flowp_5fmat4x4',['aligned_lowp_mat4x4',['../a00303.html#gadae3dcfc22d28c64d0548cbfd9d08719',1,'glm']]], ['aligned_5flowp_5fuvec1',['aligned_lowp_uvec1',['../a00303.html#gad09b93acc43c43423408d17a64f6d7ca',1,'glm']]], ['aligned_5flowp_5fuvec2',['aligned_lowp_uvec2',['../a00303.html#ga6f94fcd28dde906fc6cad5f742b55c1a',1,'glm']]], ['aligned_5flowp_5fuvec3',['aligned_lowp_uvec3',['../a00303.html#ga9e9f006970b1a00862e3e6e599eedd4c',1,'glm']]], ['aligned_5flowp_5fuvec4',['aligned_lowp_uvec4',['../a00303.html#ga46b1b0b9eb8625a5d69137bd66cd13dc',1,'glm']]], ['aligned_5flowp_5fvec1',['aligned_lowp_vec1',['../a00303.html#gab34aee3d5e121c543fea11d2c50ecc43',1,'glm']]], ['aligned_5flowp_5fvec2',['aligned_lowp_vec2',['../a00303.html#ga53ac5d252317f1fa43c2ef921857bf13',1,'glm']]], ['aligned_5flowp_5fvec3',['aligned_lowp_vec3',['../a00303.html#ga98f0b5cd65fce164ff1367c2a3b3aa1e',1,'glm']]], ['aligned_5flowp_5fvec4',['aligned_lowp_vec4',['../a00303.html#ga82f7275d6102593a69ce38cdad680409',1,'glm']]], ['aligned_5fmat2',['aligned_mat2',['../a00303.html#ga5a8a5f8c47cd7d5502dd9932f83472b9',1,'glm']]], ['aligned_5fmat2x2',['aligned_mat2x2',['../a00303.html#gabb04f459d81d753d278b2072e2375e8e',1,'glm']]], ['aligned_5fmat2x3',['aligned_mat2x3',['../a00303.html#ga832476bb1c59ef673db37433ff34e399',1,'glm']]], ['aligned_5fmat2x4',['aligned_mat2x4',['../a00303.html#gadab11a7504430825b648ff7c7e36b725',1,'glm']]], ['aligned_5fmat3',['aligned_mat3',['../a00303.html#ga43a92a24ca863e0e0f3b65834b3cf714',1,'glm']]], ['aligned_5fmat3x2',['aligned_mat3x2',['../a00303.html#ga5c0df24ba85eafafc0eb0c90690510ed',1,'glm']]], ['aligned_5fmat3x3',['aligned_mat3x3',['../a00303.html#gadb065dbe5c11271fef8cf2ea8608f187',1,'glm']]], ['aligned_5fmat3x4',['aligned_mat3x4',['../a00303.html#ga88061c72c997b94c420f2b0a60d9df26',1,'glm']]], ['aligned_5fmat4',['aligned_mat4',['../a00303.html#gab0fddcf95dd51cbcbf624ea7c40dfeb8',1,'glm']]], ['aligned_5fmat4x2',['aligned_mat4x2',['../a00303.html#gac9a2d0fb815fd5c2bd58b869c55e32d3',1,'glm']]], ['aligned_5fmat4x3',['aligned_mat4x3',['../a00303.html#ga452bbbfd26e244de216e4d004d50bb74',1,'glm']]], ['aligned_5fmat4x4',['aligned_mat4x4',['../a00303.html#ga8b8fb86973a0b768c5bd802c92fac1a1',1,'glm']]], ['aligned_5fmediump_5fbvec1',['aligned_mediump_bvec1',['../a00303.html#gadd3b8bd71a758f7fb0da8e525156f34e',1,'glm']]], ['aligned_5fmediump_5fbvec2',['aligned_mediump_bvec2',['../a00303.html#gacb183eb5e67ec0d0ea5a016cba962810',1,'glm']]], ['aligned_5fmediump_5fbvec3',['aligned_mediump_bvec3',['../a00303.html#gacfa4a542f1b20a5b63ad702dfb6fd587',1,'glm']]], ['aligned_5fmediump_5fbvec4',['aligned_mediump_bvec4',['../a00303.html#ga91bc1f513bb9b0fd60281d57ded9a48c',1,'glm']]], ['aligned_5fmediump_5fdmat2',['aligned_mediump_dmat2',['../a00303.html#ga62a2dfd668c91072b72c3109fc6cda28',1,'glm']]], ['aligned_5fmediump_5fdmat2x2',['aligned_mediump_dmat2x2',['../a00303.html#ga9b7feec247d378dd407ba81f56ea96c8',1,'glm']]], ['aligned_5fmediump_5fdmat2x3',['aligned_mediump_dmat2x3',['../a00303.html#gafcb189f4f93648fe7ca802ca4aca2eb8',1,'glm']]], ['aligned_5fmediump_5fdmat2x4',['aligned_mediump_dmat2x4',['../a00303.html#ga92f8873e3bbd5ca1323c8bbe5725cc5e',1,'glm']]], ['aligned_5fmediump_5fdmat3',['aligned_mediump_dmat3',['../a00303.html#ga6dc2832b747c00e0a0df621aba196960',1,'glm']]], ['aligned_5fmediump_5fdmat3x2',['aligned_mediump_dmat3x2',['../a00303.html#ga5a97f0355d801de3444d42c1d5b40438',1,'glm']]], ['aligned_5fmediump_5fdmat3x3',['aligned_mediump_dmat3x3',['../a00303.html#ga649d0acf01054b17e679cf00e150e025',1,'glm']]], ['aligned_5fmediump_5fdmat3x4',['aligned_mediump_dmat3x4',['../a00303.html#ga45e155a4840f69b2fa4ed8047a676860',1,'glm']]], ['aligned_5fmediump_5fdmat4',['aligned_mediump_dmat4',['../a00303.html#ga8a9376d82f0e946e25137eb55543e6ce',1,'glm']]], ['aligned_5fmediump_5fdmat4x2',['aligned_mediump_dmat4x2',['../a00303.html#gabc25e547f4de4af62403492532cd1b6d',1,'glm']]], ['aligned_5fmediump_5fdmat4x3',['aligned_mediump_dmat4x3',['../a00303.html#gae84f4763ecdc7457ecb7930bad12057c',1,'glm']]], ['aligned_5fmediump_5fdmat4x4',['aligned_mediump_dmat4x4',['../a00303.html#gaa292ebaa907afdecb2d5967fb4fb1247',1,'glm']]], ['aligned_5fmediump_5fdvec1',['aligned_mediump_dvec1',['../a00303.html#ga7180b685c581adb224406a7f831608e3',1,'glm']]], ['aligned_5fmediump_5fdvec2',['aligned_mediump_dvec2',['../a00303.html#ga9af1eabe22f569e70d9893be72eda0f5',1,'glm']]], ['aligned_5fmediump_5fdvec3',['aligned_mediump_dvec3',['../a00303.html#ga058e7ddab1428e47f2197bdd3a5a6953',1,'glm']]], ['aligned_5fmediump_5fdvec4',['aligned_mediump_dvec4',['../a00303.html#gaffd747ea2aea1e69c2ecb04e68521b21',1,'glm']]], ['aligned_5fmediump_5fivec1',['aligned_mediump_ivec1',['../a00303.html#ga20e63dd980b81af10cadbbe219316650',1,'glm']]], ['aligned_5fmediump_5fivec2',['aligned_mediump_ivec2',['../a00303.html#gaea13d89d49daca2c796aeaa82fc2c2f2',1,'glm']]], ['aligned_5fmediump_5fivec3',['aligned_mediump_ivec3',['../a00303.html#gabbf0f15e9c3d9868e43241ad018f82bd',1,'glm']]], ['aligned_5fmediump_5fivec4',['aligned_mediump_ivec4',['../a00303.html#ga6099dd7878d0a78101a4250d8cd2d736',1,'glm']]], ['aligned_5fmediump_5fmat2',['aligned_mediump_mat2',['../a00303.html#gaf6f041b212c57664d88bc6aefb7e36f3',1,'glm']]], ['aligned_5fmediump_5fmat2x2',['aligned_mediump_mat2x2',['../a00303.html#ga04bf49316ee777d42fcfe681ee37d7be',1,'glm']]], ['aligned_5fmediump_5fmat2x3',['aligned_mediump_mat2x3',['../a00303.html#ga26a0b61e444a51a37b9737cf4d84291b',1,'glm']]], ['aligned_5fmediump_5fmat2x4',['aligned_mediump_mat2x4',['../a00303.html#ga163facc9ed2692ea1300ed57c5d12b17',1,'glm']]], ['aligned_5fmediump_5fmat3',['aligned_mediump_mat3',['../a00303.html#ga3b76ba17ae5d53debeb6f7e55919a57c',1,'glm']]], ['aligned_5fmediump_5fmat3x2',['aligned_mediump_mat3x2',['../a00303.html#ga80dee705d714300378e0847f45059097',1,'glm']]], ['aligned_5fmediump_5fmat3x3',['aligned_mediump_mat3x3',['../a00303.html#ga721f5404caf40d68962dcc0529de71d9',1,'glm']]], ['aligned_5fmediump_5fmat3x4',['aligned_mediump_mat3x4',['../a00303.html#ga98f4dc6722a2541a990918c074075359',1,'glm']]], ['aligned_5fmediump_5fmat4',['aligned_mediump_mat4',['../a00303.html#gaeefee8317192174596852ce19b602720',1,'glm']]], ['aligned_5fmediump_5fmat4x2',['aligned_mediump_mat4x2',['../a00303.html#ga46f372a006345c252a41267657cc22c0',1,'glm']]], ['aligned_5fmediump_5fmat4x3',['aligned_mediump_mat4x3',['../a00303.html#ga0effece4545acdebdc2a5512a303110e',1,'glm']]], ['aligned_5fmediump_5fmat4x4',['aligned_mediump_mat4x4',['../a00303.html#ga312864244cae4e8f10f478cffd0f76de',1,'glm']]], ['aligned_5fmediump_5fuvec1',['aligned_mediump_uvec1',['../a00303.html#gacb78126ea2eb779b41c7511128ff1283',1,'glm']]], ['aligned_5fmediump_5fuvec2',['aligned_mediump_uvec2',['../a00303.html#ga081d53e0a71443d0b68ea61c870f9adc',1,'glm']]], ['aligned_5fmediump_5fuvec3',['aligned_mediump_uvec3',['../a00303.html#gad6fc921bdde2bdbc7e09b028e1e9b379',1,'glm']]], ['aligned_5fmediump_5fuvec4',['aligned_mediump_uvec4',['../a00303.html#ga73ea0c1ba31580e107d21270883f51fc',1,'glm']]], ['aligned_5fmediump_5fvec1',['aligned_mediump_vec1',['../a00303.html#ga6b797eec76fa471e300158f3453b3b2e',1,'glm']]], ['aligned_5fmediump_5fvec2',['aligned_mediump_vec2',['../a00303.html#ga026a55ddbf2bafb1432f1157a2708616',1,'glm']]], ['aligned_5fmediump_5fvec3',['aligned_mediump_vec3',['../a00303.html#ga3a25e494173f6a64637b08a1b50a2132',1,'glm']]], ['aligned_5fmediump_5fvec4',['aligned_mediump_vec4',['../a00303.html#ga320d1c661cff2ef214eb50241f2928b2',1,'glm']]], ['aligned_5fuvec1',['aligned_uvec1',['../a00303.html#ga1ff8ed402c93d280ff0597c1c5e7c548',1,'glm']]], ['aligned_5fuvec2',['aligned_uvec2',['../a00303.html#ga074137e3be58528d67041c223d49f398',1,'glm']]], ['aligned_5fuvec3',['aligned_uvec3',['../a00303.html#ga2a8d9c3046f89d854eb758adfa0811c0',1,'glm']]], ['aligned_5fuvec4',['aligned_uvec4',['../a00303.html#gabf842c45eea186170c267a328e3f3b7d',1,'glm']]], ['aligned_5fvec1',['aligned_vec1',['../a00303.html#ga05e6d4c908965d04191c2070a8d0a65e',1,'glm']]], ['aligned_5fvec2',['aligned_vec2',['../a00303.html#ga0682462f8096a226773e20fac993cde5',1,'glm']]], ['aligned_5fvec3',['aligned_vec3',['../a00303.html#ga7cf643b66664e0cd3c48759ae66c2bd0',1,'glm']]], ['aligned_5fvec4',['aligned_vec4',['../a00303.html#ga85d89e83cb8137e1be1446de8c3b643a',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/typedefs_1.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/typedefs_1.js ================================================ var searchData= [ ['bool1',['bool1',['../a00315.html#gaddcd7aa2e30e61af5b38660613d3979e',1,'glm']]], ['bool1x1',['bool1x1',['../a00315.html#ga7f895c936f0c29c8729afbbf22806090',1,'glm']]], ['bool2',['bool2',['../a00315.html#gaa09ab65ec9c3c54305ff502e2b1fe6d9',1,'glm']]], ['bool2x2',['bool2x2',['../a00315.html#gadb3703955e513632f98ba12fe051ba3e',1,'glm']]], ['bool2x3',['bool2x3',['../a00315.html#ga9ae6ee155d0f90cb1ae5b6c4546738a0',1,'glm']]], ['bool2x4',['bool2x4',['../a00315.html#ga4d7fa65be8e8e4ad6d920b45c44e471f',1,'glm']]], ['bool3',['bool3',['../a00315.html#ga99629f818737f342204071ef8296b2ed',1,'glm']]], ['bool3x2',['bool3x2',['../a00315.html#gac7d7311f7e0fa8b6163d96dab033a755',1,'glm']]], ['bool3x3',['bool3x3',['../a00315.html#ga6c97b99aac3e302053ffb58aace9033c',1,'glm']]], ['bool3x4',['bool3x4',['../a00315.html#gae7d6b679463d37d6c527d478fb470fdf',1,'glm']]], ['bool4',['bool4',['../a00315.html#ga13c3200b82708f73faac6d7f09ec91a3',1,'glm']]], ['bool4x2',['bool4x2',['../a00315.html#ga9ed830f52408b2f83c085063a3eaf1d0',1,'glm']]], ['bool4x3',['bool4x3',['../a00315.html#gad0f5dc7f22c2065b1b06d57f1c0658fe',1,'glm']]], ['bool4x4',['bool4x4',['../a00315.html#ga7d2a7d13986602ae2896bfaa394235d4',1,'glm']]], ['bvec1',['bvec1',['../a00265.html#ga067af382616d93f8e850baae5154cdcc',1,'glm']]], ['bvec2',['bvec2',['../a00281.html#ga0b6123e03653cc1bbe366fc55238a934',1,'glm']]], ['bvec3',['bvec3',['../a00281.html#ga197151b72dfaf289daf98b361760ffe7',1,'glm']]], ['bvec4',['bvec4',['../a00281.html#ga9f7b9712373ff4342d9114619b55f5e3',1,'glm']]], ['byte',['byte',['../a00354.html#ga3005cb0d839d546c616becfa6602c607',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/typedefs_2.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/typedefs_2.js ================================================ var searchData= [ ['ddualquat',['ddualquat',['../a00317.html#ga3d71f98d84ba59dfe4e369fde4714cd6',1,'glm']]], ['dmat2',['dmat2',['../a00283.html#ga21dbd1f987775d7cc7607c139531c7e6',1,'glm']]], ['dmat2x2',['dmat2x2',['../a00283.html#ga66b6a9af787e468a46dfe24189e87f9b',1,'glm']]], ['dmat2x3',['dmat2x3',['../a00283.html#ga92cd388753d48e20de69ea2dbedf826a',1,'glm']]], ['dmat2x4',['dmat2x4',['../a00283.html#gaef2198807e937072803ae0ae45e1965e',1,'glm']]], ['dmat3',['dmat3',['../a00283.html#ga6f40aa56265b4b0ccad41b86802efe33',1,'glm']]], ['dmat3x2',['dmat3x2',['../a00283.html#ga001e3e0638fbf8719788fc64c5b8cf39',1,'glm']]], ['dmat3x3',['dmat3x3',['../a00283.html#ga970cb3306be25a5ca5db5a9456831228',1,'glm']]], ['dmat3x4',['dmat3x4',['../a00283.html#ga0412a634d183587e6188e9b11869f8f4',1,'glm']]], ['dmat4',['dmat4',['../a00283.html#ga0f34486bb7fec8e5a5b3830b6a6cbeca',1,'glm']]], ['dmat4x2',['dmat4x2',['../a00283.html#ga9bc0b3ab8b6ba2cb6782e179ad7ad156',1,'glm']]], ['dmat4x3',['dmat4x3',['../a00283.html#gacd18864049f8c83799babe7e596ca05b',1,'glm']]], ['dmat4x4',['dmat4x4',['../a00283.html#gad5a6484b983b74f9d801cab8bc4e6a10',1,'glm']]], ['double1',['double1',['../a00315.html#ga20b861a9b6e2a300323671c57a02525b',1,'glm']]], ['double1x1',['double1x1',['../a00315.html#ga45f16a4dd0db1f199afaed9fd12fe9a8',1,'glm']]], ['double2',['double2',['../a00315.html#ga31b729b04facccda73f07ed26958b3c2',1,'glm']]], ['double2x2',['double2x2',['../a00315.html#gae57d0201096834d25f2b91b319e7cdbd',1,'glm']]], ['double2x3',['double2x3',['../a00315.html#ga3655bc324008553ca61f39952d0b2d08',1,'glm']]], ['double2x4',['double2x4',['../a00315.html#gacd33061fc64a7b2dcfd7322c49d9557a',1,'glm']]], ['double3',['double3',['../a00315.html#ga3d8b9028a1053a44a98902cd1c389472',1,'glm']]], ['double3x2',['double3x2',['../a00315.html#ga5ec08fc39c9d783dfcc488be240fe975',1,'glm']]], ['double3x3',['double3x3',['../a00315.html#ga4bad5bb20c6ddaecfe4006c93841d180',1,'glm']]], ['double3x4',['double3x4',['../a00315.html#ga2ef022e453d663d70aec414b2a80f756',1,'glm']]], ['double4',['double4',['../a00315.html#gaf92f58af24f35617518aeb3d4f63fda6',1,'glm']]], ['double4x2',['double4x2',['../a00315.html#gabca29ccceea53669618b751aae0ba83d',1,'glm']]], ['double4x3',['double4x3',['../a00315.html#gafad66a02ccd360c86d6ab9ff9cfbc19c',1,'glm']]], ['double4x4',['double4x4',['../a00315.html#gaab541bed2e788e4537852a2492860806',1,'glm']]], ['dquat',['dquat',['../a00249.html#ga1181459aa5d640a3ea43861b118f3f0b',1,'glm']]], ['dualquat',['dualquat',['../a00317.html#gae93abee0c979902fbec6a7bee0f6fae1',1,'glm']]], ['dvec1',['dvec1',['../a00268.html#ga6221af17edc2d4477a4583d2cd53e569',1,'glm']]], ['dvec2',['dvec2',['../a00281.html#ga8b09c71aaac7da7867ae58377fe219a8',1,'glm']]], ['dvec3',['dvec3',['../a00281.html#ga5b83ae3d0fdec519c038e4d2cf967cf0',1,'glm']]], ['dvec4',['dvec4',['../a00281.html#ga57debab5d98ce618f7b2a97fe26eb3ac',1,'glm']]], ['dword',['dword',['../a00354.html#ga86e46fff9f80ae33893d8d697f2ca98a',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/typedefs_3.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/typedefs_3.js ================================================ var searchData= [ ['f32',['f32',['../a00304.html#gabe6a542dd6c1d5ffd847f1b9b4c9c9b7',1,'glm']]], ['f32mat1',['f32mat1',['../a00346.html#ga145ad477a2a3e152855511c3b52469a6',1,'glm::gtx']]], ['f32mat1x1',['f32mat1x1',['../a00346.html#gac88c6a4dbfc380aa26e3adbbade36348',1,'glm::gtx']]], ['f32mat2',['f32mat2',['../a00304.html#gab12383ed6ac7595ed6fde4d266c58425',1,'glm']]], ['f32mat2x2',['f32mat2x2',['../a00304.html#ga04100c76f7d55a0dd0983ccf05142bff',1,'glm']]], ['f32mat2x3',['f32mat2x3',['../a00304.html#gab256cdab5eb582e426d749ae77b5b566',1,'glm']]], ['f32mat2x4',['f32mat2x4',['../a00304.html#gaf512b74c4400b68f9fdf9388b3d6aac8',1,'glm']]], ['f32mat3',['f32mat3',['../a00304.html#ga856f3905ee7cc2e4890a8a1d56c150be',1,'glm']]], ['f32mat3x2',['f32mat3x2',['../a00304.html#ga1320a08e14fdff3821241eefab6947e9',1,'glm']]], ['f32mat3x3',['f32mat3x3',['../a00304.html#ga65261fa8a21045c8646ddff114a56174',1,'glm']]], ['f32mat3x4',['f32mat3x4',['../a00304.html#gab90ade28222f8b861d5ceaf81a3a7f5d',1,'glm']]], ['f32mat4',['f32mat4',['../a00304.html#ga99d1b85ff99956b33da7e9992aad129a',1,'glm']]], ['f32mat4x2',['f32mat4x2',['../a00304.html#ga3b32ca1e57a4ef91babbc3d35a34ea20',1,'glm']]], ['f32mat4x3',['f32mat4x3',['../a00304.html#ga239b96198771b7add8eea7e6b59840c0',1,'glm']]], ['f32mat4x4',['f32mat4x4',['../a00304.html#gaee4da0e9fbd8cfa2f89cb80889719dc3',1,'glm']]], ['f32quat',['f32quat',['../a00304.html#ga38e674196ba411d642be40c47bf33939',1,'glm']]], ['f32vec1',['f32vec1',['../a00304.html#ga701f32ab5b3fb06996b41f5c0d643805',1,'glm::f32vec1()'],['../a00346.html#ga07f8d7348eb7ae059a84c118fdfeb943',1,'glm::gtx::f32vec1()']]], ['f32vec2',['f32vec2',['../a00304.html#ga5d6c70e080409a76a257dc55bd8ea2c8',1,'glm']]], ['f32vec3',['f32vec3',['../a00304.html#gaea5c4518e175162e306d2c2b5ef5ac79',1,'glm']]], ['f32vec4',['f32vec4',['../a00304.html#ga31c6ca0e074a44007f49a9a3720b18c8',1,'glm']]], ['f64',['f64',['../a00304.html#ga1d794d240091678f602e8de225b8d8c9',1,'glm']]], ['f64mat1',['f64mat1',['../a00346.html#ga59bfa589419b5265d01314fcecd33435',1,'glm::gtx']]], ['f64mat1x1',['f64mat1x1',['../a00346.html#ga448eeb08d0b7d8c43a8b292c981955fd',1,'glm::gtx']]], ['f64mat2',['f64mat2',['../a00304.html#gad9771450a54785d13080cdde0fe20c1d',1,'glm']]], ['f64mat2x2',['f64mat2x2',['../a00304.html#ga9ec7c4c79e303c053e30729a95fb2c37',1,'glm']]], ['f64mat2x3',['f64mat2x3',['../a00304.html#gae3ab5719fc4c1e966631dbbcba8d412a',1,'glm']]], ['f64mat2x4',['f64mat2x4',['../a00304.html#gac87278e0c702ba8afff76316d4eeb769',1,'glm']]], ['f64mat3',['f64mat3',['../a00304.html#ga9b69181efbf8f37ae934f135137b29c0',1,'glm']]], ['f64mat3x2',['f64mat3x2',['../a00304.html#ga2473d8bf3f4abf967c4d0e18175be6f7',1,'glm']]], ['f64mat3x3',['f64mat3x3',['../a00304.html#ga916c1aed91cf91f7b41399ebe7c6e185',1,'glm']]], ['f64mat3x4',['f64mat3x4',['../a00304.html#gaab239fa9e35b65a67cbaa6ac082f3675',1,'glm']]], ['f64mat4',['f64mat4',['../a00304.html#ga0ecd3f4952536e5ef12702b44d2626fc',1,'glm']]], ['f64mat4x2',['f64mat4x2',['../a00304.html#gab7daf79d6bc06a68bea1c6f5e11b5512',1,'glm']]], ['f64mat4x3',['f64mat4x3',['../a00304.html#ga3e2e66ffbe341a80bc005ba2b9552110',1,'glm']]], ['f64mat4x4',['f64mat4x4',['../a00304.html#gae52e2b7077a9ff928a06ab5ce600b81e',1,'glm']]], ['f64quat',['f64quat',['../a00304.html#ga2b114a2f2af0fe1dfeb569c767822940',1,'glm']]], ['f64vec1',['f64vec1',['../a00304.html#gade502df1ce14f837fae7f60a03ddb9b0',1,'glm::f64vec1()'],['../a00346.html#gae5987a61b8c03d5c432a9e62f0b3efe1',1,'glm::gtx::f64vec1()']]], ['f64vec2',['f64vec2',['../a00304.html#gadc4e1594f9555d919131ee02b17822a2',1,'glm']]], ['f64vec3',['f64vec3',['../a00304.html#gaa7a1ddca75c5f629173bf4772db7a635',1,'glm']]], ['f64vec4',['f64vec4',['../a00304.html#ga66e92e57260bdb910609b9a56bf83e97',1,'glm']]], ['fdualquat',['fdualquat',['../a00317.html#ga237c2b9b42c9a930e49de5840ae0f930',1,'glm']]], ['float1',['float1',['../a00315.html#gaf5208d01f6c6fbcb7bb55d610b9c0ead',1,'glm']]], ['float1x1',['float1x1',['../a00315.html#ga73720b8dc4620835b17f74d428f98c0c',1,'glm']]], ['float2',['float2',['../a00315.html#ga02d3c013982c183906c61d74aa3166ce',1,'glm']]], ['float2x2',['float2x2',['../a00315.html#ga33d43ecbb60a85a1366ff83f8a0ec85f',1,'glm']]], ['float2x3',['float2x3',['../a00315.html#ga939b0cff15cee3030f75c1b2e36f89fe',1,'glm']]], ['float2x4',['float2x4',['../a00315.html#gafec3cfd901ab334a92e0242b8f2269b4',1,'glm']]], ['float3',['float3',['../a00315.html#ga821ff110fc8533a053cbfcc93e078cc0',1,'glm']]], ['float32',['float32',['../a00304.html#gaacdc525d6f7bddb3ae95d5c311bd06a1',1,'glm']]], ['float32_5ft',['float32_t',['../a00304.html#gaa4947bc8b47c72fceea9bda730ecf603',1,'glm']]], ['float3x2',['float3x2',['../a00315.html#gaa6c69f04ba95f3faedf95dae874de576',1,'glm']]], ['float3x3',['float3x3',['../a00315.html#ga6ceb5d38a58becdf420026e12a6562f3',1,'glm']]], ['float3x4',['float3x4',['../a00315.html#ga4d2679c321b793ca3784fe0315bb5332',1,'glm']]], ['float4',['float4',['../a00315.html#gae2da7345087db3815a25d8837a727ef1',1,'glm']]], ['float4x2',['float4x2',['../a00315.html#ga308b9af0c221145bcfe9bfc129d9098e',1,'glm']]], ['float4x3',['float4x3',['../a00315.html#gac0a51b4812038aa81d73ffcc37f741ac',1,'glm']]], ['float4x4',['float4x4',['../a00315.html#gad3051649b3715d828a4ab92cdae7c3bf',1,'glm']]], ['float64',['float64',['../a00304.html#ga232fad1b0d6dcc7c16aabde98b2e2a80',1,'glm']]], ['float64_5ft',['float64_t',['../a00304.html#ga728366fef72cd96f0a5fa6429f05469e',1,'glm']]], ['fmat2',['fmat2',['../a00304.html#ga4541dc2feb2a31d6ecb5a303f3dd3280',1,'glm']]], ['fmat2x2',['fmat2x2',['../a00304.html#ga3350c93c3275298f940a42875388e4b4',1,'glm']]], ['fmat2x3',['fmat2x3',['../a00304.html#ga55a2d2a8eb09b5633668257eb3cad453',1,'glm']]], ['fmat2x4',['fmat2x4',['../a00304.html#ga681381f19f11c9e5ee45cda2c56937ff',1,'glm']]], ['fmat3',['fmat3',['../a00304.html#ga253d453c20e037730023fea0215cb6f6',1,'glm']]], ['fmat3x2',['fmat3x2',['../a00304.html#ga6af54d70d9beb0a7ef992a879e86b04f',1,'glm']]], ['fmat3x3',['fmat3x3',['../a00304.html#gaa07c86650253672a19dbfb898f3265b8',1,'glm']]], ['fmat3x4',['fmat3x4',['../a00304.html#ga44e158af77a670ee1b58c03cda9e1619',1,'glm']]], ['fmat4',['fmat4',['../a00304.html#ga8cb400c0f4438f2640035d7b9824a0ca',1,'glm']]], ['fmat4x2',['fmat4x2',['../a00304.html#ga8c8aa45aafcc23238edb1d5aeb801774',1,'glm']]], ['fmat4x3',['fmat4x3',['../a00304.html#ga4295048a78bdf46b8a7de77ec665b497',1,'glm']]], ['fmat4x4',['fmat4x4',['../a00304.html#gad01cc6479bde1fd1870f13d3ed9530b3',1,'glm']]], ['fvec1',['fvec1',['../a00304.html#ga98b9ed43cf8c5cf1d354b23c7df9119f',1,'glm']]], ['fvec2',['fvec2',['../a00304.html#ga24273aa02abaecaab7f160bac437a339',1,'glm']]], ['fvec3',['fvec3',['../a00304.html#ga89930533646b30d021759298aa6bf04a',1,'glm']]], ['fvec4',['fvec4',['../a00304.html#ga713c796c54875cf4092d42ff9d9096b0',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/typedefs_4.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/typedefs_4.js ================================================ var searchData= [ ['highp_5fbvec1',['highp_bvec1',['../a00266.html#gae8a1e14abae1387274f57741750c06a2',1,'glm']]], ['highp_5fbvec2',['highp_bvec2',['../a00282.html#gac6c781a85f012d77a75310a3058702c2',1,'glm']]], ['highp_5fbvec3',['highp_bvec3',['../a00282.html#gaedb70027d89a0a405046aefda4eabaa6',1,'glm']]], ['highp_5fbvec4',['highp_bvec4',['../a00282.html#gaee663ff64429443ab07a5327074192f6',1,'glm']]], ['highp_5fddualquat',['highp_ddualquat',['../a00317.html#ga8f67eafa7197d7a668dad5105a463d2a',1,'glm']]], ['highp_5fdmat2',['highp_dmat2',['../a00284.html#ga369b447bb1b312449b679ea1f90f3cea',1,'glm']]], ['highp_5fdmat2x2',['highp_dmat2x2',['../a00284.html#gae27ac20302c2e39b6c78e7fe18e62ef7',1,'glm']]], ['highp_5fdmat2x3',['highp_dmat2x3',['../a00284.html#gad4689ec33bc2c26e10132b174b49001a',1,'glm']]], ['highp_5fdmat2x4',['highp_dmat2x4',['../a00284.html#ga5ceeb46670fdc000a0701910cc5061c9',1,'glm']]], ['highp_5fdmat3',['highp_dmat3',['../a00284.html#ga86d6d4dbad92ffdcc759773340e15a97',1,'glm']]], ['highp_5fdmat3x2',['highp_dmat3x2',['../a00284.html#ga3647309010a2160e9ec89bc6f7c95c35',1,'glm']]], ['highp_5fdmat3x3',['highp_dmat3x3',['../a00284.html#gae367ea93c4ad8a7c101dd27b8b2b04ce',1,'glm']]], ['highp_5fdmat3x4',['highp_dmat3x4',['../a00284.html#ga6543eeeb64f48d79a0b96484308c50f0',1,'glm']]], ['highp_5fdmat4',['highp_dmat4',['../a00284.html#ga945254f459860741138bceb74da496b9',1,'glm']]], ['highp_5fdmat4x2',['highp_dmat4x2',['../a00284.html#gaeda1f474c668eaecc443bea85a4a4eca',1,'glm']]], ['highp_5fdmat4x3',['highp_dmat4x3',['../a00284.html#gacf237c2d8832fe8db2d7e187585d34bd',1,'glm']]], ['highp_5fdmat4x4',['highp_dmat4x4',['../a00284.html#ga118d24a3d12c034e7cccef7bf2f01b8a',1,'glm']]], ['highp_5fdquat',['highp_dquat',['../a00250.html#gaf13a25f41afc03480b40fc71bd249cec',1,'glm']]], ['highp_5fdualquat',['highp_dualquat',['../a00317.html#ga9ef5bf1da52a9d4932335a517086ceaf',1,'glm']]], ['highp_5fdvec1',['highp_dvec1',['../a00269.html#ga77c22c4426da3a6865c88d3fc907e3fe',1,'glm']]], ['highp_5fdvec2',['highp_dvec2',['../a00282.html#gab98d77cca255914f5e29697fcbc2d975',1,'glm']]], ['highp_5fdvec3',['highp_dvec3',['../a00282.html#gab24dc20dcdc5b71282634bdbf6b70105',1,'glm']]], ['highp_5fdvec4',['highp_dvec4',['../a00282.html#gab654f4ed4a99d64a6cfc65320c2a7590',1,'glm']]], ['highp_5ff32',['highp_f32',['../a00304.html#ga6906e1ef0b34064b4b675489c5c38725',1,'glm']]], ['highp_5ff32mat2',['highp_f32mat2',['../a00304.html#ga298f7d4d273678d0282812368da27fda',1,'glm']]], ['highp_5ff32mat2x2',['highp_f32mat2x2',['../a00304.html#gae5eb02d92b7d4605a4b7f37ae5cb2968',1,'glm']]], ['highp_5ff32mat2x3',['highp_f32mat2x3',['../a00304.html#ga0aeb5cb001473b08c88175012708a379',1,'glm']]], ['highp_5ff32mat2x4',['highp_f32mat2x4',['../a00304.html#ga88938ee1e7981fa3402e88da6ad74531',1,'glm']]], ['highp_5ff32mat3',['highp_f32mat3',['../a00304.html#ga24f9ef3263b1638564713892cc37981f',1,'glm']]], ['highp_5ff32mat3x2',['highp_f32mat3x2',['../a00304.html#ga36537e701456f12c20e73f469cac4967',1,'glm']]], ['highp_5ff32mat3x3',['highp_f32mat3x3',['../a00304.html#gaab691ae40c37976d268d8cac0096e0e1',1,'glm']]], ['highp_5ff32mat3x4',['highp_f32mat3x4',['../a00304.html#gaa5086dbd6efb272d13fc88829330861d',1,'glm']]], ['highp_5ff32mat4',['highp_f32mat4',['../a00304.html#ga14c90ca49885723f51d06e295587236f',1,'glm']]], ['highp_5ff32mat4x2',['highp_f32mat4x2',['../a00304.html#ga602e119c6b246b4f6edcf66845f2aa0f',1,'glm']]], ['highp_5ff32mat4x3',['highp_f32mat4x3',['../a00304.html#ga66bffdd8e5c0d3ef9958bbab9ca1ba59',1,'glm']]], ['highp_5ff32mat4x4',['highp_f32mat4x4',['../a00304.html#gaf1b712b97b2322685fbbed28febe5f84',1,'glm']]], ['highp_5ff32quat',['highp_f32quat',['../a00304.html#ga4252cf7f5b0e3cd47c3d3badf0ef43b3',1,'glm']]], ['highp_5ff32vec1',['highp_f32vec1',['../a00304.html#gab1b1c9e8667902b78b2c330e4d383a61',1,'glm']]], ['highp_5ff32vec2',['highp_f32vec2',['../a00304.html#ga0b8ebd4262331e139ff257d7cf2a4b77',1,'glm']]], ['highp_5ff32vec3',['highp_f32vec3',['../a00304.html#ga522775dbcc6d96246a1c5cf02344fd8c',1,'glm']]], ['highp_5ff32vec4',['highp_f32vec4',['../a00304.html#ga0f038d4e09862a74f03d102c59eda73e',1,'glm']]], ['highp_5ff64',['highp_f64',['../a00304.html#ga51d5266017d88f62737c1973923a7cf4',1,'glm']]], ['highp_5ff64mat2',['highp_f64mat2',['../a00304.html#gaf7adb92ce8de0afaff01436b039fd924',1,'glm']]], ['highp_5ff64mat2x2',['highp_f64mat2x2',['../a00304.html#ga773ea237a051827cfc20de960bc73ff0',1,'glm']]], ['highp_5ff64mat2x3',['highp_f64mat2x3',['../a00304.html#ga8342c7469384c6d769cacc9e309278d9',1,'glm']]], ['highp_5ff64mat2x4',['highp_f64mat2x4',['../a00304.html#ga5a67a7440b9c0d1538533540f99036a5',1,'glm']]], ['highp_5ff64mat3',['highp_f64mat3',['../a00304.html#ga609bf0ace941d6ab1bb2f9522a04e546',1,'glm']]], ['highp_5ff64mat3x2',['highp_f64mat3x2',['../a00304.html#ga5bdbfb4ce7d05ce1e1b663f50be17e8a',1,'glm']]], ['highp_5ff64mat3x3',['highp_f64mat3x3',['../a00304.html#ga7c2cadb9b85cc7e0d125db21ca19dea4',1,'glm']]], ['highp_5ff64mat3x4',['highp_f64mat3x4',['../a00304.html#gad310b1dddeec9ec837a104e7db8de580',1,'glm']]], ['highp_5ff64mat4',['highp_f64mat4',['../a00304.html#gad308e0ed27d64daa4213fb257fcbd5a5',1,'glm']]], ['highp_5ff64mat4x2',['highp_f64mat4x2',['../a00304.html#ga58c4631421e323e252fc716b6103e38c',1,'glm']]], ['highp_5ff64mat4x3',['highp_f64mat4x3',['../a00304.html#gae94823d65648e44d972863c6caa13103',1,'glm']]], ['highp_5ff64mat4x4',['highp_f64mat4x4',['../a00304.html#ga09a2374b725c4246d263ee36fb66434c',1,'glm']]], ['highp_5ff64quat',['highp_f64quat',['../a00304.html#gafcfdd74a115163af2ce1093551747352',1,'glm']]], ['highp_5ff64vec1',['highp_f64vec1',['../a00304.html#ga62c31b133ceee9984fbee05ac4c434a9',1,'glm']]], ['highp_5ff64vec2',['highp_f64vec2',['../a00304.html#ga670ea1b0a1172bc73b1d7c1e0c26cce2',1,'glm']]], ['highp_5ff64vec3',['highp_f64vec3',['../a00304.html#gacd1196090ece7a69fb5c3e43a7d4d851',1,'glm']]], ['highp_5ff64vec4',['highp_f64vec4',['../a00304.html#ga61185c44c8cc0b25d9a0f67d8a267444',1,'glm']]], ['highp_5ffdualquat',['highp_fdualquat',['../a00317.html#ga4c4e55e9c99dc57b299ed590968da564',1,'glm']]], ['highp_5ffloat32',['highp_float32',['../a00304.html#gac5a7f21136e0a78d0a1b9f60ef2f8aea',1,'glm']]], ['highp_5ffloat32_5ft',['highp_float32_t',['../a00304.html#ga5376ef18dca9d248897c3363ef5a06b2',1,'glm']]], ['highp_5ffloat64',['highp_float64',['../a00304.html#gadbb198a4d7aad82a0f4dc466ef6f6215',1,'glm']]], ['highp_5ffloat64_5ft',['highp_float64_t',['../a00304.html#gaaeeb0077198cff40e3f48b1108ece139',1,'glm']]], ['highp_5ffmat2',['highp_fmat2',['../a00304.html#gae98c88d9a7befa9b5877f49176225535',1,'glm']]], ['highp_5ffmat2x2',['highp_fmat2x2',['../a00304.html#ga28635abcddb2f3e92c33c3f0fcc682ad',1,'glm']]], ['highp_5ffmat2x3',['highp_fmat2x3',['../a00304.html#gacf111095594996fef29067b2454fccad',1,'glm']]], ['highp_5ffmat2x4',['highp_fmat2x4',['../a00304.html#ga4920a1536f161f7ded1d6909b7fef0d2',1,'glm']]], ['highp_5ffmat3',['highp_fmat3',['../a00304.html#gaed2dc69e0d507d4191092dbd44b3eb75',1,'glm']]], ['highp_5ffmat3x2',['highp_fmat3x2',['../a00304.html#gae54e4d1aeb5a0f0c64822e6f1b299e19',1,'glm']]], ['highp_5ffmat3x3',['highp_fmat3x3',['../a00304.html#gaa5b44d3ef6efcf33f44876673a7a936e',1,'glm']]], ['highp_5ffmat3x4',['highp_fmat3x4',['../a00304.html#ga961fac2a885907ffcf4d40daac6615c5',1,'glm']]], ['highp_5ffmat4',['highp_fmat4',['../a00304.html#gabf28443ce0cc0959077ec39b21f32c39',1,'glm']]], ['highp_5ffmat4x2',['highp_fmat4x2',['../a00304.html#ga076961cf2d120c7168b957cb2ed107b3',1,'glm']]], ['highp_5ffmat4x3',['highp_fmat4x3',['../a00304.html#gae406ec670f64170a7437b5e302eeb2cb',1,'glm']]], ['highp_5ffmat4x4',['highp_fmat4x4',['../a00304.html#gaee80c7cd3caa0f2635058656755f6f69',1,'glm']]], ['highp_5ffvec1',['highp_fvec1',['../a00304.html#gaa1040342c4efdedc8f90e6267db8d41c',1,'glm']]], ['highp_5ffvec2',['highp_fvec2',['../a00304.html#ga7c0d196f5fa79f7e892a2f323a0be1ae',1,'glm']]], ['highp_5ffvec3',['highp_fvec3',['../a00304.html#ga6ef77413883f48d6b53b4169b25edbd0',1,'glm']]], ['highp_5ffvec4',['highp_fvec4',['../a00304.html#ga8b839abbb44f5102609eed89f6ed61f7',1,'glm']]], ['highp_5fi16',['highp_i16',['../a00304.html#ga0336abc2604dd2c20c30e036454b64f8',1,'glm']]], ['highp_5fi16vec1',['highp_i16vec1',['../a00304.html#ga70fdfcc1fd38084bde83c3f06a8b9f19',1,'glm']]], ['highp_5fi16vec2',['highp_i16vec2',['../a00304.html#gaa7db3ad10947cf70cae6474d05ebd227',1,'glm']]], ['highp_5fi16vec3',['highp_i16vec3',['../a00304.html#ga5609c8fa2b7eac3dec337d321cb0ca96',1,'glm']]], ['highp_5fi16vec4',['highp_i16vec4',['../a00304.html#ga7a18659438828f91ccca28f1a1e067b4',1,'glm']]], ['highp_5fi32',['highp_i32',['../a00304.html#ga727675ac6b5d2fc699520e0059735e25',1,'glm']]], ['highp_5fi32vec1',['highp_i32vec1',['../a00304.html#ga6a9d71cc62745302f70422b7dc98755c',1,'glm']]], ['highp_5fi32vec2',['highp_i32vec2',['../a00304.html#gaa9b4579f8e6f3d9b649a965bcb785530',1,'glm']]], ['highp_5fi32vec3',['highp_i32vec3',['../a00304.html#ga31e070ea3bdee623e6e18a61ba5718b1',1,'glm']]], ['highp_5fi32vec4',['highp_i32vec4',['../a00304.html#gadf70eaaa230aeed5a4c9f4c9c5c55902',1,'glm']]], ['highp_5fi64',['highp_i64',['../a00304.html#gac25db6d2b1e2a0f351b77ba3409ac4cd',1,'glm']]], ['highp_5fi64vec1',['highp_i64vec1',['../a00304.html#gabd2fda3cd208acf5a370ec9b5b3c58d4',1,'glm']]], ['highp_5fi64vec2',['highp_i64vec2',['../a00304.html#gad9d1903cb20899966e8ebe0670889a5f',1,'glm']]], ['highp_5fi64vec3',['highp_i64vec3',['../a00304.html#ga62324224b9c6cce9c6b4db96bb704a8a',1,'glm']]], ['highp_5fi64vec4',['highp_i64vec4',['../a00304.html#gad23b1be9b3bf20352089a6b738f0ebba',1,'glm']]], ['highp_5fi8',['highp_i8',['../a00304.html#gacb88796f2d08ef253d0345aff20c3aee',1,'glm']]], ['highp_5fi8vec1',['highp_i8vec1',['../a00304.html#ga1d8c10949691b0fd990253476f47beb3',1,'glm']]], ['highp_5fi8vec2',['highp_i8vec2',['../a00304.html#ga50542e4cb9b2f9bec213b66e06145d07',1,'glm']]], ['highp_5fi8vec3',['highp_i8vec3',['../a00304.html#ga8396bfdc081d9113190d0c39c9f67084',1,'glm']]], ['highp_5fi8vec4',['highp_i8vec4',['../a00304.html#ga4824e3ddf6e608117dfe4809430737b4',1,'glm']]], ['highp_5fimat2',['highp_imat2',['../a00294.html#ga8499cc3b016003f835314c1c756e9db9',1,'glm']]], ['highp_5fimat2x2',['highp_imat2x2',['../a00294.html#gaa389e2d1c3b10941cae870bc0aeba5b3',1,'glm']]], ['highp_5fimat2x3',['highp_imat2x3',['../a00294.html#gaba49d890e06c9444795f5a133fbf1336',1,'glm']]], ['highp_5fimat2x4',['highp_imat2x4',['../a00294.html#ga05a970fd4366dad6c8a0be676b1eae5b',1,'glm']]], ['highp_5fimat3',['highp_imat3',['../a00294.html#gaca4506a3efa679eff7c006d9826291fd',1,'glm']]], ['highp_5fimat3x2',['highp_imat3x2',['../a00294.html#ga91c671c3ff9706c2393e78b22fd84bcb',1,'glm']]], ['highp_5fimat3x3',['highp_imat3x3',['../a00294.html#ga07d7b7173e2a6f843ff5f1c615a95b41',1,'glm']]], ['highp_5fimat3x4',['highp_imat3x4',['../a00294.html#ga53008f580be99018a17b357b5a4ffc0d',1,'glm']]], ['highp_5fimat4',['highp_imat4',['../a00294.html#ga7cfb09b34e0fcf73eaf6512d6483ef56',1,'glm']]], ['highp_5fimat4x2',['highp_imat4x2',['../a00294.html#ga1858820fb292cae396408b2034407f72',1,'glm']]], ['highp_5fimat4x3',['highp_imat4x3',['../a00294.html#ga6be0b80ae74bb309bc5b964d93d68fc5',1,'glm']]], ['highp_5fimat4x4',['highp_imat4x4',['../a00294.html#ga2c783ee6f8f040ab37df2f70392c8b44',1,'glm']]], ['highp_5fint16',['highp_int16',['../a00304.html#ga5fde0fa4a3852a9dd5d637a92ee74718',1,'glm']]], ['highp_5fint16_5ft',['highp_int16_t',['../a00304.html#gacaea06d0a79ef3172e887a7a6ba434ff',1,'glm']]], ['highp_5fint32',['highp_int32',['../a00304.html#ga84ed04b4e0de18c977e932d617e7c223',1,'glm']]], ['highp_5fint32_5ft',['highp_int32_t',['../a00304.html#ga2c71c8bd9e2fe7d2e93ca250d8b6157f',1,'glm']]], ['highp_5fint64',['highp_int64',['../a00304.html#ga226a8d52b4e3f77aaa6231135e886aac',1,'glm']]], ['highp_5fint64_5ft',['highp_int64_t',['../a00304.html#ga73c6abb280a45feeff60f9accaee91f3',1,'glm']]], ['highp_5fint8',['highp_int8',['../a00304.html#gad0549c902a96a7164e4ac858d5f39dbf',1,'glm']]], ['highp_5fint8_5ft',['highp_int8_t',['../a00304.html#ga1085c50dd8fbeb5e7e609b1c127492a5',1,'glm']]], ['highp_5fivec1',['highp_ivec1',['../a00273.html#ga7e02566f2bd2caa68e61be45a477c77e',1,'glm']]], ['highp_5fivec2',['highp_ivec2',['../a00282.html#gaa18f6b80b41c214f10666948539c1f93',1,'glm']]], ['highp_5fivec3',['highp_ivec3',['../a00282.html#ga7dd782c3ef5719bc6d5c3ca826b8ad18',1,'glm']]], ['highp_5fivec4',['highp_ivec4',['../a00282.html#gafb84dccdf5d82443df3ffc8428dcaf3e',1,'glm']]], ['highp_5fmat2',['highp_mat2',['../a00284.html#ga4d5a0055544a516237dcdace049b143d',1,'glm']]], ['highp_5fmat2x2',['highp_mat2x2',['../a00284.html#ga2352ae43b284c9f71446674c0208c05d',1,'glm']]], ['highp_5fmat2x3',['highp_mat2x3',['../a00284.html#ga7a0e3fe41512b0494e598f5c58722f19',1,'glm']]], ['highp_5fmat2x4',['highp_mat2x4',['../a00284.html#ga61f36a81f2ed1b5f9fc8bc3b26faec8f',1,'glm']]], ['highp_5fmat3',['highp_mat3',['../a00284.html#ga3fd9849f3da5ed6e3decc3fb10a20b3e',1,'glm']]], ['highp_5fmat3x2',['highp_mat3x2',['../a00284.html#ga1eda47a00027ec440eac05d63739c71b',1,'glm']]], ['highp_5fmat3x3',['highp_mat3x3',['../a00284.html#ga2ea82e12f4d7afcfce8f59894d400230',1,'glm']]], ['highp_5fmat3x4',['highp_mat3x4',['../a00284.html#ga6454b3a26ea30f69de8e44c08a63d1b7',1,'glm']]], ['highp_5fmat4',['highp_mat4',['../a00284.html#gad72e13d669d039f12ae5afa23148adc1',1,'glm']]], ['highp_5fmat4x2',['highp_mat4x2',['../a00284.html#gab68b66e6d2c37b804d0baf970fa4f0e5',1,'glm']]], ['highp_5fmat4x3',['highp_mat4x3',['../a00284.html#ga8d5a4e65fb976e4553b84995b95ecb38',1,'glm']]], ['highp_5fmat4x4',['highp_mat4x4',['../a00284.html#ga58cc504be0e3b61c48bc91554a767b9f',1,'glm']]], ['highp_5fquat',['highp_quat',['../a00253.html#gaa2fd8085774376310aeb80588e0eab6e',1,'glm']]], ['highp_5fu16',['highp_u16',['../a00304.html#ga8e62c883d13f47015f3b70ed88751369',1,'glm']]], ['highp_5fu16vec1',['highp_u16vec1',['../a00304.html#gad064202b4cf9a2972475c03de657cb39',1,'glm']]], ['highp_5fu16vec2',['highp_u16vec2',['../a00304.html#ga791b15ceb3f1e09d1a0ec6f3057ca159',1,'glm']]], ['highp_5fu16vec3',['highp_u16vec3',['../a00304.html#gacfd806749008f0ade6ac4bb9dd91082f',1,'glm']]], ['highp_5fu16vec4',['highp_u16vec4',['../a00304.html#ga8a85a3d54a8a9e14fe7a1f96196c4f61',1,'glm']]], ['highp_5fu32',['highp_u32',['../a00304.html#ga7a6f1929464dcc680b16381a4ee5f2cf',1,'glm']]], ['highp_5fu32vec1',['highp_u32vec1',['../a00304.html#ga0e35a565b9036bfc3989f5e23a0792e3',1,'glm']]], ['highp_5fu32vec2',['highp_u32vec2',['../a00304.html#ga2f256334f83fba4c2d219e414b51df6c',1,'glm']]], ['highp_5fu32vec3',['highp_u32vec3',['../a00304.html#gaf14d7a50502464e7cbfa074f24684cb1',1,'glm']]], ['highp_5fu32vec4',['highp_u32vec4',['../a00304.html#ga22166f0da65038b447f3c5e534fff1c2',1,'glm']]], ['highp_5fu64',['highp_u64',['../a00304.html#ga0c181fdf06a309691999926b6690c969',1,'glm']]], ['highp_5fu64vec1',['highp_u64vec1',['../a00304.html#gae4fe774744852c4d7d069be2e05257ab',1,'glm']]], ['highp_5fu64vec2',['highp_u64vec2',['../a00304.html#ga78f77b8b2d17b431ac5a68c0b5d7050d',1,'glm']]], ['highp_5fu64vec3',['highp_u64vec3',['../a00304.html#ga41bdabea6e589029659331ba47eb78c1',1,'glm']]], ['highp_5fu64vec4',['highp_u64vec4',['../a00304.html#ga4f15b41aa24b11cc42ad5798c04a2325',1,'glm']]], ['highp_5fu8',['highp_u8',['../a00304.html#gacd1259f3a9e8d2a9df5be2d74322ef9c',1,'glm']]], ['highp_5fu8vec1',['highp_u8vec1',['../a00304.html#ga8408cb76b6550ff01fa0a3024e7b68d2',1,'glm']]], ['highp_5fu8vec2',['highp_u8vec2',['../a00304.html#ga27585b7c3ab300059f11fcba465f6fd2',1,'glm']]], ['highp_5fu8vec3',['highp_u8vec3',['../a00304.html#ga45721c13b956eb691cbd6c6c1429167a',1,'glm']]], ['highp_5fu8vec4',['highp_u8vec4',['../a00304.html#gae0b75ad0fed8c00ddc0b5ce335d31060',1,'glm']]], ['highp_5fuint16',['highp_uint16',['../a00304.html#ga746dc6da204f5622e395f492997dbf57',1,'glm']]], ['highp_5fuint16_5ft',['highp_uint16_t',['../a00304.html#gacf54c3330ef60aa3d16cb676c7bcb8c7',1,'glm']]], ['highp_5fuint32',['highp_uint32',['../a00304.html#ga256b12b650c3f2fb86878fd1c5db8bc3',1,'glm']]], ['highp_5fuint32_5ft',['highp_uint32_t',['../a00304.html#gae978599c9711ac263ba732d4ac225b0e',1,'glm']]], ['highp_5fuint64',['highp_uint64',['../a00304.html#gaa38d732f5d4a7bc42a1b43b9d3c141ce',1,'glm']]], ['highp_5fuint64_5ft',['highp_uint64_t',['../a00304.html#gaa46172d7dc1c7ffe3e78107ff88adf08',1,'glm']]], ['highp_5fuint8',['highp_uint8',['../a00304.html#ga97432f9979e73e66567361fd01e4cffb',1,'glm']]], ['highp_5fuint8_5ft',['highp_uint8_t',['../a00304.html#gac4e00a26a2adb5f2c0a7096810df29e5',1,'glm']]], ['highp_5fumat2',['highp_umat2',['../a00294.html#ga42cbce64c4c1cd121b8437daa6e110de',1,'glm']]], ['highp_5fumat2x2',['highp_umat2x2',['../a00294.html#ga5337b7bc95f9cbac08a0c00b3f936b28',1,'glm']]], ['highp_5fumat2x3',['highp_umat2x3',['../a00294.html#ga90718c7128320b24b52f9ea70e643ad4',1,'glm']]], ['highp_5fumat2x4',['highp_umat2x4',['../a00294.html#gadca0a4724b4a6f56a2355b6f6e19248b',1,'glm']]], ['highp_5fumat3',['highp_umat3',['../a00294.html#gaa1143120339b7d2d469d327662e8a172',1,'glm']]], ['highp_5fumat3x2',['highp_umat3x2',['../a00294.html#ga844a5da2e7fc03fc7cccc7f1b70809c4',1,'glm']]], ['highp_5fumat3x3',['highp_umat3x3',['../a00294.html#ga1f7d41c36b980774a4d2e7c1647fb4b2',1,'glm']]], ['highp_5fumat3x4',['highp_umat3x4',['../a00294.html#ga25ee15c323924f2d0fe9896d329e5086',1,'glm']]], ['highp_5fumat4',['highp_umat4',['../a00294.html#gaf665e4e78c2cc32a54ab40325738f9c9',1,'glm']]], ['highp_5fumat4x2',['highp_umat4x2',['../a00294.html#gae69eb82ec08b0dc9bf2ead2a339ff801',1,'glm']]], ['highp_5fumat4x3',['highp_umat4x3',['../a00294.html#ga45a8163d02c43216252056b0c120f3a5',1,'glm']]], ['highp_5fumat4x4',['highp_umat4x4',['../a00294.html#ga6a56cbb769aed334c95241664415f9ba',1,'glm']]], ['highp_5fuvec1',['highp_uvec1',['../a00277.html#gacda57dd8c2bff4934c7f09ddd87c0f39',1,'glm']]], ['highp_5fuvec2',['highp_uvec2',['../a00282.html#gad5dd50da9e37387ca6b4e6f9c80fe6f8',1,'glm']]], ['highp_5fuvec3',['highp_uvec3',['../a00282.html#gaef61508dd40ec523416697982f9ceaae',1,'glm']]], ['highp_5fuvec4',['highp_uvec4',['../a00282.html#gaeebd7dd9f3e678691f8620241e5f9221',1,'glm']]], ['highp_5fvec1',['highp_vec1',['../a00271.html#ga9e8ed21862a897c156c0b2abca70b1e9',1,'glm']]], ['highp_5fvec2',['highp_vec2',['../a00282.html#gaa92c1954d71b1e7914874bd787b43d1c',1,'glm']]], ['highp_5fvec3',['highp_vec3',['../a00282.html#gaca61dfaccbf2f58f2d8063a4e76b44a9',1,'glm']]], ['highp_5fvec4',['highp_vec4',['../a00282.html#gad281decae52948b82feb3a9db8f63a7b',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/typedefs_5.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/typedefs_5.js ================================================ var searchData= [ ['i16',['i16',['../a00304.html#ga3ab5fe184343d394fb6c2723c3ee3699',1,'glm']]], ['i16vec1',['i16vec1',['../a00304.html#gafe730798732aa7b0647096a004db1b1c',1,'glm']]], ['i16vec2',['i16vec2',['../a00304.html#ga2996630ba7b10535af8e065cf326f761',1,'glm']]], ['i16vec3',['i16vec3',['../a00304.html#gae9c90a867a6026b1f6eab00456f3fb8b',1,'glm']]], ['i16vec4',['i16vec4',['../a00304.html#ga550831bfc26d1e0101c1cb3d79938c06',1,'glm']]], ['i32',['i32',['../a00304.html#ga96faea43ac5f875d2d3ffbf8d213e3eb',1,'glm']]], ['i32vec1',['i32vec1',['../a00304.html#ga54b8a4e0f5a7203a821bf8e9c1265bcf',1,'glm']]], ['i32vec2',['i32vec2',['../a00304.html#ga8b44026374982dcd1e52d22bac99247e',1,'glm']]], ['i32vec3',['i32vec3',['../a00304.html#ga7f526b5cccef126a2ebcf9bdd890394e',1,'glm']]], ['i32vec4',['i32vec4',['../a00304.html#ga866a05905c49912309ed1fa5f5980e61',1,'glm']]], ['i64',['i64',['../a00304.html#gadb997e409103d4da18abd837e636a496',1,'glm']]], ['i64vec1',['i64vec1',['../a00304.html#ga2b65767f8b5aed1bd1cf86c541662b50',1,'glm']]], ['i64vec2',['i64vec2',['../a00304.html#ga48310188e1d0c616bf8d78c92447523b',1,'glm']]], ['i64vec3',['i64vec3',['../a00304.html#ga667948cfe6fb3d6606c750729ec49f77',1,'glm']]], ['i64vec4',['i64vec4',['../a00304.html#gaa4e31c3d9de067029efeb161a44b0232',1,'glm']]], ['i8',['i8',['../a00304.html#ga302ec977b0c0c3ea245b6c9275495355',1,'glm']]], ['i8vec1',['i8vec1',['../a00304.html#ga7e80d927ff0a3861ced68dfff8a4020b',1,'glm']]], ['i8vec2',['i8vec2',['../a00304.html#gad06935764d78f43f9d542c784c2212ec',1,'glm']]], ['i8vec3',['i8vec3',['../a00304.html#ga5a08d36cf7917cd19d081a603d0eae3e',1,'glm']]], ['i8vec4',['i8vec4',['../a00304.html#ga4177a44206121dabc8c4ff1c0f544574',1,'glm']]], ['imat2',['imat2',['../a00294.html#gaabe04f9948d4a213bb1c20137de03e01',1,'glm']]], ['imat2x2',['imat2x2',['../a00294.html#gaa4732a240522ad9bc28144fda2fc14ec',1,'glm']]], ['imat2x3',['imat2x3',['../a00294.html#ga3f42dd3d5d94a0fd5706f7ec8dd0c605',1,'glm']]], ['imat2x4',['imat2x4',['../a00294.html#ga9d8faafdca42583d67e792dd038fc668',1,'glm']]], ['imat3',['imat3',['../a00294.html#ga038f68437155ffa3c2583a15264a8195',1,'glm']]], ['imat3x2',['imat3x2',['../a00294.html#ga7b33bbe4f12c060892bd3cc8d4cd737f',1,'glm']]], ['imat3x3',['imat3x3',['../a00294.html#ga6aacc960f62e8f7d2fe9d32d5050e7a4',1,'glm']]], ['imat3x4',['imat3x4',['../a00294.html#ga6e9ce23496d8b08dfc302d4039694b58',1,'glm']]], ['imat4',['imat4',['../a00294.html#ga96b0d26a33b81bb6a60ca0f39682f7eb',1,'glm']]], ['imat4x2',['imat4x2',['../a00294.html#ga8ce7ef51d8b2c1901fa5414deccbc3fa',1,'glm']]], ['imat4x3',['imat4x3',['../a00294.html#ga705ee0bf49d6c3de4404ce2481bf0df5',1,'glm']]], ['imat4x4',['imat4x4',['../a00294.html#ga43ed5e4f475b6f4cad7cba78f29c405b',1,'glm']]], ['int1',['int1',['../a00315.html#ga0670a2111b5e4a6410bd027fa0232fc3',1,'glm']]], ['int16',['int16',['../a00260.html#ga259fa4834387bd68627ddf37bb3ebdb9',1,'glm']]], ['int16_5ft',['int16_t',['../a00304.html#gae8f5e3e964ca2ae240adc2c0d74adede',1,'glm']]], ['int1x1',['int1x1',['../a00315.html#ga056ffe02d3a45af626f8e62221881c7a',1,'glm']]], ['int2',['int2',['../a00315.html#gafe3a8fd56354caafe24bfe1b1e3ad22a',1,'glm']]], ['int2x2',['int2x2',['../a00315.html#ga4e5ce477c15836b21e3c42daac68554d',1,'glm']]], ['int2x3',['int2x3',['../a00315.html#ga197ded5ad8354f6b6fb91189d7a269b3',1,'glm']]], ['int2x4',['int2x4',['../a00315.html#ga2749d59a7fddbac44f34ba78e57ef807',1,'glm']]], ['int3',['int3',['../a00315.html#ga909c38a425f215a50c847145d7da09f0',1,'glm']]], ['int32',['int32',['../a00260.html#ga43d43196463bde49cb067f5c20ab8481',1,'glm']]], ['int32_5ft',['int32_t',['../a00304.html#ga042ef09ff2f0cb24a36f541bcb3a3710',1,'glm']]], ['int3x2',['int3x2',['../a00315.html#gaa4cbe16a92cf3664376c7a2fc5126aa8',1,'glm']]], ['int3x3',['int3x3',['../a00315.html#ga15c9649286f0bf431bdf9b3509580048',1,'glm']]], ['int3x4',['int3x4',['../a00315.html#gaacac46ddc7d15d0f9529d05c92946a0f',1,'glm']]], ['int4',['int4',['../a00315.html#gaecdef18c819c205aeee9f94dc93de56a',1,'glm']]], ['int4x2',['int4x2',['../a00315.html#ga97a39dd9bc7d572810d80b8467cbffa1',1,'glm']]], ['int4x3',['int4x3',['../a00315.html#gae4a2c53f14aeec9a17c2b81142b7e82d',1,'glm']]], ['int4x4',['int4x4',['../a00315.html#ga04dee1552424198b8f58b377c2ee00d8',1,'glm']]], ['int64',['int64',['../a00260.html#gaff5189f97f9e842d9636a0f240001b2e',1,'glm']]], ['int64_5ft',['int64_t',['../a00304.html#ga322a7d7d2c2c68994dc872a33de63c61',1,'glm']]], ['int8',['int8',['../a00260.html#ga1b956fe1df85f3c132b21edb4e116458',1,'glm']]], ['int8_5ft',['int8_t',['../a00304.html#ga4bf09d8838a86866b39ee6e109341645',1,'glm']]], ['ivec1',['ivec1',['../a00272.html#gaedd0562c2e77714929d7723a7e2e0dba',1,'glm']]], ['ivec2',['ivec2',['../a00281.html#ga6f9269106d91b2d2b91bcf27cd5f5560',1,'glm']]], ['ivec3',['ivec3',['../a00281.html#gad0d784d8eee201aca362484d2daee46c',1,'glm']]], ['ivec4',['ivec4',['../a00281.html#ga5abb4603dae0ce58c595e66d9123d812',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/typedefs_6.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/typedefs_6.js ================================================ var searchData= [ ['lowp_5fbvec1',['lowp_bvec1',['../a00266.html#ga24a3d364e2ddd444f5b9e7975bbef8f9',1,'glm']]], ['lowp_5fbvec2',['lowp_bvec2',['../a00282.html#ga5a5452140650988b94d5716e4d872465',1,'glm']]], ['lowp_5fbvec3',['lowp_bvec3',['../a00282.html#ga79e0922a977662a8fd39d7829be3908b',1,'glm']]], ['lowp_5fbvec4',['lowp_bvec4',['../a00282.html#ga15ac87724048ab7169bb5d3572939dd3',1,'glm']]], ['lowp_5fddualquat',['lowp_ddualquat',['../a00317.html#gab4c5103338af3dac7e0fbc86895a3f1a',1,'glm']]], ['lowp_5fdmat2',['lowp_dmat2',['../a00284.html#gad8e2727a6e7aa68280245bb0022118e1',1,'glm']]], ['lowp_5fdmat2x2',['lowp_dmat2x2',['../a00284.html#gac61b94f5d9775f83f321bac899322fe2',1,'glm']]], ['lowp_5fdmat2x3',['lowp_dmat2x3',['../a00284.html#gaf6bf2f5bde7ad5b9c289f777b93094af',1,'glm']]], ['lowp_5fdmat2x4',['lowp_dmat2x4',['../a00284.html#ga97507a31ecee8609887d0f23bbde92c7',1,'glm']]], ['lowp_5fdmat3',['lowp_dmat3',['../a00284.html#ga0cab80beee64a5f8d2ae4e823983063a',1,'glm']]], ['lowp_5fdmat3x2',['lowp_dmat3x2',['../a00284.html#ga1e0ea3fba496bc7c6f620d2590acb66b',1,'glm']]], ['lowp_5fdmat3x3',['lowp_dmat3x3',['../a00284.html#gac017848a9df570f60916a21a297b1e8e',1,'glm']]], ['lowp_5fdmat3x4',['lowp_dmat3x4',['../a00284.html#ga93add35d2a44c5830978b827e8c295e8',1,'glm']]], ['lowp_5fdmat4',['lowp_dmat4',['../a00284.html#ga708bc5b91bbfedd21debac8dcf2a64cd',1,'glm']]], ['lowp_5fdmat4x2',['lowp_dmat4x2',['../a00284.html#ga382dc5295cead78766239a8457abfa98',1,'glm']]], ['lowp_5fdmat4x3',['lowp_dmat4x3',['../a00284.html#ga3d7ea07da7c6e5c81a3f4c8b3d44056e',1,'glm']]], ['lowp_5fdmat4x4',['lowp_dmat4x4',['../a00284.html#ga5b0413198b7e9f061f7534a221c9dac9',1,'glm']]], ['lowp_5fdquat',['lowp_dquat',['../a00250.html#ga9e6e5f42e67dd5877350ba485c191f1c',1,'glm']]], ['lowp_5fdualquat',['lowp_dualquat',['../a00317.html#gade05d29ebd4deea0f883d0e1bb4169aa',1,'glm']]], ['lowp_5fdvec1',['lowp_dvec1',['../a00269.html#gaf906eb86b6e96c35138d0e4928e1435a',1,'glm']]], ['lowp_5fdvec2',['lowp_dvec2',['../a00282.html#ga108086730d086b7f6f7a033955dfb9c3',1,'glm']]], ['lowp_5fdvec3',['lowp_dvec3',['../a00282.html#ga42c518b2917e19ce6946a84c64a3a4b2',1,'glm']]], ['lowp_5fdvec4',['lowp_dvec4',['../a00282.html#ga0b4432cb8d910e406576d10d802e190d',1,'glm']]], ['lowp_5ff32',['lowp_f32',['../a00304.html#gaeea53879fc327293cf3352a409b7867b',1,'glm']]], ['lowp_5ff32mat2',['lowp_f32mat2',['../a00304.html#ga52409bc6d4a2ce3421526c069220d685',1,'glm']]], ['lowp_5ff32mat2x2',['lowp_f32mat2x2',['../a00304.html#ga1d091b6abfba1772450e1745a06525bc',1,'glm']]], ['lowp_5ff32mat2x3',['lowp_f32mat2x3',['../a00304.html#ga961ccb34cd1a5654c772c8709e001dc5',1,'glm']]], ['lowp_5ff32mat2x4',['lowp_f32mat2x4',['../a00304.html#gacc6bf0209dda0c7c14851a646071c974',1,'glm']]], ['lowp_5ff32mat3',['lowp_f32mat3',['../a00304.html#ga4187f89f196505b40e63f516139511e5',1,'glm']]], ['lowp_5ff32mat3x2',['lowp_f32mat3x2',['../a00304.html#gac53f9d7ab04eace67adad026092fb1e8',1,'glm']]], ['lowp_5ff32mat3x3',['lowp_f32mat3x3',['../a00304.html#ga841211b641cff1fcf861bdb14e5e4abc',1,'glm']]], ['lowp_5ff32mat3x4',['lowp_f32mat3x4',['../a00304.html#ga21b1b22dec013a72656e3644baf8a1e1',1,'glm']]], ['lowp_5ff32mat4',['lowp_f32mat4',['../a00304.html#ga766aed2871e6173a81011a877f398f04',1,'glm']]], ['lowp_5ff32mat4x2',['lowp_f32mat4x2',['../a00304.html#gae6f3fcb702a666de07650c149cfa845a',1,'glm']]], ['lowp_5ff32mat4x3',['lowp_f32mat4x3',['../a00304.html#gac21eda58a1475449a5709b412ebd776c',1,'glm']]], ['lowp_5ff32mat4x4',['lowp_f32mat4x4',['../a00304.html#ga4143d129898f91545948c46859adce44',1,'glm']]], ['lowp_5ff32quat',['lowp_f32quat',['../a00304.html#gaa3ba60ef8f69c6aeb1629594eaa95347',1,'glm']]], ['lowp_5ff32vec1',['lowp_f32vec1',['../a00304.html#ga43e5b41c834fcaf4db5a831c0e28128e',1,'glm']]], ['lowp_5ff32vec2',['lowp_f32vec2',['../a00304.html#gaf3b694b2b8ded7e0b9f07b061917e1a0',1,'glm']]], ['lowp_5ff32vec3',['lowp_f32vec3',['../a00304.html#gaf739a2cd7b81783a43148b53e40d983b',1,'glm']]], ['lowp_5ff32vec4',['lowp_f32vec4',['../a00304.html#ga4e2e1debe022074ab224c9faf856d374',1,'glm']]], ['lowp_5ff64',['lowp_f64',['../a00304.html#gabc7a97c07cbfac8e35eb5e63beb4b679',1,'glm']]], ['lowp_5ff64mat2',['lowp_f64mat2',['../a00304.html#gafc730f6b4242763b0eda0ffa25150292',1,'glm']]], ['lowp_5ff64mat2x2',['lowp_f64mat2x2',['../a00304.html#ga771fda9109933db34f808d92b9b84d7e',1,'glm']]], ['lowp_5ff64mat2x3',['lowp_f64mat2x3',['../a00304.html#ga39e90adcffe33264bd608fa9c6bd184b',1,'glm']]], ['lowp_5ff64mat2x4',['lowp_f64mat2x4',['../a00304.html#ga50265a202fbfe0a25fc70066c31d9336',1,'glm']]], ['lowp_5ff64mat3',['lowp_f64mat3',['../a00304.html#ga58119a41d143ebaea0df70fe882e8a40',1,'glm']]], ['lowp_5ff64mat3x2',['lowp_f64mat3x2',['../a00304.html#gab0eb2d65514ee3e49905aa2caad8c0ad',1,'glm']]], ['lowp_5ff64mat3x3',['lowp_f64mat3x3',['../a00304.html#gac8f8a12ee03105ef8861dc652434e3b7',1,'glm']]], ['lowp_5ff64mat3x4',['lowp_f64mat3x4',['../a00304.html#gade8d1edfb23996ab6c622e65e3893271',1,'glm']]], ['lowp_5ff64mat4',['lowp_f64mat4',['../a00304.html#ga7451266e67794bd1125163502bc4a570',1,'glm']]], ['lowp_5ff64mat4x2',['lowp_f64mat4x2',['../a00304.html#gab0cecb80fd106bc369b9e46a165815ce',1,'glm']]], ['lowp_5ff64mat4x3',['lowp_f64mat4x3',['../a00304.html#gae731613b25db3a5ef5a05d21e57a57d3',1,'glm']]], ['lowp_5ff64mat4x4',['lowp_f64mat4x4',['../a00304.html#ga8c9cd734e03cd49674f3e287aa4a6f95',1,'glm']]], ['lowp_5ff64quat',['lowp_f64quat',['../a00304.html#gaa3ee2bc4af03cc06578b66b3e3f878ae',1,'glm']]], ['lowp_5ff64vec1',['lowp_f64vec1',['../a00304.html#gaf2d02c5f4d59135b9bc524fe317fd26b',1,'glm']]], ['lowp_5ff64vec2',['lowp_f64vec2',['../a00304.html#ga4e641a54d70c81eabf56c25c966d04bd',1,'glm']]], ['lowp_5ff64vec3',['lowp_f64vec3',['../a00304.html#gae7a4711107b7d078fc5f03ce2227b90b',1,'glm']]], ['lowp_5ff64vec4',['lowp_f64vec4',['../a00304.html#gaa666bb9e6d204d3bea0b3a39a3a335f4',1,'glm']]], ['lowp_5ffdualquat',['lowp_fdualquat',['../a00317.html#gaa38f671be25a7f3b136a452a8bb42860',1,'glm']]], ['lowp_5ffloat32',['lowp_float32',['../a00304.html#ga41b0d390bd8cc827323b1b3816ff4bf8',1,'glm']]], ['lowp_5ffloat32_5ft',['lowp_float32_t',['../a00304.html#gaea881cae4ddc6c0fbf7cc5b08177ca5b',1,'glm']]], ['lowp_5ffloat64',['lowp_float64',['../a00304.html#ga3714dab2c16a6545a405cb0c3b3aaa6f',1,'glm']]], ['lowp_5ffloat64_5ft',['lowp_float64_t',['../a00304.html#ga7286a37076a09da140df18bfa75d4e38',1,'glm']]], ['lowp_5ffmat2',['lowp_fmat2',['../a00304.html#ga5bba0ce31210e274f73efacd3364c03f',1,'glm']]], ['lowp_5ffmat2x2',['lowp_fmat2x2',['../a00304.html#gab0feb11edd0d3ab3e8ed996d349a5066',1,'glm']]], ['lowp_5ffmat2x3',['lowp_fmat2x3',['../a00304.html#ga71cdb53801ed4c3aadb3603c04723210',1,'glm']]], ['lowp_5ffmat2x4',['lowp_fmat2x4',['../a00304.html#gaab217601c74974a84acbca428123ecf7',1,'glm']]], ['lowp_5ffmat3',['lowp_fmat3',['../a00304.html#ga83079315e230e8f39728f4bf0d2f9a9b',1,'glm']]], ['lowp_5ffmat3x2',['lowp_fmat3x2',['../a00304.html#ga49b98e7d71804af45d86886a489e633c',1,'glm']]], ['lowp_5ffmat3x3',['lowp_fmat3x3',['../a00304.html#gaba56275dd04a7a61560b0e8fa5d365b4',1,'glm']]], ['lowp_5ffmat3x4',['lowp_fmat3x4',['../a00304.html#ga28733aec7288191b314d42154fd0b690',1,'glm']]], ['lowp_5ffmat4',['lowp_fmat4',['../a00304.html#ga5803cb9ae26399762d8bba9e0b2fc09f',1,'glm']]], ['lowp_5ffmat4x2',['lowp_fmat4x2',['../a00304.html#ga5868c2dcce41cc3ea5edcaeae239f62c',1,'glm']]], ['lowp_5ffmat4x3',['lowp_fmat4x3',['../a00304.html#ga5e649bbdb135fbcb4bfe950f4c73a444',1,'glm']]], ['lowp_5ffmat4x4',['lowp_fmat4x4',['../a00304.html#gac2f5263708ac847b361a9841e74ddf9f',1,'glm']]], ['lowp_5ffvec1',['lowp_fvec1',['../a00304.html#ga346b2336fff168a7e0df1583aae3e5a5',1,'glm']]], ['lowp_5ffvec2',['lowp_fvec2',['../a00304.html#ga62a32c31f4e2e8ca859663b6e3289a2d',1,'glm']]], ['lowp_5ffvec3',['lowp_fvec3',['../a00304.html#ga40b5c557efebb5bb99d6b9aa81095afa',1,'glm']]], ['lowp_5ffvec4',['lowp_fvec4',['../a00304.html#ga755484ffbe39ae3db2875953ed04e7b7',1,'glm']]], ['lowp_5fi16',['lowp_i16',['../a00304.html#ga392b673fd10847bfb78fb808c6cf8ff7',1,'glm']]], ['lowp_5fi16vec1',['lowp_i16vec1',['../a00304.html#ga501a2f313f1c220eef4ab02bdabdc3c6',1,'glm']]], ['lowp_5fi16vec2',['lowp_i16vec2',['../a00304.html#ga7cac84b520a6b57f2fbd880d3d63c51b',1,'glm']]], ['lowp_5fi16vec3',['lowp_i16vec3',['../a00304.html#gab69ef9cbc2a9214bf5596c528c801b72',1,'glm']]], ['lowp_5fi16vec4',['lowp_i16vec4',['../a00304.html#ga1d47d94d17c2406abdd1f087a816e387',1,'glm']]], ['lowp_5fi32',['lowp_i32',['../a00304.html#ga7ff73a45cea9613ebf1a9fad0b9f82ac',1,'glm']]], ['lowp_5fi32vec1',['lowp_i32vec1',['../a00304.html#gae31ac3608cf643ceffd6554874bec4a0',1,'glm']]], ['lowp_5fi32vec2',['lowp_i32vec2',['../a00304.html#ga867a3c2d99ab369a454167d2c0a24dbd',1,'glm']]], ['lowp_5fi32vec3',['lowp_i32vec3',['../a00304.html#ga5fe17c87ede1b1b4d92454cff4da076d',1,'glm']]], ['lowp_5fi32vec4',['lowp_i32vec4',['../a00304.html#gac9b2eb4296ffe50a32eacca9ed932c08',1,'glm']]], ['lowp_5fi64',['lowp_i64',['../a00304.html#ga354736e0c645099cd44c42fb2f87c2b8',1,'glm']]], ['lowp_5fi64vec1',['lowp_i64vec1',['../a00304.html#gab0f7d875db5f3cc9f3168c5a0ed56437',1,'glm']]], ['lowp_5fi64vec2',['lowp_i64vec2',['../a00304.html#gab485c48f06a4fdd6b8d58d343bb49f3c',1,'glm']]], ['lowp_5fi64vec3',['lowp_i64vec3',['../a00304.html#ga5cb1dc9e8d300c2cdb0d7ff2308fa36c',1,'glm']]], ['lowp_5fi64vec4',['lowp_i64vec4',['../a00304.html#gabb4229a4c1488bf063eed0c45355bb9c',1,'glm']]], ['lowp_5fi8',['lowp_i8',['../a00304.html#ga552a6bde5e75984efb0f863278da2e54',1,'glm']]], ['lowp_5fi8vec1',['lowp_i8vec1',['../a00304.html#ga036d6c7ca9fbbdc5f3871bfcb937c85c',1,'glm']]], ['lowp_5fi8vec2',['lowp_i8vec2',['../a00304.html#gac03e5099d27eeaa74b6016ea435a1df2',1,'glm']]], ['lowp_5fi8vec3',['lowp_i8vec3',['../a00304.html#gae2f43ace6b5b33ab49516d9e40af1845',1,'glm']]], ['lowp_5fi8vec4',['lowp_i8vec4',['../a00304.html#ga6d388e9b9aa1b389f0672d9c7dfc61c5',1,'glm']]], ['lowp_5fimat2',['lowp_imat2',['../a00294.html#gaa0bff0be804142bb16d441aec0a7962e',1,'glm']]], ['lowp_5fimat2x2',['lowp_imat2x2',['../a00294.html#ga92b95b679975d408645547ab45a8dcd8',1,'glm']]], ['lowp_5fimat2x3',['lowp_imat2x3',['../a00294.html#ga8c9e7a388f8e7c52f1e6857dee8afb65',1,'glm']]], ['lowp_5fimat2x4',['lowp_imat2x4',['../a00294.html#ga9cc13bd1f8dd2933e9fa31fe3f70e16e',1,'glm']]], ['lowp_5fimat3',['lowp_imat3',['../a00294.html#ga69bfe668f4170379fc1f35d82b060c43',1,'glm']]], ['lowp_5fimat3x2',['lowp_imat3x2',['../a00294.html#ga33db8f27491d30906cd37c0d86b3f432',1,'glm']]], ['lowp_5fimat3x3',['lowp_imat3x3',['../a00294.html#ga664f061df00020048c3f8530329ace45',1,'glm']]], ['lowp_5fimat3x4',['lowp_imat3x4',['../a00294.html#ga9273faab33623d944af4080befbb2c80',1,'glm']]], ['lowp_5fimat4',['lowp_imat4',['../a00294.html#gad1e77f7270cad461ca4fcb4c3ec2e98c',1,'glm']]], ['lowp_5fimat4x2',['lowp_imat4x2',['../a00294.html#ga26ec1a2ba08a1488f5f05336858a0f09',1,'glm']]], ['lowp_5fimat4x3',['lowp_imat4x3',['../a00294.html#ga8f40483a3ae634ead8ad22272c543a33',1,'glm']]], ['lowp_5fimat4x4',['lowp_imat4x4',['../a00294.html#gaf65677e53ac8e31a107399340d5e2451',1,'glm']]], ['lowp_5fint16',['lowp_int16',['../a00304.html#ga698e36b01167fc0f037889334dce8def',1,'glm']]], ['lowp_5fint16_5ft',['lowp_int16_t',['../a00304.html#ga8b2cd8d31eb345b2d641d9261c38db1a',1,'glm']]], ['lowp_5fint32',['lowp_int32',['../a00304.html#ga864aabca5f3296e176e0c3ed9cc16b02',1,'glm']]], ['lowp_5fint32_5ft',['lowp_int32_t',['../a00304.html#ga0350631d35ff800e6133ac6243b13cbc',1,'glm']]], ['lowp_5fint64',['lowp_int64',['../a00304.html#gaf645b1a60203b39c0207baff5e3d8c3c',1,'glm']]], ['lowp_5fint64_5ft',['lowp_int64_t',['../a00304.html#gaebf341fc4a5be233f7dde962c2e33847',1,'glm']]], ['lowp_5fint8',['lowp_int8',['../a00304.html#ga760bcf26fdb23a2c3ecad3c928a19ae6',1,'glm']]], ['lowp_5fint8_5ft',['lowp_int8_t',['../a00304.html#ga119c41d73fe9977358174eb3ac1035a3',1,'glm']]], ['lowp_5fivec1',['lowp_ivec1',['../a00273.html#ga836dbb1dc516c233b7f5fe9763bc15dc',1,'glm']]], ['lowp_5fivec2',['lowp_ivec2',['../a00282.html#ga8433c6c1fdd80c0a83941d94aff73fa0',1,'glm']]], ['lowp_5fivec3',['lowp_ivec3',['../a00282.html#gac1a86a75b3c68ebb704d7094043669d6',1,'glm']]], ['lowp_5fivec4',['lowp_ivec4',['../a00282.html#ga27fc23da61859cd6356326c5f1c796de',1,'glm']]], ['lowp_5fmat2',['lowp_mat2',['../a00284.html#gae400c4ce1f5f3e1fa12861b2baed331a',1,'glm']]], ['lowp_5fmat2x2',['lowp_mat2x2',['../a00284.html#ga2df7cdaf9a571ce7a1b09435f502c694',1,'glm']]], ['lowp_5fmat2x3',['lowp_mat2x3',['../a00284.html#ga3eee3a74d0f1de8635d846dfb29ec4bb',1,'glm']]], ['lowp_5fmat2x4',['lowp_mat2x4',['../a00284.html#gade27f8324a16626cbce5d3e7da66b070',1,'glm']]], ['lowp_5fmat3',['lowp_mat3',['../a00284.html#ga6271ebc85ed778ccc15458c3d86fc854',1,'glm']]], ['lowp_5fmat3x2',['lowp_mat3x2',['../a00284.html#gaabf6cf90fd31efe25c94965507e98390',1,'glm']]], ['lowp_5fmat3x3',['lowp_mat3x3',['../a00284.html#ga63362cb4a63fc1be7d2e49cd5d574c84',1,'glm']]], ['lowp_5fmat3x4',['lowp_mat3x4',['../a00284.html#gac5fc6786688eff02904ca5e7d6960092',1,'glm']]], ['lowp_5fmat4',['lowp_mat4',['../a00284.html#ga2dedee030500865267cd5851c00c139d',1,'glm']]], ['lowp_5fmat4x2',['lowp_mat4x2',['../a00284.html#gafa3cdb8f24d09d761ec9ae2a4c7e5e21',1,'glm']]], ['lowp_5fmat4x3',['lowp_mat4x3',['../a00284.html#ga534c3ef5c3b8fdd8656b6afc205b4b77',1,'glm']]], ['lowp_5fmat4x4',['lowp_mat4x4',['../a00284.html#ga686468a9a815bd4db8cddae42a6d6b87',1,'glm']]], ['lowp_5fquat',['lowp_quat',['../a00253.html#gade62c5316c1c11a79c34c00c189558eb',1,'glm']]], ['lowp_5fu16',['lowp_u16',['../a00304.html#ga504ce1631cb2ac02fcf1d44d8c2aa126',1,'glm']]], ['lowp_5fu16vec1',['lowp_u16vec1',['../a00304.html#gaa6aab4ee7189b86716f5d7015d43021d',1,'glm']]], ['lowp_5fu16vec2',['lowp_u16vec2',['../a00304.html#ga2a7d997da9ac29cb931e35bd399f58df',1,'glm']]], ['lowp_5fu16vec3',['lowp_u16vec3',['../a00304.html#gac0253db6c3d3bae1f591676307a9dd8c',1,'glm']]], ['lowp_5fu16vec4',['lowp_u16vec4',['../a00304.html#gaa7f00459b9a2e5b2757e70afc0c189e1',1,'glm']]], ['lowp_5fu32',['lowp_u32',['../a00304.html#ga4f072ada9552e1e480bbb3b1acde5250',1,'glm']]], ['lowp_5fu32vec1',['lowp_u32vec1',['../a00304.html#gabed3be8dfdc4a0df4bf3271dbd7344c4',1,'glm']]], ['lowp_5fu32vec2',['lowp_u32vec2',['../a00304.html#gaf7e286e81347011e257ee779524e73b9',1,'glm']]], ['lowp_5fu32vec3',['lowp_u32vec3',['../a00304.html#gad3ad390560a671b1f676fbf03cd3aa15',1,'glm']]], ['lowp_5fu32vec4',['lowp_u32vec4',['../a00304.html#ga4502885718742aa238c36a312c3f3f20',1,'glm']]], ['lowp_5fu64',['lowp_u64',['../a00304.html#ga30069d1f02b19599cbfadf98c23ac6ed',1,'glm']]], ['lowp_5fu64vec1',['lowp_u64vec1',['../a00304.html#ga859be7b9d3a3765c1cafc14dbcf249a6',1,'glm']]], ['lowp_5fu64vec2',['lowp_u64vec2',['../a00304.html#ga581485db4ba6ddb501505ee711fd8e42',1,'glm']]], ['lowp_5fu64vec3',['lowp_u64vec3',['../a00304.html#gaa4a8682bec7ec8af666ef87fae38d5d1',1,'glm']]], ['lowp_5fu64vec4',['lowp_u64vec4',['../a00304.html#ga6fccc89c34045c86339f6fa781ce96de',1,'glm']]], ['lowp_5fu8',['lowp_u8',['../a00304.html#ga1b09f03da7ac43055c68a349d5445083',1,'glm']]], ['lowp_5fu8vec1',['lowp_u8vec1',['../a00304.html#ga4b2e0e10d8d154fec9cab50e216588ec',1,'glm']]], ['lowp_5fu8vec2',['lowp_u8vec2',['../a00304.html#gae6f63fa38635431e51a8f2602f15c566',1,'glm']]], ['lowp_5fu8vec3',['lowp_u8vec3',['../a00304.html#ga150dc47e31c6b8cf8461803c8d56f7bd',1,'glm']]], ['lowp_5fu8vec4',['lowp_u8vec4',['../a00304.html#ga9910927f3a4d1addb3da6a82542a8287',1,'glm']]], ['lowp_5fuint16',['lowp_uint16',['../a00304.html#gad68bfd9f881856fc863a6ebca0b67f78',1,'glm']]], ['lowp_5fuint16_5ft',['lowp_uint16_t',['../a00304.html#ga91c4815f93177eb423362fd296a87e9f',1,'glm']]], ['lowp_5fuint32',['lowp_uint32',['../a00304.html#gaa6a5b461bbf5fe20982472aa51896d4b',1,'glm']]], ['lowp_5fuint32_5ft',['lowp_uint32_t',['../a00304.html#gaf1b735b4b1145174f4e4167d13778f9b',1,'glm']]], ['lowp_5fuint64',['lowp_uint64',['../a00304.html#gaa212b805736a759998e312cbdd550fae',1,'glm']]], ['lowp_5fuint64_5ft',['lowp_uint64_t',['../a00304.html#ga8dd3a3281ae5c970ffe0c41d538aa153',1,'glm']]], ['lowp_5fuint8',['lowp_uint8',['../a00304.html#gaf49470869e9be2c059629b250619804e',1,'glm']]], ['lowp_5fuint8_5ft',['lowp_uint8_t',['../a00304.html#ga667b2ece2b258be898812dc2177995d1',1,'glm']]], ['lowp_5fumat2',['lowp_umat2',['../a00294.html#gaf2fba702d990437fc88ff3f3a76846ee',1,'glm']]], ['lowp_5fumat2x2',['lowp_umat2x2',['../a00294.html#ga7b2e9d89745f7175051284e54c81d81c',1,'glm']]], ['lowp_5fumat2x3',['lowp_umat2x3',['../a00294.html#ga3072f90fd86f17a862e21589fbb14c0f',1,'glm']]], ['lowp_5fumat2x4',['lowp_umat2x4',['../a00294.html#ga8bb45fec4bd77bd81b4ae7eb961a270d',1,'glm']]], ['lowp_5fumat3',['lowp_umat3',['../a00294.html#gaf1145f72bcdd590f5808c4bc170c2924',1,'glm']]], ['lowp_5fumat3x2',['lowp_umat3x2',['../a00294.html#ga56ea68c6a6cba8d8c21d17bb14e69c6b',1,'glm']]], ['lowp_5fumat3x3',['lowp_umat3x3',['../a00294.html#ga4f660a39a395cc14f018f985e7dfbeb5',1,'glm']]], ['lowp_5fumat3x4',['lowp_umat3x4',['../a00294.html#gaec3d624306bd59649f021864709d56b5',1,'glm']]], ['lowp_5fumat4',['lowp_umat4',['../a00294.html#gac092c6105827bf9ea080db38074b78eb',1,'glm']]], ['lowp_5fumat4x2',['lowp_umat4x2',['../a00294.html#ga7716c2b210d141846f1ac4e774adef5e',1,'glm']]], ['lowp_5fumat4x3',['lowp_umat4x3',['../a00294.html#ga09ab33a2636f5f43f7fae29cfbc20fff',1,'glm']]], ['lowp_5fumat4x4',['lowp_umat4x4',['../a00294.html#ga10aafc66cf1a0ece336b1c5ae13d0cc0',1,'glm']]], ['lowp_5fuvec1',['lowp_uvec1',['../a00277.html#ga8bf3fc8a7863d140f48b29341c750402',1,'glm']]], ['lowp_5fuvec2',['lowp_uvec2',['../a00282.html#ga752ee45136011301b64afd8c310c47a4',1,'glm']]], ['lowp_5fuvec3',['lowp_uvec3',['../a00282.html#ga7b2efbdd6bdc2f8250c57f3e5dc9a292',1,'glm']]], ['lowp_5fuvec4',['lowp_uvec4',['../a00282.html#ga5e6a632ec1165cf9f54ceeaa5e9b2b1e',1,'glm']]], ['lowp_5fvec1',['lowp_vec1',['../a00271.html#ga0a57630f03031706b1d26a7d70d9184c',1,'glm']]], ['lowp_5fvec2',['lowp_vec2',['../a00282.html#ga30e8baef5d56d5c166872a2bc00f36e9',1,'glm']]], ['lowp_5fvec3',['lowp_vec3',['../a00282.html#ga868e8e4470a3ef97c7ee3032bf90dc79',1,'glm']]], ['lowp_5fvec4',['lowp_vec4',['../a00282.html#gace3acb313c800552a9411953eb8b2ed7',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/typedefs_7.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/typedefs_7.js ================================================ var searchData= [ ['mat2',['mat2',['../a00283.html#ga8dd59e7fc6913ac5d61b86553e9148ba',1,'glm']]], ['mat2x2',['mat2x2',['../a00283.html#gaaa17ef6bfa4e4f2692348b1460c8efcb',1,'glm']]], ['mat2x3',['mat2x3',['../a00283.html#ga493ab21243abe564b3f7d381e677d29a',1,'glm']]], ['mat2x4',['mat2x4',['../a00283.html#ga8e879b57ddd81e5bf5a88929844e8b40',1,'glm']]], ['mat3',['mat3',['../a00283.html#gaefb0fc7a4960b782c18708bb6b655262',1,'glm']]], ['mat3x2',['mat3x2',['../a00280.html#ga2c27aea32de57d58aec8e92d5d2181e2',1,'glm']]], ['mat3x3',['mat3x3',['../a00283.html#gab91887d7565059dac640e3a1921c914a',1,'glm']]], ['mat3x4',['mat3x4',['../a00283.html#gaf991cad0b34f64e33af186326dbc4d66',1,'glm']]], ['mat4',['mat4',['../a00283.html#ga0db98d836c5549d31cf64ecd043b7af7',1,'glm']]], ['mat4x2',['mat4x2',['../a00283.html#gad941c947ad6cdd117a0e8554a4754983',1,'glm']]], ['mat4x3',['mat4x3',['../a00283.html#gac7574544bb94777bdbd2eb224eb72fd0',1,'glm']]], ['mat4x4',['mat4x4',['../a00283.html#gab2d35cc2655f44d60958d60a1de34e81',1,'glm']]], ['mediump_5fbvec1',['mediump_bvec1',['../a00266.html#ga7b4ccb989ba179fa44f7b0879c782621',1,'glm']]], ['mediump_5fbvec2',['mediump_bvec2',['../a00282.html#ga1e743764869efa9223c2bcefccedaddc',1,'glm']]], ['mediump_5fbvec3',['mediump_bvec3',['../a00282.html#ga50c783c25082882ef00fe2e5cddba4aa',1,'glm']]], ['mediump_5fbvec4',['mediump_bvec4',['../a00282.html#ga0be2c682258604a35004f088782a9645',1,'glm']]], ['mediump_5fddualquat',['mediump_ddualquat',['../a00317.html#ga0fb11e48e2d16348ccb06a25213641b4',1,'glm']]], ['mediump_5fdmat2',['mediump_dmat2',['../a00284.html#ga6205fd19be355600334edef6af0b27cb',1,'glm']]], ['mediump_5fdmat2x2',['mediump_dmat2x2',['../a00284.html#ga51dc36a7719cb458fa5114831c20d64f',1,'glm']]], ['mediump_5fdmat2x3',['mediump_dmat2x3',['../a00284.html#ga741e05adf1f12d5d913f67088db1009a',1,'glm']]], ['mediump_5fdmat2x4',['mediump_dmat2x4',['../a00284.html#ga685bda24922d112786af385deb4deb43',1,'glm']]], ['mediump_5fdmat3',['mediump_dmat3',['../a00284.html#ga939fbf9c53008a8e84c7dd7cf8de29e2',1,'glm']]], ['mediump_5fdmat3x2',['mediump_dmat3x2',['../a00284.html#ga2076157df85e49b8c021e03e46a376c1',1,'glm']]], ['mediump_5fdmat3x3',['mediump_dmat3x3',['../a00284.html#ga47bd2aae4701ee2fc865674a9df3d7a6',1,'glm']]], ['mediump_5fdmat3x4',['mediump_dmat3x4',['../a00284.html#ga3a132bd05675c2e46556f67cf738600b',1,'glm']]], ['mediump_5fdmat4',['mediump_dmat4',['../a00284.html#gaf650bc667bf2a0e496b5a9182bc8d378',1,'glm']]], ['mediump_5fdmat4x2',['mediump_dmat4x2',['../a00284.html#gae220fa4c5a7b13ef2ab0420340de645c',1,'glm']]], ['mediump_5fdmat4x3',['mediump_dmat4x3',['../a00284.html#ga43ef60e4d996db15c9c8f069a96ff763',1,'glm']]], ['mediump_5fdmat4x4',['mediump_dmat4x4',['../a00284.html#ga5389b3ab32dc0d72bea00057ab6d1dd3',1,'glm']]], ['mediump_5fdquat',['mediump_dquat',['../a00250.html#gacdf73b1f7fd8f5a0c79a3934e99c1a14',1,'glm']]], ['mediump_5fdualquat',['mediump_dualquat',['../a00317.html#gaa7aeb54c167712b38f2178a1be2360ad',1,'glm']]], ['mediump_5fdvec1',['mediump_dvec1',['../a00269.html#ga79a789ebb176b37a45848f7ccdd3b3dd',1,'glm']]], ['mediump_5fdvec2',['mediump_dvec2',['../a00282.html#ga2f4f6e9a69a0281d06940fd0990cafc3',1,'glm']]], ['mediump_5fdvec3',['mediump_dvec3',['../a00282.html#ga61c3b1dff4ec7c878af80503141b9f37',1,'glm']]], ['mediump_5fdvec4',['mediump_dvec4',['../a00282.html#ga23a8bca00914a51542bfea13a4778186',1,'glm']]], ['mediump_5ff32',['mediump_f32',['../a00304.html#ga3b27fcd9eaa2757f0aaf6b0ce0d85c80',1,'glm']]], ['mediump_5ff32mat2',['mediump_f32mat2',['../a00304.html#gaf9020c6176a75bc84828ab01ea7dac25',1,'glm']]], ['mediump_5ff32mat2x2',['mediump_f32mat2x2',['../a00304.html#gaa3ca74a44102035b3ffb5c9c52dfdd3f',1,'glm']]], ['mediump_5ff32mat2x3',['mediump_f32mat2x3',['../a00304.html#gad4cc829ab1ad3e05ac0a24828a3c95cf',1,'glm']]], ['mediump_5ff32mat2x4',['mediump_f32mat2x4',['../a00304.html#gae71445ac6cd0b9fba3e5c905cd030fb1',1,'glm']]], ['mediump_5ff32mat3',['mediump_f32mat3',['../a00304.html#gaaaf878d0d7bfc0aac054fe269a886ca8',1,'glm']]], ['mediump_5ff32mat3x2',['mediump_f32mat3x2',['../a00304.html#gaaab39454f56cf9fc6d940358ce5e6a0f',1,'glm']]], ['mediump_5ff32mat3x3',['mediump_f32mat3x3',['../a00304.html#gacd80ad7640e9e32f2edcb8330b1ffe4f',1,'glm']]], ['mediump_5ff32mat3x4',['mediump_f32mat3x4',['../a00304.html#ga8df705d775b776f5ae6b39e2ab892899',1,'glm']]], ['mediump_5ff32mat4',['mediump_f32mat4',['../a00304.html#ga4491baaebbc46a20f1cb5da985576bf4',1,'glm']]], ['mediump_5ff32mat4x2',['mediump_f32mat4x2',['../a00304.html#gab005efe0fa4de1a928e8ddec4bc2c43f',1,'glm']]], ['mediump_5ff32mat4x3',['mediump_f32mat4x3',['../a00304.html#gade108f16633cf95fa500b5b8c36c8b00',1,'glm']]], ['mediump_5ff32mat4x4',['mediump_f32mat4x4',['../a00304.html#ga936e95b881ecd2d109459ca41913fa99',1,'glm']]], ['mediump_5ff32quat',['mediump_f32quat',['../a00304.html#gaa40c03d52dbfbfaf03e75773b9606ff3',1,'glm']]], ['mediump_5ff32vec1',['mediump_f32vec1',['../a00304.html#gabb33cab7d7c74cc14aa95455d0690865',1,'glm']]], ['mediump_5ff32vec2',['mediump_f32vec2',['../a00304.html#gad6eb11412a3161ca8dc1d63b2a307c4b',1,'glm']]], ['mediump_5ff32vec3',['mediump_f32vec3',['../a00304.html#ga062ffef2973bd8241df993c3b30b327c',1,'glm']]], ['mediump_5ff32vec4',['mediump_f32vec4',['../a00304.html#gad80c84bcd5f585840faa6179f6fd446c',1,'glm']]], ['mediump_5ff64',['mediump_f64',['../a00304.html#ga6d40381d78472553f878f66e443feeef',1,'glm']]], ['mediump_5ff64mat2',['mediump_f64mat2',['../a00304.html#gac1281da5ded55047e8892b0e1f1ae965',1,'glm']]], ['mediump_5ff64mat2x2',['mediump_f64mat2x2',['../a00304.html#ga4fd527644cccbca4cb205320eab026f3',1,'glm']]], ['mediump_5ff64mat2x3',['mediump_f64mat2x3',['../a00304.html#gafd9a6ebc0c7b95f5c581d00d16a17c54',1,'glm']]], ['mediump_5ff64mat2x4',['mediump_f64mat2x4',['../a00304.html#gaf306dd69e53633636aee38cea79d4cb7',1,'glm']]], ['mediump_5ff64mat3',['mediump_f64mat3',['../a00304.html#gad35fb67eb1d03c5a514f0bd7aed1c776',1,'glm']]], ['mediump_5ff64mat3x2',['mediump_f64mat3x2',['../a00304.html#gacd926d36a72433f6cac51dd60fa13107',1,'glm']]], ['mediump_5ff64mat3x3',['mediump_f64mat3x3',['../a00304.html#ga84d88a6e3a54ccd2b67e195af4a4c23e',1,'glm']]], ['mediump_5ff64mat3x4',['mediump_f64mat3x4',['../a00304.html#gad38c544d332b8c4bd0b70b1bd9feccc2',1,'glm']]], ['mediump_5ff64mat4',['mediump_f64mat4',['../a00304.html#gaa805ef691c711dc41e2776cfb67f5cf5',1,'glm']]], ['mediump_5ff64mat4x2',['mediump_f64mat4x2',['../a00304.html#ga17d36f0ea22314117e1cec9594b33945',1,'glm']]], ['mediump_5ff64mat4x3',['mediump_f64mat4x3',['../a00304.html#ga54697a78f9a4643af6a57fc2e626ec0d',1,'glm']]], ['mediump_5ff64mat4x4',['mediump_f64mat4x4',['../a00304.html#ga66edb8de17b9235029472f043ae107e9',1,'glm']]], ['mediump_5ff64quat',['mediump_f64quat',['../a00304.html#ga5e52f485059ce6e3010c590b882602c9',1,'glm']]], ['mediump_5ff64vec1',['mediump_f64vec1',['../a00304.html#gac30fdf8afa489400053275b6a3350127',1,'glm']]], ['mediump_5ff64vec2',['mediump_f64vec2',['../a00304.html#ga8ebc04ecf6440c4ee24718a16600ce6b',1,'glm']]], ['mediump_5ff64vec3',['mediump_f64vec3',['../a00304.html#ga461c4c7d0757404dd0dba931760b25cf',1,'glm']]], ['mediump_5ff64vec4',['mediump_f64vec4',['../a00304.html#gacfea053bd6bb3eddb996a4f94de22a3e',1,'glm']]], ['mediump_5ffdualquat',['mediump_fdualquat',['../a00317.html#ga4a6b594ff7e81150d8143001367a9431',1,'glm']]], ['mediump_5ffloat32',['mediump_float32',['../a00304.html#ga7812bf00676fb1a86dcd62cca354d2c7',1,'glm']]], ['mediump_5ffloat32_5ft',['mediump_float32_t',['../a00304.html#gae4dee61f8fe1caccec309fbed02faf12',1,'glm']]], ['mediump_5ffloat64',['mediump_float64',['../a00304.html#gab83d8aae6e4f115e97a785e8574a115f',1,'glm']]], ['mediump_5ffloat64_5ft',['mediump_float64_t',['../a00304.html#gac61843e4fa96c1f4e9d8316454f32a8e',1,'glm']]], ['mediump_5ffmat2',['mediump_fmat2',['../a00304.html#ga74e9133378fd0b4da8ac0bc0876702ff',1,'glm']]], ['mediump_5ffmat2x2',['mediump_fmat2x2',['../a00304.html#ga98a687c17b174ea316b5f397b64f44bc',1,'glm']]], ['mediump_5ffmat2x3',['mediump_fmat2x3',['../a00304.html#gaa03f939d90d5ef157df957d93f0b9a64',1,'glm']]], ['mediump_5ffmat2x4',['mediump_fmat2x4',['../a00304.html#ga35223623e9ccebd8a281873b71b7d213',1,'glm']]], ['mediump_5ffmat3',['mediump_fmat3',['../a00304.html#ga80823dfad5dba98512c76af498343847',1,'glm']]], ['mediump_5ffmat3x2',['mediump_fmat3x2',['../a00304.html#ga42569e5b92f8635cedeadb1457ee1467',1,'glm']]], ['mediump_5ffmat3x3',['mediump_fmat3x3',['../a00304.html#gaa6f526388c74a66b3d52315a14d434ae',1,'glm']]], ['mediump_5ffmat3x4',['mediump_fmat3x4',['../a00304.html#gaefe8ef520c6cb78590ebbefe648da4d4',1,'glm']]], ['mediump_5ffmat4',['mediump_fmat4',['../a00304.html#gac1c38778c0b5a1263f07753c05a4f7b9',1,'glm']]], ['mediump_5ffmat4x2',['mediump_fmat4x2',['../a00304.html#gacea38a85893e17e6834b6cb09a9ad0cf',1,'glm']]], ['mediump_5ffmat4x3',['mediump_fmat4x3',['../a00304.html#ga41ad497f7eae211556aefd783cb02b90',1,'glm']]], ['mediump_5ffmat4x4',['mediump_fmat4x4',['../a00304.html#ga22e27beead07bff4d5ce9d6065a57279',1,'glm']]], ['mediump_5ffvec1',['mediump_fvec1',['../a00304.html#ga367964fc2133d3f1b5b3755ff9cf6c9b',1,'glm']]], ['mediump_5ffvec2',['mediump_fvec2',['../a00304.html#ga44bfa55cda5dbf53f24a1fb7610393d6',1,'glm']]], ['mediump_5ffvec3',['mediump_fvec3',['../a00304.html#ga999dc6703ad16e3d3c26b74ea8083f07',1,'glm']]], ['mediump_5ffvec4',['mediump_fvec4',['../a00304.html#ga1bed890513c0f50b7e7ba4f7f359dbfb',1,'glm']]], ['mediump_5fi16',['mediump_i16',['../a00304.html#ga62a17cddeb4dffb4e18fe3aea23f051a',1,'glm']]], ['mediump_5fi16vec1',['mediump_i16vec1',['../a00304.html#gacc44265ed440bf5e6e566782570de842',1,'glm']]], ['mediump_5fi16vec2',['mediump_i16vec2',['../a00304.html#ga4b5e2c9aaa5d7717bf71179aefa12e88',1,'glm']]], ['mediump_5fi16vec3',['mediump_i16vec3',['../a00304.html#ga3be6c7fc5fe08fa2274bdb001d5f2633',1,'glm']]], ['mediump_5fi16vec4',['mediump_i16vec4',['../a00304.html#gaf52982bb23e3a3772649b2c5bb84b107',1,'glm']]], ['mediump_5fi32',['mediump_i32',['../a00304.html#gaf5e94bf2a20af7601787c154751dc2e1',1,'glm']]], ['mediump_5fi32vec1',['mediump_i32vec1',['../a00304.html#ga46a57f71e430637559097a732b550a7e',1,'glm']]], ['mediump_5fi32vec2',['mediump_i32vec2',['../a00304.html#ga20bf224bd4f8a24ecc4ed2004a40c219',1,'glm']]], ['mediump_5fi32vec3',['mediump_i32vec3',['../a00304.html#ga13a221b910aa9eb1b04ca1c86e81015a',1,'glm']]], ['mediump_5fi32vec4',['mediump_i32vec4',['../a00304.html#ga6addd4dfee87fc09ab9525e3d07db4c8',1,'glm']]], ['mediump_5fi64',['mediump_i64',['../a00304.html#ga3ebcb1f6d8d8387253de8bccb058d77f',1,'glm']]], ['mediump_5fi64vec1',['mediump_i64vec1',['../a00304.html#ga8343e9d244fb17a5bbf0d94d36b3695e',1,'glm']]], ['mediump_5fi64vec2',['mediump_i64vec2',['../a00304.html#ga2c94aeae3457325944ca1059b0b68330',1,'glm']]], ['mediump_5fi64vec3',['mediump_i64vec3',['../a00304.html#ga8089722ffdf868cdfe721dea1fb6a90e',1,'glm']]], ['mediump_5fi64vec4',['mediump_i64vec4',['../a00304.html#gabf1f16c5ab8cb0484bd1e846ae4368f1',1,'glm']]], ['mediump_5fi8',['mediump_i8',['../a00304.html#gacf1ded173e1e2d049c511d095b259e21',1,'glm']]], ['mediump_5fi8vec1',['mediump_i8vec1',['../a00304.html#ga85e8893f4ae3630065690a9000c0c483',1,'glm']]], ['mediump_5fi8vec2',['mediump_i8vec2',['../a00304.html#ga2a8bdc32184ea0a522ef7bd90640cf67',1,'glm']]], ['mediump_5fi8vec3',['mediump_i8vec3',['../a00304.html#ga6dd1c1618378c6f94d522a61c28773c9',1,'glm']]], ['mediump_5fi8vec4',['mediump_i8vec4',['../a00304.html#gac7bb04fb857ef7b520e49f6c381432be',1,'glm']]], ['mediump_5fimat2',['mediump_imat2',['../a00294.html#ga20f4cc7ab23e2aa1f4db9fdb5496d378',1,'glm']]], ['mediump_5fimat2x2',['mediump_imat2x2',['../a00294.html#ga4b2aeb11a329940721dda9583e71f856',1,'glm']]], ['mediump_5fimat2x3',['mediump_imat2x3',['../a00294.html#ga74362470ba99843ac70aee5ac38cc674',1,'glm']]], ['mediump_5fimat2x4',['mediump_imat2x4',['../a00294.html#ga8da25cd380ba30fc5b68a4687deb3e09',1,'glm']]], ['mediump_5fimat3',['mediump_imat3',['../a00294.html#ga6c63bdc736efd3466e0730de0251cb71',1,'glm']]], ['mediump_5fimat3x2',['mediump_imat3x2',['../a00294.html#gac0b4e42d648fb3eaf4bb88da82ecc809',1,'glm']]], ['mediump_5fimat3x3',['mediump_imat3x3',['../a00294.html#gad99cc2aad8fc57f068cfa7719dbbea12',1,'glm']]], ['mediump_5fimat3x4',['mediump_imat3x4',['../a00294.html#ga67689a518b181a26540bc44a163525cd',1,'glm']]], ['mediump_5fimat4',['mediump_imat4',['../a00294.html#gaf348552978553630d2a00b78eb887ced',1,'glm']]], ['mediump_5fimat4x2',['mediump_imat4x2',['../a00294.html#ga8b2d35816f7103f0f4c82dd2f27571fc',1,'glm']]], ['mediump_5fimat4x3',['mediump_imat4x3',['../a00294.html#ga5b10acc696759e03f6ab918f4467e94c',1,'glm']]], ['mediump_5fimat4x4',['mediump_imat4x4',['../a00294.html#ga2596869d154dec1180beadbb9df80501',1,'glm']]], ['mediump_5fint16',['mediump_int16',['../a00304.html#gadff3608baa4b5bd3ed28f95c1c2c345d',1,'glm']]], ['mediump_5fint16_5ft',['mediump_int16_t',['../a00304.html#ga80e72fe94c88498537e8158ba7591c54',1,'glm']]], ['mediump_5fint32',['mediump_int32',['../a00304.html#ga5244cef85d6e870e240c76428a262ae8',1,'glm']]], ['mediump_5fint32_5ft',['mediump_int32_t',['../a00304.html#ga26fc7ced1ad7ca5024f1c973c8dc9180',1,'glm']]], ['mediump_5fint64',['mediump_int64',['../a00304.html#ga7b968f2b86a0442a89c7359171e1d866',1,'glm']]], ['mediump_5fint64_5ft',['mediump_int64_t',['../a00304.html#gac3bc41bcac61d1ba8f02a6f68ce23f64',1,'glm']]], ['mediump_5fint8',['mediump_int8',['../a00304.html#ga6fbd69cbdaa44345bff923a2cf63de7e',1,'glm']]], ['mediump_5fint8_5ft',['mediump_int8_t',['../a00304.html#ga6d7b3789ecb932c26430009478cac7ae',1,'glm']]], ['mediump_5fivec1',['mediump_ivec1',['../a00273.html#gad628c608970b3d0aa6cfb63ce6e53e56',1,'glm']]], ['mediump_5fivec2',['mediump_ivec2',['../a00282.html#gac57496299d276ed97044074097bd5e2c',1,'glm']]], ['mediump_5fivec3',['mediump_ivec3',['../a00282.html#ga27cfb51e0dbe15bba27a14a8590e8466',1,'glm']]], ['mediump_5fivec4',['mediump_ivec4',['../a00282.html#ga92a204c37e66ac6c1dc7ae91142f2ea5',1,'glm']]], ['mediump_5fmat2',['mediump_mat2',['../a00284.html#ga745452bd9c89f5ad948203e4fb4b4ea3',1,'glm']]], ['mediump_5fmat2x2',['mediump_mat2x2',['../a00284.html#ga0cdf57d29f9448864237b2fb3e39aa1d',1,'glm']]], ['mediump_5fmat2x3',['mediump_mat2x3',['../a00284.html#ga497d513d552d927537d61fa11e3701ab',1,'glm']]], ['mediump_5fmat2x4',['mediump_mat2x4',['../a00284.html#gae7b75ea2e09fa686a79bbe9b6ca68ee5',1,'glm']]], ['mediump_5fmat3',['mediump_mat3',['../a00284.html#ga5aae49834d02732942f44e61d7bce136',1,'glm']]], ['mediump_5fmat3x2',['mediump_mat3x2',['../a00284.html#ga9e1c9ee65fef547bde793e69723e24eb',1,'glm']]], ['mediump_5fmat3x3',['mediump_mat3x3',['../a00284.html#gabc0f2f4ad21c90b341881cf056f8650e',1,'glm']]], ['mediump_5fmat3x4',['mediump_mat3x4',['../a00284.html#gaa669c6675c3405f76c0b14020d1c0d61',1,'glm']]], ['mediump_5fmat4',['mediump_mat4',['../a00284.html#gab8531bc3f269aa45835cd6e1972b7fc7',1,'glm']]], ['mediump_5fmat4x2',['mediump_mat4x2',['../a00284.html#gad75706b70545412ba9ac27d5ee210f66',1,'glm']]], ['mediump_5fmat4x3',['mediump_mat4x3',['../a00284.html#ga4a1440b5ea3cf84d5b06c79b534bd770',1,'glm']]], ['mediump_5fmat4x4',['mediump_mat4x4',['../a00284.html#ga15bca2b70917d9752231160d9da74b01',1,'glm']]], ['mediump_5fquat',['mediump_quat',['../a00253.html#gad2a59409de1bb12ccb6eb692ee7e9d8d',1,'glm']]], ['mediump_5fu16',['mediump_u16',['../a00304.html#ga9df98857be695d5a30cb30f5bfa38a80',1,'glm']]], ['mediump_5fu16vec1',['mediump_u16vec1',['../a00304.html#ga400ce8cc566de093a9b28e59e220d6e4',1,'glm']]], ['mediump_5fu16vec2',['mediump_u16vec2',['../a00304.html#ga429c201b3e92c90b4ef4356f2be52ee1',1,'glm']]], ['mediump_5fu16vec3',['mediump_u16vec3',['../a00304.html#gac9ba20234b0c3751d45ce575fc71e551',1,'glm']]], ['mediump_5fu16vec4',['mediump_u16vec4',['../a00304.html#ga5793393686ce5bd2d5968ff9144762b8',1,'glm']]], ['mediump_5fu32',['mediump_u32',['../a00304.html#ga1bd0e914158bf03135f8a317de6debe9',1,'glm']]], ['mediump_5fu32vec1',['mediump_u32vec1',['../a00304.html#ga8a11ccd2e38f674bbf3c2d1afc232aee',1,'glm']]], ['mediump_5fu32vec2',['mediump_u32vec2',['../a00304.html#ga94f74851fce338549c705b5f0d601c4f',1,'glm']]], ['mediump_5fu32vec3',['mediump_u32vec3',['../a00304.html#ga012c24c8fc69707b90260474c70275a2',1,'glm']]], ['mediump_5fu32vec4',['mediump_u32vec4',['../a00304.html#ga5d43ee8b5dbaa06c327b03b83682598a',1,'glm']]], ['mediump_5fu64',['mediump_u64',['../a00304.html#ga2af9490085ae3bdf36a544e9dd073610',1,'glm']]], ['mediump_5fu64vec1',['mediump_u64vec1',['../a00304.html#ga659f372ccb8307d5db5beca942cde5e8',1,'glm']]], ['mediump_5fu64vec2',['mediump_u64vec2',['../a00304.html#ga73a08ef5a74798f3a1a99250b5f86a7d',1,'glm']]], ['mediump_5fu64vec3',['mediump_u64vec3',['../a00304.html#ga1900c6ab74acd392809425953359ef52',1,'glm']]], ['mediump_5fu64vec4',['mediump_u64vec4',['../a00304.html#gaec7ee455cb379ec2993e81482123e1cc',1,'glm']]], ['mediump_5fu8',['mediump_u8',['../a00304.html#gad1213a22bbb9e4107f07eaa4956f8281',1,'glm']]], ['mediump_5fu8vec1',['mediump_u8vec1',['../a00304.html#ga4a43050843b141bdc7e85437faef6f55',1,'glm']]], ['mediump_5fu8vec2',['mediump_u8vec2',['../a00304.html#ga907f85d4a0eac3d8aaf571e5c2647194',1,'glm']]], ['mediump_5fu8vec3',['mediump_u8vec3',['../a00304.html#gaddc6f7748b699254942c5216b68f8f7f',1,'glm']]], ['mediump_5fu8vec4',['mediump_u8vec4',['../a00304.html#gaaf4ee3b76d43d98da02ec399b99bda4b',1,'glm']]], ['mediump_5fuint16',['mediump_uint16',['../a00304.html#ga2885a6c89916911e418c06bb76b9bdbb',1,'glm']]], ['mediump_5fuint16_5ft',['mediump_uint16_t',['../a00304.html#ga3963b1050fc65a383ee28e3f827b6e3e',1,'glm']]], ['mediump_5fuint32',['mediump_uint32',['../a00304.html#ga34dd5ec1988c443bae80f1b20a8ade5f',1,'glm']]], ['mediump_5fuint32_5ft',['mediump_uint32_t',['../a00304.html#gaf4dae276fd29623950de14a6ca2586b5',1,'glm']]], ['mediump_5fuint64',['mediump_uint64',['../a00304.html#ga30652709815ad9404272a31957daa59e',1,'glm']]], ['mediump_5fuint64_5ft',['mediump_uint64_t',['../a00304.html#ga9b170dd4a8f38448a2dc93987c7875e9',1,'glm']]], ['mediump_5fuint8',['mediump_uint8',['../a00304.html#ga1fa92a233b9110861cdbc8c2ccf0b5a3',1,'glm']]], ['mediump_5fuint8_5ft',['mediump_uint8_t',['../a00304.html#gadfe65c78231039e90507770db50c98c7',1,'glm']]], ['mediump_5fumat2',['mediump_umat2',['../a00294.html#ga43041378b3410ea951b7de0dfd2bc7ee',1,'glm']]], ['mediump_5fumat2x2',['mediump_umat2x2',['../a00294.html#ga3b209b1b751f041422137e3c065dfa98',1,'glm']]], ['mediump_5fumat2x3',['mediump_umat2x3',['../a00294.html#gaee2c1f13b41f4c92ea5b3efe367a1306',1,'glm']]], ['mediump_5fumat2x4',['mediump_umat2x4',['../a00294.html#gae1317ddca16d01e119a40b7f0ee85f95',1,'glm']]], ['mediump_5fumat3',['mediump_umat3',['../a00294.html#ga1730dbe3c67801f53520b06d1aa0a34a',1,'glm']]], ['mediump_5fumat3x2',['mediump_umat3x2',['../a00294.html#gaadc28bfdc8ebca81ae85121b11994970',1,'glm']]], ['mediump_5fumat3x3',['mediump_umat3x3',['../a00294.html#ga48f2fc38d3f7fab3cfbc961278ced53d',1,'glm']]], ['mediump_5fumat3x4',['mediump_umat3x4',['../a00294.html#ga78009a1e4ca64217e46b418535e52546',1,'glm']]], ['mediump_5fumat4',['mediump_umat4',['../a00294.html#ga5087c2beb26a11d9af87432e554cf9d1',1,'glm']]], ['mediump_5fumat4x2',['mediump_umat4x2',['../a00294.html#gaf35aefd81cc13718f6b059623f7425fa',1,'glm']]], ['mediump_5fumat4x3',['mediump_umat4x3',['../a00294.html#ga4e1bed14fbc7f4b376aaed064f89f0fb',1,'glm']]], ['mediump_5fumat4x4',['mediump_umat4x4',['../a00294.html#gaa9428fc8430dc552aad920653f822ef3',1,'glm']]], ['mediump_5fuvec1',['mediump_uvec1',['../a00277.html#ga38fde73aaf1420175ece8d4882558a3f',1,'glm']]], ['mediump_5fuvec2',['mediump_uvec2',['../a00282.html#gaa3b4f7806dad03d83bb3da0baa1e3b9b',1,'glm']]], ['mediump_5fuvec3',['mediump_uvec3',['../a00282.html#ga83b7df38feefbb357f3673d950fafef7',1,'glm']]], ['mediump_5fuvec4',['mediump_uvec4',['../a00282.html#ga64ed0deb6573375b7016daf82ffd53a7',1,'glm']]], ['mediump_5fvec1',['mediump_vec1',['../a00271.html#ga645f53e6b8056609023a894b4e2beef4',1,'glm']]], ['mediump_5fvec2',['mediump_vec2',['../a00282.html#gabc61976261c406520c7a8e4d946dc3f0',1,'glm']]], ['mediump_5fvec3',['mediump_vec3',['../a00282.html#ga2384e263df19f1404b733016eff78fca',1,'glm']]], ['mediump_5fvec4',['mediump_vec4',['../a00282.html#ga5c6978d3ffba06738416a33083853fc0',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/typedefs_8.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/typedefs_8.js ================================================ var searchData= [ ['packed_5fbvec1',['packed_bvec1',['../a00303.html#ga88632cea9008ac0ac1388e94e804a53c',1,'glm']]], ['packed_5fbvec2',['packed_bvec2',['../a00303.html#gab85245913eaa40ab82adabcae37086cb',1,'glm']]], ['packed_5fbvec3',['packed_bvec3',['../a00303.html#ga0c48f9417f649e27f3fb0c9f733a18bd',1,'glm']]], ['packed_5fbvec4',['packed_bvec4',['../a00303.html#ga3180d7db84a74c402157df3bbc0ae3ed',1,'glm']]], ['packed_5fdmat2',['packed_dmat2',['../a00303.html#gad87408a8350918711f845f071bbe43fb',1,'glm']]], ['packed_5fdmat2x2',['packed_dmat2x2',['../a00303.html#gaaa33d8e06657a777efb0c72c44ce87a9',1,'glm']]], ['packed_5fdmat2x3',['packed_dmat2x3',['../a00303.html#gac3a5315f588ba04ad255188071ec4e22',1,'glm']]], ['packed_5fdmat2x4',['packed_dmat2x4',['../a00303.html#gae398fc3156f51d3684b08f62c1a5a6d4',1,'glm']]], ['packed_5fdmat3',['packed_dmat3',['../a00303.html#ga03dfc90d539cc87ea3a15a9caa5d2245',1,'glm']]], ['packed_5fdmat3x2',['packed_dmat3x2',['../a00303.html#gae36de20a4c0e0b1444b7903ae811d94e',1,'glm']]], ['packed_5fdmat3x3',['packed_dmat3x3',['../a00303.html#gab9b909f1392d86854334350efcae85f5',1,'glm']]], ['packed_5fdmat3x4',['packed_dmat3x4',['../a00303.html#ga199131fd279c92c2ac12df6d978f1dd6',1,'glm']]], ['packed_5fdmat4',['packed_dmat4',['../a00303.html#gada980a3485640aa8151f368f17ad3086',1,'glm']]], ['packed_5fdmat4x2',['packed_dmat4x2',['../a00303.html#ga6dc65249730698d3cc9ac5d7e1bc4d72',1,'glm']]], ['packed_5fdmat4x3',['packed_dmat4x3',['../a00303.html#gadf202aaa9ed71c09f9bbe347e43f8764',1,'glm']]], ['packed_5fdmat4x4',['packed_dmat4x4',['../a00303.html#gae20617435a6d042d7c38da2badd64a09',1,'glm']]], ['packed_5fdvec1',['packed_dvec1',['../a00303.html#ga532f0c940649b1ee303acd572fc35531',1,'glm']]], ['packed_5fdvec2',['packed_dvec2',['../a00303.html#ga5c194b11fbda636f2ab20c3bd0079196',1,'glm']]], ['packed_5fdvec3',['packed_dvec3',['../a00303.html#ga0581ea552d86b2b5de7a2804bed80e72',1,'glm']]], ['packed_5fdvec4',['packed_dvec4',['../a00303.html#gae8a9b181f9dc813ad6e125a52b14b935',1,'glm']]], ['packed_5fhighp_5fbvec1',['packed_highp_bvec1',['../a00303.html#ga439e97795314b81cd15abd4e5c2e6e7a',1,'glm']]], ['packed_5fhighp_5fbvec2',['packed_highp_bvec2',['../a00303.html#gad791d671f4fcf1ed1ea41f752916b70a',1,'glm']]], ['packed_5fhighp_5fbvec3',['packed_highp_bvec3',['../a00303.html#ga6a5a3250b57dfadc66735bc72911437f',1,'glm']]], ['packed_5fhighp_5fbvec4',['packed_highp_bvec4',['../a00303.html#ga09f517d88b996ef1b2f42fd54222b82d',1,'glm']]], ['packed_5fhighp_5fdmat2',['packed_highp_dmat2',['../a00303.html#gae29686632fd05efac0675d9a6370d77b',1,'glm']]], ['packed_5fhighp_5fdmat2x2',['packed_highp_dmat2x2',['../a00303.html#ga22bd6382b16052e301edbfc031b9f37a',1,'glm']]], ['packed_5fhighp_5fdmat2x3',['packed_highp_dmat2x3',['../a00303.html#ga999d82719696d4c59f4d236dd08f273d',1,'glm']]], ['packed_5fhighp_5fdmat2x4',['packed_highp_dmat2x4',['../a00303.html#ga6998ac2a8d7fe456b651a6336ed26bb0',1,'glm']]], ['packed_5fhighp_5fdmat3',['packed_highp_dmat3',['../a00303.html#gadac7c040c4810dd52b36fcd09d097400',1,'glm']]], ['packed_5fhighp_5fdmat3x2',['packed_highp_dmat3x2',['../a00303.html#gab462744977beb85fb5c782bc2eea7b15',1,'glm']]], ['packed_5fhighp_5fdmat3x3',['packed_highp_dmat3x3',['../a00303.html#ga49e5a709d098523823b2f824e48672a6',1,'glm']]], ['packed_5fhighp_5fdmat3x4',['packed_highp_dmat3x4',['../a00303.html#ga2c67b3b0adab71c8680c3d819f1fa9b7',1,'glm']]], ['packed_5fhighp_5fdmat4',['packed_highp_dmat4',['../a00303.html#ga6718822cd7af005a9b5bd6ee282f6ba6',1,'glm']]], ['packed_5fhighp_5fdmat4x2',['packed_highp_dmat4x2',['../a00303.html#ga12e39e797fb724a5b51fcbea2513a7da',1,'glm']]], ['packed_5fhighp_5fdmat4x3',['packed_highp_dmat4x3',['../a00303.html#ga79c2e9f82e67963c1ecad0ad6d0ec72e',1,'glm']]], ['packed_5fhighp_5fdmat4x4',['packed_highp_dmat4x4',['../a00303.html#ga2df58e03e5afded28707b4f7d077afb4',1,'glm']]], ['packed_5fhighp_5fdvec1',['packed_highp_dvec1',['../a00303.html#gab472b2d917b5e6efd76e8c7dbfbbf9f1',1,'glm']]], ['packed_5fhighp_5fdvec2',['packed_highp_dvec2',['../a00303.html#ga5b2dc48fa19b684d207d69c6b145eb63',1,'glm']]], ['packed_5fhighp_5fdvec3',['packed_highp_dvec3',['../a00303.html#gaaac6b356ef00154da41aaae7d1549193',1,'glm']]], ['packed_5fhighp_5fdvec4',['packed_highp_dvec4',['../a00303.html#ga81b5368fe485e2630aa9b44832d592e7',1,'glm']]], ['packed_5fhighp_5fivec1',['packed_highp_ivec1',['../a00303.html#ga7245acc887a5438f46fd85fdf076bb3b',1,'glm']]], ['packed_5fhighp_5fivec2',['packed_highp_ivec2',['../a00303.html#ga54f368ec6b514a5aa4f28d40e6f93ef7',1,'glm']]], ['packed_5fhighp_5fivec3',['packed_highp_ivec3',['../a00303.html#ga865a9c7bb22434b1b8c5ac31e164b628',1,'glm']]], ['packed_5fhighp_5fivec4',['packed_highp_ivec4',['../a00303.html#gad6f1b4e3a51c2c051814b60d5d1b8895',1,'glm']]], ['packed_5fhighp_5fmat2',['packed_highp_mat2',['../a00303.html#ga2f2d913d8cca2f935b2522964408c0b2',1,'glm']]], ['packed_5fhighp_5fmat2x2',['packed_highp_mat2x2',['../a00303.html#ga245c12d2daf67feecaa2d3277c8f6661',1,'glm']]], ['packed_5fhighp_5fmat2x3',['packed_highp_mat2x3',['../a00303.html#ga069cc8892aadae144c00f35297617d44',1,'glm']]], ['packed_5fhighp_5fmat2x4',['packed_highp_mat2x4',['../a00303.html#ga6904d09b62141d09712b76983892f95b',1,'glm']]], ['packed_5fhighp_5fmat3',['packed_highp_mat3',['../a00303.html#gabdd5fbffe8b8b8a7b33523f25b120dbe',1,'glm']]], ['packed_5fhighp_5fmat3x2',['packed_highp_mat3x2',['../a00303.html#ga2624719cb251d8de8cad1beaefc3a3f9',1,'glm']]], ['packed_5fhighp_5fmat3x3',['packed_highp_mat3x3',['../a00303.html#gaf2e07527d678440bf0c20adbeb9177c5',1,'glm']]], ['packed_5fhighp_5fmat3x4',['packed_highp_mat3x4',['../a00303.html#ga72102fa6ac2445aa3bb203128ad52449',1,'glm']]], ['packed_5fhighp_5fmat4',['packed_highp_mat4',['../a00303.html#ga253e8379b08d2dc6fe2800b2fb913203',1,'glm']]], ['packed_5fhighp_5fmat4x2',['packed_highp_mat4x2',['../a00303.html#gae389c2071cf3cdb33e7812c6fd156710',1,'glm']]], ['packed_5fhighp_5fmat4x3',['packed_highp_mat4x3',['../a00303.html#ga4584f64394bd7123b7a8534741e4916c',1,'glm']]], ['packed_5fhighp_5fmat4x4',['packed_highp_mat4x4',['../a00303.html#ga0149fe15668925147e07c94fd2c2d6ae',1,'glm']]], ['packed_5fhighp_5fuvec1',['packed_highp_uvec1',['../a00303.html#ga8c32b53f628a3616aa5061e58d66fe74',1,'glm']]], ['packed_5fhighp_5fuvec2',['packed_highp_uvec2',['../a00303.html#gab704d4fb15f6f96d70e363d5db7060cd',1,'glm']]], ['packed_5fhighp_5fuvec3',['packed_highp_uvec3',['../a00303.html#ga0b570da473fec4619db5aa0dce5133b0',1,'glm']]], ['packed_5fhighp_5fuvec4',['packed_highp_uvec4',['../a00303.html#gaa582f38c82aef61dea7aaedf15bb06a6',1,'glm']]], ['packed_5fhighp_5fvec1',['packed_highp_vec1',['../a00303.html#ga56473759d2702ee19ab7f91d0017fa70',1,'glm']]], ['packed_5fhighp_5fvec2',['packed_highp_vec2',['../a00303.html#ga6b8b9475e7c3b16aed13edbc460bbc4d',1,'glm']]], ['packed_5fhighp_5fvec3',['packed_highp_vec3',['../a00303.html#ga3815661df0e2de79beff8168c09adf1e',1,'glm']]], ['packed_5fhighp_5fvec4',['packed_highp_vec4',['../a00303.html#ga4015f36bf5a5adb6ac5d45beed959867',1,'glm']]], ['packed_5fivec1',['packed_ivec1',['../a00303.html#ga11581a06fc7bf941fa4d4b6aca29812c',1,'glm']]], ['packed_5fivec2',['packed_ivec2',['../a00303.html#ga1fe4c5f56b8087d773aa90dc88a257a7',1,'glm']]], ['packed_5fivec3',['packed_ivec3',['../a00303.html#gae157682a7847161787951ba1db4cf325',1,'glm']]], ['packed_5fivec4',['packed_ivec4',['../a00303.html#gac228b70372abd561340d5f926a7c1778',1,'glm']]], ['packed_5flowp_5fbvec1',['packed_lowp_bvec1',['../a00303.html#gae3c8750f53259ece334d3aa3b3649a40',1,'glm']]], ['packed_5flowp_5fbvec2',['packed_lowp_bvec2',['../a00303.html#gac969befedbda69eb78d4e23f751fdbee',1,'glm']]], ['packed_5flowp_5fbvec3',['packed_lowp_bvec3',['../a00303.html#ga7c20adbe1409e3fe4544677a7f6fe954',1,'glm']]], ['packed_5flowp_5fbvec4',['packed_lowp_bvec4',['../a00303.html#gae473587cff3092edc0877fc691c26a0b',1,'glm']]], ['packed_5flowp_5fdmat2',['packed_lowp_dmat2',['../a00303.html#gac93f9b1a35b9de4f456b9f2dfeaf1097',1,'glm']]], ['packed_5flowp_5fdmat2x2',['packed_lowp_dmat2x2',['../a00303.html#gaeeaff6c132ec91ebd21da3a2399548ea',1,'glm']]], ['packed_5flowp_5fdmat2x3',['packed_lowp_dmat2x3',['../a00303.html#ga2ccdcd4846775cbe4f9d12e71d55b5d2',1,'glm']]], ['packed_5flowp_5fdmat2x4',['packed_lowp_dmat2x4',['../a00303.html#gac870c47d2d9d48503f6c9ee3baec8ce1',1,'glm']]], ['packed_5flowp_5fdmat3',['packed_lowp_dmat3',['../a00303.html#ga3894a059eeaacec8791c25de398d9955',1,'glm']]], ['packed_5flowp_5fdmat3x2',['packed_lowp_dmat3x2',['../a00303.html#ga23ec236950f5859f59197663266b535d',1,'glm']]], ['packed_5flowp_5fdmat3x3',['packed_lowp_dmat3x3',['../a00303.html#ga4a7c7d8c3a663d0ec2a858cbfa14e54c',1,'glm']]], ['packed_5flowp_5fdmat3x4',['packed_lowp_dmat3x4',['../a00303.html#ga8fc0e66da83599071b7ec17510686cd9',1,'glm']]], ['packed_5flowp_5fdmat4',['packed_lowp_dmat4',['../a00303.html#ga03e1edf5666c40affe39aee35c87956f',1,'glm']]], ['packed_5flowp_5fdmat4x2',['packed_lowp_dmat4x2',['../a00303.html#ga39658fb13369db869d363684bd8399c0',1,'glm']]], ['packed_5flowp_5fdmat4x3',['packed_lowp_dmat4x3',['../a00303.html#ga30b0351eebc18c6056101359bdd3a359',1,'glm']]], ['packed_5flowp_5fdmat4x4',['packed_lowp_dmat4x4',['../a00303.html#ga0294d4c45151425c86a11deee7693c0e',1,'glm']]], ['packed_5flowp_5fdvec1',['packed_lowp_dvec1',['../a00303.html#ga054050e9d4e78d81db0e6d1573b1c624',1,'glm']]], ['packed_5flowp_5fdvec2',['packed_lowp_dvec2',['../a00303.html#gadc19938ddb204bfcb4d9ef35b1e2bf93',1,'glm']]], ['packed_5flowp_5fdvec3',['packed_lowp_dvec3',['../a00303.html#ga9189210cabd6651a5e14a4c46fb20598',1,'glm']]], ['packed_5flowp_5fdvec4',['packed_lowp_dvec4',['../a00303.html#ga262dafd0c001c3a38d1cc91d024ca738',1,'glm']]], ['packed_5flowp_5fivec1',['packed_lowp_ivec1',['../a00303.html#gaf22b77f1cf3e73b8b1dddfe7f959357c',1,'glm']]], ['packed_5flowp_5fivec2',['packed_lowp_ivec2',['../a00303.html#ga52635859f5ef660ab999d22c11b7867f',1,'glm']]], ['packed_5flowp_5fivec3',['packed_lowp_ivec3',['../a00303.html#ga98c9d122a959e9f3ce10a5623c310f5d',1,'glm']]], ['packed_5flowp_5fivec4',['packed_lowp_ivec4',['../a00303.html#ga931731b8ae3b54c7ecc221509dae96bc',1,'glm']]], ['packed_5flowp_5fmat2',['packed_lowp_mat2',['../a00303.html#ga70dcb9ef0b24e832772a7405efa9669a',1,'glm']]], ['packed_5flowp_5fmat2x2',['packed_lowp_mat2x2',['../a00303.html#gac70667c7642ec8d50245e6e6936a3927',1,'glm']]], ['packed_5flowp_5fmat2x3',['packed_lowp_mat2x3',['../a00303.html#ga3e7df5a11e1be27bc29a4c0d3956f234',1,'glm']]], ['packed_5flowp_5fmat2x4',['packed_lowp_mat2x4',['../a00303.html#gaea9c555e669dc56c45d95dcc75d59bf3',1,'glm']]], ['packed_5flowp_5fmat3',['packed_lowp_mat3',['../a00303.html#ga0d22400969dd223465b2900fecfb4f53',1,'glm']]], ['packed_5flowp_5fmat3x2',['packed_lowp_mat3x2',['../a00303.html#ga128cd52649621861635fab746df91735',1,'glm']]], ['packed_5flowp_5fmat3x3',['packed_lowp_mat3x3',['../a00303.html#ga5adf1802c5375a9dfb1729691bedd94e',1,'glm']]], ['packed_5flowp_5fmat3x4',['packed_lowp_mat3x4',['../a00303.html#ga92247ca09fa03c4013ba364f3a0fca7f',1,'glm']]], ['packed_5flowp_5fmat4',['packed_lowp_mat4',['../a00303.html#ga2a1dd2387725a335413d4c4fee8609c4',1,'glm']]], ['packed_5flowp_5fmat4x2',['packed_lowp_mat4x2',['../a00303.html#ga8f22607dcd090cd280071ccc689f4079',1,'glm']]], ['packed_5flowp_5fmat4x3',['packed_lowp_mat4x3',['../a00303.html#ga7661d759d6ad218e132e3d051e7b2c6c',1,'glm']]], ['packed_5flowp_5fmat4x4',['packed_lowp_mat4x4',['../a00303.html#ga776f18d1a6e7d399f05d386167dc60f5',1,'glm']]], ['packed_5flowp_5fuvec1',['packed_lowp_uvec1',['../a00303.html#gaf111fed760ecce16cb1988807569bee5',1,'glm']]], ['packed_5flowp_5fuvec2',['packed_lowp_uvec2',['../a00303.html#ga958210fe245a75b058325d367c951132',1,'glm']]], ['packed_5flowp_5fuvec3',['packed_lowp_uvec3',['../a00303.html#ga576a3f8372197a56a79dee1c8280f485',1,'glm']]], ['packed_5flowp_5fuvec4',['packed_lowp_uvec4',['../a00303.html#gafdd97922b4a2a42cd0c99a13877ff4da',1,'glm']]], ['packed_5flowp_5fvec1',['packed_lowp_vec1',['../a00303.html#ga0a6198fe64166a6a61084d43c71518a9',1,'glm']]], ['packed_5flowp_5fvec2',['packed_lowp_vec2',['../a00303.html#gafbf1c2cce307c5594b165819ed83bf5d',1,'glm']]], ['packed_5flowp_5fvec3',['packed_lowp_vec3',['../a00303.html#ga3a30c137c1f8cce478c28eab0427a570',1,'glm']]], ['packed_5flowp_5fvec4',['packed_lowp_vec4',['../a00303.html#ga3cc94fb8de80bbd8a4aa7a5b206d304a',1,'glm']]], ['packed_5fmat2',['packed_mat2',['../a00303.html#gadd019b43fcf42e1590d45dddaa504a1a',1,'glm']]], ['packed_5fmat2x2',['packed_mat2x2',['../a00303.html#ga51eaadcdc292c8750f746a5dc3e6c517',1,'glm']]], ['packed_5fmat2x3',['packed_mat2x3',['../a00303.html#ga301b76a89b8a9625501ca58815017f20',1,'glm']]], ['packed_5fmat2x4',['packed_mat2x4',['../a00303.html#gac401da1dd9177ad81d7618a2a5541e23',1,'glm']]], ['packed_5fmat3',['packed_mat3',['../a00303.html#ga9bc12b0ab7be8448836711b77cc7b83a',1,'glm']]], ['packed_5fmat3x2',['packed_mat3x2',['../a00303.html#ga134f0d99fbd2459c13cd9ebd056509fa',1,'glm']]], ['packed_5fmat3x3',['packed_mat3x3',['../a00303.html#ga6c1dbe8cde9fbb231284b01f8aeaaa99',1,'glm']]], ['packed_5fmat3x4',['packed_mat3x4',['../a00303.html#gad63515526cccfe88ffa8fe5ed64f95f8',1,'glm']]], ['packed_5fmat4',['packed_mat4',['../a00303.html#ga2c139854e5b04cf08a957dee3b510441',1,'glm']]], ['packed_5fmat4x2',['packed_mat4x2',['../a00303.html#ga379c1153f1339bdeaefd592bebf538e8',1,'glm']]], ['packed_5fmat4x3',['packed_mat4x3',['../a00303.html#gab286466e19f7399c8d25089da9400d43',1,'glm']]], ['packed_5fmat4x4',['packed_mat4x4',['../a00303.html#ga67e7102557d6067bb6ac00d4ad0e1374',1,'glm']]], ['packed_5fmediump_5fbvec1',['packed_mediump_bvec1',['../a00303.html#ga5546d828d63010a8f9cf81161ad0275a',1,'glm']]], ['packed_5fmediump_5fbvec2',['packed_mediump_bvec2',['../a00303.html#gab4c6414a59539e66a242ad4cf4b476b4',1,'glm']]], ['packed_5fmediump_5fbvec3',['packed_mediump_bvec3',['../a00303.html#ga70147763edff3fe96b03a0b98d6339a2',1,'glm']]], ['packed_5fmediump_5fbvec4',['packed_mediump_bvec4',['../a00303.html#ga7b1620f259595b9da47a6374fc44588a',1,'glm']]], ['packed_5fmediump_5fdmat2',['packed_mediump_dmat2',['../a00303.html#ga9d60e32d3fcb51f817046cd881fdbf57',1,'glm']]], ['packed_5fmediump_5fdmat2x2',['packed_mediump_dmat2x2',['../a00303.html#ga39e8bb9b70e5694964e8266a21ba534e',1,'glm']]], ['packed_5fmediump_5fdmat2x3',['packed_mediump_dmat2x3',['../a00303.html#ga8897c6d9adb4140b1c3b0a07b8f0a430',1,'glm']]], ['packed_5fmediump_5fdmat2x4',['packed_mediump_dmat2x4',['../a00303.html#gaaa4126969c765e7faa2ebf6951c22ffb',1,'glm']]], ['packed_5fmediump_5fdmat3',['packed_mediump_dmat3',['../a00303.html#gaf969eb879c76a5f4576e4a1e10095cf6',1,'glm']]], ['packed_5fmediump_5fdmat3x2',['packed_mediump_dmat3x2',['../a00303.html#ga86efe91cdaa2864c828a5d6d46356c6a',1,'glm']]], ['packed_5fmediump_5fdmat3x3',['packed_mediump_dmat3x3',['../a00303.html#gaf85877d38d8cfbc21d59d939afd72375',1,'glm']]], ['packed_5fmediump_5fdmat3x4',['packed_mediump_dmat3x4',['../a00303.html#gad5dcaf93df267bc3029174e430e0907f',1,'glm']]], ['packed_5fmediump_5fdmat4',['packed_mediump_dmat4',['../a00303.html#ga4b0ee7996651ddd04eaa0c4cdbb66332',1,'glm']]], ['packed_5fmediump_5fdmat4x2',['packed_mediump_dmat4x2',['../a00303.html#ga9a15514a0631f700de6312b9d5db3a73',1,'glm']]], ['packed_5fmediump_5fdmat4x3',['packed_mediump_dmat4x3',['../a00303.html#gab5b36cc9caee1bb1c5178fe191bf5713',1,'glm']]], ['packed_5fmediump_5fdmat4x4',['packed_mediump_dmat4x4',['../a00303.html#ga21e86cf2f6c126bacf31b8985db06bd4',1,'glm']]], ['packed_5fmediump_5fdvec1',['packed_mediump_dvec1',['../a00303.html#ga8920e90ea9c01d9c97e604a938ce2cbd',1,'glm']]], ['packed_5fmediump_5fdvec2',['packed_mediump_dvec2',['../a00303.html#ga0c754a783b6fcf80374c013371c4dae9',1,'glm']]], ['packed_5fmediump_5fdvec3',['packed_mediump_dvec3',['../a00303.html#ga1f18ada6f7cdd8c46db33ba987280fc4',1,'glm']]], ['packed_5fmediump_5fdvec4',['packed_mediump_dvec4',['../a00303.html#ga568b850f1116b667043533cf77826968',1,'glm']]], ['packed_5fmediump_5fivec1',['packed_mediump_ivec1',['../a00303.html#ga09507ef020a49517a7bcd50438f05056',1,'glm']]], ['packed_5fmediump_5fivec2',['packed_mediump_ivec2',['../a00303.html#gaaa891048dddef4627df33809ec726219',1,'glm']]], ['packed_5fmediump_5fivec3',['packed_mediump_ivec3',['../a00303.html#ga06f26d54dca30994eb1fdadb8e69f4a2',1,'glm']]], ['packed_5fmediump_5fivec4',['packed_mediump_ivec4',['../a00303.html#ga70130dc8ed9c966ec2a221ce586d45d8',1,'glm']]], ['packed_5fmediump_5fmat2',['packed_mediump_mat2',['../a00303.html#ga43cd36d430c5187bfdca34a23cb41581',1,'glm']]], ['packed_5fmediump_5fmat2x2',['packed_mediump_mat2x2',['../a00303.html#ga2d2a73e662759e301c22b8931ff6a526',1,'glm']]], ['packed_5fmediump_5fmat2x3',['packed_mediump_mat2x3',['../a00303.html#ga99049db01faf1e95ed9fb875a47dffe2',1,'glm']]], ['packed_5fmediump_5fmat2x4',['packed_mediump_mat2x4',['../a00303.html#gad43a240533f388ce0504b495d9df3d52',1,'glm']]], ['packed_5fmediump_5fmat3',['packed_mediump_mat3',['../a00303.html#ga13a75c6cbd0a411f694bc82486cd1e55',1,'glm']]], ['packed_5fmediump_5fmat3x2',['packed_mediump_mat3x2',['../a00303.html#ga04cfaf1421284df3c24ea0985dab24e7',1,'glm']]], ['packed_5fmediump_5fmat3x3',['packed_mediump_mat3x3',['../a00303.html#gaaa9cea174d342dd9650e3436823cab23',1,'glm']]], ['packed_5fmediump_5fmat3x4',['packed_mediump_mat3x4',['../a00303.html#gabc93a9560593bd32e099c908531305f5',1,'glm']]], ['packed_5fmediump_5fmat4',['packed_mediump_mat4',['../a00303.html#gae89d72ffc149147f61df701bbc8755bf',1,'glm']]], ['packed_5fmediump_5fmat4x2',['packed_mediump_mat4x2',['../a00303.html#gaa458f9d9e0934bae3097e2a373b24707',1,'glm']]], ['packed_5fmediump_5fmat4x3',['packed_mediump_mat4x3',['../a00303.html#ga02ca6255394aa778abaeb0f733c4d2b6',1,'glm']]], ['packed_5fmediump_5fmat4x4',['packed_mediump_mat4x4',['../a00303.html#gaf304f64c06743c1571401504d3f50259',1,'glm']]], ['packed_5fmediump_5fuvec1',['packed_mediump_uvec1',['../a00303.html#ga2c29fb42bab9a4f9b66bc60b2e514a34',1,'glm']]], ['packed_5fmediump_5fuvec2',['packed_mediump_uvec2',['../a00303.html#gaa1f95690a78dc12e39da32943243aeef',1,'glm']]], ['packed_5fmediump_5fuvec3',['packed_mediump_uvec3',['../a00303.html#ga1ea2bbdbcb0a69242f6d884663c1b0ab',1,'glm']]], ['packed_5fmediump_5fuvec4',['packed_mediump_uvec4',['../a00303.html#ga63a73be86a4f07ea7a7499ab0bfebe45',1,'glm']]], ['packed_5fmediump_5fvec1',['packed_mediump_vec1',['../a00303.html#ga71d63cead1e113fca0bcdaaa33aad050',1,'glm']]], ['packed_5fmediump_5fvec2',['packed_mediump_vec2',['../a00303.html#ga6844c6f4691d1bf67673240850430948',1,'glm']]], ['packed_5fmediump_5fvec3',['packed_mediump_vec3',['../a00303.html#gab0eb771b708c5b2205d9b14dd1434fd8',1,'glm']]], ['packed_5fmediump_5fvec4',['packed_mediump_vec4',['../a00303.html#ga68c9bb24f387b312bae6a0a68e74d95e',1,'glm']]], ['packed_5fuvec1',['packed_uvec1',['../a00303.html#ga5621493caac01bdd22ab6be4416b0314',1,'glm']]], ['packed_5fuvec2',['packed_uvec2',['../a00303.html#gabcc33efb4d5e83b8fe4706360e75b932',1,'glm']]], ['packed_5fuvec3',['packed_uvec3',['../a00303.html#gab96804e99e3a72a35740fec690c79617',1,'glm']]], ['packed_5fuvec4',['packed_uvec4',['../a00303.html#ga8e5d92e84ebdbe2480cf96bc17d6e2f2',1,'glm']]], ['packed_5fvec1',['packed_vec1',['../a00303.html#ga14741e3d9da9ae83765389927f837331',1,'glm']]], ['packed_5fvec2',['packed_vec2',['../a00303.html#ga3254defa5a8f0ae4b02b45fedba84a66',1,'glm']]], ['packed_5fvec3',['packed_vec3',['../a00303.html#gaccccd090e185450caa28b5b63ad4e8f0',1,'glm']]], ['packed_5fvec4',['packed_vec4',['../a00303.html#ga37a0e0bf653169b581c5eea3d547fa5d',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/typedefs_9.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/typedefs_9.js ================================================ var searchData= [ ['quat',['quat',['../a00252.html#gab0b441adb4509bc58d2946c2239a8942',1,'glm']]], ['qword',['qword',['../a00354.html#ga4021754ffb8e5ef14c75802b15657714',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/typedefs_a.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/typedefs_a.js ================================================ var searchData= [ ['sint',['sint',['../a00330.html#gada7e83fdfe943aba4f1d5bf80cb66f40',1,'glm']]], ['size1',['size1',['../a00359.html#gaeb877ac8f9a3703961736c1c5072cf68',1,'glm']]], ['size1_5ft',['size1_t',['../a00359.html#gaaf6accc57f5aa50447ba7310ce3f0d6f',1,'glm']]], ['size2',['size2',['../a00359.html#ga1bfe8c4975ff282bce41be2bacd524fe',1,'glm']]], ['size2_5ft',['size2_t',['../a00359.html#ga5976c25657d4e2b5f73f39364c3845d6',1,'glm']]], ['size3',['size3',['../a00359.html#gae1c72956d0359b0db332c6c8774d3b04',1,'glm']]], ['size3_5ft',['size3_t',['../a00359.html#gaf2654983c60d641fd3808e65a8dfad8d',1,'glm']]], ['size4',['size4',['../a00359.html#ga3a19dde617beaf8ce3cfc2ac5064e9aa',1,'glm']]], ['size4_5ft',['size4_t',['../a00359.html#gaa423efcea63675a2df26990dbcb58656',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/typedefs_b.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/typedefs_b.js ================================================ var searchData= [ ['u16',['u16',['../a00304.html#gaa2d7acc0adb536fab71fe261232a40ff',1,'glm']]], ['u16vec1',['u16vec1',['../a00304.html#ga08c05ba8ffb19f5d14ab584e1e9e9ee5',1,'glm::u16vec1()'],['../a00346.html#ga52cc069a92e126c3a8dcde93424d2ef0',1,'glm::gtx::u16vec1()']]], ['u16vec2',['u16vec2',['../a00304.html#ga2a78447eb9d66a114b193f4a25899c16',1,'glm']]], ['u16vec3',['u16vec3',['../a00304.html#ga1c522ca821c27b862fe51cf4024b064b',1,'glm']]], ['u16vec4',['u16vec4',['../a00304.html#ga529496d75775fb656a07993ea9af2450',1,'glm']]], ['u32',['u32',['../a00304.html#ga8165913e068444f7842302d40ba897b9',1,'glm']]], ['u32vec1',['u32vec1',['../a00304.html#gae627372cfd5f20dd87db490387b71195',1,'glm::u32vec1()'],['../a00346.html#ga9bbc1e14aea65cba5e2dcfef6a67d9f3',1,'glm::gtx::u32vec1()']]], ['u32vec2',['u32vec2',['../a00304.html#ga2a266e46ee218d0c680f12b35c500cc0',1,'glm']]], ['u32vec3',['u32vec3',['../a00304.html#gae267358ff2a41d156d97f5762630235a',1,'glm']]], ['u32vec4',['u32vec4',['../a00304.html#ga31cef34e4cd04840c54741ff2f7005f0',1,'glm']]], ['u64',['u64',['../a00304.html#gaf3f312156984c365e9f65620354da70b',1,'glm']]], ['u64vec1',['u64vec1',['../a00304.html#gaf09f3ca4b671a4a4f84505eb4cc865fd',1,'glm::u64vec1()'],['../a00346.html#ga818de170e2584ab037130f2881925974',1,'glm::gtx::u64vec1()']]], ['u64vec2',['u64vec2',['../a00304.html#gaef3824ed4fe435a019c5b9dddf53fec5',1,'glm']]], ['u64vec3',['u64vec3',['../a00304.html#ga489b89ba93d4f7b3934df78debc52276',1,'glm']]], ['u64vec4',['u64vec4',['../a00304.html#ga3945dd6515d4498cb603e65ff867ab03',1,'glm']]], ['u8',['u8',['../a00304.html#gaecc7082561fc9028b844b6cf3d305d36',1,'glm']]], ['u8vec1',['u8vec1',['../a00304.html#ga29b349e037f0b24320b4548a143daee2',1,'glm::u8vec1()'],['../a00346.html#ga5853fe457f4c8a6bc09343d0e9833980',1,'glm::gtx::u8vec1()']]], ['u8vec2',['u8vec2',['../a00304.html#ga518b8d948a6b4ddb72f84d5c3b7b6611',1,'glm']]], ['u8vec3',['u8vec3',['../a00304.html#ga7c5706f6bbe5282e5598acf7e7b377e2',1,'glm']]], ['u8vec4',['u8vec4',['../a00304.html#ga20779a61de2fd526a17f12fe53ec46b1',1,'glm']]], ['uint16',['uint16',['../a00263.html#ga05f6b0ae8f6a6e135b0e290c25fe0e4e',1,'glm']]], ['uint16_5ft',['uint16_t',['../a00304.html#ga91f91f411080c37730856ff5887f5bcf',1,'glm']]], ['uint32',['uint32',['../a00263.html#ga1134b580f8da4de94ca6b1de4d37975e',1,'glm']]], ['uint32_5ft',['uint32_t',['../a00304.html#ga2171d9dc1fefb1c82e2817f45b622eac',1,'glm']]], ['uint64',['uint64',['../a00263.html#gab630f76c26b50298187f7889104d4b9c',1,'glm']]], ['uint64_5ft',['uint64_t',['../a00304.html#ga3999d3e7ff22025c16ddb601e14dfdee',1,'glm']]], ['uint8',['uint8',['../a00263.html#gadde6aaee8457bee49c2a92621fe22b79',1,'glm']]], ['uint8_5ft',['uint8_t',['../a00304.html#ga28d97808322d3c92186e4a0c067d7e8e',1,'glm']]], ['umat2',['umat2',['../a00294.html#ga4cae85566f900debf930c41944b64691',1,'glm']]], ['umat2x2',['umat2x2',['../a00294.html#gabf8acdd33ce8951051edbca5200898aa',1,'glm']]], ['umat2x3',['umat2x3',['../a00294.html#ga1870da7578d5022b973a83155d386ab3',1,'glm']]], ['umat2x4',['umat2x4',['../a00294.html#ga57936a3998e992370e59a223e0ee4fd4',1,'glm']]], ['umat3',['umat3',['../a00294.html#ga5085e3ff02abbac5e537eb7b89ab63b6',1,'glm']]], ['umat3x2',['umat3x2',['../a00294.html#ga9cd7fa637a4a6788337f45231fad9e1a',1,'glm']]], ['umat3x3',['umat3x3',['../a00294.html#ga1f2cfcf3357db0cdf31fcb15e3c6bafb',1,'glm']]], ['umat3x4',['umat3x4',['../a00294.html#gae7c78ff3fc4309605ab0fa186c8d48ba',1,'glm']]], ['umat4',['umat4',['../a00294.html#ga38bc7bb6494e344185df596deeb4544c',1,'glm']]], ['umat4x2',['umat4x2',['../a00294.html#ga70fa2d05896aa83cbc8c07672a429b53',1,'glm']]], ['umat4x3',['umat4x3',['../a00294.html#ga87581417945411f75cb31dd6ca1dba98',1,'glm']]], ['umat4x4',['umat4x4',['../a00294.html#gaf72e6d399c42985db6872c50f53d7eb8',1,'glm']]], ['uvec1',['uvec1',['../a00276.html#gac3bdd96183d23876c58a1424585fefe7',1,'glm']]], ['uvec2',['uvec2',['../a00281.html#ga2f6d9ec3ae14813ade37d6aee3715fdb',1,'glm']]], ['uvec3',['uvec3',['../a00281.html#ga3d3e55874babd4bf93baa7bbc83ae418',1,'glm']]], ['uvec4',['uvec4',['../a00281.html#gaa57e96bb337867329d5f43bcc27c1095',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/typedefs_c.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/typedefs_c.js ================================================ var searchData= [ ['vec1',['vec1',['../a00270.html#gadfc071d934d8dae7955a1d530a3cf656',1,'glm']]], ['vec2',['vec2',['../a00281.html#gabe65c061834f61b4f7cb6037b19006a4',1,'glm']]], ['vec3',['vec3',['../a00281.html#ga9c3019b13faf179e4ad3626ea66df334',1,'glm']]], ['vec4',['vec4',['../a00281.html#gac215a35481a6597d1bf622a382e9d6e2',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/typedefs_d.html ================================================
Loading...
Searching...
No Matches
================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/search/typedefs_d.js ================================================ var searchData= [ ['word',['word',['../a00354.html#ga16e9fea0ef1e6c4ef472d3d1731c49a5',1,'glm']]] ]; ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/api/tabs.css ================================================ .tabs, .tabs2, .tabs3 { background-image: url('tab_b.png'); width: 100%; z-index: 101; font-size: 13px; font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; } .tabs2 { font-size: 10px; } .tabs3 { font-size: 9px; } .tablist { margin: 0; padding: 0; display: table; } .tablist li { float: left; display: table-cell; background-image: url('tab_b.png'); line-height: 36px; list-style: none; } .tablist a { display: block; padding: 0 20px; font-weight: bold; background-image:url('tab_s.png'); background-repeat:no-repeat; background-position:right; color: #283A5D; text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); text-decoration: none; outline: none; } .tabs3 .tablist a { padding: 0 10px; } .tablist a:hover { background-image: url('tab_h.png'); background-repeat:repeat-x; color: #fff; text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); text-decoration: none; } .tablist li.current a { background-image: url('tab_a.png'); background-repeat:repeat-x; color: #fff; text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); } ================================================ FILE: submodules/diff-gaussian-rasterization-abs/third_party/glm/doc/man.doxy ================================================ # Doxyfile 1.8.10 # 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 config 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 http://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 = "0.9.9 API documentation" # 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 = # 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 = theme/logo-mini.png # 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 = . # 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 # 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 = "The $name class " \ "The $name widget " \ "The $name file " \ is \ provides \ specifies \ contains \ represents \ a \ an \ the # 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 = NO # 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 = "C:/Documents and Settings/Groove/ " # 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 = YES # 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 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 = NO # 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 # 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 = 8 # 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. ALIASES = # This tag can be used to specify a number of word-keyword mappings (TCL only). # A mapping has the form "name=value". For example adding "class=itcl::class" # will allow you to use the command class in the itcl::class meaning. TCL_SUBST = # 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 # 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, # C#, C, C++, D, PHP, Objective-C, Python, 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), VHDL. 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 http://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 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 = NO # 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: # http://www.riverbankcomputing.co.uk/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 = NO # 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 = NO # 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 #--------------------------------------------------------------------------- # 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 = NO # 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 = 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 = NO # 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 = NO # 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 = YES # 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 = YES # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend # (class|struct|union) declarations. If set to NO, these declarations will be # included in the documentation. # The default value is: NO. HIDE_FRIEND_COMPOUNDS = YES # 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 # 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 = YES # 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 = NO # 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 = NO # 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 = YES # 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 = NO # 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 = # 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 http://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 = YES # 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. # The default value is: NO. WARN_NO_PARAMDOC = 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 = ../glm \ . # 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: http://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, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, # *.vhdl, *.ucf, *.qsf, *.as and *.js. FILE_PATTERNS = *.hpp \ *.doxy # 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 = # 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 = # 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. 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. 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 # function 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 http://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 config 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 # compiled with the --with-libclang option. # 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 = #--------------------------------------------------------------------------- # 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 = html # 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 # http://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_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: http://developer.apple.com/tools/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 http://developer.apple.com/tools/creatingdocsetswithdoxygen.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: http://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 master .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: http://qt-project.org/doc/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: http://qt-project.org/doc/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: http://qt-project.org/doc/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: http://qt-project.org/doc/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: # http://qt-project.org/doc/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 = NO # 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 = NO # 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 # 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_TRANPARENT 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 # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see # http://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 http://www.mathjax.org before deployment. # The default value is: http://cdn.mathjax.org/mathjax/latest. # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_RELPATH = http://www.mathjax.org/mathjax # 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 # , /