├── .gitignore
├── LICENSE.md
├── README.md
├── SIBR_viewers
├── CMakeLists.txt
├── LICENSE.md
├── README.md
├── assets
│ └── images
│ │ ├── cmake.png
│ │ ├── select.png
│ │ ├── step1.png
│ │ ├── step2.png
│ │ ├── step3.png
│ │ ├── step4.png
│ │ ├── step5.png
│ │ └── step6.png
├── cmake
│ ├── linux
│ │ ├── MSVCsetUserCommand.cmake
│ │ ├── Modules
│ │ │ ├── FindASSIMP.cmake
│ │ │ ├── FindEGL.cmake
│ │ │ ├── FindEmbree.cmake
│ │ │ ├── FindFFMPEG.cmake
│ │ │ └── FindGLFW.cmake
│ │ ├── Win3rdParty.cmake
│ │ ├── cmake_policies.cmake
│ │ ├── dependencies.cmake
│ │ ├── downloadAndExtractZipFile.cmake
│ │ ├── git_describe.cmake
│ │ ├── include_once.cmake
│ │ ├── install_runtime.cmake
│ │ ├── parse_arguments_multi.cmake
│ │ └── sibr_library.cmake
│ └── windows
│ │ ├── MSVCsetUserCommand.cmake
│ │ ├── Modules
│ │ ├── FindASSIMP.cmake
│ │ ├── FindEmbree.cmake
│ │ └── FindFFmpeg.cmake
│ │ ├── Win3rdParty.cmake
│ │ ├── cmake_policies.cmake
│ │ ├── dependencies.cmake
│ │ ├── downloadAndExtractZipFile.cmake
│ │ ├── git_describe.cmake
│ │ ├── include_once.cmake
│ │ ├── install_runtime.cmake
│ │ ├── parse_arguments_multi.cmake
│ │ └── sibr_library.cmake
├── docs
│ ├── CMakeLists.txt
│ ├── doxyfile.in
│ ├── doxygen_prebuild.cmake.in
│ ├── img
│ │ ├── capreal
│ │ │ ├── caprealaddinputs.png
│ │ │ ├── caprealalignimages.png
│ │ │ ├── caprealcolorizesimplify.png
│ │ │ ├── caprealexportmodel.png
│ │ │ ├── caprealinputsonly.png
│ │ │ ├── caprealmesh.png
│ │ │ ├── caprealmeshreconstruction.png
│ │ │ ├── caprealnew.png
│ │ │ ├── caprealpointcloud.png
│ │ │ └── meshlab.png
│ │ ├── cmake.gif
│ │ ├── diagramas
│ │ │ ├── class
│ │ │ │ ├── sibr_classes_v2.png
│ │ │ │ └── unity_ulr.png
│ │ │ └── sequence
│ │ │ │ ├── AssetStreamer
│ │ │ │ └── seq_assetStreamer.pdf
│ │ │ │ ├── Renderers
│ │ │ │ ├── seq_insideOut.pdf
│ │ │ │ ├── seq_ulr_stream.pdf
│ │ │ │ └── seq_ulr_v3_landscape.pdf
│ │ │ │ └── Unity
│ │ │ │ ├── seq_unity_ulr_rendering.pdf
│ │ │ │ └── seq_unity_ulr_texture_upload.pdf
│ │ ├── ibr_common_cmake.png
│ │ ├── ibr_common_globale.png
│ │ ├── ibr_common_principle.png
│ │ ├── jesnault_git_cheat_sheet.png
│ │ ├── multimeshmanager.png
│ │ ├── multiviewmanager.png
│ │ ├── sibr_dataset.png
│ │ ├── sibr_diagram_lvl2.svg
│ │ ├── sibr_new_architecture.png
│ │ └── ulr_screenshot.png
│ ├── layout.xml.in
│ └── pages
│ │ ├── 1_Getting_Started.dox
│ │ ├── 2_Projects.dox
│ │ ├── 2_Projects.dox.in
│ │ ├── 3_Tutorials.dox
│ │ ├── 4_Architecture.dox
│ │ └── Tutorials
│ │ ├── How to generate your dataset
│ │ ├── How_to_create_dataset_from_colmap.dox
│ │ └── How_to_create_dataset_from_realitycapture.dox
│ │ ├── How to setup your own project
│ │ ├── Configuring_your_project.dox
│ │ ├── Creating_your_library.dox
│ │ ├── Documenting_a_project.dox
│ │ └── Project_structure.dox
│ │ ├── How_to_generate_your_dataset.dox
│ │ ├── How_to_setup_your_own_project.dox
│ │ ├── Paths_and_cameras.dox
│ │ └── Useful_sibr_elements.dox
└── src
│ ├── CMakeLists.txt
│ ├── core
│ ├── assets
│ │ ├── ActiveImageFile.cpp
│ │ ├── ActiveImageFile.hpp
│ │ ├── CMakeLists.txt
│ │ ├── CameraRecorder.cpp
│ │ ├── CameraRecorder.hpp
│ │ ├── Config.hpp
│ │ ├── IFileLoader.hpp
│ │ ├── ImageListFile.cpp
│ │ ├── ImageListFile.hpp
│ │ ├── InputCamera.cpp
│ │ ├── InputCamera.hpp
│ │ ├── Resources.cpp
│ │ ├── Resources.hpp
│ │ ├── UVUnwrapper.cpp
│ │ ├── UVUnwrapper.hpp
│ │ ├── colmapheader.h
│ │ └── sibr_assets.dox
│ ├── graphics
│ │ ├── CMakeLists.txt
│ │ ├── Camera.cpp
│ │ ├── Camera.hpp
│ │ ├── Config.hpp
│ │ ├── Frustum.cpp
│ │ ├── Frustum.hpp
│ │ ├── GPUQuery.cpp
│ │ ├── GPUQuery.hpp
│ │ ├── GUI.cpp
│ │ ├── GUI.hpp
│ │ ├── Image.cpp
│ │ ├── Image.hpp
│ │ ├── Input.cpp
│ │ ├── Input.hpp
│ │ ├── MaterialMesh.cpp
│ │ ├── MaterialMesh.hpp
│ │ ├── Mesh.cpp
│ │ ├── Mesh.hpp
│ │ ├── MeshBufferGL.cpp
│ │ ├── MeshBufferGL.hpp
│ │ ├── RenderTarget.cpp
│ │ ├── RenderTarget.hpp
│ │ ├── RenderUtility.cpp
│ │ ├── RenderUtility.hpp
│ │ ├── Shader.cpp
│ │ ├── Shader.hpp
│ │ ├── Shader.inl
│ │ ├── Texture.cpp
│ │ ├── Texture.hpp
│ │ ├── Types.hpp
│ │ ├── Utils.cpp
│ │ ├── Utils.hpp
│ │ ├── Viewport.cpp
│ │ ├── Viewport.hpp
│ │ ├── Window.cpp
│ │ ├── Window.hpp
│ │ ├── resources
│ │ │ └── imgui_default.ini
│ │ └── sibr_graphics.dox
│ ├── imgproc
│ │ ├── CMakeLists.txt
│ │ ├── Config.hpp
│ │ ├── CropScaleImageUtility.cpp
│ │ ├── CropScaleImageUtility.hpp
│ │ ├── DistordCropUtility.cpp
│ │ ├── DistordCropUtility.hpp
│ │ ├── MRFSolver.cpp
│ │ ├── MRFSolver.h
│ │ ├── MeshTexturing.cpp
│ │ ├── MeshTexturing.hpp
│ │ ├── PoissonReconstruction.cpp
│ │ ├── PoissonReconstruction.hpp
│ │ └── sibr_imgproc.dox
│ ├── raycaster
│ │ ├── CMakeLists.txt
│ │ ├── CameraRaycaster.cpp
│ │ ├── CameraRaycaster.hpp
│ │ ├── Config.hpp
│ │ ├── Intersector2D.cpp
│ │ ├── Intersector2D.h
│ │ ├── KdTree.hpp
│ │ ├── PlaneEstimator.cpp
│ │ ├── PlaneEstimator.hpp
│ │ ├── Ray.cpp
│ │ ├── Ray.hpp
│ │ ├── Raycaster.cpp
│ │ ├── Raycaster.hpp
│ │ ├── VoxelGrid.cpp
│ │ ├── VoxelGrid.hpp
│ │ └── sibr_raycaster.dox
│ ├── renderer
│ │ ├── AddShadowRenderer.cpp
│ │ ├── AddShadowRenderer.hpp
│ │ ├── BinaryMeshRenderer.cpp
│ │ ├── BinaryMeshRenderer.hpp
│ │ ├── BlurRenderer.cpp
│ │ ├── BlurRenderer.hpp
│ │ ├── CMakeLists.txt
│ │ ├── ColoredMeshRenderer.cpp
│ │ ├── ColoredMeshRenderer.hpp
│ │ ├── Config.hpp
│ │ ├── CopyRenderer.cpp
│ │ ├── CopyRenderer.hpp
│ │ ├── DepthRenderer.cpp
│ │ ├── DepthRenderer.hpp
│ │ ├── NormalRenderer.cpp
│ │ ├── NormalRenderer.hpp
│ │ ├── PointBasedRenderer.cpp
│ │ ├── PointBasedRenderer.hpp
│ │ ├── PoissonRenderer.cpp
│ │ ├── PoissonRenderer.hpp
│ │ ├── PositionRender.cpp
│ │ ├── PositionRender.hpp
│ │ ├── RenderMaskHolder.cpp
│ │ ├── RenderMaskHolder.hpp
│ │ ├── ShadowMapRenderer.cpp
│ │ ├── ShadowMapRenderer.hpp
│ │ ├── TexturedMeshRenderer.cpp
│ │ ├── TexturedMeshRenderer.hpp
│ │ ├── shaders
│ │ │ ├── addshadow.frag
│ │ │ ├── blur.frag
│ │ │ ├── colored_mesh.frag
│ │ │ ├── colored_mesh.vert
│ │ │ ├── copy.frag
│ │ │ ├── copy_depth.frag
│ │ │ ├── depthRenderer.fp
│ │ │ ├── depthRenderer.vp
│ │ │ ├── emotive_relight.frag
│ │ │ ├── emotive_relight.vert
│ │ │ ├── hdrEnvMap.frag
│ │ │ ├── hdrEnvMap.vert
│ │ │ ├── longlat.gp
│ │ │ ├── longlat.tcs
│ │ │ ├── longlat.tes
│ │ │ ├── longlat.vp
│ │ │ ├── longlatColor.fp
│ │ │ ├── longlatDepth.fp
│ │ │ ├── noproj.vert
│ │ │ ├── normalRenderer.fp
│ │ │ ├── normalRenderer.vp
│ │ │ ├── normalRendererGen.gp
│ │ │ ├── normalRendererGen.vp
│ │ │ ├── poisson_diverg.frag
│ │ │ ├── poisson_interp.frag
│ │ │ ├── poisson_jacobi.frag
│ │ │ ├── poisson_restrict.frag
│ │ │ ├── positionReflectedDirRenderer.frag
│ │ │ ├── positionReflectedDirRenderer.vert
│ │ │ ├── positionRenderer.frag
│ │ │ ├── positionRenderer.vert
│ │ │ ├── shadowMapRenderer.fp
│ │ │ ├── shadowMapRenderer.vp
│ │ │ ├── texture-invert.frag
│ │ │ ├── texture.frag
│ │ │ ├── texture.vert
│ │ │ ├── textured_mesh.frag
│ │ │ ├── textured_mesh.vert
│ │ │ └── textured_mesh_flipY.vert
│ │ └── sibr_renderer.dox
│ ├── scene
│ │ ├── BasicIBRScene.cpp
│ │ ├── BasicIBRScene.hpp
│ │ ├── CMakeLists.txt
│ │ ├── CalibratedCameras.cpp
│ │ ├── CalibratedCameras.hpp
│ │ ├── Config.hpp
│ │ ├── ICalibratedCameras.hpp
│ │ ├── IIBRScene.hpp
│ │ ├── IInputImages.hpp
│ │ ├── IParseData.hpp
│ │ ├── IProxyMesh.hpp
│ │ ├── InputImages.cpp
│ │ ├── InputImages.hpp
│ │ ├── ParseData.cpp
│ │ ├── ParseData.hpp
│ │ ├── ProxyMesh.cpp
│ │ ├── ProxyMesh.hpp
│ │ ├── RenderTargetTextures.cpp
│ │ ├── RenderTargetTextures.hpp
│ │ └── sibr_scene.dox
│ ├── system
│ │ ├── Array2d.hpp
│ │ ├── ByteStream.cpp
│ │ ├── ByteStream.hpp
│ │ ├── CMakeLists.txt
│ │ ├── CommandLineArgs.cpp
│ │ ├── CommandLineArgs.hpp
│ │ ├── Config.cpp
│ │ ├── Config.hpp
│ │ ├── LoadingProgress.cpp
│ │ ├── LoadingProgress.hpp
│ │ ├── MD5.h
│ │ ├── Matrix.cpp
│ │ ├── Matrix.hpp
│ │ ├── MatrixBasePlugin.hpp
│ │ ├── MatrixPlugin.hpp
│ │ ├── Quaternion.cpp
│ │ ├── Quaternion.hpp
│ │ ├── Rect.hpp
│ │ ├── SimpleTimer.hpp
│ │ ├── String.cpp
│ │ ├── String.hpp
│ │ ├── ThreadIdWorker.cpp
│ │ ├── ThreadIdWorker.hpp
│ │ ├── Transform3.hpp
│ │ ├── Utils.cpp
│ │ ├── Utils.hpp
│ │ ├── Vector.cpp
│ │ ├── Vector.hpp
│ │ ├── VectorUtils.cpp
│ │ ├── VectorUtils.hpp
│ │ ├── XMLTree.cpp
│ │ ├── XMLTree.h
│ │ └── sibr_system.dox
│ ├── video
│ │ ├── CMakeLists.txt
│ │ ├── Config.hpp
│ │ ├── FFmpegVideoEncoder.cpp
│ │ ├── FFmpegVideoEncoder.hpp
│ │ ├── MultipleVideoDecoder.hpp
│ │ ├── Video.cpp
│ │ ├── Video.hpp
│ │ ├── VideoUtils.cpp
│ │ ├── VideoUtils.hpp
│ │ └── sibr_video.dox
│ └── view
│ │ ├── CMakeLists.txt
│ │ ├── Config.hpp
│ │ ├── DatasetView.cpp
│ │ ├── DatasetView.hpp
│ │ ├── FPSCamera.cpp
│ │ ├── FPSCamera.hpp
│ │ ├── FPSCounter.cpp
│ │ ├── FPSCounter.hpp
│ │ ├── IBRBasicUtils.cpp
│ │ ├── IBRBasicUtils.hpp
│ │ ├── ICameraHandler.cpp
│ │ ├── ICameraHandler.hpp
│ │ ├── ImageView.cpp
│ │ ├── ImageView.hpp
│ │ ├── ImagesGrid.cpp
│ │ ├── ImagesGrid.hpp
│ │ ├── InteractiveCameraHandler.cpp
│ │ ├── InteractiveCameraHandler.hpp
│ │ ├── MultiMeshManager.cpp
│ │ ├── MultiMeshManager.hpp
│ │ ├── MultiViewManager.cpp
│ │ ├── MultiViewManager.hpp
│ │ ├── Orbit.cpp
│ │ ├── Orbit.hpp
│ │ ├── RenderingMode.cpp
│ │ ├── RenderingMode.hpp
│ │ ├── SceneDebugView.cpp
│ │ ├── SceneDebugView.hpp
│ │ ├── Skybox.cpp
│ │ ├── Skybox.hpp
│ │ ├── TrackBall.cpp
│ │ ├── TrackBall.h
│ │ ├── UIShortcuts.cpp
│ │ ├── UIShortcuts.hpp
│ │ ├── ViewBase.cpp
│ │ ├── ViewBase.hpp
│ │ ├── interface
│ │ ├── Interface.cpp
│ │ ├── Interface.h
│ │ ├── InterfaceUtils.cpp
│ │ ├── InterfaceUtils.h
│ │ ├── MeshViewer.cpp
│ │ └── MeshViewer.h
│ │ ├── shaders
│ │ ├── alpha_colored_mesh.frag
│ │ ├── alpha_colored_mesh.vert
│ │ ├── alpha_colored_per_triangle_normals.geom
│ │ ├── alpha_colored_per_triangle_normals.vert
│ │ ├── alpha_colored_per_vertex_normals.geom
│ │ ├── alpha_colored_per_vertex_normals.vert
│ │ ├── alpha_points.frag
│ │ ├── alpha_points.vert
│ │ ├── alpha_uv_tex.frag
│ │ ├── alpha_uv_tex_array.frag
│ │ ├── alphaimgview.fp
│ │ ├── alphaimgview.vp
│ │ ├── anaglyph.fp
│ │ ├── anaglyph.vp
│ │ ├── axisgizmo.fp
│ │ ├── axisgizmo.vp
│ │ ├── camstub.fp
│ │ ├── camstub.vp
│ │ ├── depth.fp
│ │ ├── depth.vp
│ │ ├── depthonly.fp
│ │ ├── depthonly.vp
│ │ ├── image_viewer.frag
│ │ ├── image_viewer.vert
│ │ ├── mesh_color.fp
│ │ ├── mesh_color.vp
│ │ ├── mesh_debugview.fp
│ │ ├── mesh_debugview.vp
│ │ ├── mesh_normal.fp
│ │ ├── mesh_normal.vp
│ │ ├── number.fp
│ │ ├── number.vp
│ │ ├── skybox.fp
│ │ ├── skybox.vp
│ │ ├── text-imgui.fp
│ │ ├── text-imgui.vp
│ │ ├── texture.fp
│ │ ├── texture.vp
│ │ ├── topview.fp
│ │ ├── topview.vp
│ │ └── uv_mesh.vert
│ │ └── sibr_view.dox
│ └── projects
│ ├── basic
│ ├── CMakeLists.txt
│ ├── apps
│ │ ├── CMakeLists.txt
│ │ ├── pointBased
│ │ │ ├── .CMakeLists.txt.un~
│ │ │ ├── .main.cpp.un~
│ │ │ ├── CMakeLists.txt
│ │ │ ├── CMakeLists.txt~
│ │ │ ├── main.cpp
│ │ │ └── main.cpp~
│ │ └── texturedMesh
│ │ │ ├── CMakeLists.txt
│ │ │ ├── main.cpp
│ │ │ └── resources
│ │ │ └── sibr_texturedMesh_app.ini
│ └── renderer
│ │ ├── CMakeLists.txt
│ │ ├── Config.hpp
│ │ ├── PointBasedView.cpp
│ │ ├── PointBasedView.hpp
│ │ ├── TexturedMeshView.cpp
│ │ └── TexturedMeshView.hpp
│ ├── dataset_tools
│ ├── CMakeLists.txt
│ ├── documentation
│ │ ├── dataset_tools.dox
│ │ ├── dataset_tools_doc.cmake
│ │ ├── fullColmapProcess.dox
│ │ └── img
│ │ │ └── colmapfullpipeline.png
│ ├── preprocess
│ │ ├── CMakeLists.txt
│ │ ├── alignMeshes
│ │ │ ├── CMakeLists.txt
│ │ │ └── main.cpp
│ │ ├── cameraConverter
│ │ │ ├── CMakeLists.txt
│ │ │ └── main.cpp
│ │ ├── clippingPlanes
│ │ │ ├── CMakeLists.txt
│ │ │ └── main.cpp
│ │ ├── converters
│ │ │ ├── CMakeLists.txt
│ │ │ ├── bundle.py
│ │ │ ├── colmap2sibr.py
│ │ │ ├── generate_list_images.py
│ │ │ ├── get_image_size.py
│ │ │ ├── ibr_convert_old_to_new.py
│ │ │ ├── ibr_preprocess_rc_to_sibr.py
│ │ │ ├── meshlab
│ │ │ │ ├── simplify.mlx
│ │ │ │ ├── simplify200.mlx
│ │ │ │ ├── simplify250.mlx
│ │ │ │ ├── simplify300.mlx
│ │ │ │ ├── simplify350.mlx
│ │ │ │ └── wedge_to_vertex_uvs.mlx
│ │ │ ├── simplify_mesh.py
│ │ │ └── wedge_to_vertex_uvs.py
│ │ ├── cropFromCenter
│ │ │ ├── CMakeLists.txt
│ │ │ └── main.cpp
│ │ ├── distordCrop
│ │ │ ├── CMakeLists.txt
│ │ │ └── main.cpp
│ │ ├── fullColmapProcess
│ │ │ ├── CMakeLists.txt
│ │ │ ├── ColmapProcessSteps.json
│ │ │ ├── ColmapQualityParameters.json
│ │ │ ├── SelectiveColmapProcessSteps.json
│ │ │ ├── colmap2nerf.py
│ │ │ ├── fullColmapProcess.py
│ │ │ ├── read_write_model.py
│ │ │ ├── selectiveColmapProcess.py
│ │ │ ├── selective_colmap_process.py
│ │ │ └── textureOnly.py
│ │ ├── meshroomPythonScripts
│ │ │ ├── CMakeLists.txt
│ │ │ └── ULR.py
│ │ ├── nvmToSIBR
│ │ │ ├── CMakeLists.txt
│ │ │ └── main.cpp
│ │ ├── prepareColmap4Sibr
│ │ │ ├── CMakeLists.txt
│ │ │ └── main.cpp
│ │ ├── realityCaptureTools
│ │ │ ├── CMakeLists.txt
│ │ │ ├── SetVariables.bat
│ │ │ ├── exportModel.xml
│ │ │ ├── fixup.bat
│ │ │ ├── processRCSteps.json
│ │ │ ├── rc_tools.py
│ │ │ ├── registrationConfig.xml
│ │ │ └── runRC.bat
│ │ ├── textureMesh
│ │ │ ├── CMakeLists.txt
│ │ │ └── main.cpp
│ │ ├── tonemapper
│ │ │ ├── CMakeLists.txt
│ │ │ └── main.cpp
│ │ ├── unwrapMesh
│ │ │ ├── CMakeLists.txt
│ │ │ └── main.cpp
│ │ └── utils
│ │ │ ├── CMakeLists.txt
│ │ │ ├── TaskPipeline.py
│ │ │ ├── color.py
│ │ │ ├── commands.py
│ │ │ ├── convert.py
│ │ │ ├── datasets.py
│ │ │ └── paths.py
│ └── scripts
│ │ └── processRC.py
│ ├── gaussianviewer
│ ├── CMakeLists.txt
│ ├── apps
│ │ ├── CMakeLists.txt
│ │ └── gaussianViewer
│ │ │ ├── CMakeLists.txt
│ │ │ └── main.cpp
│ └── renderer
│ │ ├── CMakeLists.txt
│ │ ├── Config.hpp
│ │ ├── GaussianSurfaceRenderer.cpp
│ │ ├── GaussianSurfaceRenderer.hpp
│ │ ├── GaussianView.cpp
│ │ ├── GaussianView.hpp
│ │ └── shaders
│ │ ├── copy.frag
│ │ ├── copy.vert
│ │ ├── gaussian_surface.frag
│ │ └── gaussian_surface.vert
│ ├── remote
│ ├── CMakeLists.txt
│ ├── apps
│ │ ├── CMakeLists.txt
│ │ └── remoteGaussianUI
│ │ │ ├── CMakeLists.txt
│ │ │ └── main.cpp
│ ├── json.hpp
│ └── renderer
│ │ ├── CMakeLists.txt
│ │ ├── Config.hpp
│ │ ├── RemotePointView.cpp
│ │ └── RemotePointView.hpp
│ ├── trackChanges.sh
│ └── ulr
│ ├── CMakeLists.txt
│ ├── apps
│ ├── CMakeLists.txt
│ ├── ulr
│ │ ├── CMakeLists.txt
│ │ ├── main.cpp
│ │ └── resources
│ │ │ └── sibr_ulr_app.ini
│ └── ulrv2
│ │ ├── CMakeLists.txt
│ │ ├── main.cpp
│ │ └── resources
│ │ └── sibr_ulrv2_app.ini
│ ├── documentation
│ ├── IBR_ULR.dox
│ └── ulr_doc.cmake
│ └── renderer
│ ├── CMakeLists.txt
│ ├── Config.hpp
│ ├── ULRRenderer.cpp
│ ├── ULRRenderer.hpp
│ ├── ULRV2Renderer.cpp
│ ├── ULRV2Renderer.hpp
│ ├── ULRV2View.cpp
│ ├── ULRV2View.hpp
│ ├── ULRV3Renderer.cpp
│ ├── ULRV3Renderer.hpp
│ ├── ULRV3View.cpp
│ ├── ULRV3View.hpp
│ ├── ULRView.cpp
│ ├── ULRView.hpp
│ └── shaders
│ ├── ulr.vert
│ ├── ulr1.frag
│ ├── ulr2.frag
│ ├── ulr_intersect.frag
│ ├── ulr_intersect.vert
│ ├── ulr_v2.frag
│ ├── ulr_v2.vert
│ ├── ulr_v2_alt.frag
│ ├── ulr_v3.frag
│ ├── ulr_v3.vert
│ ├── ulr_v3_alt.frag
│ └── ulr_v3_fast.frag
├── arguments
└── __init__.py
├── assets
├── pipeline.png
└── teaser_big.png
├── convert.py
├── environment.yml
├── 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
├── embedding.py
└── gaussian_model.py
├── single_train.sh
├── submodules
├── diff-gaussian-rasterization
│ ├── .gitignore
│ ├── .gitmodules
│ ├── CMakeLists.txt
│ ├── LICENSE.md
│ ├── README.md
│ ├── cuda_rasterizer
│ │ ├── auxiliary.h
│ │ ├── backward.cu
│ │ ├── backward.h
│ │ ├── backward_reweighted.cu
│ │ ├── config.h
│ │ ├── forward.cu
│ │ ├── forward.h
│ │ ├── forward_reweighted.cu
│ │ ├── rasterizer.h
│ │ ├── rasterizer_impl.cu
│ │ └── rasterizer_impl.h
│ ├── diff_gaussian_rasterization
│ │ └── __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
│ │ │ │ ├── arrowdown.png
│ │ │ │ ├── arrowright.png
│ │ │ │ ├── bc_s.png
│ │ │ │ ├── bdwn.png
│ │ │ │ ├── closed.png
│ │ │ │ ├── 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
│ │ │ │ ├── doc.png
│ │ │ │ ├── doxygen.css
│ │ │ │ ├── doxygen.png
│ │ │ │ ├── dynsections.js
│ │ │ │ ├── files.html
│ │ │ │ ├── folderclosed.png
│ │ │ │ ├── folderopen.png
│ │ │ │ ├── index.html
│ │ │ │ ├── jquery.js
│ │ │ │ ├── modules.html
│ │ │ │ ├── nav_f.png
│ │ │ │ ├── nav_g.png
│ │ │ │ ├── nav_h.png
│ │ │ │ ├── open.png
│ │ │ │ ├── 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
│ │ │ │ │ ├── close.png
│ │ │ │ │ ├── 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
│ │ │ │ │ ├── mag_sel.png
│ │ │ │ │ ├── nomatches.html
│ │ │ │ │ ├── pages_0.html
│ │ │ │ │ ├── pages_0.js
│ │ │ │ │ ├── search.css
│ │ │ │ │ ├── search.js
│ │ │ │ │ ├── search_l.png
│ │ │ │ │ ├── search_m.png
│ │ │ │ │ ├── search_r.png
│ │ │ │ │ ├── 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
│ │ │ │ ├── splitbar.png
│ │ │ │ ├── sync_off.png
│ │ │ │ ├── sync_on.png
│ │ │ │ ├── tab_a.png
│ │ │ │ ├── tab_b.png
│ │ │ │ ├── tab_h.png
│ │ │ │ ├── tab_s.png
│ │ │ │ └── tabs.css
│ │ │ ├── man.doxy
│ │ │ ├── manual.pdf
│ │ │ ├── manual
│ │ │ │ ├── frontpage1.png
│ │ │ │ ├── frontpage2.png
│ │ │ │ ├── g-truc.png
│ │ │ │ ├── noise-perlin1.jpg
│ │ │ │ ├── noise-perlin2.jpg
│ │ │ │ ├── noise-perlin3.jpg
│ │ │ │ ├── noise-perlin4.png
│ │ │ │ ├── noise-perlin5.png
│ │ │ │ ├── noise-perlin6.png
│ │ │ │ ├── noise-simplex1.jpg
│ │ │ │ ├── noise-simplex2.jpg
│ │ │ │ ├── noise-simplex3.jpg
│ │ │ │ ├── random-ballrand.png
│ │ │ │ ├── random-circularrand.png
│ │ │ │ ├── random-diskrand.png
│ │ │ │ ├── random-gaussrand.png
│ │ │ │ ├── random-linearrand.png
│ │ │ │ ├── random-sphericalrand.png
│ │ │ │ ├── references-cinder.png
│ │ │ │ ├── references-glsl4book.jpg
│ │ │ │ ├── references-leosfortune.jpeg
│ │ │ │ ├── references-leosfortune2.jpg
│ │ │ │ ├── references-opencloth1.png
│ │ │ │ ├── references-opencloth3.png
│ │ │ │ ├── references-outerra1.jpg
│ │ │ │ ├── references-outerra2.jpg
│ │ │ │ ├── references-outerra3.jpg
│ │ │ │ └── references-outerra4.jpg
│ │ │ └── theme
│ │ │ │ ├── bc_s.png
│ │ │ │ ├── bdwn.png
│ │ │ │ ├── closed.png
│ │ │ │ ├── doc.png
│ │ │ │ ├── doxygen.css
│ │ │ │ ├── doxygen.png
│ │ │ │ ├── folderclosed.png
│ │ │ │ ├── folderopen.png
│ │ │ │ ├── nav_f.png
│ │ │ │ ├── nav_g.png
│ │ │ │ ├── nav_h.png
│ │ │ │ ├── open.png
│ │ │ │ ├── splitbar.png
│ │ │ │ ├── sync_off.png
│ │ │ │ ├── sync_on.png
│ │ │ │ ├── tab_a.png
│ │ │ │ ├── tab_b.png
│ │ │ │ ├── tab_h.png
│ │ │ │ └── tab_s.png
│ │ ├── 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.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
│ │ │ ├── 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
│ │ │ │ ├── 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
│ │ │ ├── autoexp.vc2010.dat
│ │ │ ├── glm.natvis
│ │ │ └── usertype.dat
│ │ └── stbi_image_write.h
└── simple-knn
│ ├── ext.cpp
│ ├── setup.py
│ ├── simple_knn.cu
│ ├── simple_knn.egg-info
│ ├── PKG-INFO
│ ├── SOURCES.txt
│ ├── dependency_links.txt
│ └── top_level.txt
│ ├── simple_knn.h
│ ├── simple_knn
│ └── .gitkeep
│ ├── spatial.cu
│ └── spatial.h
├── train.py
├── train.sh
├── train_bungee.sh
├── train_db.sh
├── train_imw2020.sh
├── train_mip360.sh
├── train_nerfsynthetic.sh
├── train_nerfsynthetic_withwarmup.sh
├── train_tnt.sh
└── utils
├── camera_utils.py
├── general_utils.py
├── graphics_utils.py
├── image_utils.py
├── loss_utils.py
├── sh_utils.py
├── system_utils.py
└── visualize_utils.py
/.gitignore:
--------------------------------------------------------------------------------
1 | *.pyc
2 | .vscode
3 | temp*
4 | outputs*
5 | debug*
6 | log*
7 | view*
8 | wandb*
9 | *.bak
10 | data
11 | *build/*
12 | *__pycache__*
13 | diff_rasterization/diff_rast.egg-info
14 | diff_rasterization/dist
15 | tensorboard_3d
16 | screenshots
17 | *.so
--------------------------------------------------------------------------------
/SIBR_viewers/assets/images/cmake.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/assets/images/cmake.png
--------------------------------------------------------------------------------
/SIBR_viewers/assets/images/select.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/assets/images/select.png
--------------------------------------------------------------------------------
/SIBR_viewers/assets/images/step1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/assets/images/step1.png
--------------------------------------------------------------------------------
/SIBR_viewers/assets/images/step2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/assets/images/step2.png
--------------------------------------------------------------------------------
/SIBR_viewers/assets/images/step3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/assets/images/step3.png
--------------------------------------------------------------------------------
/SIBR_viewers/assets/images/step4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/assets/images/step4.png
--------------------------------------------------------------------------------
/SIBR_viewers/assets/images/step5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/assets/images/step5.png
--------------------------------------------------------------------------------
/SIBR_viewers/assets/images/step6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/assets/images/step6.png
--------------------------------------------------------------------------------
/SIBR_viewers/cmake/linux/cmake_policies.cmake:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2020, Inria
2 | # GRAPHDECO research group, https://team.inria.fr/graphdeco
3 | # All rights reserved.
4 | #
5 | # This software is free for non-commercial, research and evaluation use
6 | # under the terms of the LICENSE.md file.
7 | #
8 | # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
9 |
10 |
11 | if(__set_policies_INCLUDED__)
12 | return()
13 | else()
14 | set(__set_policies_INCLUDED__ ON)
15 | endif()
16 |
17 | macro(setPolicies)
18 | # No more policies to enforce
19 | endmacro()
20 |
--------------------------------------------------------------------------------
/SIBR_viewers/cmake/windows/cmake_policies.cmake:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2020, Inria
2 | # GRAPHDECO research group, https://team.inria.fr/graphdeco
3 | # All rights reserved.
4 | #
5 | # This software is free for non-commercial, research and evaluation use
6 | # under the terms of the LICENSE.md file.
7 | #
8 | # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
9 |
10 |
11 | if(__set_policies_INCLUDED__)
12 | return()
13 | else()
14 | set(__set_policies_INCLUDED__ ON)
15 | endif()
16 |
17 | macro(setPolicies)
18 | # No more policies to enforce
19 | endmacro()
20 |
--------------------------------------------------------------------------------
/SIBR_viewers/docs/img/capreal/caprealaddinputs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/docs/img/capreal/caprealaddinputs.png
--------------------------------------------------------------------------------
/SIBR_viewers/docs/img/capreal/caprealalignimages.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/docs/img/capreal/caprealalignimages.png
--------------------------------------------------------------------------------
/SIBR_viewers/docs/img/capreal/caprealcolorizesimplify.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/docs/img/capreal/caprealcolorizesimplify.png
--------------------------------------------------------------------------------
/SIBR_viewers/docs/img/capreal/caprealexportmodel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/docs/img/capreal/caprealexportmodel.png
--------------------------------------------------------------------------------
/SIBR_viewers/docs/img/capreal/caprealinputsonly.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/docs/img/capreal/caprealinputsonly.png
--------------------------------------------------------------------------------
/SIBR_viewers/docs/img/capreal/caprealmesh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/docs/img/capreal/caprealmesh.png
--------------------------------------------------------------------------------
/SIBR_viewers/docs/img/capreal/caprealmeshreconstruction.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/docs/img/capreal/caprealmeshreconstruction.png
--------------------------------------------------------------------------------
/SIBR_viewers/docs/img/capreal/caprealnew.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/docs/img/capreal/caprealnew.png
--------------------------------------------------------------------------------
/SIBR_viewers/docs/img/capreal/caprealpointcloud.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/docs/img/capreal/caprealpointcloud.png
--------------------------------------------------------------------------------
/SIBR_viewers/docs/img/capreal/meshlab.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/docs/img/capreal/meshlab.png
--------------------------------------------------------------------------------
/SIBR_viewers/docs/img/cmake.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/docs/img/cmake.gif
--------------------------------------------------------------------------------
/SIBR_viewers/docs/img/diagramas/class/sibr_classes_v2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/docs/img/diagramas/class/sibr_classes_v2.png
--------------------------------------------------------------------------------
/SIBR_viewers/docs/img/diagramas/class/unity_ulr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/docs/img/diagramas/class/unity_ulr.png
--------------------------------------------------------------------------------
/SIBR_viewers/docs/img/diagramas/sequence/AssetStreamer/seq_assetStreamer.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/docs/img/diagramas/sequence/AssetStreamer/seq_assetStreamer.pdf
--------------------------------------------------------------------------------
/SIBR_viewers/docs/img/diagramas/sequence/Renderers/seq_insideOut.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/docs/img/diagramas/sequence/Renderers/seq_insideOut.pdf
--------------------------------------------------------------------------------
/SIBR_viewers/docs/img/diagramas/sequence/Renderers/seq_ulr_stream.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/docs/img/diagramas/sequence/Renderers/seq_ulr_stream.pdf
--------------------------------------------------------------------------------
/SIBR_viewers/docs/img/diagramas/sequence/Renderers/seq_ulr_v3_landscape.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/docs/img/diagramas/sequence/Renderers/seq_ulr_v3_landscape.pdf
--------------------------------------------------------------------------------
/SIBR_viewers/docs/img/diagramas/sequence/Unity/seq_unity_ulr_rendering.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/docs/img/diagramas/sequence/Unity/seq_unity_ulr_rendering.pdf
--------------------------------------------------------------------------------
/SIBR_viewers/docs/img/diagramas/sequence/Unity/seq_unity_ulr_texture_upload.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/docs/img/diagramas/sequence/Unity/seq_unity_ulr_texture_upload.pdf
--------------------------------------------------------------------------------
/SIBR_viewers/docs/img/ibr_common_cmake.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/docs/img/ibr_common_cmake.png
--------------------------------------------------------------------------------
/SIBR_viewers/docs/img/ibr_common_globale.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/docs/img/ibr_common_globale.png
--------------------------------------------------------------------------------
/SIBR_viewers/docs/img/ibr_common_principle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/docs/img/ibr_common_principle.png
--------------------------------------------------------------------------------
/SIBR_viewers/docs/img/jesnault_git_cheat_sheet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/docs/img/jesnault_git_cheat_sheet.png
--------------------------------------------------------------------------------
/SIBR_viewers/docs/img/multimeshmanager.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/docs/img/multimeshmanager.png
--------------------------------------------------------------------------------
/SIBR_viewers/docs/img/multiviewmanager.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/docs/img/multiviewmanager.png
--------------------------------------------------------------------------------
/SIBR_viewers/docs/img/sibr_dataset.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/docs/img/sibr_dataset.png
--------------------------------------------------------------------------------
/SIBR_viewers/docs/img/sibr_new_architecture.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/docs/img/sibr_new_architecture.png
--------------------------------------------------------------------------------
/SIBR_viewers/docs/img/ulr_screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/docs/img/ulr_screenshot.png
--------------------------------------------------------------------------------
/SIBR_viewers/docs/pages/2_Projects.dox:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | /*!
14 | @page projects Projects
15 | */
16 |
--------------------------------------------------------------------------------
/SIBR_viewers/docs/pages/3_Tutorials.dox:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | /*!
14 | @page tutorials Dataset Documentation & Tutorials
15 |
16 | - @subpage howto_generate_dataset
17 | - @subpage howto_sibr_useful_objects
18 | - @subpage howto_setup_project
19 | - @subpage howto_cameras_paths
20 |
21 | */
22 |
--------------------------------------------------------------------------------
/SIBR_viewers/docs/pages/Tutorials/How_to_setup_your_own_project.dox:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | /*!
14 | @page howto_setup_project How to setup your own project
15 |
16 | - @subpage project_structure
17 | - @subpage configure_project
18 | - @subpage create_library
19 | - @subpage document_project
20 |
21 | */
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/assets/sibr_assets.dox:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | /*!
14 | \defgroup sibr_assets sibr_assets
15 |
16 | \brief Assets and files utilities.
17 |
18 | */
19 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/graphics/resources/imgui_default.ini:
--------------------------------------------------------------------------------
1 | [Window]
2 | Pos=60,60
3 | Size=400,400
4 | Collapsed=0
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/graphics/sibr_graphics.dox:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | /*!
14 | \defgroup sibr_graphics sibr_graphics
15 |
16 | \brief OpenGL and graphics utilities.
17 |
18 | */
19 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/imgproc/sibr_imgproc.dox:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | /*!
14 | \defgroup sibr_imgproc sibr_imgproc
15 |
16 | \brief Image processing utilities.
17 |
18 | */
19 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/raycaster/sibr_raycaster.dox:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | /*!
14 | \defgroup sibr_raycaster sibr_raycaster
15 |
16 | \brief Raycasting utilities.
17 |
18 | This module provides functionalities related to raycasting on 2D and 3D geometry.
19 | It contains basic 2D intersection tests, a wrapper around the embree raycasting library (http://embree.github.io/),
20 | and helpers to perform raycasting over all pixels of an image.
21 |
22 | */
23 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/renderer/shaders/colored_mesh.frag:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | out vec4 out_color;
16 |
17 | in vec3 vertColor;
18 |
19 | void main(void) {
20 | out_color = vec4(vertColor, 1.0);
21 | }
22 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/renderer/shaders/colored_mesh.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | uniform mat4 MVP;
16 |
17 | layout(location = 0) in vec3 in_vertex;
18 | layout(location = 1) in vec3 in_color;
19 |
20 | out vec3 vertColor;
21 |
22 | void main(void) {
23 | gl_Position = MVP * vec4(in_vertex,1.0);
24 |
25 | vertColor = in_color;
26 | }
27 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/renderer/shaders/copy.frag:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | layout(location = 0) out vec4 out_color;
16 |
17 | uniform sampler2D image;
18 | uniform bool flip = false;
19 |
20 | in vec4 texcoord;
21 |
22 | void main(void)
23 | {
24 | vec4 color = texture(image, flip ? vec2(texcoord.x, 1.0 - texcoord.y) : texcoord.xy);
25 | out_color = color;//vec4(color.rgb, 1.0);
26 | gl_FragDepth = color.w;
27 | }
28 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/renderer/shaders/copy_depth.frag:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | layout(location = 0) out vec4 out_color;
16 |
17 | layout(binding = 0) uniform sampler2D image;
18 |
19 | in vec4 texcoord;
20 |
21 | void main(void)
22 | {
23 | vec4 color = texture(image, texcoord.xy);
24 | out_color = vec4(vec3(color.r), 1.0);
25 | gl_FragDepth = color.r;
26 | //gl_FragDepth = color.r == 0? 1.0 : color.r;
27 | }
28 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/renderer/shaders/depthRenderer.fp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | out float out_depth;
16 |
17 | void main(void) {
18 |
19 | out_depth = 2.0*gl_FragCoord.z-1.0;
20 | //out_color = fragTexCoord.x*vec4(1.0,0.0,0.0,1.0);
21 | }
22 |
23 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/renderer/shaders/depthRenderer.vp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | uniform mat4 MVP;
16 |
17 | layout(location = 0) in vec3 in_vertex;
18 |
19 |
20 | void main(void) {
21 |
22 | gl_Position = MVP * vec4(in_vertex,1.0);
23 | //fragTexCoord = vec2(0.2,0.8);
24 | }
25 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/renderer/shaders/hdrEnvMap.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | uniform mat4 MVP;
16 |
17 | layout(location = 0) in vec3 in_vertex;
18 | layout(location = 2) in vec2 in_uv;
19 |
20 | out vec2 vertUV;
21 |
22 | void main(void) {
23 | gl_Position = MVP * vec4(in_vertex,1.0);
24 |
25 | vertUV = in_uv;
26 | }
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/renderer/shaders/longlat.tes:
--------------------------------------------------------------------------------
1 | #version 450 core
2 |
3 | layout(triangles, equal_spacing, cw) in;
4 |
5 | layout(location = 1) in vec3 colors_tcs[];
6 | layout(location = 2) in vec2 coordsTex_tcs[];
7 | layout(location = 3) in vec3 normals_tcs[];
8 |
9 | layout(location = 1) out vec3 colors_tes;
10 | layout(location = 2) out vec2 coordsTex_tes;
11 | layout(location = 3) out vec3 normals_tes;
12 |
13 | void main(void) {
14 | colors_tes = colors_tcs[0];
15 | coordsTex_tes = coordsTex_tcs[0];
16 | normals_tes = normals_tcs[0];
17 | vec4 inPos = (gl_TessCoord.x*gl_in[0].gl_Position + gl_TessCoord.y*gl_in[1].gl_Position + gl_TessCoord.z*gl_in[2].gl_Position);
18 |
19 | gl_Position = inPos;
20 | }
21 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/renderer/shaders/normalRenderer.fp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | in vec3 GtoF_normal;
16 | layout(location = 0) out vec4 out_color;
17 |
18 | void main(void) {
19 |
20 | vec3 colorN=(GtoF_normal+1.0)/2.0;
21 | out_color = vec4(colorN,1.0);
22 | //out_color = fragTexCoord.x*vec4(1.0,0.0,0.0,1.0);
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/renderer/shaders/normalRendererGen.vp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | uniform mat4 MVP;
16 |
17 | layout(location = 0) in vec3 in_vertex;
18 |
19 | void main(void) {
20 | gl_Position = MVP * vec4(in_vertex,1.0);
21 | //fragTexCoord = vec2(0.2,0.8);
22 | }
23 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/renderer/shaders/poisson_diverg.frag:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | layout(binding = 0) uniform sampler2D synth;
16 | layout(location= 0) out vec4 out_constraint;
17 |
18 | void main(void) {
19 | vec4 I = texelFetch(synth, ivec2(gl_FragCoord.xy), 0);
20 |
21 | // hole - perform Poisson synthesis here
22 | if (all(lessThan(I.xyz,vec3(0.01))))
23 | out_constraint = vec4(0);
24 | else
25 | out_constraint = I;
26 | }
27 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/renderer/shaders/positionReflectedDirRenderer.frag:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | in vec3 position;
16 | in vec3 normal;
17 |
18 | uniform vec3 cameraPos;
19 |
20 | layout(location = 0) out vec3 outPosition;
21 | layout(location = 1) out vec3 outDirection;
22 |
23 | void main(void) {
24 | outPosition = position;
25 | outDirection = reflect(normalize(position - cameraPos), normal);
26 | }
27 |
28 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/renderer/shaders/positionReflectedDirRenderer.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | uniform mat4 MVP;
16 |
17 | layout(location = 0) in vec3 in_vertex;
18 | layout(location = 3) in vec3 in_normal;
19 |
20 | out vec3 position;
21 | out vec3 normal;
22 |
23 | void main(void) {
24 | gl_Position = MVP * vec4(in_vertex,1.0);
25 | position = in_vertex;
26 | normal = in_normal;
27 | }
28 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/renderer/shaders/positionRenderer.frag:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | out vec3 out_position;
16 |
17 | in vec3 position;
18 |
19 | void main(void) {
20 | out_position = position;
21 | }
22 |
23 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/renderer/shaders/positionRenderer.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | uniform mat4 MVP;
16 |
17 | layout(location = 0) in vec3 in_vertex;
18 |
19 | out vec3 position;
20 |
21 | void main(void) {
22 | gl_Position = MVP * vec4(in_vertex,1.0);
23 | position = in_vertex;
24 | }
25 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/renderer/shaders/texture-invert.frag:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | layout(binding = 0) uniform sampler2D tex;
16 | layout(location= 0) out vec4 out_color;
17 |
18 | in vec2 tex_coord;
19 |
20 | void main(void) {
21 | vec2 texcoord = tex_coord ;
22 | out_color = vec4(1, 1, 1, 1) - texture(tex,texcoord);
23 | }
24 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/renderer/shaders/texture.frag:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | layout(binding = 0) uniform sampler2D tex;
16 | layout(location= 0) out vec4 out_color;
17 |
18 | in vec2 tex_coord;
19 |
20 | void main(void) {
21 | vec2 texcoord = tex_coord ;
22 | out_color = texture(tex,texcoord);
23 | }
24 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/renderer/shaders/texture.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | #define VERTICAL_FLIP (0)
16 |
17 | layout(location = 0) in vec2 in_vertex;
18 | layout(location = 1) in vec2 in_texcoord;
19 |
20 |
21 | out vec2 tex_coord;
22 |
23 | void main(void) {
24 | gl_Position = vec4(in_vertex, 0.0, 1.0);
25 | tex_coord.x = in_texcoord.x;
26 | if (VERTICAL_FLIP==1) {
27 | tex_coord.y = 1.0 - in_texcoord.y;
28 | }
29 | else {
30 | tex_coord.y = in_texcoord.y;
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/renderer/shaders/textured_mesh.frag:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | uniform sampler2D tex;
16 |
17 | out vec4 out_color;
18 |
19 | in vec2 vertUV;
20 |
21 | void main(void) {
22 | vec2 uv = vertUV;
23 | if(uv.x==0.0 && uv.y==0.0){
24 | out_color = vec4(1.0,1.0,1.0,1.0);
25 | }
26 | else{
27 | uv.y = 1.0 - uv.y; /// \todo TODO: Why Texture are flipped in y ?
28 | out_color = texture(tex, uv);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/renderer/shaders/textured_mesh.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | uniform mat4 MVP;
16 |
17 | layout(location = 0) in vec3 in_vertex;
18 | layout(location = 2) in vec2 in_uv;
19 |
20 | out vec2 vertUV;
21 |
22 | void main(void) {
23 | gl_Position = MVP * vec4(in_vertex,1.0);
24 |
25 | vertUV = in_uv;
26 | }
27 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/renderer/shaders/textured_mesh_flipY.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | uniform mat4 MVP;
16 |
17 | layout(location = 0) in vec3 in_vertex;
18 | layout(location = 2) in vec2 in_uv;
19 |
20 | out vec2 vertUV;
21 |
22 | void main(void) {
23 | gl_Position = MVP * vec4(in_vertex,1.0);
24 | vec2 uv = in_uv;
25 | uv.y = 1.0 - uv.y ;
26 | vertUV = uv;
27 | }
28 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/renderer/sibr_renderer.dox:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | /*!
14 | \defgroup sibr_renderer sibr_renderer
15 |
16 | \brief Renderer utilities.
17 |
18 | */
19 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/scene/sibr_scene.dox:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | /*!
14 | \defgroup sibr_scene sibr_scene
15 |
16 | \brief IBR Scene components.
17 |
18 | */
19 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/system/Quaternion.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 |
14 | #include "core/system/Transform3.hpp"
15 |
16 | namespace sibr
17 | {
18 |
19 | } // namespace sibr
20 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/system/ThreadIdWorker.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 |
14 | #include "core/system/ThreadIdWorker.hpp"
15 |
16 | namespace sibr
17 | {
18 | /*static*/ std::mutex ThreadIdWorker::g_mutex;
19 |
20 | } // namespace sibr
21 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/system/VectorUtils.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #include "VectorUtils.hpp"
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/system/sibr_system.dox:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | /*!
14 | \defgroup sibr_system sibr_system
15 |
16 | \brief System utilities.
17 |
18 | */
19 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/video/sibr_video.dox:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | /*!
14 | \defgroup sibr_video sibr_video
15 |
16 | \brief Video loading, processing and display.
17 |
18 | */
19 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/ICameraHandler.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #include "ICameraHandler.hpp"
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/shaders/alpha_colored_per_triangle_normals.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | layout(location = 0) in vec3 in_vertex;
16 |
17 | void main(void) {
18 | gl_Position = vec4(in_vertex, 1.0);
19 | }
20 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/shaders/alpha_colored_per_vertex_normals.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | layout(location = 0) in vec3 in_vertex;
16 | layout(location = 3) in vec3 in_normal;
17 |
18 | out vec3 normals;
19 |
20 | void main(void) {
21 | gl_Position = vec4(in_vertex, 1.0);
22 | normals = in_normal;
23 | }
24 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/shaders/alpha_points.frag:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | layout(location = 0) out vec4 out_color;
16 |
17 | uniform vec3 user_color;
18 | uniform float alpha;
19 |
20 | void main(void) {
21 | out_color = vec4(user_color, alpha);
22 | }
23 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/shaders/alpha_points.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | layout(location = 0) in vec3 in_vertex;
16 |
17 | uniform mat4 mvp;
18 | uniform int radius;
19 |
20 | void main(void) {
21 | gl_Position = mvp * vec4(in_vertex, 1.0);
22 | gl_PointSize = radius;
23 | }
24 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/shaders/alpha_uv_tex.frag:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | layout(location = 0) out vec4 out_color;
16 | layout(binding = 0) uniform sampler2D input_rgb;
17 |
18 | in vec2 out_uv;
19 |
20 | uniform float alpha;
21 |
22 | void main() {
23 | out_color = vec4(texture(input_rgb, out_uv).xyz, alpha);
24 | }
25 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/shaders/alpha_uv_tex_array.frag:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | layout(location = 0) out vec4 out_color;
16 | layout(binding = 0) uniform sampler2DArray input_rgbs;
17 |
18 | in vec2 out_uv;
19 |
20 | uniform float alpha;
21 | uniform int slice;
22 |
23 | void main() {
24 | vec3 uv_cam = vec3(out_uv, slice);
25 | out_color = vec4(texture(input_rgbs, uv_cam).xyz, alpha);
26 | }
27 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/shaders/alphaimgview.fp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | layout(binding = 0) uniform sampler2D tex;
16 | layout(location= 0) out vec4 out_color;
17 |
18 | in vec2 tex_coord;
19 | uniform float alpha;
20 |
21 | void main(void) {
22 | vec2 texcoord = tex_coord ;
23 | out_color = vec4(texture(tex,texcoord).rgb, alpha);
24 | }
25 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/shaders/alphaimgview.vp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | layout(location = 0) in vec2 in_vertex;
16 | layout(location = 1) in vec2 in_texcoord;
17 |
18 | out vec2 tex_coord;
19 |
20 | uniform vec4 imagefit;
21 |
22 | vec2 fitTexcoord( vec2 tc ) {
23 | tc.x = tc.x*imagefit[0] + imagefit[2+0];
24 | tc.y = tc.y*imagefit[1] + imagefit[2+1];
25 | return tc;
26 | }
27 |
28 | void main(void) {
29 | gl_Position = vec4(in_vertex, 0.0, 1.0);
30 | tex_coord = fitTexcoord(in_texcoord);
31 | }
32 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/shaders/anaglyph.fp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | layout(binding = 0) uniform sampler2D left;
16 | layout(binding = 1) uniform sampler2D right;
17 | layout(location= 0) out vec4 out_color;
18 |
19 | in vec2 vertex_coord;
20 |
21 | void main(void) {
22 | vec2 texcoord = (vertex_coord + vec2(1.0)) / 2.0;
23 | vec4 cl = texture(left, texcoord);
24 | vec4 cr = texture(right, texcoord);
25 | out_color = vec4(cl.r, cr.g, cr.b, 1.0);
26 | }
27 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/shaders/anaglyph.vp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | layout(location = 0) in vec2 in_vertex;
16 |
17 | out vec2 vertex_coord;
18 |
19 | void main(void) {
20 | gl_Position = vec4(in_vertex, 0.0, 1.0);
21 | vertex_coord = in_vertex;
22 | }
23 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/shaders/axisgizmo.fp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | in vec3 axis_color;
16 | out vec4 out_color;
17 |
18 | void main(void) {
19 | out_color = vec4(axis_color, 1.0);
20 | }
21 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/shaders/axisgizmo.vp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | uniform mat4 MVP;
16 |
17 | layout(location = 0) in vec3 in_vertex;
18 | layout(location = 1) in vec3 in_color;
19 |
20 | out vec3 axis_color;
21 |
22 | void main(void) {
23 | axis_color = in_color;
24 | gl_Position = MVP * vec4(in_vertex,1.0);
25 | }
26 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/shaders/camstub.fp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | uniform vec3 color;
16 |
17 | out vec4 out_color;
18 |
19 | void main(void) {
20 | out_color = vec4(color, 1.0);
21 | }
22 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/shaders/camstub.vp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | uniform mat4 MVP;
16 |
17 | layout(location = 0) in vec3 in_vertex;
18 |
19 | void main(void) {
20 | gl_Position = MVP * vec4(in_vertex,1.0);
21 | }
22 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/shaders/depth.fp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | layout(location = 0) out vec4 out_color;
16 | layout(binding = 0) uniform sampler2D image; /// \todo TODO: remove
17 |
18 | //in vec3 vertex_coord;
19 | //uniform vec3 iCamPos;
20 |
21 | uniform vec2 size;
22 |
23 | void main(void) {
24 | vec2 tC = gl_FragCoord.xy / size;
25 | out_color.xyz = vec3(0.0);//texture(image, tC.xy).xyz;
26 | out_color.w = gl_FragCoord.z;
27 | //out_color.w = distance(vertex_coord, iCamPos);
28 | }
29 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/shaders/depth.vp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | uniform mat4 proj;
16 |
17 | layout(location = 0) in vec3 in_vertex;
18 |
19 | //out vec2 texture_coord;
20 | //out vec3 normal_coord;
21 |
22 | void main(void) {
23 | gl_Position = proj * vec4(in_vertex,1.0);
24 | }
25 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/shaders/depthonly.fp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | layout(location = 0) out float out_color;
16 |
17 | void main(void) {
18 | out_color = gl_FragCoord.z;
19 | }
20 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/shaders/depthonly.vp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | uniform mat4 proj;
16 |
17 | layout(location = 0) in vec3 in_vertex;
18 |
19 | void main(void) {
20 | gl_Position = proj * vec4(in_vertex,1.0);
21 | }
22 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/shaders/image_viewer.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | layout(location = 0) in vec3 in_vertex;
16 |
17 | uniform float scale;
18 | uniform vec2 pos;
19 | uniform vec2 size;
20 | uniform bool correctRatio;
21 |
22 | out vec2 texcoord;
23 |
24 | void main(void) {
25 | vec2 position = scale * vec2(1.0, correctRatio ? (size.y/size.x) : 1.0) * in_vertex.xy + pos;
26 | gl_Position = vec4(in_vertex.xy, 0.0, 1.0);
27 | texcoord = position * 0.5 + 0.5;
28 | }
29 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/shaders/mesh_color.fp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | uniform vec3 lightDir;
16 |
17 | out vec4 out_color;
18 |
19 | in vec3 color_vert;
20 | in vec3 vertexPos;
21 | in vec3 normalPos;
22 |
23 | void main(void) {
24 | float kd = 0.2;
25 | vec3 normal = normalize(normalPos);
26 | vec3 shading = max(0.0,dot(lightDir,normal))*color_vert;
27 |
28 | out_color = vec4( (1.0-kd)*color_vert + kd*shading, 1.0);
29 | //out_color = vec4( normal , 1.0 );
30 | }
31 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/shaders/mesh_normal.fp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | layout(location = 0) out vec4 out_color;
16 |
17 | in vec3 normal_coord;
18 |
19 | void main(void) {
20 | vec3 color = vec3(normalize(normal_coord));
21 | color = color * 0.5 + 0.5;
22 | out_color = vec4(color, 1.0);
23 | //out_color = vec4(dot(normal_coord, vec3(0.58,-0.58,0.08)));
24 | if (length(normal_coord) == 0.0) { // no normal present
25 | out_color = vec4(0.8);
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/shaders/mesh_normal.vp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | uniform mat4 proj;
16 |
17 | layout(location = 0) in vec3 in_vertex;
18 | //layout(location = 1) in vec2 in_texcoord;
19 | layout(location = 1) in vec3 in_normal;
20 |
21 | //out vec2 texture_coord;
22 | out vec3 normal_coord;
23 |
24 | void main(void) {
25 | gl_Position = proj * vec4(in_vertex,1.0);
26 | //texture_coord = in_texcoord;
27 | normal_coord = in_normal;
28 | }
29 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/shaders/number.vp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | uniform vec2 position;
16 | uniform vec2 scale;
17 | uniform int count;
18 |
19 | layout(location = 0) in vec3 in_vertex;
20 | out vec2 uv_coord;
21 |
22 | void main(void) {
23 | uv_coord = vec2(count+0.5, 1.0) * (in_vertex.xy * 0.5 + 0.5);
24 | gl_Position = vec4(scale * vec2(count, 1.0) * (in_vertex.xy - position) + position,0.0, 1.0);
25 | }
26 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/shaders/skybox.fp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 |
14 | #version 420
15 |
16 | layout(binding = 0) uniform samplerCube in_CubeMap;
17 | layout(location= 0) out vec4 out_Color;
18 |
19 | in VSOUT
20 | {
21 | vec3 tc;
22 | } in_Frag;
23 |
24 | void main(void)
25 | {
26 | out_Color = texture(in_CubeMap, in_Frag.tc);
27 | }
28 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/shaders/text-imgui.fp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | layout (location = 0) out vec4 fragColor;
16 |
17 | in INTERFACE {
18 | vec4 col;
19 | vec2 uv;
20 | } In ;
21 |
22 | uniform sampler2D tex;
23 |
24 | void main(){
25 | fragColor = In.col * texture(tex, In.uv);
26 | }
27 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/shaders/texture.fp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | layout(binding = 0) uniform sampler2D tex;
16 | layout(location= 0) out vec4 out_color;
17 |
18 | in vec2 tex_coord;
19 |
20 | void main(void) {
21 | vec2 texcoord = tex_coord ;
22 | out_color = texture(tex,texcoord);
23 | }
24 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/shaders/texture.vp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | layout(location = 0) in vec2 in_vertex;
16 | layout(location = 1) in vec2 in_texcoord;
17 |
18 | out vec2 tex_coord;
19 |
20 | void main(void) {
21 | gl_Position = vec4(in_vertex, 0.0, 1.0);
22 | tex_coord = in_texcoord;
23 | }
24 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/shaders/uv_mesh.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | layout(location = 0) in vec3 in_vertex;
16 | layout(location = 2) in vec2 in_uv;
17 |
18 | out vec2 out_uv;
19 |
20 | uniform mat4 mvp;
21 |
22 | void main() {
23 | out_uv = in_uv;
24 | gl_Position = mvp * vec4(in_vertex, 1.0);
25 | }
26 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/core/view/sibr_view.dox:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | /*!
14 | \defgroup sibr_view sibr_view
15 |
16 | \brief View, camera, high-level rendering utilities.
17 |
18 | */
19 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/basic/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2020, Inria
2 | # GRAPHDECO research group, https://team.inria.fr/graphdeco
3 | # All rights reserved.
4 | #
5 | # This software is free for non-commercial, research and evaluation use
6 | # under the terms of the LICENSE.md file.
7 | #
8 | # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
9 |
10 |
11 |
12 | project(sibr_basic_all)
13 |
14 | add_subdirectory(apps)
15 | add_subdirectory(renderer)
16 |
17 | include(install_runtime)
18 | subdirectory_target(${PROJECT_NAME} ${CMAKE_CURRENT_LIST_DIR} "projects/basic")
19 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/basic/apps/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2020, Inria
2 | # GRAPHDECO research group, https://team.inria.fr/graphdeco
3 | # All rights reserved.
4 | #
5 | # This software is free for non-commercial, research and evaluation use
6 | # under the terms of the LICENSE.md file.
7 | #
8 | # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
9 |
10 |
11 |
12 | project(SIBR_basic_apps)
13 |
14 | add_subdirectory(texturedMesh/)
15 | add_subdirectory(pointBased/)
16 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/basic/apps/pointBased/.CMakeLists.txt.un~:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/src/projects/basic/apps/pointBased/.CMakeLists.txt.un~
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/basic/apps/pointBased/.main.cpp.un~:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/src/projects/basic/apps/pointBased/.main.cpp.un~
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/basic/apps/texturedMesh/resources/sibr_texturedMesh_app.ini:
--------------------------------------------------------------------------------
1 |
2 | [Window][Textured Mesh Renderer Settings]
3 | Pos=50,50
4 | Size=350,300
5 | Collapsed=0
6 |
7 | [Window][Camera TM View]
8 | Pos=400,50
9 | Size=550,300
10 | Collapsed=0
11 |
12 | [Window][Top view settings]
13 | Pos=950,50
14 | Size=450,300
15 | Collapsed=0
16 |
17 | [Window][Metrics##0]
18 | Pos=1400,50
19 | Size=450,300
20 | Collapsed=0
21 |
22 | [Window][TM View]
23 | Pos=50,350
24 | Size=900,600
25 | Collapsed=0
26 |
27 | [Window][Top view]
28 | Pos=950,350
29 | Size=900,600
30 | Collapsed=0
31 |
32 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/dataset_tools/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2020, Inria
2 | # GRAPHDECO research group, https://team.inria.fr/graphdeco
3 | # All rights reserved.
4 | #
5 | # This software is free for non-commercial, research and evaluation use
6 | # under the terms of the LICENSE.md file.
7 | #
8 | # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
9 |
10 |
11 |
12 | project(sibr_dataset_tools_all)
13 |
14 | add_subdirectory(preprocess)
15 |
16 | include(install_runtime)
17 | subdirectory_target(${PROJECT_NAME} ${CMAKE_CURRENT_LIST_DIR} "projects/dataset_tools")
18 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/dataset_tools/documentation/dataset_tools_doc.cmake:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2020, Inria
2 | # GRAPHDECO research group, https://team.inria.fr/graphdeco
3 | # All rights reserved.
4 | #
5 | # This software is free for non-commercial, research and evaluation use
6 | # under the terms of the LICENSE.md file.
7 | #
8 | # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
9 |
10 |
11 | set(PROJECT_PAGE "sibr_projects_dataset_tools")
12 | set(PROJECT_LINK "https://gitlab.inria.fr/sibr/sibr_core")
13 | set(PROJECT_TYPE "SAMPLES")
14 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/dataset_tools/documentation/img/colmapfullpipeline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/src/projects/dataset_tools/documentation/img/colmapfullpipeline.png
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2020, Inria
2 | # GRAPHDECO research group, https://team.inria.fr/graphdeco
3 | # All rights reserved.
4 | #
5 | # This software is free for non-commercial, research and evaluation use
6 | # under the terms of the LICENSE.md file.
7 | #
8 | # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
9 |
10 |
11 | project(dataset_tools_converters)
12 |
13 | file(GLOB_RECURSE SCRIPTS "*.py" "*.sh" "*.mlx")
14 |
15 | add_custom_target(${PROJECT_NAME} ALL)
16 |
17 | include(install_runtime)
18 | set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "projects/dataset_tools/preprocess")
19 | ibr_install_rsc(${PROJECT_NAME} TYPE "scripts" FILES ${SCRIPTS} RELATIVE)
20 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/meshlab/wedge_to_vertex_uvs.mlx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2020, Inria
2 | # GRAPHDECO research group, https://team.inria.fr/graphdeco
3 | # All rights reserved.
4 | #
5 | # This software is free for non-commercial, research and evaluation use
6 | # under the terms of the LICENSE.md file.
7 | #
8 | # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
9 |
10 |
11 | project(fullColmapProcess)
12 |
13 | file(GLOB SCRIPTS "*.py" "*.json")
14 |
15 | add_custom_target(${PROJECT_NAME} ALL)
16 |
17 | include(install_runtime)
18 | set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "projects/dataset_tools/preprocess")
19 | ibr_install_rsc(${PROJECT_NAME} TYPE "scripts" FILES ${SCRIPTS})
20 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/dataset_tools/preprocess/meshroomPythonScripts/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2020, Inria
2 | # GRAPHDECO research group, https://team.inria.fr/graphdeco
3 | # All rights reserved.
4 | #
5 | # This software is free for non-commercial, research and evaluation use
6 | # under the terms of the LICENSE.md file.
7 | #
8 | # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
9 |
10 |
11 | project(meshroomPythonScripts)
12 |
13 | file(GLOB SCRIPTS "*.py")
14 |
15 | add_custom_target(${PROJECT_NAME} ALL)
16 |
17 | include(install_runtime)
18 | set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "projects/dataset_tools/preprocess")
19 | ibr_install_rsc(${PROJECT_NAME} TYPE "scripts" FILES ${SCRIPTS})
20 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2020, Inria
2 | # GRAPHDECO research group, https://team.inria.fr/graphdeco
3 | # All rights reserved.
4 | #
5 | # This software is free for non-commercial, research and evaluation use
6 | # under the terms of the LICENSE.md file.
7 | #
8 | # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
9 |
10 |
11 | project(realityCaptureTools)
12 |
13 | file(GLOB SCRIPTS "*.py" "*.json" ".bat" ".xml")
14 |
15 | add_custom_target(${PROJECT_NAME} ALL)
16 |
17 | include(install_runtime)
18 | set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "projects/dataset_tools/preprocess")
19 | ibr_install_rsc(${PROJECT_NAME} TYPE "scripts" FILES ${SCRIPTS})
20 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/SetVariables.bat:
--------------------------------------------------------------------------------
1 | ::CapturingReality
2 | :: switch off console output
3 | ::@echo off
4 |
5 |
6 | :: root path to work folders where the dataset is stored
7 | set RootFolder=E:\datasets\Yorgos\Reflections\KitchenRCTest\
8 | set Video="%RootFolder%\videos\MVI_3030.MP4"
9 | set FPS=0.2
10 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/fixup.bat:
--------------------------------------------------------------------------------
1 | ::CapturingReality
2 |
3 | :: switch off console output
4 | ::@echo off
5 | @echo on
6 | set RootFolder=%1
7 |
8 | :: path to RealityCapture application
9 | set RealityCaptureExe="C:\Program Files\Capturing Reality\RealityCapture\RealityCapture.exe"
10 |
11 | :: variable storing path to images for texturing model
12 | set Project="%RootFolder%\rcProj\RCproject.rcproj"
13 |
14 | :: run RealityCapture
15 | :: test and fix video import when RC working again
16 |
17 | %RealityCaptureExe% -load %Project% ^
18 | -selectAllImages ^
19 | -enableAlignment false ^
20 | -selectImage *test_* ^
21 | -enableAlignment true ^
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/dataset_tools/preprocess/utils/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2020, Inria
2 | # GRAPHDECO research group, https://team.inria.fr/graphdeco
3 | # All rights reserved.
4 | #
5 | # This software is free for non-commercial, research and evaluation use
6 | # under the terms of the LICENSE.md file.
7 | #
8 | # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
9 |
10 |
11 | project(dataset_tools_utils)
12 |
13 | file(GLOB SCRIPTS "*.py")
14 |
15 | add_custom_target(${PROJECT_NAME} ALL)
16 |
17 | include(install_runtime)
18 | set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "projects/dataset_tools/preprocess")
19 | ibr_install_rsc(${PROJECT_NAME} TYPE "scripts" FOLDER "utils" FILES ${SCRIPTS})
20 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/dataset_tools/preprocess/utils/color.py:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2020, Inria
2 | # GRAPHDECO research group, https://team.inria.fr/graphdeco
3 | # All rights reserved.
4 | #
5 | # This software is free for non-commercial, research and evaluation use
6 | # under the terms of the LICENSE.md file.
7 | #
8 | # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
9 |
10 |
11 | import os
12 | os.system("color")
13 |
14 | COLOR = {
15 | "HEADER": "\033[95m",
16 | "BLUE": "\033[94m",
17 | "GREEN": "\033[92m",
18 | "RED": "\033[91m",
19 | "ENDC": "\033[0m",
20 | }
21 |
22 | #print(COLOR["GREEN"], "Testing Green!!", COLOR["ENDC"])
23 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/gaussianviewer/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2023, Inria
2 | # GRAPHDECO research group, https://team.inria.fr/graphdeco
3 | # All rights reserved.
4 | #
5 | # This software is free for non-commercial, research and evaluation use
6 | # under the terms of the LICENSE.md file.
7 | #
8 | # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
9 |
10 | project(sibr_gaussian_all)
11 |
12 | add_subdirectory(apps)
13 | add_subdirectory(renderer)
14 |
15 | include(install_runtime)
16 | subdirectory_target(${PROJECT_NAME} ${CMAKE_CURRENT_LIST_DIR} "projects/gaussian")
17 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/gaussianviewer/apps/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2023, Inria
2 | # GRAPHDECO research group, https://team.inria.fr/graphdeco
3 | # All rights reserved.
4 | #
5 | # This software is free for non-commercial, research and evaluation use
6 | # under the terms of the LICENSE.md file.
7 | #
8 | # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
9 |
10 |
11 |
12 | project(SIBR_gaussian_apps)
13 |
14 | add_subdirectory(gaussianViewer/)
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/gaussianviewer/renderer/GaussianView.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/SIBR_viewers/src/projects/gaussianviewer/renderer/GaussianView.cpp
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/remote/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2023, Inria
2 | # GRAPHDECO research group, https://team.inria.fr/graphdeco
3 | # All rights reserved.
4 | #
5 | # This software is free for non-commercial, research and evaluation use
6 | # under the terms of the LICENSE.md file.
7 | #
8 | # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
9 |
10 | project(sibr_remote_all)
11 |
12 | add_subdirectory(apps)
13 | add_subdirectory(renderer)
14 |
15 | include(install_runtime)
16 | subdirectory_target(${PROJECT_NAME} ${CMAKE_CURRENT_LIST_DIR} "projects/remote")
17 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/remote/apps/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2023, Inria
2 | # GRAPHDECO research group, https://team.inria.fr/graphdeco
3 | # All rights reserved.
4 | #
5 | # This software is free for non-commercial, research and evaluation use
6 | # under the terms of the LICENSE.md file.
7 | #
8 | # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
9 |
10 |
11 |
12 | project(SIBR_remote_apps)
13 |
14 | add_subdirectory(remoteGaussianUI/)
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/trackChanges.sh:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2020, Inria
2 | # GRAPHDECO research group, https://team.inria.fr/graphdeco
3 | # All rights reserved.
4 | #
5 | # This software is free for non-commercial, research and evaluation use
6 | # under the terms of the LICENSE.md file.
7 | #
8 | # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
9 |
10 |
11 | for d in */ ; do cd "$d"; echo "$d"; git status --porcelain ; cd ..; done
12 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/ulr/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2020, Inria
2 | # GRAPHDECO research group, https://team.inria.fr/graphdeco
3 | # All rights reserved.
4 | #
5 | # This software is free for non-commercial, research and evaluation use
6 | # under the terms of the LICENSE.md file.
7 | #
8 | # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
9 |
10 |
11 |
12 | project(sibr_ulr_all)
13 |
14 | add_subdirectory(apps)
15 | add_subdirectory(renderer)
16 |
17 | include(install_runtime)
18 | subdirectory_target(${PROJECT_NAME} ${CMAKE_CURRENT_LIST_DIR} "projects/ulr")
19 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/ulr/apps/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2020, Inria
2 | # GRAPHDECO research group, https://team.inria.fr/graphdeco
3 | # All rights reserved.
4 | #
5 | # This software is free for non-commercial, research and evaluation use
6 | # under the terms of the LICENSE.md file.
7 | #
8 | # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
9 |
10 |
11 |
12 | project(SIBR_ulr_apps)
13 |
14 | add_subdirectory(ulr/)
15 | add_subdirectory(ulrv2/)
16 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/ulr/apps/ulr/resources/sibr_ulr_app.ini:
--------------------------------------------------------------------------------
1 |
2 | [Window][Camera ULR view]
3 | Pos=50,50
4 | Size=900,300
5 | Collapsed=0
6 |
7 | [Window][Top view settings]
8 | Pos=950,50
9 | Size=450,300
10 | Collapsed=0
11 |
12 | [Window][Metrics##0]
13 | Pos=1400,50
14 | Size=450,300
15 | Collapsed=0
16 |
17 | [Window][ULR view]
18 | Pos=50,350
19 | Size=900,600
20 | Collapsed=0
21 |
22 | [Window][Top view]
23 | Pos=950,350
24 | Size=900,600
25 | Collapsed=0
26 |
27 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/ulr/apps/ulrv2/resources/sibr_ulrv2_app.ini:
--------------------------------------------------------------------------------
1 |
2 | [Window][ULRV2 Settings (ULR view)]
3 | Pos=50,50
4 | Size=350,300
5 | Collapsed=0
6 |
7 | [Window][ULRV3 Settings (ULR view)]
8 | Pos=50,50
9 | Size=350,300
10 | Collapsed=0
11 |
12 | [Window][Camera ULR view]
13 | Pos=400,50
14 | Size=550,300
15 | Collapsed=0
16 |
17 | [Window][Top view settings]
18 | Pos=950,50
19 | Size=450,300
20 | Collapsed=0
21 |
22 | [Window][Metrics##0]
23 | Pos=1400,50
24 | Size=450,300
25 | Collapsed=0
26 |
27 | [Window][ULR view]
28 | Pos=50,350
29 | Size=900,600
30 | Collapsed=0
31 |
32 | [Window][Top view]
33 | Pos=950,350
34 | Size=900,600
35 | Collapsed=0
36 |
37 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/ulr/documentation/ulr_doc.cmake:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2020, Inria
2 | # GRAPHDECO research group, https://team.inria.fr/graphdeco
3 | # All rights reserved.
4 | #
5 | # This software is free for non-commercial, research and evaluation use
6 | # under the terms of the LICENSE.md file.
7 | #
8 | # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
9 |
10 |
11 | set(PROJECT_PAGE "ulrPage")
12 | set(PROJECT_LINK "https://gitlab.inria.fr/sibr/sibr_core")
13 | set(PROJECT_TYPE "SAMPLES")
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/ulr/renderer/shaders/ulr.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | layout(location = 0) in vec3 in_vertex;
16 | layout(location = 2) in vec3 in_normal;
17 |
18 | out vec3 vertex_coord;
19 |
20 | void main(void) {
21 | gl_Position = vec4(in_vertex,1.0);
22 | vertex_coord = in_vertex;
23 | }
24 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/ulr/renderer/shaders/ulr_intersect.frag:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | layout(location = 0) out vec4 out_color;
16 |
17 | in vec3 vertex_coord;
18 |
19 | void main(void) {
20 | out_color = vec4(vertex_coord, gl_FragCoord.z);
21 | }
22 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/ulr/renderer/shaders/ulr_intersect.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 | uniform mat4 proj;
16 |
17 | layout(location = 0) in vec3 in_vertex;
18 |
19 | out vec3 vertex_coord;
20 |
21 | void main(void) {
22 | gl_Position = proj * vec4(in_vertex,1.0);
23 | vertex_coord = in_vertex;
24 | }
25 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/ulr/renderer/shaders/ulr_v2.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 |
16 | layout(location = 0) in vec3 in_vertex;
17 |
18 | out vec2 vertex_coord;
19 |
20 | void main(void) {
21 | gl_Position = vec4(in_vertex,1.0);
22 | vertex_coord = in_vertex.xy * 0.5 + 0.5;
23 | }
24 |
--------------------------------------------------------------------------------
/SIBR_viewers/src/projects/ulr/renderer/shaders/ulr_v3.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2020, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr
10 | */
11 |
12 |
13 | #version 420
14 |
15 |
16 | layout(location = 0) in vec3 in_vertex;
17 |
18 | out vec2 vertex_coord;
19 |
20 | void main(void) {
21 | gl_Position = vec4(in_vertex,1.0);
22 | vertex_coord = in_vertex.xy * 0.5 + 0.5;
23 | }
24 |
--------------------------------------------------------------------------------
/assets/pipeline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/assets/pipeline.png
--------------------------------------------------------------------------------
/assets/teaser_big.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/assets/teaser_big.png
--------------------------------------------------------------------------------
/environment.yml:
--------------------------------------------------------------------------------
1 | name: scaffold_gs
2 | channels:
3 | - pytorch
4 | - pyg
5 | - conda-forge
6 | - defaults
7 | dependencies:
8 | - cudatoolkit=11.6
9 | - plyfile=0.8.1
10 | - python=3.7.13
11 | - pip=22.3.1
12 | - pytorch=1.12.1
13 | - torchaudio=0.12.1
14 | - torchvision=0.13.1
15 | - pytorch-scatter
16 | - tqdm
17 | - pip:
18 | - einops
19 | - wandb
20 | - lpips
21 | - laspy
22 | - submodules/diff-gaussian-rasterization
23 | - submodules/simple-knn
24 |
--------------------------------------------------------------------------------
/lpipsPyTorch/__init__.py:
--------------------------------------------------------------------------------
1 | import torch
2 |
3 | from .modules.lpips import LPIPS
4 |
5 |
6 | def lpips(x: torch.Tensor,
7 | y: torch.Tensor,
8 | net_type: str = 'alex',
9 | version: str = '0.1'):
10 | r"""Function that measures
11 | Learned Perceptual Image Patch Similarity (LPIPS).
12 |
13 | Arguments:
14 | x, y (torch.Tensor): the input tensors to compare.
15 | net_type (str): the network type to compare the features:
16 | 'alex' | 'squeeze' | 'vgg'. Default: 'alex'.
17 | version (str): the version of LPIPS. Default: 0.1.
18 | """
19 | device = x.device
20 | criterion = LPIPS(net_type, version).to(device)
21 | return criterion(x, y)
22 |
--------------------------------------------------------------------------------
/single_train.sh:
--------------------------------------------------------------------------------
1 | scene='mipnerf360/bicycle'
2 | exp_name='baseline'
3 | voxel_size=0.001
4 | update_init_factor=16
5 | appearance_dim=0
6 | ratio=1
7 | gpu=-1
8 |
9 | # example:
10 | ./train.sh -d ${scene} -l ${exp_name} --gpu ${gpu} --voxel_size ${voxel_size} --update_init_factor ${update_init_factor} --appearance_dim ${appearance_dim} --ratio ${ratio}
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/.gitignore:
--------------------------------------------------------------------------------
1 | build/
2 | diff_gaussian_rasterization.egg-info/
3 | dist/
4 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "third_party/glm"]
2 | path = third_party/glm
3 | url = https://github.com/g-truc/glm.git
4 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/cuda_rasterizer/config.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2023, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact george.drettakis@inria.fr
10 | */
11 |
12 | #ifndef CUDA_RASTERIZER_CONFIG_H_INCLUDED
13 | #define CUDA_RASTERIZER_CONFIG_H_INCLUDED
14 |
15 | #define NUM_CHANNELS 3 // Default 3, RGB
16 | #define BLOCK_X 16
17 | #define BLOCK_Y 16
18 |
19 | #endif
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/ext.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2023, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact george.drettakis@inria.fr
10 | */
11 |
12 | #include
13 | #include "rasterize_points.h"
14 |
15 | PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) {
16 | m.def("rasterize_gaussians", &RasterizeGaussiansCUDA);
17 | m.def("rasterize_gaussians_backward", &RasterizeGaussiansBackwardCUDA);
18 | m.def("rasterize_aussians_filter", &RasterizeGaussiansfilterCUDA);
19 | m.def("mark_visible", &markVisible);
20 |
21 | }
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/arrowdown.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/arrowdown.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/arrowright.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/arrowright.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/bc_s.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/bc_s.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/bdwn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/bdwn.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/closed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/closed.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/doc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/doc.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/doxygen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/doxygen.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/folderclosed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/folderclosed.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/folderopen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/folderopen.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/nav_f.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/nav_f.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/nav_g.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/nav_g.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/nav_h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/nav_h.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/open.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/all_14.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['word',['word',['../a00354.html#ga16e9fea0ef1e6c4ef472d3d1731c49a5',1,'glm']]],
4 | ['wrap_2ehpp',['wrap.hpp',['../a00235.html',1,'']]],
5 | ['wrapangle',['wrapAngle',['../a00325.html#ga069527c6dbd64f53435b8ebc4878b473',1,'glm']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/all_15.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['yaw',['yaw',['../a00299.html#ga8da38cdfdc452dafa660c2f46506bad5',1,'glm']]],
4 | ['yawpitchroll',['yawPitchRoll',['../a00319.html#gae6aa26ccb020d281b449619e419a609e',1,'glm']]],
5 | ['ycocg2rgb',['YCoCg2rgb',['../a00313.html#ga163596b804c7241810b2534a99eb1343',1,'glm']]],
6 | ['ycocgr2rgb',['YCoCgR2rgb',['../a00313.html#gaf8d30574c8576838097d8e20c295384a',1,'glm']]]
7 | ];
8 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/all_16.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['zero',['zero',['../a00290.html#ga788f5a421fc0f40a1296ebc094cbaa8a',1,'glm']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/close.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/files_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['associated_5fmin_5fmax_2ehpp',['associated_min_max.hpp',['../a00007.html',1,'']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/files_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['bit_2ehpp',['bit.hpp',['../a00008.html',1,'']]],
4 | ['bitfield_2ehpp',['bitfield.hpp',['../a00009.html',1,'']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/files_12.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['ulp_2ehpp',['ulp.hpp',['../a00182.html',1,'']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/files_14.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['wrap_2ehpp',['wrap.hpp',['../a00235.html',1,'']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/files_2.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['closest_5fpoint_2ehpp',['closest_point.hpp',['../a00010.html',1,'']]],
4 | ['color_5fencoding_2ehpp',['color_encoding.hpp',['../a00011.html',1,'']]],
5 | ['color_5fspace_5fycocg_2ehpp',['color_space_YCoCg.hpp',['../a00014.html',1,'']]],
6 | ['common_2ehpp',['common.hpp',['../a00015.html',1,'']]],
7 | ['compatibility_2ehpp',['compatibility.hpp',['../a00017.html',1,'']]],
8 | ['component_5fwise_2ehpp',['component_wise.hpp',['../a00018.html',1,'']]],
9 | ['constants_2ehpp',['constants.hpp',['../a00021.html',1,'']]]
10 | ];
11 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/files_3.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['dual_5fquaternion_2ehpp',['dual_quaternion.hpp',['../a00022.html',1,'']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/files_5.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['fast_5fexponential_2ehpp',['fast_exponential.hpp',['../a00031.html',1,'']]],
4 | ['fast_5fsquare_5froot_2ehpp',['fast_square_root.hpp',['../a00032.html',1,'']]],
5 | ['fast_5ftrigonometry_2ehpp',['fast_trigonometry.hpp',['../a00033.html',1,'']]],
6 | ['functions_2ehpp',['functions.hpp',['../a00034.html',1,'']]]
7 | ];
8 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/files_7.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['handed_5fcoordinate_5fspace_2ehpp',['handed_coordinate_space.hpp',['../a00039.html',1,'']]],
4 | ['hash_2ehpp',['hash.hpp',['../a00040.html',1,'']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/files_8.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['integer_2ehpp',['integer.hpp',['../a00043.html',1,'']]],
4 | ['intersect_2ehpp',['intersect.hpp',['../a00044.html',1,'']]],
5 | ['io_2ehpp',['io.hpp',['../a00045.html',1,'']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/files_9.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['log_5fbase_2ehpp',['log_base.hpp',['../a00046.html',1,'']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/files_b.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['noise_2ehpp',['noise.hpp',['../a00112.html',1,'']]],
4 | ['norm_2ehpp',['norm.hpp',['../a00113.html',1,'']]],
5 | ['normal_2ehpp',['normal.hpp',['../a00114.html',1,'']]],
6 | ['normalize_5fdot_2ehpp',['normalize_dot.hpp',['../a00115.html',1,'']]],
7 | ['number_5fprecision_2ehpp',['number_precision.hpp',['../a00116.html',1,'']]]
8 | ];
9 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/files_c.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['optimum_5fpow_2ehpp',['optimum_pow.hpp',['../a00117.html',1,'']]],
4 | ['orthonormalize_2ehpp',['orthonormalize.hpp',['../a00118.html',1,'']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/files_d.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['packing_2ehpp',['packing.hpp',['../a00120.html',1,'']]],
4 | ['perpendicular_2ehpp',['perpendicular.hpp',['../a00121.html',1,'']]],
5 | ['polar_5fcoordinates_2ehpp',['polar_coordinates.hpp',['../a00122.html',1,'']]],
6 | ['projection_2ehpp',['projection.hpp',['../a00123.html',1,'']]]
7 | ];
8 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/files_f.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['random_2ehpp',['random.hpp',['../a00137.html',1,'']]],
4 | ['range_2ehpp',['range.hpp',['../a00138.html',1,'']]],
5 | ['raw_5fdata_2ehpp',['raw_data.hpp',['../a00139.html',1,'']]],
6 | ['reciprocal_2ehpp',['reciprocal.hpp',['../a00140.html',1,'']]],
7 | ['rotate_5fnormalized_5faxis_2ehpp',['rotate_normalized_axis.hpp',['../a00141.html',1,'']]],
8 | ['rotate_5fvector_2ehpp',['rotate_vector.hpp',['../a00142.html',1,'']]],
9 | ['round_2ehpp',['round.hpp',['../a00143.html',1,'']]]
10 | ];
11 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/functions_13.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['value_5fptr',['value_ptr',['../a00305.html#ga1c64669e1ba1160ad9386e43dc57569a',1,'glm']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/functions_14.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['wrapangle',['wrapAngle',['../a00325.html#ga069527c6dbd64f53435b8ebc4878b473',1,'glm']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/functions_15.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['yaw',['yaw',['../a00299.html#ga8da38cdfdc452dafa660c2f46506bad5',1,'glm']]],
4 | ['yawpitchroll',['yawPitchRoll',['../a00319.html#gae6aa26ccb020d281b449619e419a609e',1,'glm']]],
5 | ['ycocg2rgb',['YCoCg2rgb',['../a00313.html#ga163596b804c7241810b2534a99eb1343',1,'glm']]],
6 | ['ycocgr2rgb',['YCoCgR2rgb',['../a00313.html#gaf8d30574c8576838097d8e20c295384a',1,'glm']]]
7 | ];
8 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/functions_16.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['zero',['zero',['../a00290.html#ga788f5a421fc0f40a1296ebc094cbaa8a',1,'glm']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/functions_7.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['half_5fpi',['half_pi',['../a00290.html#ga0c36b41d462e45641faf7d7938948bac',1,'glm']]],
4 | ['hermite',['hermite',['../a00358.html#gaa69e143f6374d32f934a8edeaa50bac9',1,'glm']]],
5 | ['highestbitvalue',['highestBitValue',['../a00309.html#ga0dcc8fe7c3d3ad60dea409281efa3d05',1,'glm::highestBitValue(genIUType Value)'],['../a00309.html#ga898ef075ccf809a1e480faab48fe96bf',1,'glm::highestBitValue(vec< L, T, Q > const &value)']]],
6 | ['hsvcolor',['hsvColor',['../a00312.html#ga789802bec2d4fe0f9741c731b4a8a7d8',1,'glm']]]
7 | ];
8 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/groups_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['angle_20and_20trigonometry_20functions',['Angle and Trigonometry Functions',['../a00373.html',1,'']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/groups_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['core_20features',['Core features',['../a00280.html',1,'']]],
4 | ['common_20functions',['Common functions',['../a00241.html',1,'']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/groups_2.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['exponential_20functions',['Exponential functions',['../a00242.html',1,'']]],
4 | ['experimental_20extensions',['Experimental extensions',['../a00287.html',1,'']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/groups_3.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['floating_2dpoint_20pack_20and_20unpack_20functions',['Floating-Point Pack and Unpack Functions',['../a00372.html',1,'']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/groups_5.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['integer_20functions',['Integer functions',['../a00370.html',1,'']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/groups_6.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['matrix_20functions',['Matrix functions',['../a00371.html',1,'']]],
4 | ['matrix_20types',['Matrix types',['../a00283.html',1,'']]],
5 | ['matrix_20types_20with_20precision_20qualifiers',['Matrix types with precision qualifiers',['../a00284.html',1,'']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/groups_7.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['recommended_20extensions',['Recommended extensions',['../a00286.html',1,'']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/groups_8.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['stable_20extensions',['Stable extensions',['../a00285.html',1,'']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/groups_9.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['vector_20relational_20functions',['Vector Relational Functions',['../a00374.html',1,'']]],
4 | ['vector_20types',['Vector types',['../a00281.html',1,'']]],
5 | ['vector_20types_20with_20precision_20qualifiers',['Vector types with precision qualifiers',['../a00282.html',1,'']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/mag_sel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/mag_sel.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/nomatches.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/pages_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['opengl_20mathematics_20_28glm_29',['OpenGL Mathematics (GLM)',['../index.html',1,'']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/search_l.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/search_l.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/search_m.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/search_m.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/search_r.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/search_r.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/searchdata.js:
--------------------------------------------------------------------------------
1 | var indexSectionsWithContent =
2 | {
3 | 0: "abcdefghilmnopqrstuvwyz",
4 | 1: "abcdefghilmnopqrstuvw",
5 | 2: "abcdefghilmnopqrstuvwyz",
6 | 3: "abdfhilmpqsuvw",
7 | 4: "acefgimrsv",
8 | 5: "o"
9 | };
10 |
11 | var indexSectionNames =
12 | {
13 | 0: "all",
14 | 1: "files",
15 | 2: "functions",
16 | 3: "typedefs",
17 | 4: "groups",
18 | 5: "pages"
19 | };
20 |
21 | var indexSectionLabels =
22 | {
23 | 0: "All",
24 | 1: "Files",
25 | 2: "Functions",
26 | 3: "Typedefs",
27 | 4: "Modules",
28 | 5: "Pages"
29 | };
30 |
31 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/typedefs_9.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['quat',['quat',['../a00252.html#gab0b441adb4509bc58d2946c2239a8942',1,'glm']]],
4 | ['qword',['qword',['../a00354.html#ga4021754ffb8e5ef14c75802b15657714',1,'glm']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/typedefs_c.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['vec1',['vec1',['../a00270.html#gadfc071d934d8dae7955a1d530a3cf656',1,'glm']]],
4 | ['vec2',['vec2',['../a00281.html#gabe65c061834f61b4f7cb6037b19006a4',1,'glm']]],
5 | ['vec3',['vec3',['../a00281.html#ga9c3019b13faf179e4ad3626ea66df334',1,'glm']]],
6 | ['vec4',['vec4',['../a00281.html#gac215a35481a6597d1bf622a382e9d6e2',1,'glm']]]
7 | ];
8 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/typedefs_d.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['word',['word',['../a00354.html#ga16e9fea0ef1e6c4ef472d3d1731c49a5',1,'glm']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/splitbar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/splitbar.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/sync_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/sync_off.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/sync_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/sync_on.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/tab_a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/tab_a.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/tab_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/tab_b.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/tab_h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/tab_h.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/tab_s.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/tab_s.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual.pdf
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/frontpage1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/frontpage1.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/frontpage2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/frontpage2.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/g-truc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/g-truc.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/noise-perlin1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/noise-perlin1.jpg
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/noise-perlin2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/noise-perlin2.jpg
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/noise-perlin3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/noise-perlin3.jpg
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/noise-perlin4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/noise-perlin4.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/noise-perlin5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/noise-perlin5.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/noise-perlin6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/noise-perlin6.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/noise-simplex1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/noise-simplex1.jpg
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/noise-simplex2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/noise-simplex2.jpg
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/noise-simplex3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/noise-simplex3.jpg
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/random-ballrand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/random-ballrand.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/random-circularrand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/random-circularrand.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/random-diskrand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/random-diskrand.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/random-gaussrand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/random-gaussrand.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/random-linearrand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/random-linearrand.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/random-sphericalrand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/random-sphericalrand.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/references-cinder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/references-cinder.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/references-glsl4book.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/references-glsl4book.jpg
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/references-leosfortune.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/references-leosfortune.jpeg
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/references-leosfortune2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/references-leosfortune2.jpg
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/references-opencloth1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/references-opencloth1.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/references-opencloth3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/references-opencloth3.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/references-outerra1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/references-outerra1.jpg
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/references-outerra2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/references-outerra2.jpg
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/references-outerra3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/references-outerra3.jpg
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/references-outerra4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/manual/references-outerra4.jpg
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/bc_s.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/bc_s.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/bdwn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/bdwn.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/closed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/closed.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/doc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/doc.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/doxygen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/doxygen.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/folderclosed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/folderclosed.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/folderopen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/folderopen.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/nav_f.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/nav_f.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/nav_g.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/nav_g.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/nav_h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/nav_h.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/open.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/splitbar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/splitbar.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/sync_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/sync_off.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/sync_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/sync_on.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/tab_a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/tab_a.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/tab_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/tab_b.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/tab_h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/tab_h.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/tab_s.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/doc/theme/tab_s.png
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/detail/_fixes.hpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | //! Workaround for compatibility with other libraries
4 | #ifdef max
5 | #undef max
6 | #endif
7 |
8 | //! Workaround for compatibility with other libraries
9 | #ifdef min
10 | #undef min
11 | #endif
12 |
13 | //! Workaround for Android
14 | #ifdef isnan
15 | #undef isnan
16 | #endif
17 |
18 | //! Workaround for Android
19 | #ifdef isinf
20 | #undef isinf
21 | #endif
22 |
23 | //! Workaround for Chrone Native Client
24 | #ifdef log2
25 | #undef log2
26 | #endif
27 |
28 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/detail/compute_vector_relational.hpp:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | //#include "compute_common.hpp"
4 | #include "setup.hpp"
5 | #include
6 |
7 | namespace glm{
8 | namespace detail
9 | {
10 | template
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
20 | struct compute_equal
21 | {
22 | GLM_FUNC_QUALIFIER GLM_CONSTEXPR static bool call(T a, T b)
23 | {
24 | return detail::compute_abs::is_signed>::call(b - a) <= static_cast(0);
25 | //return std::memcmp(&a, &b, sizeof(T)) == 0;
26 | }
27 | };
28 | */
29 | }//namespace detail
30 | }//namespace glm
31 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/detail/func_packing_simd.inl:
--------------------------------------------------------------------------------
1 | namespace glm{
2 | namespace detail
3 | {
4 |
5 | }//namespace detail
6 | }//namespace glm
7 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/detail/func_trigonometric_simd.inl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/glm/detail/func_trigonometric_simd.inl
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/detail/func_vector_relational_simd.inl:
--------------------------------------------------------------------------------
1 | namespace glm{
2 | namespace detail
3 | {
4 |
5 | }//namespace detail
6 | }//namespace glm
7 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/detail/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"
17 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/detail/type_mat4x4_simd.inl:
--------------------------------------------------------------------------------
1 | /// @ref core
2 |
3 | namespace glm
4 | {
5 |
6 | }//namespace glm
7 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/matrix_double2x3.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/matrix_double2x3.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_mat2x3.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @addtogroup core_matrix
10 | /// @{
11 |
12 | /// 2 columns of 3 components matrix of double-precision floating-point numbers.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
15 | typedef mat<2, 3, double, defaultp> dmat2x3;
16 |
17 | /// @}
18 | }//namespace glm
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/matrix_double2x4.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/matrix_double2x4.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_mat2x4.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @addtogroup core_matrix
10 | /// @{
11 |
12 | /// 2 columns of 4 components matrix of double-precision floating-point numbers.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
15 | typedef mat<2, 4, double, defaultp> dmat2x4;
16 |
17 | /// @}
18 | }//namespace glm
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/matrix_double3x2.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/matrix_double3x2.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_mat3x2.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @addtogroup core_matrix
10 | /// @{
11 |
12 | /// 3 columns of 2 components matrix of double-precision floating-point numbers.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
15 | typedef mat<3, 2, double, defaultp> dmat3x2;
16 |
17 | /// @}
18 | }//namespace glm
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/matrix_double3x4.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/matrix_double3x4.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_mat3x4.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @addtogroup core_matrix
10 | /// @{
11 |
12 | /// 3 columns of 4 components matrix of double-precision floating-point numbers.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
15 | typedef mat<3, 4, double, defaultp> dmat3x4;
16 |
17 | /// @}
18 | }//namespace glm
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/matrix_double4x2.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/matrix_double4x2.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_mat4x2.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @addtogroup core_matrix
10 | /// @{
11 |
12 | /// 4 columns of 2 components matrix of double-precision floating-point numbers.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
15 | typedef mat<4, 2, double, defaultp> dmat4x2;
16 |
17 | /// @}
18 | }//namespace glm
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/matrix_double4x3.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/matrix_double4x3.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_mat4x3.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @addtogroup core_matrix
10 | /// @{
11 |
12 | /// 4 columns of 3 components matrix of double-precision floating-point numbers.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
15 | typedef mat<4, 3, double, defaultp> dmat4x3;
16 |
17 | /// @}
18 | }//namespace glm
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/matrix_float2x2.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/matrix_float2x2.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_mat2x2.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @addtogroup core_matrix
10 | /// @{
11 |
12 | /// 2 columns of 2 components matrix of single-precision floating-point numbers.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
15 | typedef mat<2, 2, float, defaultp> mat2x2;
16 |
17 | /// 2 columns of 2 components matrix of single-precision floating-point numbers.
18 | ///
19 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
20 | typedef mat<2, 2, float, defaultp> mat2;
21 |
22 | /// @}
23 | }//namespace glm
24 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/matrix_float2x3.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/matrix_float2x3.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_mat2x3.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @addtogroup core_matrix
10 | /// @{
11 |
12 | /// 2 columns of 3 components matrix of single-precision floating-point numbers.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
15 | typedef mat<2, 3, float, defaultp> mat2x3;
16 |
17 | /// @}
18 | }//namespace glm
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/matrix_float2x4.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/matrix_float2x4.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_mat2x4.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @addtogroup core_matrix
10 | /// @{
11 |
12 | /// 2 columns of 4 components matrix of single-precision floating-point numbers.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
15 | typedef mat<2, 4, float, defaultp> mat2x4;
16 |
17 | /// @}
18 | }//namespace glm
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/matrix_float3x2.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/matrix_float3x2.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_mat3x2.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @addtogroup core_matrix
10 | /// @{
11 |
12 | /// 3 columns of 2 components matrix of single-precision floating-point numbers.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
15 | typedef mat<3, 2, float, defaultp> mat3x2;
16 |
17 | /// @}
18 | }//namespace glm
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/matrix_float3x3.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/matrix_float3x3.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_mat3x3.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @addtogroup core_matrix
10 | /// @{
11 |
12 | /// 3 columns of 3 components matrix of single-precision floating-point numbers.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
15 | typedef mat<3, 3, float, defaultp> mat3x3;
16 |
17 | /// 3 columns of 3 components matrix of single-precision floating-point numbers.
18 | ///
19 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
20 | typedef mat<3, 3, float, defaultp> mat3;
21 |
22 | /// @}
23 | }//namespace glm
24 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/matrix_float3x4.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/matrix_float3x4.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_mat3x4.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @addtogroup core_matrix
10 | /// @{
11 |
12 | /// 3 columns of 4 components matrix of single-precision floating-point numbers.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
15 | typedef mat<3, 4, float, defaultp> mat3x4;
16 |
17 | /// @}
18 | }//namespace glm
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/matrix_float4x2.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/matrix_float4x2.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_mat4x2.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @addtogroup core_matrix
10 | /// @{
11 |
12 | /// 4 columns of 2 components matrix of single-precision floating-point numbers.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
15 | typedef mat<4, 2, float, defaultp> mat4x2;
16 |
17 | /// @}
18 | }//namespace glm
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/matrix_float4x3.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/matrix_float4x3.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_mat4x3.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @addtogroup core_matrix
10 | /// @{
11 |
12 | /// 4 columns of 3 components matrix of single-precision floating-point numbers.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
15 | typedef mat<4, 3, float, defaultp> mat4x3;
16 |
17 | /// @}
18 | }//namespace glm
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/matrix_float4x4.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/matrix_float4x4.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_mat4x4.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @ingroup core_matrix
10 | /// @{
11 |
12 | /// 4 columns of 4 components matrix of single-precision floating-point numbers.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
15 | typedef mat<4, 4, float, defaultp> mat4x4;
16 |
17 | /// 4 columns of 4 components matrix of single-precision floating-point numbers.
18 | ///
19 | /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
20 | typedef mat<4, 4, float, defaultp> mat4;
21 |
22 | /// @}
23 | }//namespace glm
24 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/quaternion_common_simd.inl:
--------------------------------------------------------------------------------
1 | #if GLM_ARCH & GLM_ARCH_SSE2_BIT
2 |
3 | namespace glm{
4 | namespace detail
5 | {
6 | template
7 | struct compute_dot, float, true>
8 | {
9 | static GLM_FUNC_QUALIFIER float call(qua const& x, qua const& y)
10 | {
11 | return _mm_cvtss_f32(glm_vec1_dot(x.data, y.data));
12 | }
13 | };
14 | }//namespace detail
15 | }//namespace glm
16 |
17 | #endif//GLM_ARCH & GLM_ARCH_SSE2_BIT
18 |
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/quaternion_transform.inl:
--------------------------------------------------------------------------------
1 | namespace glm
2 | {
3 | template
4 | GLM_FUNC_QUALIFIER qua rotate(qua const& q, T const& angle, vec<3, T, Q> const& v)
5 | {
6 | vec<3, T, Q> Tmp = v;
7 |
8 | // Axis of rotation must be normalised
9 | T len = glm::length(Tmp);
10 | if(abs(len - static_cast(1)) > static_cast(0.001))
11 | {
12 | T oneOverLen = static_cast(1) / len;
13 | Tmp.x *= oneOverLen;
14 | Tmp.y *= oneOverLen;
15 | Tmp.z *= oneOverLen;
16 | }
17 |
18 | T const AngleRad(angle);
19 | T const Sin = sin(AngleRad * static_cast(0.5));
20 |
21 | return q * qua(cos(AngleRad * static_cast(0.5)), Tmp.x * Sin, Tmp.y * Sin, Tmp.z * Sin);
22 | }
23 | }//namespace glm
24 |
25 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/scalar_packing.inl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/scalar_packing.inl
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/vector_bool1.hpp:
--------------------------------------------------------------------------------
1 | /// @ref ext_vector_bool1
2 | /// @file glm/ext/vector_bool1.hpp
3 | ///
4 | /// @defgroup ext_vector_bool1 GLM_EXT_vector_bool1
5 | /// @ingroup ext
6 | ///
7 | /// Exposes bvec1 vector type.
8 | ///
9 | /// Include to use the features of this extension.
10 | ///
11 | /// @see ext_vector_bool1_precision extension.
12 |
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 | {
23 | /// @addtogroup ext_vector_bool1
24 | /// @{
25 |
26 | /// 1 components vector of boolean.
27 | typedef vec<1, bool, defaultp> bvec1;
28 |
29 | /// @}
30 | }//namespace glm
31 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/vector_bool2.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/vector_bool2.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_vec2.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @addtogroup core_vector
10 | /// @{
11 |
12 | /// 2 components vector of boolean.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors
15 | typedef vec<2, bool, defaultp> bvec2;
16 |
17 | /// @}
18 | }//namespace glm
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/vector_bool3.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/vector_bool3.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_vec3.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @addtogroup core_vector
10 | /// @{
11 |
12 | /// 3 components vector of boolean.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors
15 | typedef vec<3, bool, defaultp> bvec3;
16 |
17 | /// @}
18 | }//namespace glm
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/vector_bool4.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/vector_bool4.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_vec4.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @addtogroup core_vector
10 | /// @{
11 |
12 | /// 4 components vector of boolean.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors
15 | typedef vec<4, bool, defaultp> bvec4;
16 |
17 | /// @}
18 | }//namespace glm
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/vector_double2.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/vector_double2.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_vec2.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @addtogroup core_vector
10 | /// @{
11 |
12 | /// 2 components vector of double-precision floating-point numbers.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors
15 | typedef vec<2, double, defaultp> dvec2;
16 |
17 | /// @}
18 | }//namespace glm
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/vector_double3.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/vector_double3.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_vec3.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @addtogroup core_vector
10 | /// @{
11 |
12 | /// 3 components vector of double-precision floating-point numbers.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors
15 | typedef vec<3, double, defaultp> dvec3;
16 |
17 | /// @}
18 | }//namespace glm
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/vector_double4.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/vector_double4.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_vec4.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @addtogroup core_vector
10 | /// @{
11 |
12 | /// 4 components vector of double-precision floating-point numbers.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors
15 | typedef vec<4, double, defaultp> dvec4;
16 |
17 | /// @}
18 | }//namespace glm
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/vector_float2.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/vector_float2.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_vec2.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @addtogroup core_vector
10 | /// @{
11 |
12 | /// 2 components vector of single-precision floating-point numbers.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors
15 | typedef vec<2, float, defaultp> vec2;
16 |
17 | /// @}
18 | }//namespace glm
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/vector_float3.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/vector_float3.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_vec3.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @addtogroup core_vector
10 | /// @{
11 |
12 | /// 3 components vector of single-precision floating-point numbers.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors
15 | typedef vec<3, float, defaultp> vec3;
16 |
17 | /// @}
18 | }//namespace glm
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/vector_float4.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/vector_float4.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_vec4.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @addtogroup core_vector
10 | /// @{
11 |
12 | /// 4 components vector of single-precision floating-point numbers.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors
15 | typedef vec<4, float, defaultp> vec4;
16 |
17 | /// @}
18 | }//namespace glm
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/vector_int2.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/vector_int2.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_vec2.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @addtogroup core_vector
10 | /// @{
11 |
12 | /// 2 components vector of signed integer numbers.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors
15 | typedef vec<2, int, defaultp> ivec2;
16 |
17 | /// @}
18 | }//namespace glm
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/vector_int3.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/vector_int3.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_vec3.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @addtogroup core_vector
10 | /// @{
11 |
12 | /// 3 components vector of signed integer numbers.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors
15 | typedef vec<3, int, defaultp> ivec3;
16 |
17 | /// @}
18 | }//namespace glm
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/vector_int4.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/vector_int4.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_vec4.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @addtogroup core_vector
10 | /// @{
11 |
12 | /// 4 components vector of signed integer numbers.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors
15 | typedef vec<4, int, defaultp> ivec4;
16 |
17 | /// @}
18 | }//namespace glm
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/vector_packing.hpp:
--------------------------------------------------------------------------------
1 | /// @ref ext_vector_packing
2 | /// @file glm/ext/vector_packing.hpp
3 | ///
4 | /// @see core (dependence)
5 | ///
6 | /// @defgroup ext_vector_packing GLM_EXT_vector_packing
7 | /// @ingroup ext
8 | ///
9 | /// Include to use the features of this extension.
10 | ///
11 | /// This extension provides a set of function to convert vectors to packed
12 | /// formats.
13 |
14 | #pragma once
15 |
16 | // Dependency:
17 | #include "../detail/qualifier.hpp"
18 |
19 | #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
20 | # pragma message("GLM: GLM_EXT_vector_packing extension included")
21 | #endif
22 |
23 | namespace glm
24 | {
25 | /// @addtogroup ext_vector_packing
26 | /// @{
27 |
28 |
29 | /// @}
30 | }// namespace glm
31 |
32 | #include "vector_packing.inl"
33 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/vector_packing.inl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/vector_packing.inl
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/vector_uint2.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/vector_uint2.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_vec2.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @addtogroup core_vector
10 | /// @{
11 |
12 | /// 2 components vector of unsigned integer numbers.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors
15 | typedef vec<2, unsigned int, defaultp> uvec2;
16 |
17 | /// @}
18 | }//namespace glm
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/vector_uint3.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/vector_uint3.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_vec3.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @addtogroup core_vector
10 | /// @{
11 |
12 | /// 3 components vector of unsigned integer numbers.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors
15 | typedef vec<3, unsigned int, defaultp> uvec3;
16 |
17 | /// @}
18 | }//namespace glm
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/ext/vector_uint4.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/ext/vector_uint4.hpp
3 |
4 | #pragma once
5 | #include "../detail/type_vec4.hpp"
6 |
7 | namespace glm
8 | {
9 | /// @addtogroup core_vector
10 | /// @{
11 |
12 | /// 4 components vector of unsigned integer numbers.
13 | ///
14 | /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors
15 | typedef vec<4, unsigned int, defaultp> uvec4;
16 |
17 | /// @}
18 | }//namespace glm
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/gtc/matrix_transform.inl:
--------------------------------------------------------------------------------
1 | #include "../geometric.hpp"
2 | #include "../trigonometric.hpp"
3 | #include "../matrix.hpp"
4 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/gtc/quaternion_simd.inl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/glm/gtc/quaternion_simd.inl
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/gtc/reciprocal.hpp:
--------------------------------------------------------------------------------
1 | /// @ref gtc_reciprocal
2 | /// @file glm/gtc/reciprocal.hpp
3 | ///
4 | /// @see core (dependence)
5 | ///
6 | /// @defgroup gtc_reciprocal GLM_GTC_reciprocal
7 | /// @ingroup gtc
8 | ///
9 | /// Include to use the features of this extension.
10 | ///
11 | /// Define secant, cosecant and cotangent functions.
12 |
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 | #include "../ext/scalar_reciprocal.hpp"
23 | #include "../ext/vector_reciprocal.hpp"
24 |
25 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/gtc/type_precision.inl:
--------------------------------------------------------------------------------
1 | /// @ref gtc_precision
2 |
3 | namespace glm
4 | {
5 |
6 | }
7 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/gtx/exterior_product.inl:
--------------------------------------------------------------------------------
1 | /// @ref gtx_exterior_product
2 |
3 | #include
4 |
5 | namespace glm {
6 | namespace detail
7 | {
8 | template
9 | struct compute_cross_vec2
10 | {
11 | GLM_FUNC_QUALIFIER static T call(vec<2, T, Q> const& v, vec<2, T, Q> const& u)
12 | {
13 | GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'cross' accepts only floating-point inputs");
14 |
15 | return v.x * u.y - u.x * v.y;
16 | }
17 | };
18 | }//namespace detail
19 |
20 | template
21 | GLM_FUNC_QUALIFIER T cross(vec<2, T, Q> const& x, vec<2, T, Q> const& y)
22 | {
23 | return detail::compute_cross_vec2::value>::call(x, y);
24 | }
25 | }//namespace glm
26 |
27 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/gtx/float_notmalize.inl:
--------------------------------------------------------------------------------
1 | /// @ref gtx_float_normalize
2 |
3 | #include
4 |
5 | namespace glm
6 | {
7 | template
8 | GLM_FUNC_QUALIFIER vec floatNormalize(vec const& v)
9 | {
10 | return vec(v) / static_cast(std::numeric_limits::max());
11 | }
12 |
13 | }//namespace glm
14 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/gtx/handed_coordinate_space.inl:
--------------------------------------------------------------------------------
1 | /// @ref gtx_handed_coordinate_space
2 |
3 | namespace glm
4 | {
5 | template
6 | GLM_FUNC_QUALIFIER bool rightHanded
7 | (
8 | vec<3, T, Q> const& tangent,
9 | vec<3, T, Q> const& binormal,
10 | vec<3, T, Q> const& normal
11 | )
12 | {
13 | return dot(cross(normal, tangent), binormal) > T(0);
14 | }
15 |
16 | template
17 | GLM_FUNC_QUALIFIER bool leftHanded
18 | (
19 | vec<3, T, Q> const& tangent,
20 | vec<3, T, Q> const& binormal,
21 | vec<3, T, Q> const& normal
22 | )
23 | {
24 | return dot(cross(normal, tangent), binormal) < T(0);
25 | }
26 | }//namespace glm
27 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/gtx/matrix_factorisation.inl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/glm/gtx/matrix_factorisation.inl
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/gtx/mixed_product.inl:
--------------------------------------------------------------------------------
1 | /// @ref gtx_mixed_product
2 |
3 | namespace glm
4 | {
5 | template
6 | GLM_FUNC_QUALIFIER T mixedProduct
7 | (
8 | vec<3, T, Q> const& v1,
9 | vec<3, T, Q> const& v2,
10 | vec<3, T, Q> const& v3
11 | )
12 | {
13 | return dot(cross(v1, v2), v3);
14 | }
15 | }//namespace glm
16 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/gtx/normal.inl:
--------------------------------------------------------------------------------
1 | /// @ref gtx_normal
2 |
3 | namespace glm
4 | {
5 | template
6 | GLM_FUNC_QUALIFIER vec<3, T, Q> triangleNormal
7 | (
8 | vec<3, T, Q> const& p1,
9 | vec<3, T, Q> const& p2,
10 | vec<3, T, Q> const& p3
11 | )
12 | {
13 | return normalize(cross(p1 - p2, p1 - p3));
14 | }
15 | }//namespace glm
16 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/gtx/normalize_dot.inl:
--------------------------------------------------------------------------------
1 | /// @ref gtx_normalize_dot
2 |
3 | namespace glm
4 | {
5 | template
6 | GLM_FUNC_QUALIFIER T normalizeDot(vec const& x, vec const& y)
7 | {
8 | return glm::dot(x, y) * glm::inversesqrt(glm::dot(x, x) * glm::dot(y, y));
9 | }
10 |
11 | template
12 | GLM_FUNC_QUALIFIER T fastNormalizeDot(vec const& x, vec const& y)
13 | {
14 | return glm::dot(x, y) * glm::fastInverseSqrt(glm::dot(x, x) * glm::dot(y, y));
15 | }
16 | }//namespace glm
17 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/gtx/number_precision.inl:
--------------------------------------------------------------------------------
1 | /// @ref gtx_number_precision
2 |
3 | namespace glm
4 | {
5 |
6 | }
7 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/gtx/optimum_pow.inl:
--------------------------------------------------------------------------------
1 | /// @ref gtx_optimum_pow
2 |
3 | namespace glm
4 | {
5 | template
6 | GLM_FUNC_QUALIFIER genType pow2(genType const& x)
7 | {
8 | return x * x;
9 | }
10 |
11 | template
12 | GLM_FUNC_QUALIFIER genType pow3(genType const& x)
13 | {
14 | return x * x * x;
15 | }
16 |
17 | template
18 | GLM_FUNC_QUALIFIER genType pow4(genType const& x)
19 | {
20 | return (x * x) * (x * x);
21 | }
22 | }//namespace glm
23 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/gtx/orthonormalize.inl:
--------------------------------------------------------------------------------
1 | /// @ref gtx_orthonormalize
2 |
3 | namespace glm
4 | {
5 | template
6 | GLM_FUNC_QUALIFIER mat<3, 3, T, Q> orthonormalize(mat<3, 3, T, Q> const& m)
7 | {
8 | mat<3, 3, T, Q> r = m;
9 |
10 | r[0] = normalize(r[0]);
11 |
12 | T d0 = dot(r[0], r[1]);
13 | r[1] -= r[0] * d0;
14 | r[1] = normalize(r[1]);
15 |
16 | T d1 = dot(r[1], r[2]);
17 | d0 = dot(r[0], r[2]);
18 | r[2] -= r[0] * d0 + r[1] * d1;
19 | r[2] = normalize(r[2]);
20 |
21 | return r;
22 | }
23 |
24 | template
25 | GLM_FUNC_QUALIFIER vec<3, T, Q> orthonormalize(vec<3, T, Q> const& x, vec<3, T, Q> const& y)
26 | {
27 | return normalize(x - y * dot(y, x));
28 | }
29 | }//namespace glm
30 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/gtx/perpendicular.inl:
--------------------------------------------------------------------------------
1 | /// @ref gtx_perpendicular
2 |
3 | namespace glm
4 | {
5 | template
6 | GLM_FUNC_QUALIFIER genType perp(genType const& x, genType const& Normal)
7 | {
8 | return x - proj(x, Normal);
9 | }
10 | }//namespace glm
11 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/gtx/projection.inl:
--------------------------------------------------------------------------------
1 | /// @ref gtx_projection
2 |
3 | namespace glm
4 | {
5 | template
6 | GLM_FUNC_QUALIFIER genType proj(genType const& x, genType const& Normal)
7 | {
8 | return glm::dot(x, Normal) / glm::dot(Normal, Normal) * Normal;
9 | }
10 | }//namespace glm
11 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/gtx/raw_data.inl:
--------------------------------------------------------------------------------
1 | /// @ref gtx_raw_data
2 |
3 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/gtx/std_based_type.inl:
--------------------------------------------------------------------------------
1 | /// @ref gtx_std_based_type
2 |
3 | namespace glm
4 | {
5 |
6 | }
7 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/gtx/texture.inl:
--------------------------------------------------------------------------------
1 | /// @ref gtx_texture
2 |
3 | namespace glm
4 | {
5 | template
6 | inline T levels(vec const& Extent)
7 | {
8 | return glm::log2(compMax(Extent)) + static_cast(1);
9 | }
10 |
11 | template
12 | inline T levels(T Extent)
13 | {
14 | return vec<1, T, defaultp>(Extent).x;
15 | }
16 | }//namespace glm
17 |
18 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/gtx/transform.inl:
--------------------------------------------------------------------------------
1 | /// @ref gtx_transform
2 |
3 | namespace glm
4 | {
5 | template
6 | GLM_FUNC_QUALIFIER mat<4, 4, T, Q> translate(vec<3, T, Q> const& v)
7 | {
8 | return translate(mat<4, 4, T, Q>(static_cast(1)), v);
9 | }
10 |
11 | template
12 | GLM_FUNC_QUALIFIER mat<4, 4, T, Q> rotate(T angle, vec<3, T, Q> const& v)
13 | {
14 | return rotate(mat<4, 4, T, Q>(static_cast(1)), angle, v);
15 | }
16 |
17 | template
18 | GLM_FUNC_QUALIFIER mat<4, 4, T, Q> scale(vec<3, T, Q> const& v)
19 | {
20 | return scale(mat<4, 4, T, Q>(static_cast(1)), v);
21 | }
22 |
23 | }//namespace glm
24 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/gtx/type_aligned.inl:
--------------------------------------------------------------------------------
1 | /// @ref gtc_type_aligned
2 |
3 | namespace glm
4 | {
5 |
6 | }
7 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/gtx/wrap.inl:
--------------------------------------------------------------------------------
1 | /// @ref gtx_wrap
2 |
3 | namespace glm
4 | {
5 |
6 | }//namespace glm
7 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/mat2x2.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/mat2x2.hpp
3 |
4 | #pragma once
5 | #include "./ext/matrix_double2x2.hpp"
6 | #include "./ext/matrix_double2x2_precision.hpp"
7 | #include "./ext/matrix_float2x2.hpp"
8 | #include "./ext/matrix_float2x2_precision.hpp"
9 |
10 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/mat2x3.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/mat2x3.hpp
3 |
4 | #pragma once
5 | #include "./ext/matrix_double2x3.hpp"
6 | #include "./ext/matrix_double2x3_precision.hpp"
7 | #include "./ext/matrix_float2x3.hpp"
8 | #include "./ext/matrix_float2x3_precision.hpp"
9 |
10 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/mat2x4.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/mat2x4.hpp
3 |
4 | #pragma once
5 | #include "./ext/matrix_double2x4.hpp"
6 | #include "./ext/matrix_double2x4_precision.hpp"
7 | #include "./ext/matrix_float2x4.hpp"
8 | #include "./ext/matrix_float2x4_precision.hpp"
9 |
10 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/mat3x2.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/mat3x2.hpp
3 |
4 | #pragma once
5 | #include "./ext/matrix_double3x2.hpp"
6 | #include "./ext/matrix_double3x2_precision.hpp"
7 | #include "./ext/matrix_float3x2.hpp"
8 | #include "./ext/matrix_float3x2_precision.hpp"
9 |
10 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/mat3x3.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/mat3x3.hpp
3 |
4 | #pragma once
5 | #include "./ext/matrix_double3x3.hpp"
6 | #include "./ext/matrix_double3x3_precision.hpp"
7 | #include "./ext/matrix_float3x3.hpp"
8 | #include "./ext/matrix_float3x3_precision.hpp"
9 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/mat3x4.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/mat3x4.hpp
3 |
4 | #pragma once
5 | #include "./ext/matrix_double3x4.hpp"
6 | #include "./ext/matrix_double3x4_precision.hpp"
7 | #include "./ext/matrix_float3x4.hpp"
8 | #include "./ext/matrix_float3x4_precision.hpp"
9 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/mat4x2.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/mat4x2.hpp
3 |
4 | #pragma once
5 | #include "./ext/matrix_double4x2.hpp"
6 | #include "./ext/matrix_double4x2_precision.hpp"
7 | #include "./ext/matrix_float4x2.hpp"
8 | #include "./ext/matrix_float4x2_precision.hpp"
9 |
10 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/mat4x3.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/mat4x3.hpp
3 |
4 | #pragma once
5 | #include "./ext/matrix_double4x3.hpp"
6 | #include "./ext/matrix_double4x3_precision.hpp"
7 | #include "./ext/matrix_float4x3.hpp"
8 | #include "./ext/matrix_float4x3_precision.hpp"
9 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/mat4x4.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/mat4x4.hpp
3 |
4 | #pragma once
5 | #include "./ext/matrix_double4x4.hpp"
6 | #include "./ext/matrix_double4x4_precision.hpp"
7 | #include "./ext/matrix_float4x4.hpp"
8 | #include "./ext/matrix_float4x4_precision.hpp"
9 |
10 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/simd/exponential.h:
--------------------------------------------------------------------------------
1 | /// @ref simd
2 | /// @file glm/simd/experimental.h
3 |
4 | #pragma once
5 |
6 | #include "platform.h"
7 |
8 | #if GLM_ARCH & GLM_ARCH_SSE2_BIT
9 |
10 | GLM_FUNC_QUALIFIER glm_f32vec4 glm_vec1_sqrt_lowp(glm_f32vec4 x)
11 | {
12 | return _mm_mul_ss(_mm_rsqrt_ss(x), x);
13 | }
14 |
15 | GLM_FUNC_QUALIFIER glm_f32vec4 glm_vec4_sqrt_lowp(glm_f32vec4 x)
16 | {
17 | return _mm_mul_ps(_mm_rsqrt_ps(x), x);
18 | }
19 |
20 | #endif//GLM_ARCH & GLM_ARCH_SSE2_BIT
21 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/simd/packing.h:
--------------------------------------------------------------------------------
1 | /// @ref simd
2 | /// @file glm/simd/packing.h
3 |
4 | #pragma once
5 |
6 | #if GLM_ARCH & GLM_ARCH_SSE2_BIT
7 |
8 | #endif//GLM_ARCH & GLM_ARCH_SSE2_BIT
9 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/simd/trigonometric.h:
--------------------------------------------------------------------------------
1 | /// @ref simd
2 | /// @file glm/simd/trigonometric.h
3 |
4 | #pragma once
5 |
6 | #if GLM_ARCH & GLM_ARCH_SSE2_BIT
7 |
8 | #endif//GLM_ARCH & GLM_ARCH_SSE2_BIT
9 |
10 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/simd/vector_relational.h:
--------------------------------------------------------------------------------
1 | /// @ref simd
2 | /// @file glm/simd/vector_relational.h
3 |
4 | #pragma once
5 |
6 | #if GLM_ARCH & GLM_ARCH_SSE2_BIT
7 |
8 | #endif//GLM_ARCH & GLM_ARCH_SSE2_BIT
9 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/vec2.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/vec2.hpp
3 |
4 | #pragma once
5 | #include "./ext/vector_bool2.hpp"
6 | #include "./ext/vector_bool2_precision.hpp"
7 | #include "./ext/vector_float2.hpp"
8 | #include "./ext/vector_float2_precision.hpp"
9 | #include "./ext/vector_double2.hpp"
10 | #include "./ext/vector_double2_precision.hpp"
11 | #include "./ext/vector_int2.hpp"
12 | #include "./ext/vector_int2_sized.hpp"
13 | #include "./ext/vector_uint2.hpp"
14 | #include "./ext/vector_uint2_sized.hpp"
15 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/vec3.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/vec3.hpp
3 |
4 | #pragma once
5 | #include "./ext/vector_bool3.hpp"
6 | #include "./ext/vector_bool3_precision.hpp"
7 | #include "./ext/vector_float3.hpp"
8 | #include "./ext/vector_float3_precision.hpp"
9 | #include "./ext/vector_double3.hpp"
10 | #include "./ext/vector_double3_precision.hpp"
11 | #include "./ext/vector_int3.hpp"
12 | #include "./ext/vector_int3_sized.hpp"
13 | #include "./ext/vector_uint3.hpp"
14 | #include "./ext/vector_uint3_sized.hpp"
15 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/glm/vec4.hpp:
--------------------------------------------------------------------------------
1 | /// @ref core
2 | /// @file glm/vec4.hpp
3 |
4 | #pragma once
5 | #include "./ext/vector_bool4.hpp"
6 | #include "./ext/vector_bool4_precision.hpp"
7 | #include "./ext/vector_float4.hpp"
8 | #include "./ext/vector_float4_precision.hpp"
9 | #include "./ext/vector_double4.hpp"
10 | #include "./ext/vector_double4_precision.hpp"
11 | #include "./ext/vector_int4.hpp"
12 | #include "./ext/vector_int4_sized.hpp"
13 | #include "./ext/vector_uint4.hpp"
14 | #include "./ext/vector_uint4_sized.hpp"
15 |
16 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/bug/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | glmCreateTestGTC(bug_ms_vec_static)
2 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/bug/bug_ms_vec_static.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | #if GLM_CONFIG_ANONYMOUS_STRUCT == GLM_ENABLE
4 | struct vec2;
5 |
6 | struct _swizzle
7 | {
8 | char _buffer[1];
9 | };
10 |
11 | struct vec2
12 | {
13 | GLM_CONSTEXPR vec2() :
14 | x(0), y(0)
15 | {}
16 |
17 | union
18 | {
19 | struct { float x, y; };
20 | struct { _swizzle xx; };
21 | };
22 | };
23 | #endif
24 |
25 | // Visual C++ has a bug generating the error: fatal error C1001: An internal error has occurred in the compiler.
26 | // vec2 Bar;
27 |
28 | int main()
29 | {
30 | return 0;
31 | }
32 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/cmake/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.2 FATAL_ERROR)
2 | project(test_find_glm)
3 |
4 | find_package(glm REQUIRED)
5 |
6 | add_executable(test_find_glm test_find_glm.cpp)
7 | target_link_libraries(test_find_glm glm::glm)
8 |
9 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/core/core_force_aligned_gentypes.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | int main()
5 | {
6 | int Error = 0;
7 |
8 | return Error;
9 | }
10 |
11 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/core/core_force_arch_unknown.cpp:
--------------------------------------------------------------------------------
1 | #ifndef GLM_FORCE_ARCH_UNKNOWN
2 | # define GLM_FORCE_ARCH_UNKNOWN
3 | #endif
4 |
5 | #include
6 | #include
7 |
8 | int main()
9 | {
10 | int Error = 0;
11 |
12 | return Error;
13 | }
14 |
15 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/core/core_force_compiler_unknown.cpp:
--------------------------------------------------------------------------------
1 | #ifndef GLM_FORCE_COMPILER_UNKNOWN
2 | # define GLM_FORCE_COMPILER_UNKNOWN
3 | #endif
4 |
5 | #include
6 | #include
7 |
8 | int main()
9 | {
10 | int Error = 0;
11 |
12 | return Error;
13 | }
14 |
15 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/core/core_force_cxx03.cpp:
--------------------------------------------------------------------------------
1 | #ifndef GLM_FORCE_CXX03
2 | # define GLM_FORCE_CXX03
3 | #endif
4 |
5 | #include
6 | #include
7 |
8 | int main()
9 | {
10 | int Error = 0;
11 |
12 | return Error;
13 | }
14 |
15 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/core/core_force_cxx98.cpp:
--------------------------------------------------------------------------------
1 | #ifndef GLM_FORCE_CXX98
2 | # define GLM_FORCE_CXX98
3 | #endif
4 |
5 | #include
6 | #include
7 |
8 | int main()
9 | {
10 | int Error = 0;
11 |
12 | return Error;
13 | }
14 |
15 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/core/core_force_cxx_unknown.cpp:
--------------------------------------------------------------------------------
1 | #ifndef GLM_FORCE_CXX_UNKNOWN
2 | # define GLM_FORCE_CXX_UNKNOWN
3 | #endif
4 |
5 | #include
6 | #include
7 |
8 | int main()
9 | {
10 | int Error = 0;
11 |
12 | return Error;
13 | }
14 |
15 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/core/core_force_depth_zero_to_one.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_FORCE_DEPTH_ZERO_TO_ONE
2 |
3 | #include
4 | #include
5 |
6 | int main()
7 | {
8 | int Error = 0;
9 |
10 | return Error;
11 | }
12 |
13 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/core/core_force_explicit_ctor.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_FORCE_EXPLICIT_CTOR
2 |
3 | #include
4 | #include
5 |
6 | int main()
7 | {
8 | int Error = 0;
9 |
10 | glm::ivec4 B(1);
11 | Error += B == glm::ivec4(1) ? 0 : 1;
12 |
13 | //glm::vec4 A = B;
14 |
15 | return Error;
16 | }
17 |
18 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/core/core_force_inline.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_FORCE_INLINE
2 |
3 | #include
4 | #include
5 |
6 | int main()
7 | {
8 | int Error = 0;
9 |
10 | return Error;
11 | }
12 |
13 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/core/core_force_left_handed.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_FORCE_LEFT_HANDED
2 |
3 | #include
4 | #include
5 |
6 | int main()
7 | {
8 | int Error = 0;
9 |
10 | return Error;
11 | }
12 |
13 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/core/core_force_platform_unknown.cpp:
--------------------------------------------------------------------------------
1 | #ifndef GLM_FORCE_PLATFORM_UNKNOWN
2 | # define GLM_FORCE_PLATFORM_UNKNOWN
3 | #endif
4 |
5 | #include
6 | #include
7 |
8 | int main()
9 | {
10 | int Error = 0;
11 |
12 | return Error;
13 | }
14 |
15 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/core/core_force_quat_xyzw.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_FORCE_QUAT_DATA_XYZW
2 | #define GLM_FORCE_INLINE
3 |
4 | #include
5 | #include
6 |
7 | int main()
8 | {
9 | int Error = 0;
10 |
11 | return Error;
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/core/core_force_size_t_length.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_FORCE_SIZE_T_LENGTH
2 |
3 | #include
4 | #include
5 |
6 | int main()
7 | {
8 | int Error = 0;
9 |
10 | return Error;
11 | }
12 |
13 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/core/core_force_unrestricted_gentype.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_FORCE_UNRESTRICTED_GENTYPE
2 |
3 | #include
4 | #include
5 |
6 | int main()
7 | {
8 | int Error = 0;
9 |
10 | return Error;
11 | }
12 |
13 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/core/core_func_noise.cpp:
--------------------------------------------------------------------------------
1 | int main()
2 | {
3 | int Error = 0;
4 |
5 | return Error;
6 | }
7 |
8 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/core/core_func_trigonometric.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | int main()
4 | {
5 | int Error = 0;
6 |
7 |
8 | return Error;
9 | }
10 |
11 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/core/core_setup_force_cxx98.cpp:
--------------------------------------------------------------------------------
1 | #ifndef GLM_FORCE_CXX98
2 | # define GLM_FORCE_CXX98
3 | #endif
4 | #include
5 | #include
6 |
7 | int main()
8 | {
9 | int Error = 0;
10 |
11 | return Error;
12 | }
13 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/core/core_setup_force_size_t_length.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_FORCE_SIZE_T_LENGTH
2 | #include
3 | #include
4 |
5 | template
6 | genType add(genType const& a, genType const& b)
7 | {
8 | genType result(0);
9 | for(glm::length_t i = 0; i < a.length(); ++i)
10 | result[i] = a[i] + b[i];
11 | return result;
12 | }
13 |
14 | int main()
15 | {
16 | int Error = 0;
17 |
18 | glm::ivec4 v(1);
19 | Error += add(v, v) == glm::ivec4(2) ? 0 : 1;
20 |
21 | return Error;
22 | }
23 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/core/core_setup_platform_unknown.cpp:
--------------------------------------------------------------------------------
1 | #ifndef GLM_FORCE_PLATFORM_UNKNOWN
2 | # define GLM_FORCE_PLATFORM_UNKNOWN
3 | #endif
4 | #ifndef GLM_FORCE_COMPILER_UNKNOWN
5 | # define GLM_FORCE_COMPILER_UNKNOWN
6 | #endif
7 | #ifndef GLM_FORCE_ARCH_UNKNOWN
8 | # define GLM_FORCE_ARCH_UNKNOWN
9 | #endif
10 | #ifndef GLM_FORCE_CXX_UNKNOWN
11 | # define GLM_FORCE_CXX_UNKNOWN
12 | #endif
13 | #include
14 | #include
15 |
16 | int main()
17 | {
18 | int Error = 0;
19 |
20 | return Error;
21 | }
22 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/core/core_type_int.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | static int test_bit_operator()
5 | {
6 | int Error = 0;
7 |
8 | glm::ivec4 const a(1);
9 | glm::ivec4 const b = ~a;
10 | Error += glm::all(glm::equal(b, glm::ivec4(-2))) ? 0 : 1;
11 |
12 | glm::int32 const c(1);
13 | glm::int32 const d = ~c;
14 | Error += d == -2 ? 0 : 1;
15 |
16 | return Error;
17 | }
18 |
19 | int main()
20 | {
21 | int Error = 0;
22 |
23 | Error += test_bit_operator();
24 |
25 | return Error;
26 | }
27 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/ext/ext_matrix_clip_space.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 | #include
5 | #include
6 | #include
7 |
8 | int main()
9 | {
10 | int Error = 0;
11 |
12 | return Error;
13 | }
14 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/ext/ext_matrix_projection.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 | #include
5 | #include
6 | #include
7 |
8 | int main()
9 | {
10 | int Error = 0;
11 |
12 | return Error;
13 | }
14 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/ext/ext_scalar_constants.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | template
4 | static int test_epsilon()
5 | {
6 | int Error = 0;
7 |
8 | valType const Test = glm::epsilon();
9 | Error += Test > static_cast(0) ? 0 : 1;
10 |
11 | return Error;
12 | }
13 |
14 | template
15 | static int test_pi()
16 | {
17 | int Error = 0;
18 |
19 | valType const Test = glm::pi();
20 | Error += Test > static_cast(3.14) ? 0 : 1;
21 | Error += Test < static_cast(3.15) ? 0 : 1;
22 |
23 | return Error;
24 | }
25 |
26 | int main()
27 | {
28 | int Error = 0;
29 |
30 | Error += test_epsilon();
31 | Error += test_epsilon();
32 | Error += test_pi();
33 | Error += test_pi();
34 |
35 | return Error;
36 | }
37 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/ext/ext_scalar_packing.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | int test_packUnorm()
5 | {
6 | int Error = 0;
7 |
8 |
9 | return Error;
10 | }
11 |
12 | int test_packSnorm()
13 | {
14 | int Error = 0;
15 |
16 |
17 | return Error;
18 | }
19 |
20 | int main()
21 | {
22 | int Error = 0;
23 |
24 | Error += test_packUnorm();
25 | Error += test_packSnorm();
26 |
27 | return Error;
28 | }
29 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/glm.cppcheck:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtc/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | glmCreateTestGTC(gtc_bitfield)
2 | glmCreateTestGTC(gtc_color_space)
3 | glmCreateTestGTC(gtc_constants)
4 | glmCreateTestGTC(gtc_epsilon)
5 | glmCreateTestGTC(gtc_integer)
6 | glmCreateTestGTC(gtc_matrix_access)
7 | glmCreateTestGTC(gtc_matrix_integer)
8 | glmCreateTestGTC(gtc_matrix_inverse)
9 | glmCreateTestGTC(gtc_matrix_transform)
10 | glmCreateTestGTC(gtc_noise)
11 | glmCreateTestGTC(gtc_packing)
12 | glmCreateTestGTC(gtc_quaternion)
13 | glmCreateTestGTC(gtc_random)
14 | glmCreateTestGTC(gtc_round)
15 | glmCreateTestGTC(gtc_reciprocal)
16 | glmCreateTestGTC(gtc_type_aligned)
17 | glmCreateTestGTC(gtc_type_precision)
18 | glmCreateTestGTC(gtc_type_ptr)
19 | glmCreateTestGTC(gtc_ulp)
20 | glmCreateTestGTC(gtc_vec1)
21 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtc/gtc_constants.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | int test_epsilon()
4 | {
5 | int Error = 0;
6 |
7 | {
8 | float Test = glm::epsilon();
9 | Error += Test > 0.0f ? 0 : 1;
10 | }
11 |
12 | {
13 | double Test = glm::epsilon();
14 | Error += Test > 0.0 ? 0 : 1;
15 | }
16 |
17 | return Error;
18 | }
19 |
20 | int main()
21 | {
22 | int Error(0);
23 |
24 | //float MinHalf = 0.0f;
25 | //while (glm::half(MinHalf) == glm::half(0.0f))
26 | // MinHalf += std::numeric_limits::epsilon();
27 | Error += test_epsilon();
28 |
29 | return Error;
30 | }
31 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtc/gtc_matrix_integer.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | int main()
4 | {
5 | int Error = 0;
6 |
7 | return Error;
8 | }
9 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtc/gtc_quaternion.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/diff-gaussian-rasterization/third_party/glm/test/gtc/gtc_quaternion.cpp
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtc/gtc_reciprocal.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 |
4 | int main()
5 | {
6 | return 0;
7 | }
8 |
9 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtc/gtc_vec1.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | int main()
4 | {
5 | int Error = 0;
6 |
7 | return Error;
8 | }
9 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | int main()
4 | {
5 | int Error = 0;
6 |
7 | return Error;
8 | }
9 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx_associated_min_max.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_ENABLE_EXPERIMENTAL
2 | #include
3 | #include
4 |
5 | int main()
6 | {
7 | int Error(0);
8 |
9 | return Error;
10 | }
11 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx_closest_point.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_ENABLE_EXPERIMENTAL
2 | #include
3 |
4 | int main()
5 | {
6 | int Error(0);
7 |
8 | return Error;
9 | }
10 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx_color_space.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_ENABLE_EXPERIMENTAL
2 | #include
3 |
4 | int test_saturation()
5 | {
6 | int Error(0);
7 |
8 | glm::vec4 Color = glm::saturation(1.0f, glm::vec4(1.0, 0.5, 0.0, 1.0));
9 |
10 | return Error;
11 | }
12 |
13 | int main()
14 | {
15 | int Error(0);
16 |
17 | Error += test_saturation();
18 |
19 | return Error;
20 | }
21 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx_color_space_YCoCg.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_ENABLE_EXPERIMENTAL
2 | #include
3 |
4 | int main()
5 | {
6 | int Error(0);
7 |
8 | return Error;
9 | }
10 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx_compatibility.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_ENABLE_EXPERIMENTAL
2 | #include
3 |
4 | int main()
5 | {
6 | int Error(0);
7 |
8 | Error += glm::isfinite(1.0f) ? 0 : 1;
9 | Error += glm::isfinite(1.0) ? 0 : 1;
10 | Error += glm::isfinite(-1.0f) ? 0 : 1;
11 | Error += glm::isfinite(-1.0) ? 0 : 1;
12 |
13 | Error += glm::all(glm::isfinite(glm::vec4(1.0f))) ? 0 : 1;
14 | Error += glm::all(glm::isfinite(glm::dvec4(1.0))) ? 0 : 1;
15 | Error += glm::all(glm::isfinite(glm::vec4(-1.0f))) ? 0 : 1;
16 | Error += glm::all(glm::isfinite(glm::dvec4(-1.0))) ? 0 : 1;
17 |
18 | return Error;
19 | }
20 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx_extend.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_ENABLE_EXPERIMENTAL
2 | #include
3 |
4 | int main()
5 | {
6 | int Error(0);
7 |
8 | return Error;
9 | }
10 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx_exterior_product.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 |
5 | int main()
6 | {
7 | int Error = 0;
8 |
9 | float const f = glm::cross(glm::vec2(1.0f, 1.0f), glm::vec2(1.0f, 1.0f));
10 | Error += glm::epsilonEqual(f, 0.0f, 0.001f) ? 0 : 1;
11 |
12 | return Error;
13 | }
14 |
15 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx_fast_exponential.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_ENABLE_EXPERIMENTAL
2 | #include
3 |
4 | int main()
5 | {
6 | int Error(0);
7 |
8 | return Error;
9 | }
10 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx_functions.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 |
5 | int test_gauss_1d()
6 | {
7 | int Error = 0;
8 |
9 | std::vector Result(20);
10 | for(std::size_t i = 0, n = Result.size(); i < n; ++i)
11 | Result[i] = glm::gauss(static_cast(i) * 0.1f, 0.0f, 1.0f);
12 |
13 | return Error;
14 | }
15 |
16 | int test_gauss_2d()
17 | {
18 | int Error = 0;
19 |
20 | std::vector Result(20);
21 | for(std::size_t i = 0, n = Result.size(); i < n; ++i)
22 | Result[i] = glm::gauss(glm::vec2(static_cast(i)) * 0.1f, glm::vec2(0.0f), glm::vec2(1.0f));
23 |
24 | return Error;
25 | }
26 |
27 | int main()
28 | {
29 | int Error = 0;
30 |
31 | Error += test_gauss_1d();
32 | Error += test_gauss_2d();
33 |
34 | return Error;
35 | }
36 |
37 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx_gradient_paint.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_ENABLE_EXPERIMENTAL
2 | #include
3 |
4 | int test_radialGradient()
5 | {
6 | int Error = 0;
7 |
8 | float Gradient = glm::radialGradient(glm::vec2(0), 1.0f, glm::vec2(1), glm::vec2(0.5));
9 | Error += Gradient != 0.0f ? 0 : 1;
10 |
11 | return Error;
12 | }
13 |
14 | int test_linearGradient()
15 | {
16 | int Error = 0;
17 |
18 | float Gradient = glm::linearGradient(glm::vec2(0), glm::vec2(1), glm::vec2(0.5));
19 | Error += Gradient != 0.0f ? 0 : 1;
20 |
21 | return Error;
22 | }
23 |
24 | int main()
25 | {
26 | int Error = 0;
27 |
28 | Error += test_radialGradient();
29 | Error += test_linearGradient();
30 |
31 | return Error;
32 | }
33 |
34 |
35 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx_handed_coordinate_space.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_ENABLE_EXPERIMENTAL
2 | #include
3 |
4 | int main()
5 | {
6 | int Error(0);
7 |
8 | return Error;
9 | }
10 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx_int_10_10_10_2.cpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////////////////////
2 | // OpenGL Mathematics Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net)
3 | ///////////////////////////////////////////////////////////////////////////////////////////////////
4 | // Created : 2013-10-25
5 | // Updated : 2013-10-25
6 | // Licence : This source is under MIT licence
7 | // File : test/gtx/associated_min_max.cpp
8 | ///////////////////////////////////////////////////////////////////////////////////////////////////
9 |
10 | #include
11 | #include
12 |
13 | int main()
14 | {
15 | int Error(0);
16 |
17 | return Error;
18 | }
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx_matrix_cross_product.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_ENABLE_EXPERIMENTAL
2 | #include
3 |
4 | int main()
5 | {
6 | int Error(0);
7 |
8 | return Error;
9 | }
10 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx_matrix_decompose.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_ENABLE_EXPERIMENTAL
2 | #include
3 |
4 | int main()
5 | {
6 | int Error(0);
7 |
8 | glm::mat4 Matrix(1);
9 |
10 | glm::vec3 Scale;
11 | glm::quat Orientation;
12 | glm::vec3 Translation;
13 | glm::vec3 Skew(1);
14 | glm::vec4 Perspective(1);
15 |
16 | glm::decompose(Matrix, Scale, Orientation, Translation, Skew, Perspective);
17 |
18 | return Error;
19 | }
20 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx_matrix_major_storage.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_ENABLE_EXPERIMENTAL
2 | #include
3 |
4 | int main()
5 | {
6 | int Error(0);
7 |
8 | return Error;
9 | }
10 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx_matrix_transform_2d.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_ENABLE_EXPERIMENTAL
2 | #include
3 |
4 | int main()
5 | {
6 | int Error(0);
7 |
8 | return Error;
9 | }
10 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx_mixed_product.cpp:
--------------------------------------------------------------------------------
1 | ///////////////////////////////////////////////////////////////////////////////////////////////////
2 | // OpenGL Mathematics Copyright (c) 2005 - 2013 G-Truc Creation (www.g-truc.net)
3 | ///////////////////////////////////////////////////////////////////////////////////////////////////
4 | // Created : 2013-10-25
5 | // Updated : 2013-10-25
6 | // Licence : This source is under MIT licence
7 | // File : test/gtx/associated_min_max.cpp
8 | ///////////////////////////////////////////////////////////////////////////////////////////////////
9 |
10 | #include
11 | #include
12 |
13 | int main()
14 | {
15 | int Error(0);
16 |
17 | return Error;
18 | }
19 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx_normal.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_ENABLE_EXPERIMENTAL
2 | #include
3 |
4 | int main()
5 | {
6 | int Error(0);
7 |
8 | return Error;
9 | }
10 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx_normalize_dot.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_ENABLE_EXPERIMENTAL
2 | #include
3 |
4 | int main()
5 | {
6 | int Error(0);
7 |
8 | return Error;
9 | }
10 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx_number_precision.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_ENABLE_EXPERIMENTAL
2 | #include
3 |
4 | int main()
5 | {
6 | int Error(0);
7 |
8 | return Error;
9 | }
10 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx_optimum_pow.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_ENABLE_EXPERIMENTAL
2 | #include
3 |
4 | int main()
5 | {
6 | int Error(0);
7 |
8 | return Error;
9 | }
10 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx_orthonormalize.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_ENABLE_EXPERIMENTAL
2 | #include
3 |
4 | int main()
5 | {
6 | int Error(0);
7 |
8 | return Error;
9 | }
10 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx_perpendicular.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_ENABLE_EXPERIMENTAL
2 | #include
3 |
4 | int main()
5 | {
6 | int Error(0);
7 |
8 | return Error;
9 | }
10 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx_polar_coordinates.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_ENABLE_EXPERIMENTAL
2 | #include
3 |
4 | int main()
5 | {
6 | int Error(0);
7 |
8 | return Error;
9 | }
10 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx_projection.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_ENABLE_EXPERIMENTAL
2 | #include
3 |
4 | int main()
5 | {
6 | int Error(0);
7 |
8 | return Error;
9 | }
10 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx_rotate_normalized_axis.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_ENABLE_EXPERIMENTAL
2 | #include
3 |
4 | int main()
5 | {
6 | int Error(0);
7 |
8 | return Error;
9 | }
10 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx_texture.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_ENABLE_EXPERIMENTAL
2 | #include
3 | #include
4 |
5 | int test_levels()
6 | {
7 | int Error = 0;
8 |
9 | int const Levels = glm::levels(glm::ivec2(3, 2));
10 | Error += Levels == 2 ? 0 : 1;
11 |
12 | return Error;
13 | }
14 |
15 | int main()
16 | {
17 | int Error = 0;
18 |
19 | Error += test_levels();
20 |
21 | return Error;
22 | }
23 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx_type_trait.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_ENABLE_EXPERIMENTAL
2 | #include
3 | #include
4 |
5 | int main()
6 | {
7 | int Error = 0;
8 |
9 |
10 |
11 | return Error;
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/gtx/gtx_vec_swizzle.cpp:
--------------------------------------------------------------------------------
1 | #define GLM_ENABLE_EXPERIMENTAL
2 | #include
3 |
4 | int main()
5 | {
6 | int Error = 0;
7 |
8 |
9 | return Error;
10 | }
11 |
12 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/test/perf/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | glmCreateTestGTC(perf_matrix_div)
2 | glmCreateTestGTC(perf_matrix_inverse)
3 | glmCreateTestGTC(perf_matrix_mul)
4 | glmCreateTestGTC(perf_matrix_mul_vector)
5 | glmCreateTestGTC(perf_matrix_transpose)
6 | glmCreateTestGTC(perf_vector_mul_matrix)
7 |
--------------------------------------------------------------------------------
/submodules/diff-gaussian-rasterization/third_party/glm/util/autoexp.txt:
--------------------------------------------------------------------------------
1 | [Visualizer]
2 |
3 | glm::detail::tvec2<*>{
4 | preview (
5 | #(#($c.x,$c.y))
6 | )
7 | children (
8 | #([x]: $c.x,[y]: $c.y)
9 | )
10 | }
11 |
12 | glm::detail::tvec3<*>{
13 | preview (
14 | #($e.x,$e.y,$e.z)
15 | )
16 | children (
17 | #([x]: $e.x,[y]: $e.y,[z]: $e.z)
18 | )
19 | }
20 |
21 | glm::detail::tvec4<*>{
22 | preview (
23 | #($c.x,$c.y,$c.z,$c.w)
24 | )
25 | children (
26 | #([x]: $e.x,[y]: $e.y,[z]: $e.z, #([w]: $e.w))
27 | )
28 | }
29 |
--------------------------------------------------------------------------------
/submodules/simple-knn/ext.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2023, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact george.drettakis@inria.fr
10 | */
11 |
12 | #include
13 | #include "spatial.h"
14 |
15 | PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) {
16 | m.def("distCUDA2", &distCUDA2);
17 | }
18 |
--------------------------------------------------------------------------------
/submodules/simple-knn/simple_knn.egg-info/PKG-INFO:
--------------------------------------------------------------------------------
1 | Metadata-Version: 2.1
2 | Name: simple-knn
3 | Version: 0.0.0
4 |
--------------------------------------------------------------------------------
/submodules/simple-knn/simple_knn.egg-info/SOURCES.txt:
--------------------------------------------------------------------------------
1 | ext.cpp
2 | setup.py
3 | simple_knn.cu
4 | spatial.cu
5 | simple_knn.egg-info/PKG-INFO
6 | simple_knn.egg-info/SOURCES.txt
7 | simple_knn.egg-info/dependency_links.txt
8 | simple_knn.egg-info/top_level.txt
--------------------------------------------------------------------------------
/submodules/simple-knn/simple_knn.egg-info/dependency_links.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/submodules/simple-knn/simple_knn.egg-info/top_level.txt:
--------------------------------------------------------------------------------
1 | simple_knn
2 |
--------------------------------------------------------------------------------
/submodules/simple-knn/simple_knn.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2023, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact george.drettakis@inria.fr
10 | */
11 |
12 | #ifndef SIMPLEKNN_H_INCLUDED
13 | #define SIMPLEKNN_H_INCLUDED
14 |
15 | class SimpleKNN
16 | {
17 | public:
18 | static void knn(int P, float3* points, float* meanDists);
19 | };
20 |
21 | #endif
--------------------------------------------------------------------------------
/submodules/simple-knn/simple_knn/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/city-super/Scaffold-GS/59c833b56bbbf510f3f64d40f81721995caced66/submodules/simple-knn/simple_knn/.gitkeep
--------------------------------------------------------------------------------
/submodules/simple-knn/spatial.cu:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2023, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact george.drettakis@inria.fr
10 | */
11 |
12 | #include "spatial.h"
13 | #include "simple_knn.h"
14 |
15 | torch::Tensor
16 | distCUDA2(const torch::Tensor& points)
17 | {
18 | const int P = points.size(0);
19 |
20 | auto float_opts = points.options().dtype(torch::kFloat32);
21 | torch::Tensor means = torch::full({P}, 0.0, float_opts);
22 |
23 | SimpleKNN::knn(P, (float3*)points.contiguous().data(), means.contiguous().data());
24 |
25 | return means;
26 | }
--------------------------------------------------------------------------------
/submodules/simple-knn/spatial.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2023, Inria
3 | * GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | * All rights reserved.
5 | *
6 | * This software is free for non-commercial, research and evaluation use
7 | * under the terms of the LICENSE.md file.
8 | *
9 | * For inquiries contact george.drettakis@inria.fr
10 | */
11 |
12 | #include
13 |
14 | torch::Tensor distCUDA2(const torch::Tensor& points);
--------------------------------------------------------------------------------
/train_db.sh:
--------------------------------------------------------------------------------
1 | exp_name='baseline'
2 |
3 | voxel_size=0.005
4 | update_init_factor=16
5 | appearance_dim=0
6 | ratio=1
7 |
8 | ulimit -n 4096
9 |
10 | ./train.sh -d blending/playroom -l ${exp_name} --gpu -1 --voxel_size ${voxel_size} --update_init_factor ${update_init_factor} --appearance_dim ${appearance_dim} --ratio ${ratio} &
11 | sleep 20s
12 |
13 | ./train.sh -d blending/drjohnson -l ${exp_name} --gpu -1 --voxel_size ${voxel_size} --update_init_factor ${update_init_factor} --appearance_dim ${appearance_dim} --ratio ${ratio} &
--------------------------------------------------------------------------------
/train_tnt.sh:
--------------------------------------------------------------------------------
1 | exp_name='baseline'
2 |
3 | voxel_size=0.01
4 | update_init_factor=16
5 | appearance_dim=0
6 | ratio=1
7 |
8 | ulimit -n 4096
9 |
10 | ./train.sh -d tandt/truck -l ${exp_name} --gpu -1 --voxel_size ${voxel_size} --update_init_factor ${update_init_factor} --appearance_dim ${appearance_dim} --ratio ${ratio} &
11 | sleep 20s
12 |
13 | ./train.sh -d tandt/train -l ${exp_name} --gpu -1 --voxel_size ${voxel_size} --update_init_factor ${update_init_factor} --appearance_dim ${appearance_dim} --ratio ${ratio} &
--------------------------------------------------------------------------------
/utils/image_utils.py:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2023, Inria
3 | # GRAPHDECO research group, https://team.inria.fr/graphdeco
4 | # All rights reserved.
5 | #
6 | # This software is free for non-commercial, research and evaluation use
7 | # under the terms of the LICENSE.md file.
8 | #
9 | # For inquiries contact george.drettakis@inria.fr
10 | #
11 |
12 | import torch
13 |
14 | def mse(img1, img2):
15 | return (((img1 - img2)) ** 2).view(img1.shape[0], -1).mean(1, keepdim=True)
16 |
17 | def psnr(img1, img2):
18 | mse = (((img1 - img2)) ** 2).view(img1.shape[0], -1).mean(1, keepdim=True)
19 | return 20 * torch.log10(1.0 / torch.sqrt(mse))
20 |
--------------------------------------------------------------------------------