Copy disabled (too large)
Download .txt
Showing preview only (32,226K chars total). Download the full file to get everything.
Repository: vlongle/pixie
Branch: main
Commit: bfe198a6d602
Files: 2335
Total size: 30.1 MB
Directory structure:
gitextract_3kysormy/
├── .gitignore
├── LICENSE
├── README.md
├── config/
│ ├── config.yaml
│ ├── data_curation/
│ │ └── default.yaml
│ ├── data_rendering/
│ │ └── default.yaml
│ ├── mapping/
│ │ └── default.yaml
│ ├── obj_ids_metadata.json
│ ├── output_rendering/
│ │ └── default.yaml
│ ├── paths/
│ │ └── default.yaml
│ ├── physics/
│ │ └── default.yaml
│ ├── segmentation/
│ │ └── default.yaml
│ ├── training/
│ │ └── default.yaml
│ ├── training_3d/
│ │ └── default.yaml
│ └── voxelization/
│ └── default.yaml
├── data_curation/
│ ├── cat_dict.json
│ ├── download_objaverse.py
│ ├── manual_data_filtering_correction.py
│ ├── manual_sim_validation.py
│ ├── objaverse_selection.py
│ ├── render_blender.py
│ └── render_objaverse_classes.py
├── data_readme.md
├── docs/
│ └── Cochin_Bold/
│ ├── Cochin_Bold.otf
│ └── readme.html
├── nbs/
│ ├── pixie.ipynb
│ └── real_scene.ipynb
├── normalization_stats/
│ ├── material_statistics.json
│ └── normalization_ranges.yaml
├── pipeline.py
├── pixie/
│ ├── __init__.py
│ ├── blender/
│ │ ├── __init__.py
│ │ ├── apply_feature_colors.py
│ │ ├── empty_scene.blend
│ │ ├── generate_blendernerf_data.py
│ │ ├── render_glb.py
│ │ └── render_gs.py
│ ├── metrics.py
│ ├── training_utils.py
│ ├── utils.py
│ ├── viz_utils.py
│ ├── vlm_labeler/
│ │ ├── __init__.py
│ │ ├── vlm_data_filtering.py
│ │ ├── vlm_parse_seg_critic.py
│ │ ├── vlm_phys_judge.py
│ │ ├── vlm_phys_sampler.py
│ │ ├── vlm_seg.py
│ │ ├── vlm_seg_class_instruction.py
│ │ ├── vlm_seg_critic.py
│ │ └── vlm_viz_seg_candidates.py
│ └── voxel/
│ ├── __init__.py
│ ├── map_pred_to_coords.py
│ ├── segmentation.py
│ ├── viz_segmentation.py
│ └── voxelize.py
├── render.py
├── scripts/
│ ├── download_data.py
│ ├── download_models.py
│ ├── upload_data.py
│ └── upload_models.py
├── setup.py
└── third_party/
├── PhysGaussian/
│ ├── .gitignore
│ ├── .gitmodules
│ ├── config/
│ │ ├── objaverse/
│ │ │ ├── custom_flowers_config.json
│ │ │ ├── custom_fruit_config.json
│ │ │ ├── custom_grass_config.json
│ │ │ ├── custom_jello_block_config.json
│ │ │ ├── custom_jelly_block_config.json
│ │ │ ├── custom_metal_config.json
│ │ │ ├── custom_metal_crates_config.json
│ │ │ ├── custom_mud_config.json
│ │ │ ├── custom_rocks_config.json
│ │ │ ├── custom_rubber_ducks_and_toys_config.json
│ │ │ ├── custom_sand_config.json
│ │ │ ├── custom_shrubs_config.json
│ │ │ ├── custom_snow_and_mud_config.json
│ │ │ ├── custom_snow_config.json
│ │ │ ├── custom_soda_cans_config.json
│ │ │ ├── custom_sport_balls_config.json
│ │ │ ├── custom_tree_config.json
│ │ │ └── custom_water-like_bodies_config.json
│ │ └── real_scene/
│ │ ├── custom_bonsai_config.json
│ │ ├── custom_bouquet_config.json
│ │ ├── custom_burger_config.json
│ │ └── custom_vasedeck_config.json
│ ├── gaussian-splatting/
│ │ ├── .gitignore
│ │ ├── .gitmodules
│ │ ├── LICENSE.md
│ │ ├── README.md
│ │ ├── SIBR_viewers/
│ │ │ ├── .gitignore
│ │ │ ├── CMakeLists.txt
│ │ │ ├── LICENSE.md
│ │ │ ├── README.md
│ │ │ ├── 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
│ │ │ │ ├── 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/
│ │ │ │ ├── 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/
│ │ │ ├── dataset_tools/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── documentation/
│ │ │ │ │ ├── dataset_tools.dox
│ │ │ │ │ ├── dataset_tools_doc.cmake
│ │ │ │ │ └── fullColmapProcess.dox
│ │ │ │ ├── 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
│ │ │ └── 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
│ │ ├── convert.py
│ │ ├── environment.yml
│ │ ├── full_eval.py
│ │ ├── gaussian_renderer/
│ │ │ ├── __init__.py
│ │ │ └── network_gui.py
│ │ ├── lpipsPyTorch/
│ │ │ ├── __init__.py
│ │ │ └── modules/
│ │ │ ├── lpips.py
│ │ │ ├── networks.py
│ │ │ └── utils.py
│ │ ├── metrics.py
│ │ ├── render.py
│ │ ├── scene/
│ │ │ ├── __init__.py
│ │ │ ├── cameras.py
│ │ │ ├── colmap_loader.py
│ │ │ ├── dataset_readers.py
│ │ │ └── gaussian_model.py
│ │ ├── submodules/
│ │ │ ├── diff-gaussian-rasterization/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .gitmodules
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── README.md
│ │ │ │ ├── cuda_rasterizer/
│ │ │ │ │ ├── auxiliary.h
│ │ │ │ │ ├── backward.cu
│ │ │ │ │ ├── backward.h
│ │ │ │ │ ├── config.h
│ │ │ │ │ ├── forward.cu
│ │ │ │ │ ├── forward.h
│ │ │ │ │ ├── rasterizer.h
│ │ │ │ │ ├── rasterizer_impl.cu
│ │ │ │ │ └── rasterizer_impl.h
│ │ │ │ ├── diff_gaussian_rasterization/
│ │ │ │ │ └── __init__.py
│ │ │ │ ├── ext.cpp
│ │ │ │ ├── rasterize_points.cu
│ │ │ │ ├── rasterize_points.h
│ │ │ │ ├── setup.py
│ │ │ │ └── third_party/
│ │ │ │ ├── glm/
│ │ │ │ │ ├── .appveyor.yml
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── .travis.yml
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── cmake/
│ │ │ │ │ │ └── cmake_uninstall.cmake.in
│ │ │ │ │ ├── copying.txt
│ │ │ │ │ ├── doc/
│ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ ├── a00001_source.html
│ │ │ │ │ │ │ ├── a00002_source.html
│ │ │ │ │ │ │ ├── a00003_source.html
│ │ │ │ │ │ │ ├── a00004_source.html
│ │ │ │ │ │ │ ├── a00005_source.html
│ │ │ │ │ │ │ ├── a00006_source.html
│ │ │ │ │ │ │ ├── a00007.html
│ │ │ │ │ │ │ ├── a00007_source.html
│ │ │ │ │ │ │ ├── a00008.html
│ │ │ │ │ │ │ ├── a00008_source.html
│ │ │ │ │ │ │ ├── a00009.html
│ │ │ │ │ │ │ ├── a00009_source.html
│ │ │ │ │ │ │ ├── a00010.html
│ │ │ │ │ │ │ ├── a00010_source.html
│ │ │ │ │ │ │ ├── a00011.html
│ │ │ │ │ │ │ ├── a00011_source.html
│ │ │ │ │ │ │ ├── a00012.html
│ │ │ │ │ │ │ ├── a00012_source.html
│ │ │ │ │ │ │ ├── a00013.html
│ │ │ │ │ │ │ ├── a00013_source.html
│ │ │ │ │ │ │ ├── a00014.html
│ │ │ │ │ │ │ ├── a00014_source.html
│ │ │ │ │ │ │ ├── a00015.html
│ │ │ │ │ │ │ ├── a00015_source.html
│ │ │ │ │ │ │ ├── a00016.html
│ │ │ │ │ │ │ ├── a00016_source.html
│ │ │ │ │ │ │ ├── a00017.html
│ │ │ │ │ │ │ ├── a00017_source.html
│ │ │ │ │ │ │ ├── a00018.html
│ │ │ │ │ │ │ ├── a00018_source.html
│ │ │ │ │ │ │ ├── a00019_source.html
│ │ │ │ │ │ │ ├── a00020_source.html
│ │ │ │ │ │ │ ├── a00021.html
│ │ │ │ │ │ │ ├── a00021_source.html
│ │ │ │ │ │ │ ├── a00022.html
│ │ │ │ │ │ │ ├── a00022_source.html
│ │ │ │ │ │ │ ├── a00023.html
│ │ │ │ │ │ │ ├── a00023_source.html
│ │ │ │ │ │ │ ├── a00024.html
│ │ │ │ │ │ │ ├── a00024_source.html
│ │ │ │ │ │ │ ├── a00025.html
│ │ │ │ │ │ │ ├── a00025_source.html
│ │ │ │ │ │ │ ├── a00026.html
│ │ │ │ │ │ │ ├── a00026_source.html
│ │ │ │ │ │ │ ├── a00027.html
│ │ │ │ │ │ │ ├── a00027_source.html
│ │ │ │ │ │ │ ├── a00028.html
│ │ │ │ │ │ │ ├── a00028_source.html
│ │ │ │ │ │ │ ├── a00029.html
│ │ │ │ │ │ │ ├── a00029_source.html
│ │ │ │ │ │ │ ├── a00030.html
│ │ │ │ │ │ │ ├── a00030_source.html
│ │ │ │ │ │ │ ├── a00031.html
│ │ │ │ │ │ │ ├── a00031_source.html
│ │ │ │ │ │ │ ├── a00032.html
│ │ │ │ │ │ │ ├── a00032_source.html
│ │ │ │ │ │ │ ├── a00033.html
│ │ │ │ │ │ │ ├── a00033_source.html
│ │ │ │ │ │ │ ├── a00034.html
│ │ │ │ │ │ │ ├── a00034_source.html
│ │ │ │ │ │ │ ├── a00035_source.html
│ │ │ │ │ │ │ ├── a00036.html
│ │ │ │ │ │ │ ├── a00036_source.html
│ │ │ │ │ │ │ ├── a00037.html
│ │ │ │ │ │ │ ├── a00037_source.html
│ │ │ │ │ │ │ ├── a00038.html
│ │ │ │ │ │ │ ├── a00038_source.html
│ │ │ │ │ │ │ ├── a00039.html
│ │ │ │ │ │ │ ├── a00039_source.html
│ │ │ │ │ │ │ ├── a00040.html
│ │ │ │ │ │ │ ├── a00040_source.html
│ │ │ │ │ │ │ ├── a00041.html
│ │ │ │ │ │ │ ├── a00041_source.html
│ │ │ │ │ │ │ ├── a00042.html
│ │ │ │ │ │ │ ├── a00042_source.html
│ │ │ │ │ │ │ ├── a00043.html
│ │ │ │ │ │ │ ├── a00043_source.html
│ │ │ │ │ │ │ ├── a00044.html
│ │ │ │ │ │ │ ├── a00044_source.html
│ │ │ │ │ │ │ ├── a00045.html
│ │ │ │ │ │ │ ├── a00045_source.html
│ │ │ │ │ │ │ ├── a00046.html
│ │ │ │ │ │ │ ├── a00046_source.html
│ │ │ │ │ │ │ ├── a00047_source.html
│ │ │ │ │ │ │ ├── a00048.html
│ │ │ │ │ │ │ ├── a00048_source.html
│ │ │ │ │ │ │ ├── a00049.html
│ │ │ │ │ │ │ ├── a00049_source.html
│ │ │ │ │ │ │ ├── a00050.html
│ │ │ │ │ │ │ ├── a00050_source.html
│ │ │ │ │ │ │ ├── a00051.html
│ │ │ │ │ │ │ ├── a00051_source.html
│ │ │ │ │ │ │ ├── a00052.html
│ │ │ │ │ │ │ ├── a00052_source.html
│ │ │ │ │ │ │ ├── a00053.html
│ │ │ │ │ │ │ ├── a00053_source.html
│ │ │ │ │ │ │ ├── a00054.html
│ │ │ │ │ │ │ ├── a00054_source.html
│ │ │ │ │ │ │ ├── a00055.html
│ │ │ │ │ │ │ ├── a00055_source.html
│ │ │ │ │ │ │ ├── a00056.html
│ │ │ │ │ │ │ ├── a00056_source.html
│ │ │ │ │ │ │ ├── a00057.html
│ │ │ │ │ │ │ ├── a00057_source.html
│ │ │ │ │ │ │ ├── a00058.html
│ │ │ │ │ │ │ ├── a00058_source.html
│ │ │ │ │ │ │ ├── a00059.html
│ │ │ │ │ │ │ ├── a00059_source.html
│ │ │ │ │ │ │ ├── a00060.html
│ │ │ │ │ │ │ ├── a00060_source.html
│ │ │ │ │ │ │ ├── a00061.html
│ │ │ │ │ │ │ ├── a00061_source.html
│ │ │ │ │ │ │ ├── a00062.html
│ │ │ │ │ │ │ ├── a00062_source.html
│ │ │ │ │ │ │ ├── a00063.html
│ │ │ │ │ │ │ ├── a00063_source.html
│ │ │ │ │ │ │ ├── a00064.html
│ │ │ │ │ │ │ ├── a00064_source.html
│ │ │ │ │ │ │ ├── a00065.html
│ │ │ │ │ │ │ ├── a00065_source.html
│ │ │ │ │ │ │ ├── a00066.html
│ │ │ │ │ │ │ ├── a00066_source.html
│ │ │ │ │ │ │ ├── a00067.html
│ │ │ │ │ │ │ ├── a00067_source.html
│ │ │ │ │ │ │ ├── a00068.html
│ │ │ │ │ │ │ ├── a00068_source.html
│ │ │ │ │ │ │ ├── a00069.html
│ │ │ │ │ │ │ ├── a00069_source.html
│ │ │ │ │ │ │ ├── a00070.html
│ │ │ │ │ │ │ ├── a00070_source.html
│ │ │ │ │ │ │ ├── a00071.html
│ │ │ │ │ │ │ ├── a00071_source.html
│ │ │ │ │ │ │ ├── a00072.html
│ │ │ │ │ │ │ ├── a00072_source.html
│ │ │ │ │ │ │ ├── a00073.html
│ │ │ │ │ │ │ ├── a00073_source.html
│ │ │ │ │ │ │ ├── a00074.html
│ │ │ │ │ │ │ ├── a00074_source.html
│ │ │ │ │ │ │ ├── a00075.html
│ │ │ │ │ │ │ ├── a00075_source.html
│ │ │ │ │ │ │ ├── a00076.html
│ │ │ │ │ │ │ ├── a00076_source.html
│ │ │ │ │ │ │ ├── a00077.html
│ │ │ │ │ │ │ ├── a00077_source.html
│ │ │ │ │ │ │ ├── a00078.html
│ │ │ │ │ │ │ ├── a00078_source.html
│ │ │ │ │ │ │ ├── a00079.html
│ │ │ │ │ │ │ ├── a00079_source.html
│ │ │ │ │ │ │ ├── a00080.html
│ │ │ │ │ │ │ ├── a00080_source.html
│ │ │ │ │ │ │ ├── a00081.html
│ │ │ │ │ │ │ ├── a00081_source.html
│ │ │ │ │ │ │ ├── a00082.html
│ │ │ │ │ │ │ ├── a00082_source.html
│ │ │ │ │ │ │ ├── a00083.html
│ │ │ │ │ │ │ ├── a00083_source.html
│ │ │ │ │ │ │ ├── a00084.html
│ │ │ │ │ │ │ ├── a00084_source.html
│ │ │ │ │ │ │ ├── a00085.html
│ │ │ │ │ │ │ ├── a00085_source.html
│ │ │ │ │ │ │ ├── a00086.html
│ │ │ │ │ │ │ ├── a00086_source.html
│ │ │ │ │ │ │ ├── a00087.html
│ │ │ │ │ │ │ ├── a00087_source.html
│ │ │ │ │ │ │ ├── a00088.html
│ │ │ │ │ │ │ ├── a00088_source.html
│ │ │ │ │ │ │ ├── a00089.html
│ │ │ │ │ │ │ ├── a00089_source.html
│ │ │ │ │ │ │ ├── a00090.html
│ │ │ │ │ │ │ ├── a00090_source.html
│ │ │ │ │ │ │ ├── a00091.html
│ │ │ │ │ │ │ ├── a00091_source.html
│ │ │ │ │ │ │ ├── a00092.html
│ │ │ │ │ │ │ ├── a00092_source.html
│ │ │ │ │ │ │ ├── a00093.html
│ │ │ │ │ │ │ ├── a00093_source.html
│ │ │ │ │ │ │ ├── a00094.html
│ │ │ │ │ │ │ ├── a00094_source.html
│ │ │ │ │ │ │ ├── a00095_source.html
│ │ │ │ │ │ │ ├── a00096.html
│ │ │ │ │ │ │ ├── a00096_source.html
│ │ │ │ │ │ │ ├── a00097.html
│ │ │ │ │ │ │ ├── a00097_source.html
│ │ │ │ │ │ │ ├── a00098.html
│ │ │ │ │ │ │ ├── a00098_source.html
│ │ │ │ │ │ │ ├── a00099.html
│ │ │ │ │ │ │ ├── a00099_source.html
│ │ │ │ │ │ │ ├── a00100.html
│ │ │ │ │ │ │ ├── a00100_source.html
│ │ │ │ │ │ │ ├── a00101.html
│ │ │ │ │ │ │ ├── a00101_source.html
│ │ │ │ │ │ │ ├── a00102.html
│ │ │ │ │ │ │ ├── a00102_source.html
│ │ │ │ │ │ │ ├── a00103.html
│ │ │ │ │ │ │ ├── a00103_source.html
│ │ │ │ │ │ │ ├── a00104.html
│ │ │ │ │ │ │ ├── a00104_source.html
│ │ │ │ │ │ │ ├── a00105.html
│ │ │ │ │ │ │ ├── a00105_source.html
│ │ │ │ │ │ │ ├── a00106.html
│ │ │ │ │ │ │ ├── a00106_source.html
│ │ │ │ │ │ │ ├── a00107.html
│ │ │ │ │ │ │ ├── a00107_source.html
│ │ │ │ │ │ │ ├── a00108.html
│ │ │ │ │ │ │ ├── a00108_source.html
│ │ │ │ │ │ │ ├── a00109.html
│ │ │ │ │ │ │ ├── a00109_source.html
│ │ │ │ │ │ │ ├── a00110.html
│ │ │ │ │ │ │ ├── a00110_source.html
│ │ │ │ │ │ │ ├── a00111.html
│ │ │ │ │ │ │ ├── a00111_source.html
│ │ │ │ │ │ │ ├── a00112.html
│ │ │ │ │ │ │ ├── a00112_source.html
│ │ │ │ │ │ │ ├── a00113.html
│ │ │ │ │ │ │ ├── a00113_source.html
│ │ │ │ │ │ │ ├── a00114.html
│ │ │ │ │ │ │ ├── a00114_source.html
│ │ │ │ │ │ │ ├── a00115.html
│ │ │ │ │ │ │ ├── a00115_source.html
│ │ │ │ │ │ │ ├── a00116.html
│ │ │ │ │ │ │ ├── a00116_source.html
│ │ │ │ │ │ │ ├── a00117.html
│ │ │ │ │ │ │ ├── a00117_source.html
│ │ │ │ │ │ │ ├── a00118.html
│ │ │ │ │ │ │ ├── a00118_source.html
│ │ │ │ │ │ │ ├── a00119.html
│ │ │ │ │ │ │ ├── a00119_source.html
│ │ │ │ │ │ │ ├── a00120.html
│ │ │ │ │ │ │ ├── a00120_source.html
│ │ │ │ │ │ │ ├── a00121.html
│ │ │ │ │ │ │ ├── a00121_source.html
│ │ │ │ │ │ │ ├── a00122.html
│ │ │ │ │ │ │ ├── a00122_source.html
│ │ │ │ │ │ │ ├── a00123.html
│ │ │ │ │ │ │ ├── a00123_source.html
│ │ │ │ │ │ │ ├── a00124_source.html
│ │ │ │ │ │ │ ├── a00125.html
│ │ │ │ │ │ │ ├── a00125_source.html
│ │ │ │ │ │ │ ├── a00126.html
│ │ │ │ │ │ │ ├── a00126_source.html
│ │ │ │ │ │ │ ├── a00127.html
│ │ │ │ │ │ │ ├── a00127_source.html
│ │ │ │ │ │ │ ├── a00128.html
│ │ │ │ │ │ │ ├── a00128_source.html
│ │ │ │ │ │ │ ├── a00129.html
│ │ │ │ │ │ │ ├── a00129_source.html
│ │ │ │ │ │ │ ├── a00130.html
│ │ │ │ │ │ │ ├── a00130_source.html
│ │ │ │ │ │ │ ├── a00131.html
│ │ │ │ │ │ │ ├── a00131_source.html
│ │ │ │ │ │ │ ├── a00132.html
│ │ │ │ │ │ │ ├── a00132_source.html
│ │ │ │ │ │ │ ├── a00133.html
│ │ │ │ │ │ │ ├── a00133_source.html
│ │ │ │ │ │ │ ├── a00134.html
│ │ │ │ │ │ │ ├── a00134_source.html
│ │ │ │ │ │ │ ├── a00135.html
│ │ │ │ │ │ │ ├── a00135_source.html
│ │ │ │ │ │ │ ├── a00136.html
│ │ │ │ │ │ │ ├── a00136_source.html
│ │ │ │ │ │ │ ├── a00137.html
│ │ │ │ │ │ │ ├── a00137_source.html
│ │ │ │ │ │ │ ├── a00138.html
│ │ │ │ │ │ │ ├── a00138_source.html
│ │ │ │ │ │ │ ├── a00139.html
│ │ │ │ │ │ │ ├── a00139_source.html
│ │ │ │ │ │ │ ├── a00140.html
│ │ │ │ │ │ │ ├── a00140_source.html
│ │ │ │ │ │ │ ├── a00141.html
│ │ │ │ │ │ │ ├── a00141_source.html
│ │ │ │ │ │ │ ├── a00142.html
│ │ │ │ │ │ │ ├── a00142_source.html
│ │ │ │ │ │ │ ├── a00143.html
│ │ │ │ │ │ │ ├── a00143_source.html
│ │ │ │ │ │ │ ├── a00144.html
│ │ │ │ │ │ │ ├── a00144_source.html
│ │ │ │ │ │ │ ├── a00145.html
│ │ │ │ │ │ │ ├── a00145_source.html
│ │ │ │ │ │ │ ├── a00146.html
│ │ │ │ │ │ │ ├── a00146_source.html
│ │ │ │ │ │ │ ├── a00147.html
│ │ │ │ │ │ │ ├── a00147_source.html
│ │ │ │ │ │ │ ├── a00148.html
│ │ │ │ │ │ │ ├── a00148_source.html
│ │ │ │ │ │ │ ├── a00149.html
│ │ │ │ │ │ │ ├── a00149_source.html
│ │ │ │ │ │ │ ├── a00150.html
│ │ │ │ │ │ │ ├── a00150_source.html
│ │ │ │ │ │ │ ├── a00151.html
│ │ │ │ │ │ │ ├── a00151_source.html
│ │ │ │ │ │ │ ├── a00152.html
│ │ │ │ │ │ │ ├── a00152_source.html
│ │ │ │ │ │ │ ├── a00153_source.html
│ │ │ │ │ │ │ ├── a00154.html
│ │ │ │ │ │ │ ├── a00154_source.html
│ │ │ │ │ │ │ ├── a00155.html
│ │ │ │ │ │ │ ├── a00155_source.html
│ │ │ │ │ │ │ ├── a00156.html
│ │ │ │ │ │ │ ├── a00156_source.html
│ │ │ │ │ │ │ ├── a00157.html
│ │ │ │ │ │ │ ├── a00157_source.html
│ │ │ │ │ │ │ ├── a00158.html
│ │ │ │ │ │ │ ├── a00158_source.html
│ │ │ │ │ │ │ ├── a00159.html
│ │ │ │ │ │ │ ├── a00159_source.html
│ │ │ │ │ │ │ ├── a00160.html
│ │ │ │ │ │ │ ├── a00160_source.html
│ │ │ │ │ │ │ ├── a00161.html
│ │ │ │ │ │ │ ├── a00161_source.html
│ │ │ │ │ │ │ ├── a00162.html
│ │ │ │ │ │ │ ├── a00162_source.html
│ │ │ │ │ │ │ ├── a00163_source.html
│ │ │ │ │ │ │ ├── a00164_source.html
│ │ │ │ │ │ │ ├── a00165.html
│ │ │ │ │ │ │ ├── a00165_source.html
│ │ │ │ │ │ │ ├── a00166.html
│ │ │ │ │ │ │ ├── a00166_source.html
│ │ │ │ │ │ │ ├── a00167.html
│ │ │ │ │ │ │ ├── a00167_source.html
│ │ │ │ │ │ │ ├── a00168.html
│ │ │ │ │ │ │ ├── a00168_source.html
│ │ │ │ │ │ │ ├── a00169.html
│ │ │ │ │ │ │ ├── a00169_source.html
│ │ │ │ │ │ │ ├── a00170.html
│ │ │ │ │ │ │ ├── a00170_source.html
│ │ │ │ │ │ │ ├── a00171.html
│ │ │ │ │ │ │ ├── a00171_source.html
│ │ │ │ │ │ │ ├── a00172.html
│ │ │ │ │ │ │ ├── a00172_source.html
│ │ │ │ │ │ │ ├── a00173.html
│ │ │ │ │ │ │ ├── a00173_source.html
│ │ │ │ │ │ │ ├── a00174.html
│ │ │ │ │ │ │ ├── a00174_source.html
│ │ │ │ │ │ │ ├── a00175.html
│ │ │ │ │ │ │ ├── a00175_source.html
│ │ │ │ │ │ │ ├── a00176.html
│ │ │ │ │ │ │ ├── a00176_source.html
│ │ │ │ │ │ │ ├── a00177.html
│ │ │ │ │ │ │ ├── a00177_source.html
│ │ │ │ │ │ │ ├── a00178.html
│ │ │ │ │ │ │ ├── a00178_source.html
│ │ │ │ │ │ │ ├── a00179.html
│ │ │ │ │ │ │ ├── a00179_source.html
│ │ │ │ │ │ │ ├── a00180.html
│ │ │ │ │ │ │ ├── a00180_source.html
│ │ │ │ │ │ │ ├── a00181.html
│ │ │ │ │ │ │ ├── a00181_source.html
│ │ │ │ │ │ │ ├── a00182.html
│ │ │ │ │ │ │ ├── a00182_source.html
│ │ │ │ │ │ │ ├── a00183.html
│ │ │ │ │ │ │ ├── a00183_source.html
│ │ │ │ │ │ │ ├── a00184.html
│ │ │ │ │ │ │ ├── a00184_source.html
│ │ │ │ │ │ │ ├── a00185.html
│ │ │ │ │ │ │ ├── a00185_source.html
│ │ │ │ │ │ │ ├── a00186.html
│ │ │ │ │ │ │ ├── a00186_source.html
│ │ │ │ │ │ │ ├── a00187.html
│ │ │ │ │ │ │ ├── a00187_source.html
│ │ │ │ │ │ │ ├── a00188.html
│ │ │ │ │ │ │ ├── a00188_source.html
│ │ │ │ │ │ │ ├── a00189.html
│ │ │ │ │ │ │ ├── a00189_source.html
│ │ │ │ │ │ │ ├── a00190.html
│ │ │ │ │ │ │ ├── a00190_source.html
│ │ │ │ │ │ │ ├── a00191.html
│ │ │ │ │ │ │ ├── a00191_source.html
│ │ │ │ │ │ │ ├── a00192.html
│ │ │ │ │ │ │ ├── a00192_source.html
│ │ │ │ │ │ │ ├── a00193.html
│ │ │ │ │ │ │ ├── a00193_source.html
│ │ │ │ │ │ │ ├── a00194.html
│ │ │ │ │ │ │ ├── a00194_source.html
│ │ │ │ │ │ │ ├── a00195.html
│ │ │ │ │ │ │ ├── a00195_source.html
│ │ │ │ │ │ │ ├── a00196.html
│ │ │ │ │ │ │ ├── a00196_source.html
│ │ │ │ │ │ │ ├── a00197.html
│ │ │ │ │ │ │ ├── a00197_source.html
│ │ │ │ │ │ │ ├── a00198.html
│ │ │ │ │ │ │ ├── a00198_source.html
│ │ │ │ │ │ │ ├── a00199.html
│ │ │ │ │ │ │ ├── a00199_source.html
│ │ │ │ │ │ │ ├── a00200.html
│ │ │ │ │ │ │ ├── a00200_source.html
│ │ │ │ │ │ │ ├── a00201.html
│ │ │ │ │ │ │ ├── a00201_source.html
│ │ │ │ │ │ │ ├── a00202.html
│ │ │ │ │ │ │ ├── a00202_source.html
│ │ │ │ │ │ │ ├── a00203.html
│ │ │ │ │ │ │ ├── a00203_source.html
│ │ │ │ │ │ │ ├── a00204.html
│ │ │ │ │ │ │ ├── a00204_source.html
│ │ │ │ │ │ │ ├── a00205.html
│ │ │ │ │ │ │ ├── a00205_source.html
│ │ │ │ │ │ │ ├── a00206.html
│ │ │ │ │ │ │ ├── a00206_source.html
│ │ │ │ │ │ │ ├── a00207.html
│ │ │ │ │ │ │ ├── a00207_source.html
│ │ │ │ │ │ │ ├── a00208.html
│ │ │ │ │ │ │ ├── a00208_source.html
│ │ │ │ │ │ │ ├── a00209.html
│ │ │ │ │ │ │ ├── a00209_source.html
│ │ │ │ │ │ │ ├── a00210.html
│ │ │ │ │ │ │ ├── a00210_source.html
│ │ │ │ │ │ │ ├── a00211.html
│ │ │ │ │ │ │ ├── a00211_source.html
│ │ │ │ │ │ │ ├── a00212.html
│ │ │ │ │ │ │ ├── a00212_source.html
│ │ │ │ │ │ │ ├── a00213.html
│ │ │ │ │ │ │ ├── a00213_source.html
│ │ │ │ │ │ │ ├── a00214.html
│ │ │ │ │ │ │ ├── a00214_source.html
│ │ │ │ │ │ │ ├── a00215.html
│ │ │ │ │ │ │ ├── a00215_source.html
│ │ │ │ │ │ │ ├── a00216.html
│ │ │ │ │ │ │ ├── a00216_source.html
│ │ │ │ │ │ │ ├── a00217.html
│ │ │ │ │ │ │ ├── a00217_source.html
│ │ │ │ │ │ │ ├── a00218.html
│ │ │ │ │ │ │ ├── a00218_source.html
│ │ │ │ │ │ │ ├── a00219.html
│ │ │ │ │ │ │ ├── a00219_source.html
│ │ │ │ │ │ │ ├── a00220.html
│ │ │ │ │ │ │ ├── a00220_source.html
│ │ │ │ │ │ │ ├── a00221.html
│ │ │ │ │ │ │ ├── a00221_source.html
│ │ │ │ │ │ │ ├── a00222.html
│ │ │ │ │ │ │ ├── a00222_source.html
│ │ │ │ │ │ │ ├── a00223.html
│ │ │ │ │ │ │ ├── a00223_source.html
│ │ │ │ │ │ │ ├── a00224.html
│ │ │ │ │ │ │ ├── a00224_source.html
│ │ │ │ │ │ │ ├── a00225.html
│ │ │ │ │ │ │ ├── a00225_source.html
│ │ │ │ │ │ │ ├── a00226.html
│ │ │ │ │ │ │ ├── a00226_source.html
│ │ │ │ │ │ │ ├── a00227.html
│ │ │ │ │ │ │ ├── a00227_source.html
│ │ │ │ │ │ │ ├── a00228.html
│ │ │ │ │ │ │ ├── a00228_source.html
│ │ │ │ │ │ │ ├── a00229.html
│ │ │ │ │ │ │ ├── a00229_source.html
│ │ │ │ │ │ │ ├── a00230.html
│ │ │ │ │ │ │ ├── a00230_source.html
│ │ │ │ │ │ │ ├── a00231.html
│ │ │ │ │ │ │ ├── a00231_source.html
│ │ │ │ │ │ │ ├── a00232.html
│ │ │ │ │ │ │ ├── a00232_source.html
│ │ │ │ │ │ │ ├── a00233.html
│ │ │ │ │ │ │ ├── a00233_source.html
│ │ │ │ │ │ │ ├── a00234.html
│ │ │ │ │ │ │ ├── a00234_source.html
│ │ │ │ │ │ │ ├── a00235.html
│ │ │ │ │ │ │ ├── a00235_source.html
│ │ │ │ │ │ │ ├── a00241.html
│ │ │ │ │ │ │ ├── a00242.html
│ │ │ │ │ │ │ ├── a00243.html
│ │ │ │ │ │ │ ├── a00244.html
│ │ │ │ │ │ │ ├── a00245.html
│ │ │ │ │ │ │ ├── a00246.html
│ │ │ │ │ │ │ ├── a00247.html
│ │ │ │ │ │ │ ├── a00248.html
│ │ │ │ │ │ │ ├── a00249.html
│ │ │ │ │ │ │ ├── a00250.html
│ │ │ │ │ │ │ ├── a00251.html
│ │ │ │ │ │ │ ├── a00252.html
│ │ │ │ │ │ │ ├── a00253.html
│ │ │ │ │ │ │ ├── a00254.html
│ │ │ │ │ │ │ ├── a00255.html
│ │ │ │ │ │ │ ├── a00256.html
│ │ │ │ │ │ │ ├── a00257.html
│ │ │ │ │ │ │ ├── a00258.html
│ │ │ │ │ │ │ ├── a00259.html
│ │ │ │ │ │ │ ├── a00260.html
│ │ │ │ │ │ │ ├── a00261.html
│ │ │ │ │ │ │ ├── a00262.html
│ │ │ │ │ │ │ ├── a00263.html
│ │ │ │ │ │ │ ├── a00264.html
│ │ │ │ │ │ │ ├── a00265.html
│ │ │ │ │ │ │ ├── a00266.html
│ │ │ │ │ │ │ ├── a00267.html
│ │ │ │ │ │ │ ├── a00268.html
│ │ │ │ │ │ │ ├── a00269.html
│ │ │ │ │ │ │ ├── a00270.html
│ │ │ │ │ │ │ ├── a00271.html
│ │ │ │ │ │ │ ├── a00272.html
│ │ │ │ │ │ │ ├── a00273.html
│ │ │ │ │ │ │ ├── a00274.html
│ │ │ │ │ │ │ ├── a00275.html
│ │ │ │ │ │ │ ├── a00276.html
│ │ │ │ │ │ │ ├── a00277.html
│ │ │ │ │ │ │ ├── a00278.html
│ │ │ │ │ │ │ ├── a00279.html
│ │ │ │ │ │ │ ├── a00280.html
│ │ │ │ │ │ │ ├── a00281.html
│ │ │ │ │ │ │ ├── a00282.html
│ │ │ │ │ │ │ ├── a00283.html
│ │ │ │ │ │ │ ├── a00284.html
│ │ │ │ │ │ │ ├── a00285.html
│ │ │ │ │ │ │ ├── a00286.html
│ │ │ │ │ │ │ ├── a00287.html
│ │ │ │ │ │ │ ├── a00288.html
│ │ │ │ │ │ │ ├── a00289.html
│ │ │ │ │ │ │ ├── a00290.html
│ │ │ │ │ │ │ ├── a00291.html
│ │ │ │ │ │ │ ├── a00292.html
│ │ │ │ │ │ │ ├── a00293.html
│ │ │ │ │ │ │ ├── a00294.html
│ │ │ │ │ │ │ ├── a00295.html
│ │ │ │ │ │ │ ├── a00296.html
│ │ │ │ │ │ │ ├── a00297.html
│ │ │ │ │ │ │ ├── a00298.html
│ │ │ │ │ │ │ ├── a00299.html
│ │ │ │ │ │ │ ├── a00300.html
│ │ │ │ │ │ │ ├── a00301.html
│ │ │ │ │ │ │ ├── a00302.html
│ │ │ │ │ │ │ ├── a00303.html
│ │ │ │ │ │ │ ├── a00304.html
│ │ │ │ │ │ │ ├── a00305.html
│ │ │ │ │ │ │ ├── a00306.html
│ │ │ │ │ │ │ ├── a00307.html
│ │ │ │ │ │ │ ├── a00308.html
│ │ │ │ │ │ │ ├── a00309.html
│ │ │ │ │ │ │ ├── a00310.html
│ │ │ │ │ │ │ ├── a00311.html
│ │ │ │ │ │ │ ├── a00312.html
│ │ │ │ │ │ │ ├── a00313.html
│ │ │ │ │ │ │ ├── a00314.html
│ │ │ │ │ │ │ ├── a00315.html
│ │ │ │ │ │ │ ├── a00316.html
│ │ │ │ │ │ │ ├── a00317.html
│ │ │ │ │ │ │ ├── a00318.html
│ │ │ │ │ │ │ ├── a00319.html
│ │ │ │ │ │ │ ├── a00320.html
│ │ │ │ │ │ │ ├── a00321.html
│ │ │ │ │ │ │ ├── a00322.html
│ │ │ │ │ │ │ ├── a00323.html
│ │ │ │ │ │ │ ├── a00324.html
│ │ │ │ │ │ │ ├── a00325.html
│ │ │ │ │ │ │ ├── a00326.html
│ │ │ │ │ │ │ ├── a00327.html
│ │ │ │ │ │ │ ├── a00328.html
│ │ │ │ │ │ │ ├── a00329.html
│ │ │ │ │ │ │ ├── a00330.html
│ │ │ │ │ │ │ ├── a00331.html
│ │ │ │ │ │ │ ├── a00332.html
│ │ │ │ │ │ │ ├── a00333.html
│ │ │ │ │ │ │ ├── a00334.html
│ │ │ │ │ │ │ ├── a00335.html
│ │ │ │ │ │ │ ├── a00336.html
│ │ │ │ │ │ │ ├── a00337.html
│ │ │ │ │ │ │ ├── a00338.html
│ │ │ │ │ │ │ ├── a00339.html
│ │ │ │ │ │ │ ├── a00340.html
│ │ │ │ │ │ │ ├── a00341.html
│ │ │ │ │ │ │ ├── a00342.html
│ │ │ │ │ │ │ ├── a00343.html
│ │ │ │ │ │ │ ├── a00344.html
│ │ │ │ │ │ │ ├── a00345.html
│ │ │ │ │ │ │ ├── a00346.html
│ │ │ │ │ │ │ ├── a00347.html
│ │ │ │ │ │ │ ├── a00348.html
│ │ │ │ │ │ │ ├── a00349.html
│ │ │ │ │ │ │ ├── a00350.html
│ │ │ │ │ │ │ ├── a00351.html
│ │ │ │ │ │ │ ├── a00352.html
│ │ │ │ │ │ │ ├── a00353.html
│ │ │ │ │ │ │ ├── a00354.html
│ │ │ │ │ │ │ ├── a00355.html
│ │ │ │ │ │ │ ├── a00356.html
│ │ │ │ │ │ │ ├── a00357.html
│ │ │ │ │ │ │ ├── a00358.html
│ │ │ │ │ │ │ ├── a00359.html
│ │ │ │ │ │ │ ├── a00360.html
│ │ │ │ │ │ │ ├── a00361.html
│ │ │ │ │ │ │ ├── a00362.html
│ │ │ │ │ │ │ ├── a00363.html
│ │ │ │ │ │ │ ├── a00364.html
│ │ │ │ │ │ │ ├── a00365.html
│ │ │ │ │ │ │ ├── a00366.html
│ │ │ │ │ │ │ ├── a00367.html
│ │ │ │ │ │ │ ├── a00368.html
│ │ │ │ │ │ │ ├── a00369.html
│ │ │ │ │ │ │ ├── a00370.html
│ │ │ │ │ │ │ ├── a00371.html
│ │ │ │ │ │ │ ├── a00372.html
│ │ │ │ │ │ │ ├── a00373.html
│ │ │ │ │ │ │ ├── a00374.html
│ │ │ │ │ │ │ ├── dir_033f5edb0915b828d2c46ed4804e5503.html
│ │ │ │ │ │ │ ├── dir_3a581ba30d25676e4b797b1f96d53b45.html
│ │ │ │ │ │ │ ├── dir_44e5e654415abd9ca6fdeaddaff8565e.html
│ │ │ │ │ │ │ ├── dir_4c6bd29c73fa4e5a2509e1c15f846751.html
│ │ │ │ │ │ │ ├── dir_5189610d3ba09ec39b766fb99b34cd93.html
│ │ │ │ │ │ │ ├── dir_6b66465792d005310484819a0eb0b0d3.html
│ │ │ │ │ │ │ ├── dir_9e5fe034a00e89334fd5186c3e7db156.html
│ │ │ │ │ │ │ ├── dir_a8bee7be44182a33f3820393ae0b105d.html
│ │ │ │ │ │ │ ├── dir_cef2d71d502cb69a9252bca2297d9549.html
│ │ │ │ │ │ │ ├── dir_d9496f0844b48bc7e53b5af8c99b9ab2.html
│ │ │ │ │ │ │ ├── dir_f35778ec600a1b9bbc4524e62e226aa2.html
│ │ │ │ │ │ │ ├── doxygen.css
│ │ │ │ │ │ │ ├── dynsections.js
│ │ │ │ │ │ │ ├── files.html
│ │ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ │ ├── jquery.js
│ │ │ │ │ │ │ ├── modules.html
│ │ │ │ │ │ │ ├── search/
│ │ │ │ │ │ │ │ ├── all_0.html
│ │ │ │ │ │ │ │ ├── all_0.js
│ │ │ │ │ │ │ │ ├── all_1.html
│ │ │ │ │ │ │ │ ├── all_1.js
│ │ │ │ │ │ │ │ ├── all_10.html
│ │ │ │ │ │ │ │ ├── all_10.js
│ │ │ │ │ │ │ │ ├── all_11.html
│ │ │ │ │ │ │ │ ├── all_11.js
│ │ │ │ │ │ │ │ ├── all_12.html
│ │ │ │ │ │ │ │ ├── all_12.js
│ │ │ │ │ │ │ │ ├── all_13.html
│ │ │ │ │ │ │ │ ├── all_13.js
│ │ │ │ │ │ │ │ ├── all_14.html
│ │ │ │ │ │ │ │ ├── all_14.js
│ │ │ │ │ │ │ │ ├── all_15.html
│ │ │ │ │ │ │ │ ├── all_15.js
│ │ │ │ │ │ │ │ ├── all_16.html
│ │ │ │ │ │ │ │ ├── all_16.js
│ │ │ │ │ │ │ │ ├── all_2.html
│ │ │ │ │ │ │ │ ├── all_2.js
│ │ │ │ │ │ │ │ ├── all_3.html
│ │ │ │ │ │ │ │ ├── all_3.js
│ │ │ │ │ │ │ │ ├── all_4.html
│ │ │ │ │ │ │ │ ├── all_4.js
│ │ │ │ │ │ │ │ ├── all_5.html
│ │ │ │ │ │ │ │ ├── all_5.js
│ │ │ │ │ │ │ │ ├── all_6.html
│ │ │ │ │ │ │ │ ├── all_6.js
│ │ │ │ │ │ │ │ ├── all_7.html
│ │ │ │ │ │ │ │ ├── all_7.js
│ │ │ │ │ │ │ │ ├── all_8.html
│ │ │ │ │ │ │ │ ├── all_8.js
│ │ │ │ │ │ │ │ ├── all_9.html
│ │ │ │ │ │ │ │ ├── all_9.js
│ │ │ │ │ │ │ │ ├── all_a.html
│ │ │ │ │ │ │ │ ├── all_a.js
│ │ │ │ │ │ │ │ ├── all_b.html
│ │ │ │ │ │ │ │ ├── all_b.js
│ │ │ │ │ │ │ │ ├── all_c.html
│ │ │ │ │ │ │ │ ├── all_c.js
│ │ │ │ │ │ │ │ ├── all_d.html
│ │ │ │ │ │ │ │ ├── all_d.js
│ │ │ │ │ │ │ │ ├── all_e.html
│ │ │ │ │ │ │ │ ├── all_e.js
│ │ │ │ │ │ │ │ ├── all_f.html
│ │ │ │ │ │ │ │ ├── all_f.js
│ │ │ │ │ │ │ │ ├── files_0.html
│ │ │ │ │ │ │ │ ├── files_0.js
│ │ │ │ │ │ │ │ ├── files_1.html
│ │ │ │ │ │ │ │ ├── files_1.js
│ │ │ │ │ │ │ │ ├── files_10.html
│ │ │ │ │ │ │ │ ├── files_10.js
│ │ │ │ │ │ │ │ ├── files_11.html
│ │ │ │ │ │ │ │ ├── files_11.js
│ │ │ │ │ │ │ │ ├── files_12.html
│ │ │ │ │ │ │ │ ├── files_12.js
│ │ │ │ │ │ │ │ ├── files_13.html
│ │ │ │ │ │ │ │ ├── files_13.js
│ │ │ │ │ │ │ │ ├── files_14.html
│ │ │ │ │ │ │ │ ├── files_14.js
│ │ │ │ │ │ │ │ ├── files_2.html
│ │ │ │ │ │ │ │ ├── files_2.js
│ │ │ │ │ │ │ │ ├── files_3.html
│ │ │ │ │ │ │ │ ├── files_3.js
│ │ │ │ │ │ │ │ ├── files_4.html
│ │ │ │ │ │ │ │ ├── files_4.js
│ │ │ │ │ │ │ │ ├── files_5.html
│ │ │ │ │ │ │ │ ├── files_5.js
│ │ │ │ │ │ │ │ ├── files_6.html
│ │ │ │ │ │ │ │ ├── files_6.js
│ │ │ │ │ │ │ │ ├── files_7.html
│ │ │ │ │ │ │ │ ├── files_7.js
│ │ │ │ │ │ │ │ ├── files_8.html
│ │ │ │ │ │ │ │ ├── files_8.js
│ │ │ │ │ │ │ │ ├── files_9.html
│ │ │ │ │ │ │ │ ├── files_9.js
│ │ │ │ │ │ │ │ ├── files_a.html
│ │ │ │ │ │ │ │ ├── files_a.js
│ │ │ │ │ │ │ │ ├── files_b.html
│ │ │ │ │ │ │ │ ├── files_b.js
│ │ │ │ │ │ │ │ ├── files_c.html
│ │ │ │ │ │ │ │ ├── files_c.js
│ │ │ │ │ │ │ │ ├── files_d.html
│ │ │ │ │ │ │ │ ├── files_d.js
│ │ │ │ │ │ │ │ ├── files_e.html
│ │ │ │ │ │ │ │ ├── files_e.js
│ │ │ │ │ │ │ │ ├── files_f.html
│ │ │ │ │ │ │ │ ├── files_f.js
│ │ │ │ │ │ │ │ ├── functions_0.html
│ │ │ │ │ │ │ │ ├── functions_0.js
│ │ │ │ │ │ │ │ ├── functions_1.html
│ │ │ │ │ │ │ │ ├── functions_1.js
│ │ │ │ │ │ │ │ ├── functions_10.html
│ │ │ │ │ │ │ │ ├── functions_10.js
│ │ │ │ │ │ │ │ ├── functions_11.html
│ │ │ │ │ │ │ │ ├── functions_11.js
│ │ │ │ │ │ │ │ ├── functions_12.html
│ │ │ │ │ │ │ │ ├── functions_12.js
│ │ │ │ │ │ │ │ ├── functions_13.html
│ │ │ │ │ │ │ │ ├── functions_13.js
│ │ │ │ │ │ │ │ ├── functions_14.html
│ │ │ │ │ │ │ │ ├── functions_14.js
│ │ │ │ │ │ │ │ ├── functions_15.html
│ │ │ │ │ │ │ │ ├── functions_15.js
│ │ │ │ │ │ │ │ ├── functions_16.html
│ │ │ │ │ │ │ │ ├── functions_16.js
│ │ │ │ │ │ │ │ ├── functions_2.html
│ │ │ │ │ │ │ │ ├── functions_2.js
│ │ │ │ │ │ │ │ ├── functions_3.html
│ │ │ │ │ │ │ │ ├── functions_3.js
│ │ │ │ │ │ │ │ ├── functions_4.html
│ │ │ │ │ │ │ │ ├── functions_4.js
│ │ │ │ │ │ │ │ ├── functions_5.html
│ │ │ │ │ │ │ │ ├── functions_5.js
│ │ │ │ │ │ │ │ ├── functions_6.html
│ │ │ │ │ │ │ │ ├── functions_6.js
│ │ │ │ │ │ │ │ ├── functions_7.html
│ │ │ │ │ │ │ │ ├── functions_7.js
│ │ │ │ │ │ │ │ ├── functions_8.html
│ │ │ │ │ │ │ │ ├── functions_8.js
│ │ │ │ │ │ │ │ ├── functions_9.html
│ │ │ │ │ │ │ │ ├── functions_9.js
│ │ │ │ │ │ │ │ ├── functions_a.html
│ │ │ │ │ │ │ │ ├── functions_a.js
│ │ │ │ │ │ │ │ ├── functions_b.html
│ │ │ │ │ │ │ │ ├── functions_b.js
│ │ │ │ │ │ │ │ ├── functions_c.html
│ │ │ │ │ │ │ │ ├── functions_c.js
│ │ │ │ │ │ │ │ ├── functions_d.html
│ │ │ │ │ │ │ │ ├── functions_d.js
│ │ │ │ │ │ │ │ ├── functions_e.html
│ │ │ │ │ │ │ │ ├── functions_e.js
│ │ │ │ │ │ │ │ ├── functions_f.html
│ │ │ │ │ │ │ │ ├── functions_f.js
│ │ │ │ │ │ │ │ ├── groups_0.html
│ │ │ │ │ │ │ │ ├── groups_0.js
│ │ │ │ │ │ │ │ ├── groups_1.html
│ │ │ │ │ │ │ │ ├── groups_1.js
│ │ │ │ │ │ │ │ ├── groups_2.html
│ │ │ │ │ │ │ │ ├── groups_2.js
│ │ │ │ │ │ │ │ ├── groups_3.html
│ │ │ │ │ │ │ │ ├── groups_3.js
│ │ │ │ │ │ │ │ ├── groups_4.html
│ │ │ │ │ │ │ │ ├── groups_4.js
│ │ │ │ │ │ │ │ ├── groups_5.html
│ │ │ │ │ │ │ │ ├── groups_5.js
│ │ │ │ │ │ │ │ ├── groups_6.html
│ │ │ │ │ │ │ │ ├── groups_6.js
│ │ │ │ │ │ │ │ ├── groups_7.html
│ │ │ │ │ │ │ │ ├── groups_7.js
│ │ │ │ │ │ │ │ ├── groups_8.html
│ │ │ │ │ │ │ │ ├── groups_8.js
│ │ │ │ │ │ │ │ ├── groups_9.html
│ │ │ │ │ │ │ │ ├── groups_9.js
│ │ │ │ │ │ │ │ ├── nomatches.html
│ │ │ │ │ │ │ │ ├── pages_0.html
│ │ │ │ │ │ │ │ ├── pages_0.js
│ │ │ │ │ │ │ │ ├── search.css
│ │ │ │ │ │ │ │ ├── search.js
│ │ │ │ │ │ │ │ ├── searchdata.js
│ │ │ │ │ │ │ │ ├── typedefs_0.html
│ │ │ │ │ │ │ │ ├── typedefs_0.js
│ │ │ │ │ │ │ │ ├── typedefs_1.html
│ │ │ │ │ │ │ │ ├── typedefs_1.js
│ │ │ │ │ │ │ │ ├── typedefs_2.html
│ │ │ │ │ │ │ │ ├── typedefs_2.js
│ │ │ │ │ │ │ │ ├── typedefs_3.html
│ │ │ │ │ │ │ │ ├── typedefs_3.js
│ │ │ │ │ │ │ │ ├── typedefs_4.html
│ │ │ │ │ │ │ │ ├── typedefs_4.js
│ │ │ │ │ │ │ │ ├── typedefs_5.html
│ │ │ │ │ │ │ │ ├── typedefs_5.js
│ │ │ │ │ │ │ │ ├── typedefs_6.html
│ │ │ │ │ │ │ │ ├── typedefs_6.js
│ │ │ │ │ │ │ │ ├── typedefs_7.html
│ │ │ │ │ │ │ │ ├── typedefs_7.js
│ │ │ │ │ │ │ │ ├── typedefs_8.html
│ │ │ │ │ │ │ │ ├── typedefs_8.js
│ │ │ │ │ │ │ │ ├── typedefs_9.html
│ │ │ │ │ │ │ │ ├── typedefs_9.js
│ │ │ │ │ │ │ │ ├── typedefs_a.html
│ │ │ │ │ │ │ │ ├── typedefs_a.js
│ │ │ │ │ │ │ │ ├── typedefs_b.html
│ │ │ │ │ │ │ │ ├── typedefs_b.js
│ │ │ │ │ │ │ │ ├── typedefs_c.html
│ │ │ │ │ │ │ │ ├── typedefs_c.js
│ │ │ │ │ │ │ │ ├── typedefs_d.html
│ │ │ │ │ │ │ │ └── typedefs_d.js
│ │ │ │ │ │ │ └── tabs.css
│ │ │ │ │ │ ├── man.doxy
│ │ │ │ │ │ └── theme/
│ │ │ │ │ │ └── doxygen.css
│ │ │ │ │ ├── glm/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── common.hpp
│ │ │ │ │ │ ├── detail/
│ │ │ │ │ │ │ ├── _features.hpp
│ │ │ │ │ │ │ ├── _fixes.hpp
│ │ │ │ │ │ │ ├── _noise.hpp
│ │ │ │ │ │ │ ├── _swizzle.hpp
│ │ │ │ │ │ │ ├── _swizzle_func.hpp
│ │ │ │ │ │ │ ├── _vectorize.hpp
│ │ │ │ │ │ │ ├── compute_common.hpp
│ │ │ │ │ │ │ ├── compute_vector_relational.hpp
│ │ │ │ │ │ │ ├── func_common.inl
│ │ │ │ │ │ │ ├── func_common_simd.inl
│ │ │ │ │ │ │ ├── func_exponential.inl
│ │ │ │ │ │ │ ├── func_exponential_simd.inl
│ │ │ │ │ │ │ ├── func_geometric.inl
│ │ │ │ │ │ │ ├── func_geometric_simd.inl
│ │ │ │ │ │ │ ├── func_integer.inl
│ │ │ │ │ │ │ ├── func_integer_simd.inl
│ │ │ │ │ │ │ ├── func_matrix.inl
│ │ │ │ │ │ │ ├── func_matrix_simd.inl
│ │ │ │ │ │ │ ├── func_packing.inl
│ │ │ │ │ │ │ ├── func_packing_simd.inl
│ │ │ │ │ │ │ ├── func_trigonometric.inl
│ │ │ │ │ │ │ ├── func_trigonometric_simd.inl
│ │ │ │ │ │ │ ├── func_vector_relational.inl
│ │ │ │ │ │ │ ├── func_vector_relational_simd.inl
│ │ │ │ │ │ │ ├── glm.cpp
│ │ │ │ │ │ │ ├── qualifier.hpp
│ │ │ │ │ │ │ ├── setup.hpp
│ │ │ │ │ │ │ ├── type_float.hpp
│ │ │ │ │ │ │ ├── type_half.hpp
│ │ │ │ │ │ │ ├── type_half.inl
│ │ │ │ │ │ │ ├── type_mat2x2.hpp
│ │ │ │ │ │ │ ├── type_mat2x2.inl
│ │ │ │ │ │ │ ├── type_mat2x3.hpp
│ │ │ │ │ │ │ ├── type_mat2x3.inl
│ │ │ │ │ │ │ ├── type_mat2x4.hpp
│ │ │ │ │ │ │ ├── type_mat2x4.inl
│ │ │ │ │ │ │ ├── type_mat3x2.hpp
│ │ │ │ │ │ │ ├── type_mat3x2.inl
│ │ │ │ │ │ │ ├── type_mat3x3.hpp
│ │ │ │ │ │ │ ├── type_mat3x3.inl
│ │ │ │ │ │ │ ├── type_mat3x4.hpp
│ │ │ │ │ │ │ ├── type_mat3x4.inl
│ │ │ │ │ │ │ ├── type_mat4x2.hpp
│ │ │ │ │ │ │ ├── type_mat4x2.inl
│ │ │ │ │ │ │ ├── type_mat4x3.hpp
│ │ │ │ │ │ │ ├── type_mat4x3.inl
│ │ │ │ │ │ │ ├── type_mat4x4.hpp
│ │ │ │ │ │ │ ├── type_mat4x4.inl
│ │ │ │ │ │ │ ├── type_mat4x4_simd.inl
│ │ │ │ │ │ │ ├── type_quat.hpp
│ │ │ │ │ │ │ ├── type_quat.inl
│ │ │ │ │ │ │ ├── type_quat_simd.inl
│ │ │ │ │ │ │ ├── type_vec1.hpp
│ │ │ │ │ │ │ ├── type_vec1.inl
│ │ │ │ │ │ │ ├── type_vec2.hpp
│ │ │ │ │ │ │ ├── type_vec2.inl
│ │ │ │ │ │ │ ├── type_vec3.hpp
│ │ │ │ │ │ │ ├── type_vec3.inl
│ │ │ │ │ │ │ ├── type_vec4.hpp
│ │ │ │ │ │ │ ├── type_vec4.inl
│ │ │ │ │ │ │ └── type_vec4_simd.inl
│ │ │ │ │ │ ├── exponential.hpp
│ │ │ │ │ │ ├── ext/
│ │ │ │ │ │ │ ├── _matrix_vectorize.hpp
│ │ │ │ │ │ │ ├── matrix_clip_space.hpp
│ │ │ │ │ │ │ ├── matrix_clip_space.inl
│ │ │ │ │ │ │ ├── matrix_common.hpp
│ │ │ │ │ │ │ ├── matrix_common.inl
│ │ │ │ │ │ │ ├── matrix_double2x2.hpp
│ │ │ │ │ │ │ ├── matrix_double2x2_precision.hpp
│ │ │ │ │ │ │ ├── matrix_double2x3.hpp
│ │ │ │ │ │ │ ├── matrix_double2x3_precision.hpp
│ │ │ │ │ │ │ ├── matrix_double2x4.hpp
│ │ │ │ │ │ │ ├── matrix_double2x4_precision.hpp
│ │ │ │ │ │ │ ├── matrix_double3x2.hpp
│ │ │ │ │ │ │ ├── matrix_double3x2_precision.hpp
│ │ │ │ │ │ │ ├── matrix_double3x3.hpp
│ │ │ │ │ │ │ ├── matrix_double3x3_precision.hpp
│ │ │ │ │ │ │ ├── matrix_double3x4.hpp
│ │ │ │ │ │ │ ├── matrix_double3x4_precision.hpp
│ │ │ │ │ │ │ ├── matrix_double4x2.hpp
│ │ │ │ │ │ │ ├── matrix_double4x2_precision.hpp
│ │ │ │ │ │ │ ├── matrix_double4x3.hpp
│ │ │ │ │ │ │ ├── matrix_double4x3_precision.hpp
│ │ │ │ │ │ │ ├── matrix_double4x4.hpp
│ │ │ │ │ │ │ ├── matrix_double4x4_precision.hpp
│ │ │ │ │ │ │ ├── matrix_float2x2.hpp
│ │ │ │ │ │ │ ├── matrix_float2x2_precision.hpp
│ │ │ │ │ │ │ ├── matrix_float2x3.hpp
│ │ │ │ │ │ │ ├── matrix_float2x3_precision.hpp
│ │ │ │ │ │ │ ├── matrix_float2x4.hpp
│ │ │ │ │ │ │ ├── matrix_float2x4_precision.hpp
│ │ │ │ │ │ │ ├── matrix_float3x2.hpp
│ │ │ │ │ │ │ ├── matrix_float3x2_precision.hpp
│ │ │ │ │ │ │ ├── matrix_float3x3.hpp
│ │ │ │ │ │ │ ├── matrix_float3x3_precision.hpp
│ │ │ │ │ │ │ ├── matrix_float3x4.hpp
│ │ │ │ │ │ │ ├── matrix_float3x4_precision.hpp
│ │ │ │ │ │ │ ├── matrix_float4x2.hpp
│ │ │ │ │ │ │ ├── matrix_float4x2_precision.hpp
│ │ │ │ │ │ │ ├── matrix_float4x3.hpp
│ │ │ │ │ │ │ ├── matrix_float4x3_precision.hpp
│ │ │ │ │ │ │ ├── matrix_float4x4.hpp
│ │ │ │ │ │ │ ├── matrix_float4x4_precision.hpp
│ │ │ │ │ │ │ ├── matrix_int2x2.hpp
│ │ │ │ │ │ │ ├── matrix_int2x2_sized.hpp
│ │ │ │ │ │ │ ├── matrix_int2x3.hpp
│ │ │ │ │ │ │ ├── matrix_int2x3_sized.hpp
│ │ │ │ │ │ │ ├── matrix_int2x4.hpp
│ │ │ │ │ │ │ ├── matrix_int2x4_sized.hpp
│ │ │ │ │ │ │ ├── matrix_int3x2.hpp
│ │ │ │ │ │ │ ├── matrix_int3x2_sized.hpp
│ │ │ │ │ │ │ ├── matrix_int3x3.hpp
│ │ │ │ │ │ │ ├── matrix_int3x3_sized.hpp
│ │ │ │ │ │ │ ├── matrix_int3x4.hpp
│ │ │ │ │ │ │ ├── matrix_int3x4_sized.hpp
│ │ │ │ │ │ │ ├── matrix_int4x2.hpp
│ │ │ │ │ │ │ ├── matrix_int4x2_sized.hpp
│ │ │ │ │ │ │ ├── matrix_int4x3.hpp
│ │ │ │ │ │ │ ├── matrix_int4x3_sized.hpp
│ │ │ │ │ │ │ ├── matrix_int4x4.hpp
│ │ │ │ │ │ │ ├── matrix_int4x4_sized.hpp
│ │ │ │ │ │ │ ├── matrix_integer.hpp
│ │ │ │ │ │ │ ├── matrix_integer.inl
│ │ │ │ │ │ │ ├── matrix_projection.hpp
│ │ │ │ │ │ │ ├── matrix_projection.inl
│ │ │ │ │ │ │ ├── matrix_relational.hpp
│ │ │ │ │ │ │ ├── matrix_relational.inl
│ │ │ │ │ │ │ ├── matrix_transform.hpp
│ │ │ │ │ │ │ ├── matrix_transform.inl
│ │ │ │ │ │ │ ├── matrix_uint2x2.hpp
│ │ │ │ │ │ │ ├── matrix_uint2x2_sized.hpp
│ │ │ │ │ │ │ ├── matrix_uint2x3.hpp
│ │ │ │ │ │ │ ├── matrix_uint2x3_sized.hpp
│ │ │ │ │ │ │ ├── matrix_uint2x4.hpp
│ │ │ │ │ │ │ ├── matrix_uint2x4_sized.hpp
│ │ │ │ │ │ │ ├── matrix_uint3x2.hpp
│ │ │ │ │ │ │ ├── matrix_uint3x2_sized.hpp
│ │ │ │ │ │ │ ├── matrix_uint3x3.hpp
│ │ │ │ │ │ │ ├── matrix_uint3x3_sized.hpp
│ │ │ │ │ │ │ ├── matrix_uint3x4.hpp
│ │ │ │ │ │ │ ├── matrix_uint3x4_sized.hpp
│ │ │ │ │ │ │ ├── matrix_uint4x2.hpp
│ │ │ │ │ │ │ ├── matrix_uint4x2_sized.hpp
│ │ │ │ │ │ │ ├── matrix_uint4x3.hpp
│ │ │ │ │ │ │ ├── matrix_uint4x3_sized.hpp
│ │ │ │ │ │ │ ├── matrix_uint4x4.hpp
│ │ │ │ │ │ │ ├── matrix_uint4x4_sized.hpp
│ │ │ │ │ │ │ ├── quaternion_common.hpp
│ │ │ │ │ │ │ ├── quaternion_common.inl
│ │ │ │ │ │ │ ├── quaternion_common_simd.inl
│ │ │ │ │ │ │ ├── quaternion_double.hpp
│ │ │ │ │ │ │ ├── quaternion_double_precision.hpp
│ │ │ │ │ │ │ ├── quaternion_exponential.hpp
│ │ │ │ │ │ │ ├── quaternion_exponential.inl
│ │ │ │ │ │ │ ├── quaternion_float.hpp
│ │ │ │ │ │ │ ├── quaternion_float_precision.hpp
│ │ │ │ │ │ │ ├── quaternion_geometric.hpp
│ │ │ │ │ │ │ ├── quaternion_geometric.inl
│ │ │ │ │ │ │ ├── quaternion_relational.hpp
│ │ │ │ │ │ │ ├── quaternion_relational.inl
│ │ │ │ │ │ │ ├── quaternion_transform.hpp
│ │ │ │ │ │ │ ├── quaternion_transform.inl
│ │ │ │ │ │ │ ├── quaternion_trigonometric.hpp
│ │ │ │ │ │ │ ├── quaternion_trigonometric.inl
│ │ │ │ │ │ │ ├── scalar_common.hpp
│ │ │ │ │ │ │ ├── scalar_common.inl
│ │ │ │ │ │ │ ├── scalar_constants.hpp
│ │ │ │ │ │ │ ├── scalar_constants.inl
│ │ │ │ │ │ │ ├── scalar_int_sized.hpp
│ │ │ │ │ │ │ ├── scalar_integer.hpp
│ │ │ │ │ │ │ ├── scalar_integer.inl
│ │ │ │ │ │ │ ├── scalar_packing.hpp
│ │ │ │ │ │ │ ├── scalar_packing.inl
│ │ │ │ │ │ │ ├── scalar_reciprocal.hpp
│ │ │ │ │ │ │ ├── scalar_reciprocal.inl
│ │ │ │ │ │ │ ├── scalar_relational.hpp
│ │ │ │ │ │ │ ├── scalar_relational.inl
│ │ │ │ │ │ │ ├── scalar_uint_sized.hpp
│ │ │ │ │ │ │ ├── scalar_ulp.hpp
│ │ │ │ │ │ │ ├── scalar_ulp.inl
│ │ │ │ │ │ │ ├── vector_bool1.hpp
│ │ │ │ │ │ │ ├── vector_bool1_precision.hpp
│ │ │ │ │ │ │ ├── vector_bool2.hpp
│ │ │ │ │ │ │ ├── vector_bool2_precision.hpp
│ │ │ │ │ │ │ ├── vector_bool3.hpp
│ │ │ │ │ │ │ ├── vector_bool3_precision.hpp
│ │ │ │ │ │ │ ├── vector_bool4.hpp
│ │ │ │ │ │ │ ├── vector_bool4_precision.hpp
│ │ │ │ │ │ │ ├── vector_common.hpp
│ │ │ │ │ │ │ ├── vector_common.inl
│ │ │ │ │ │ │ ├── vector_double1.hpp
│ │ │ │ │ │ │ ├── vector_double1_precision.hpp
│ │ │ │ │ │ │ ├── vector_double2.hpp
│ │ │ │ │ │ │ ├── vector_double2_precision.hpp
│ │ │ │ │ │ │ ├── vector_double3.hpp
│ │ │ │ │ │ │ ├── vector_double3_precision.hpp
│ │ │ │ │ │ │ ├── vector_double4.hpp
│ │ │ │ │ │ │ ├── vector_double4_precision.hpp
│ │ │ │ │ │ │ ├── vector_float1.hpp
│ │ │ │ │ │ │ ├── vector_float1_precision.hpp
│ │ │ │ │ │ │ ├── vector_float2.hpp
│ │ │ │ │ │ │ ├── vector_float2_precision.hpp
│ │ │ │ │ │ │ ├── vector_float3.hpp
│ │ │ │ │ │ │ ├── vector_float3_precision.hpp
│ │ │ │ │ │ │ ├── vector_float4.hpp
│ │ │ │ │ │ │ ├── vector_float4_precision.hpp
│ │ │ │ │ │ │ ├── vector_int1.hpp
│ │ │ │ │ │ │ ├── vector_int1_sized.hpp
│ │ │ │ │ │ │ ├── vector_int2.hpp
│ │ │ │ │ │ │ ├── vector_int2_sized.hpp
│ │ │ │ │ │ │ ├── vector_int3.hpp
│ │ │ │ │ │ │ ├── vector_int3_sized.hpp
│ │ │ │ │ │ │ ├── vector_int4.hpp
│ │ │ │ │ │ │ ├── vector_int4_sized.hpp
│ │ │ │ │ │ │ ├── vector_integer.hpp
│ │ │ │ │ │ │ ├── vector_integer.inl
│ │ │ │ │ │ │ ├── vector_packing.hpp
│ │ │ │ │ │ │ ├── vector_packing.inl
│ │ │ │ │ │ │ ├── vector_reciprocal.hpp
│ │ │ │ │ │ │ ├── vector_reciprocal.inl
│ │ │ │ │ │ │ ├── vector_relational.hpp
│ │ │ │ │ │ │ ├── vector_relational.inl
│ │ │ │ │ │ │ ├── vector_uint1.hpp
│ │ │ │ │ │ │ ├── vector_uint1_sized.hpp
│ │ │ │ │ │ │ ├── vector_uint2.hpp
│ │ │ │ │ │ │ ├── vector_uint2_sized.hpp
│ │ │ │ │ │ │ ├── vector_uint3.hpp
│ │ │ │ │ │ │ ├── vector_uint3_sized.hpp
│ │ │ │ │ │ │ ├── vector_uint4.hpp
│ │ │ │ │ │ │ ├── vector_uint4_sized.hpp
│ │ │ │ │ │ │ ├── vector_ulp.hpp
│ │ │ │ │ │ │ └── vector_ulp.inl
│ │ │ │ │ │ ├── ext.hpp
│ │ │ │ │ │ ├── fwd.hpp
│ │ │ │ │ │ ├── geometric.hpp
│ │ │ │ │ │ ├── glm.hpp
│ │ │ │ │ │ ├── gtc/
│ │ │ │ │ │ │ ├── bitfield.hpp
│ │ │ │ │ │ │ ├── bitfield.inl
│ │ │ │ │ │ │ ├── color_space.hpp
│ │ │ │ │ │ │ ├── color_space.inl
│ │ │ │ │ │ │ ├── constants.hpp
│ │ │ │ │ │ │ ├── constants.inl
│ │ │ │ │ │ │ ├── epsilon.hpp
│ │ │ │ │ │ │ ├── epsilon.inl
│ │ │ │ │ │ │ ├── integer.hpp
│ │ │ │ │ │ │ ├── integer.inl
│ │ │ │ │ │ │ ├── matrix_access.hpp
│ │ │ │ │ │ │ ├── matrix_access.inl
│ │ │ │ │ │ │ ├── matrix_integer.hpp
│ │ │ │ │ │ │ ├── matrix_inverse.hpp
│ │ │ │ │ │ │ ├── matrix_inverse.inl
│ │ │ │ │ │ │ ├── matrix_transform.hpp
│ │ │ │ │ │ │ ├── matrix_transform.inl
│ │ │ │ │ │ │ ├── noise.hpp
│ │ │ │ │ │ │ ├── noise.inl
│ │ │ │ │ │ │ ├── packing.hpp
│ │ │ │ │ │ │ ├── packing.inl
│ │ │ │ │ │ │ ├── quaternion.hpp
│ │ │ │ │ │ │ ├── quaternion.inl
│ │ │ │ │ │ │ ├── quaternion_simd.inl
│ │ │ │ │ │ │ ├── random.hpp
│ │ │ │ │ │ │ ├── random.inl
│ │ │ │ │ │ │ ├── reciprocal.hpp
│ │ │ │ │ │ │ ├── round.hpp
│ │ │ │ │ │ │ ├── round.inl
│ │ │ │ │ │ │ ├── type_aligned.hpp
│ │ │ │ │ │ │ ├── type_precision.hpp
│ │ │ │ │ │ │ ├── type_precision.inl
│ │ │ │ │ │ │ ├── type_ptr.hpp
│ │ │ │ │ │ │ ├── type_ptr.inl
│ │ │ │ │ │ │ ├── ulp.hpp
│ │ │ │ │ │ │ ├── ulp.inl
│ │ │ │ │ │ │ └── vec1.hpp
│ │ │ │ │ │ ├── gtx/
│ │ │ │ │ │ │ ├── associated_min_max.hpp
│ │ │ │ │ │ │ ├── associated_min_max.inl
│ │ │ │ │ │ │ ├── bit.hpp
│ │ │ │ │ │ │ ├── bit.inl
│ │ │ │ │ │ │ ├── closest_point.hpp
│ │ │ │ │ │ │ ├── closest_point.inl
│ │ │ │ │ │ │ ├── color_encoding.hpp
│ │ │ │ │ │ │ ├── color_encoding.inl
│ │ │ │ │ │ │ ├── color_space.hpp
│ │ │ │ │ │ │ ├── color_space.inl
│ │ │ │ │ │ │ ├── color_space_YCoCg.hpp
│ │ │ │ │ │ │ ├── color_space_YCoCg.inl
│ │ │ │ │ │ │ ├── common.hpp
│ │ │ │ │ │ │ ├── common.inl
│ │ │ │ │ │ │ ├── compatibility.hpp
│ │ │ │ │ │ │ ├── compatibility.inl
│ │ │ │ │ │ │ ├── component_wise.hpp
│ │ │ │ │ │ │ ├── component_wise.inl
│ │ │ │ │ │ │ ├── dual_quaternion.hpp
│ │ │ │ │ │ │ ├── dual_quaternion.inl
│ │ │ │ │ │ │ ├── easing.hpp
│ │ │ │ │ │ │ ├── easing.inl
│ │ │ │ │ │ │ ├── euler_angles.hpp
│ │ │ │ │ │ │ ├── euler_angles.inl
│ │ │ │ │ │ │ ├── extend.hpp
│ │ │ │ │ │ │ ├── extend.inl
│ │ │ │ │ │ │ ├── extended_min_max.hpp
│ │ │ │ │ │ │ ├── extended_min_max.inl
│ │ │ │ │ │ │ ├── exterior_product.hpp
│ │ │ │ │ │ │ ├── exterior_product.inl
│ │ │ │ │ │ │ ├── fast_exponential.hpp
│ │ │ │ │ │ │ ├── fast_exponential.inl
│ │ │ │ │ │ │ ├── fast_square_root.hpp
│ │ │ │ │ │ │ ├── fast_square_root.inl
│ │ │ │ │ │ │ ├── fast_trigonometry.hpp
│ │ │ │ │ │ │ ├── fast_trigonometry.inl
│ │ │ │ │ │ │ ├── float_notmalize.inl
│ │ │ │ │ │ │ ├── functions.hpp
│ │ │ │ │ │ │ ├── functions.inl
│ │ │ │ │ │ │ ├── gradient_paint.hpp
│ │ │ │ │ │ │ ├── gradient_paint.inl
│ │ │ │ │ │ │ ├── handed_coordinate_space.hpp
│ │ │ │ │ │ │ ├── handed_coordinate_space.inl
│ │ │ │ │ │ │ ├── hash.hpp
│ │ │ │ │ │ │ ├── hash.inl
│ │ │ │ │ │ │ ├── integer.hpp
│ │ │ │ │ │ │ ├── integer.inl
│ │ │ │ │ │ │ ├── intersect.hpp
│ │ │ │ │ │ │ ├── intersect.inl
│ │ │ │ │ │ │ ├── io.hpp
│ │ │ │ │ │ │ ├── io.inl
│ │ │ │ │ │ │ ├── log_base.hpp
│ │ │ │ │ │ │ ├── log_base.inl
│ │ │ │ │ │ │ ├── matrix_cross_product.hpp
│ │ │ │ │ │ │ ├── matrix_cross_product.inl
│ │ │ │ │ │ │ ├── matrix_decompose.hpp
│ │ │ │ │ │ │ ├── matrix_decompose.inl
│ │ │ │ │ │ │ ├── matrix_factorisation.hpp
│ │ │ │ │ │ │ ├── matrix_factorisation.inl
│ │ │ │ │ │ │ ├── matrix_interpolation.hpp
│ │ │ │ │ │ │ ├── matrix_interpolation.inl
│ │ │ │ │ │ │ ├── matrix_major_storage.hpp
│ │ │ │ │ │ │ ├── matrix_major_storage.inl
│ │ │ │ │ │ │ ├── matrix_operation.hpp
│ │ │ │ │ │ │ ├── matrix_operation.inl
│ │ │ │ │ │ │ ├── matrix_query.hpp
│ │ │ │ │ │ │ ├── matrix_query.inl
│ │ │ │ │ │ │ ├── matrix_transform_2d.hpp
│ │ │ │ │ │ │ ├── matrix_transform_2d.inl
│ │ │ │ │ │ │ ├── mixed_product.hpp
│ │ │ │ │ │ │ ├── mixed_product.inl
│ │ │ │ │ │ │ ├── norm.hpp
│ │ │ │ │ │ │ ├── norm.inl
│ │ │ │ │ │ │ ├── normal.hpp
│ │ │ │ │ │ │ ├── normal.inl
│ │ │ │ │ │ │ ├── normalize_dot.hpp
│ │ │ │ │ │ │ ├── normalize_dot.inl
│ │ │ │ │ │ │ ├── number_precision.hpp
│ │ │ │ │ │ │ ├── number_precision.inl
│ │ │ │ │ │ │ ├── optimum_pow.hpp
│ │ │ │ │ │ │ ├── optimum_pow.inl
│ │ │ │ │ │ │ ├── orthonormalize.hpp
│ │ │ │ │ │ │ ├── orthonormalize.inl
│ │ │ │ │ │ │ ├── pca.hpp
│ │ │ │ │ │ │ ├── pca.inl
│ │ │ │ │ │ │ ├── perpendicular.hpp
│ │ │ │ │ │ │ ├── perpendicular.inl
│ │ │ │ │ │ │ ├── polar_coordinates.hpp
│ │ │ │ │ │ │ ├── polar_coordinates.inl
│ │ │ │ │ │ │ ├── projection.hpp
│ │ │ │ │ │ │ ├── projection.inl
│ │ │ │ │ │ │ ├── quaternion.hpp
│ │ │ │ │ │ │ ├── quaternion.inl
│ │ │ │ │ │ │ ├── range.hpp
│ │ │ │ │ │ │ ├── raw_data.hpp
│ │ │ │ │ │ │ ├── raw_data.inl
│ │ │ │ │ │ │ ├── rotate_normalized_axis.hpp
│ │ │ │ │ │ │ ├── rotate_normalized_axis.inl
│ │ │ │ │ │ │ ├── rotate_vector.hpp
│ │ │ │ │ │ │ ├── rotate_vector.inl
│ │ │ │ │ │ │ ├── scalar_multiplication.hpp
│ │ │ │ │ │ │ ├── scalar_relational.hpp
│ │ │ │ │ │ │ ├── scalar_relational.inl
│ │ │ │ │ │ │ ├── spline.hpp
│ │ │ │ │ │ │ ├── spline.inl
│ │ │ │ │ │ │ ├── std_based_type.hpp
│ │ │ │ │ │ │ ├── std_based_type.inl
│ │ │ │ │ │ │ ├── string_cast.hpp
│ │ │ │ │ │ │ ├── string_cast.inl
│ │ │ │ │ │ │ ├── texture.hpp
│ │ │ │ │ │ │ ├── texture.inl
│ │ │ │ │ │ │ ├── transform.hpp
│ │ │ │ │ │ │ ├── transform.inl
│ │ │ │ │ │ │ ├── transform2.hpp
│ │ │ │ │ │ │ ├── transform2.inl
│ │ │ │ │ │ │ ├── type_aligned.hpp
│ │ │ │ │ │ │ ├── type_aligned.inl
│ │ │ │ │ │ │ ├── type_trait.hpp
│ │ │ │ │ │ │ ├── type_trait.inl
│ │ │ │ │ │ │ ├── vec_swizzle.hpp
│ │ │ │ │ │ │ ├── vector_angle.hpp
│ │ │ │ │ │ │ ├── vector_angle.inl
│ │ │ │ │ │ │ ├── vector_query.hpp
│ │ │ │ │ │ │ ├── vector_query.inl
│ │ │ │ │ │ │ ├── wrap.hpp
│ │ │ │ │ │ │ └── wrap.inl
│ │ │ │ │ │ ├── integer.hpp
│ │ │ │ │ │ ├── mat2x2.hpp
│ │ │ │ │ │ ├── mat2x3.hpp
│ │ │ │ │ │ ├── mat2x4.hpp
│ │ │ │ │ │ ├── mat3x2.hpp
│ │ │ │ │ │ ├── mat3x3.hpp
│ │ │ │ │ │ ├── mat3x4.hpp
│ │ │ │ │ │ ├── mat4x2.hpp
│ │ │ │ │ │ ├── mat4x3.hpp
│ │ │ │ │ │ ├── mat4x4.hpp
│ │ │ │ │ │ ├── matrix.hpp
│ │ │ │ │ │ ├── packing.hpp
│ │ │ │ │ │ ├── simd/
│ │ │ │ │ │ │ ├── common.h
│ │ │ │ │ │ │ ├── exponential.h
│ │ │ │ │ │ │ ├── geometric.h
│ │ │ │ │ │ │ ├── integer.h
│ │ │ │ │ │ │ ├── matrix.h
│ │ │ │ │ │ │ ├── neon.h
│ │ │ │ │ │ │ ├── packing.h
│ │ │ │ │ │ │ ├── platform.h
│ │ │ │ │ │ │ ├── trigonometric.h
│ │ │ │ │ │ │ └── vector_relational.h
│ │ │ │ │ │ ├── trigonometric.hpp
│ │ │ │ │ │ ├── vec2.hpp
│ │ │ │ │ │ ├── vec3.hpp
│ │ │ │ │ │ ├── vec4.hpp
│ │ │ │ │ │ └── vector_relational.hpp
│ │ │ │ │ ├── manual.md
│ │ │ │ │ ├── readme.md
│ │ │ │ │ ├── test/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── bug/
│ │ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ │ └── bug_ms_vec_static.cpp
│ │ │ │ │ │ ├── cmake/
│ │ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ │ └── test_find_glm.cpp
│ │ │ │ │ │ ├── core/
│ │ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ │ ├── core_cpp_constexpr.cpp
│ │ │ │ │ │ │ ├── core_cpp_defaulted_ctor.cpp
│ │ │ │ │ │ │ ├── core_force_aligned_gentypes.cpp
│ │ │ │ │ │ │ ├── core_force_arch_unknown.cpp
│ │ │ │ │ │ │ ├── core_force_compiler_unknown.cpp
│ │ │ │ │ │ │ ├── core_force_ctor_init.cpp
│ │ │ │ │ │ │ ├── core_force_cxx03.cpp
│ │ │ │ │ │ │ ├── core_force_cxx98.cpp
│ │ │ │ │ │ │ ├── core_force_cxx_unknown.cpp
│ │ │ │ │ │ │ ├── core_force_depth_zero_to_one.cpp
│ │ │ │ │ │ │ ├── core_force_explicit_ctor.cpp
│ │ │ │ │ │ │ ├── core_force_inline.cpp
│ │ │ │ │ │ │ ├── core_force_left_handed.cpp
│ │ │ │ │ │ │ ├── core_force_platform_unknown.cpp
│ │ │ │ │ │ │ ├── core_force_pure.cpp
│ │ │ │ │ │ │ ├── core_force_quat_xyzw.cpp
│ │ │ │ │ │ │ ├── core_force_size_t_length.cpp
│ │ │ │ │ │ │ ├── core_force_unrestricted_gentype.cpp
│ │ │ │ │ │ │ ├── core_force_xyzw_only.cpp
│ │ │ │ │ │ │ ├── core_func_common.cpp
│ │ │ │ │ │ │ ├── core_func_exponential.cpp
│ │ │ │ │ │ │ ├── core_func_geometric.cpp
│ │ │ │ │ │ │ ├── core_func_integer.cpp
│ │ │ │ │ │ │ ├── core_func_integer_bit_count.cpp
│ │ │ │ │ │ │ ├── core_func_integer_find_lsb.cpp
│ │ │ │ │ │ │ ├── core_func_integer_find_msb.cpp
│ │ │ │ │ │ │ ├── core_func_matrix.cpp
│ │ │ │ │ │ │ ├── core_func_noise.cpp
│ │ │ │ │ │ │ ├── core_func_packing.cpp
│ │ │ │ │ │ │ ├── core_func_swizzle.cpp
│ │ │ │ │ │ │ ├── core_func_trigonometric.cpp
│ │ │ │ │ │ │ ├── core_func_vector_relational.cpp
│ │ │ │ │ │ │ ├── core_setup_force_cxx98.cpp
│ │ │ │ │ │ │ ├── core_setup_force_size_t_length.cpp
│ │ │ │ │ │ │ ├── core_setup_message.cpp
│ │ │ │ │ │ │ ├── core_setup_platform_unknown.cpp
│ │ │ │ │ │ │ ├── core_setup_precision.cpp
│ │ │ │ │ │ │ ├── core_type_aligned.cpp
│ │ │ │ │ │ │ ├── core_type_cast.cpp
│ │ │ │ │ │ │ ├── core_type_ctor.cpp
│ │ │ │ │ │ │ ├── core_type_int.cpp
│ │ │ │ │ │ │ ├── core_type_length.cpp
│ │ │ │ │ │ │ ├── core_type_mat2x2.cpp
│ │ │ │ │ │ │ ├── core_type_mat2x3.cpp
│ │ │ │ │ │ │ ├── core_type_mat2x4.cpp
│ │ │ │ │ │ │ ├── core_type_mat3x2.cpp
│ │ │ │ │ │ │ ├── core_type_mat3x3.cpp
│ │ │ │ │ │ │ ├── core_type_mat3x4.cpp
│ │ │ │ │ │ │ ├── core_type_mat4x2.cpp
│ │ │ │ │ │ │ ├── core_type_mat4x3.cpp
│ │ │ │ │ │ │ ├── core_type_mat4x4.cpp
│ │ │ │ │ │ │ ├── core_type_vec1.cpp
│ │ │ │ │ │ │ ├── core_type_vec2.cpp
│ │ │ │ │ │ │ ├── core_type_vec3.cpp
│ │ │ │ │ │ │ └── core_type_vec4.cpp
│ │ │ │ │ │ ├── ext/
│ │ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ │ ├── ext_matrix_clip_space.cpp
│ │ │ │ │ │ │ ├── ext_matrix_common.cpp
│ │ │ │ │ │ │ ├── ext_matrix_int2x2_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_int2x3_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_int2x4_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_int3x2_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_int3x3_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_int3x4_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_int4x2_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_int4x3_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_int4x4_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_integer.cpp
│ │ │ │ │ │ │ ├── ext_matrix_projection.cpp
│ │ │ │ │ │ │ ├── ext_matrix_relational.cpp
│ │ │ │ │ │ │ ├── ext_matrix_transform.cpp
│ │ │ │ │ │ │ ├── ext_matrix_uint2x2_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_uint2x3_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_uint2x4_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_uint3x2_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_uint3x3_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_uint3x4_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_uint4x2_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_uint4x3_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_uint4x4_sized.cpp
│ │ │ │ │ │ │ ├── ext_quaternion_common.cpp
│ │ │ │ │ │ │ ├── ext_quaternion_exponential.cpp
│ │ │ │ │ │ │ ├── ext_quaternion_geometric.cpp
│ │ │ │ │ │ │ ├── ext_quaternion_relational.cpp
│ │ │ │ │ │ │ ├── ext_quaternion_transform.cpp
│ │ │ │ │ │ │ ├── ext_quaternion_trigonometric.cpp
│ │ │ │ │ │ │ ├── ext_quaternion_type.cpp
│ │ │ │ │ │ │ ├── ext_scalar_common.cpp
│ │ │ │ │ │ │ ├── ext_scalar_constants.cpp
│ │ │ │ │ │ │ ├── ext_scalar_int_sized.cpp
│ │ │ │ │ │ │ ├── ext_scalar_integer.cpp
│ │ │ │ │ │ │ ├── ext_scalar_packing.cpp
│ │ │ │ │ │ │ ├── ext_scalar_reciprocal.cpp
│ │ │ │ │ │ │ ├── ext_scalar_relational.cpp
│ │ │ │ │ │ │ ├── ext_scalar_uint_sized.cpp
│ │ │ │ │ │ │ ├── ext_scalar_ulp.cpp
│ │ │ │ │ │ │ ├── ext_vec1.cpp
│ │ │ │ │ │ │ ├── ext_vector_bool1.cpp
│ │ │ │ │ │ │ ├── ext_vector_common.cpp
│ │ │ │ │ │ │ ├── ext_vector_iec559.cpp
│ │ │ │ │ │ │ ├── ext_vector_int1_sized.cpp
│ │ │ │ │ │ │ ├── ext_vector_int2_sized.cpp
│ │ │ │ │ │ │ ├── ext_vector_int3_sized.cpp
│ │ │ │ │ │ │ ├── ext_vector_int4_sized.cpp
│ │ │ │ │ │ │ ├── ext_vector_integer.cpp
│ │ │ │ │ │ │ ├── ext_vector_integer_sized.cpp
│ │ │ │ │ │ │ ├── ext_vector_packing.cpp
│ │ │ │ │ │ │ ├── ext_vector_reciprocal.cpp
│ │ │ │ │ │ │ ├── ext_vector_relational.cpp
│ │ │ │ │ │ │ ├── ext_vector_uint1_sized.cpp
│ │ │ │ │ │ │ ├── ext_vector_uint2_sized.cpp
│ │ │ │ │ │ │ ├── ext_vector_uint3_sized.cpp
│ │ │ │ │ │ │ ├── ext_vector_uint4_sized.cpp
│ │ │ │ │ │ │ └── ext_vector_ulp.cpp
│ │ │ │ │ │ ├── glm.cppcheck
│ │ │ │ │ │ ├── gtc/
│ │ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ │ ├── gtc_bitfield.cpp
│ │ │ │ │ │ │ ├── gtc_color_space.cpp
│ │ │ │ │ │ │ ├── gtc_constants.cpp
│ │ │ │ │ │ │ ├── gtc_epsilon.cpp
│ │ │ │ │ │ │ ├── gtc_integer.cpp
│ │ │ │ │ │ │ ├── gtc_matrix_access.cpp
│ │ │ │ │ │ │ ├── gtc_matrix_integer.cpp
│ │ │ │ │ │ │ ├── gtc_matrix_inverse.cpp
│ │ │ │ │ │ │ ├── gtc_matrix_transform.cpp
│ │ │ │ │ │ │ ├── gtc_noise.cpp
│ │ │ │ │ │ │ ├── gtc_packing.cpp
│ │ │ │ │ │ │ ├── gtc_quaternion.cpp
│ │ │ │ │ │ │ ├── gtc_random.cpp
│ │ │ │ │ │ │ ├── gtc_reciprocal.cpp
│ │ │ │ │ │ │ ├── gtc_round.cpp
│ │ │ │ │ │ │ ├── gtc_type_aligned.cpp
│ │ │ │ │ │ │ ├── gtc_type_precision.cpp
│ │ │ │ │ │ │ ├── gtc_type_ptr.cpp
│ │ │ │ │ │ │ ├── gtc_ulp.cpp
│ │ │ │ │ │ │ ├── gtc_user_defined_types.cpp
│ │ │ │ │ │ │ └── gtc_vec1.cpp
│ │ │ │ │ │ ├── gtx/
│ │ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ │ ├── gtx.cpp
│ │ │ │ │ │ │ ├── gtx_associated_min_max.cpp
│ │ │ │ │ │ │ ├── gtx_closest_point.cpp
│ │ │ │ │ │ │ ├── gtx_color_encoding.cpp
│ │ │ │ │ │ │ ├── gtx_color_space.cpp
│ │ │ │ │ │ │ ├── gtx_color_space_YCoCg.cpp
│ │ │ │ │ │ │ ├── gtx_common.cpp
│ │ │ │ │ │ │ ├── gtx_compatibility.cpp
│ │ │ │ │ │ │ ├── gtx_component_wise.cpp
│ │ │ │ │ │ │ ├── gtx_dual_quaternion.cpp
│ │ │ │ │ │ │ ├── gtx_easing.cpp
│ │ │ │ │ │ │ ├── gtx_euler_angle.cpp
│ │ │ │ │ │ │ ├── gtx_extend.cpp
│ │ │ │ │ │ │ ├── gtx_extended_min_max.cpp
│ │ │ │ │ │ │ ├── gtx_extented_min_max.cpp
│ │ │ │ │ │ │ ├── gtx_exterior_product.cpp
│ │ │ │ │ │ │ ├── gtx_fast_exponential.cpp
│ │ │ │ │ │ │ ├── gtx_fast_square_root.cpp
│ │ │ │ │ │ │ ├── gtx_fast_trigonometry.cpp
│ │ │ │ │ │ │ ├── gtx_functions.cpp
│ │ │ │ │ │ │ ├── gtx_gradient_paint.cpp
│ │ │ │ │ │ │ ├── gtx_handed_coordinate_space.cpp
│ │ │ │ │ │ │ ├── gtx_hash.cpp
│ │ │ │ │ │ │ ├── gtx_int_10_10_10_2.cpp
│ │ │ │ │ │ │ ├── gtx_integer.cpp
│ │ │ │ │ │ │ ├── gtx_intersect.cpp
│ │ │ │ │ │ │ ├── gtx_io.cpp
│ │ │ │ │ │ │ ├── gtx_load.cpp
│ │ │ │ │ │ │ ├── gtx_log_base.cpp
│ │ │ │ │ │ │ ├── gtx_matrix_cross_product.cpp
│ │ │ │ │ │ │ ├── gtx_matrix_decompose.cpp
│ │ │ │ │ │ │ ├── gtx_matrix_factorisation.cpp
│ │ │ │ │ │ │ ├── gtx_matrix_interpolation.cpp
│ │ │ │ │ │ │ ├── gtx_matrix_major_storage.cpp
│ │ │ │ │ │ │ ├── gtx_matrix_operation.cpp
│ │ │ │ │ │ │ ├── gtx_matrix_query.cpp
│ │ │ │ │ │ │ ├── gtx_matrix_transform_2d.cpp
│ │ │ │ │ │ │ ├── gtx_mixed_product.cpp
│ │ │ │ │ │ │ ├── gtx_norm.cpp
│ │ │ │ │ │ │ ├── gtx_normal.cpp
│ │ │ │ │ │ │ ├── gtx_normalize_dot.cpp
│ │ │ │ │ │ │ ├── gtx_number_precision.cpp
│ │ │ │ │ │ │ ├── gtx_optimum_pow.cpp
│ │ │ │ │ │ │ ├── gtx_orthonormalize.cpp
│ │ │ │ │ │ │ ├── gtx_pca.cpp
│ │ │ │ │ │ │ ├── gtx_perpendicular.cpp
│ │ │ │ │ │ │ ├── gtx_polar_coordinates.cpp
│ │ │ │ │ │ │ ├── gtx_projection.cpp
│ │ │ │ │ │ │ ├── gtx_quaternion.cpp
│ │ │ │ │ │ │ ├── gtx_random.cpp
│ │ │ │ │ │ │ ├── gtx_range.cpp
│ │ │ │ │ │ │ ├── gtx_rotate_normalized_axis.cpp
│ │ │ │ │ │ │ ├── gtx_rotate_vector.cpp
│ │ │ │ │ │ │ ├── gtx_scalar_multiplication.cpp
│ │ │ │ │ │ │ ├── gtx_scalar_relational.cpp
│ │ │ │ │ │ │ ├── gtx_simd_mat4.cpp
│ │ │ │ │ │ │ ├── gtx_simd_vec4.cpp
│ │ │ │ │ │ │ ├── gtx_spline.cpp
│ │ │ │ │ │ │ ├── gtx_string_cast.cpp
│ │ │ │ │ │ │ ├── gtx_texture.cpp
│ │ │ │ │ │ │ ├── gtx_type_aligned.cpp
│ │ │ │ │ │ │ ├── gtx_type_trait.cpp
│ │ │ │ │ │ │ ├── gtx_vec_swizzle.cpp
│ │ │ │ │ │ │ ├── gtx_vector_angle.cpp
│ │ │ │ │ │ │ ├── gtx_vector_query.cpp
│ │ │ │ │ │ │ └── gtx_wrap.cpp
│ │ │ │ │ │ └── perf/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── perf_matrix_div.cpp
│ │ │ │ │ │ ├── perf_matrix_inverse.cpp
│ │ │ │ │ │ ├── perf_matrix_mul.cpp
│ │ │ │ │ │ ├── perf_matrix_mul_vector.cpp
│ │ │ │ │ │ ├── perf_matrix_transpose.cpp
│ │ │ │ │ │ └── perf_vector_mul_matrix.cpp
│ │ │ │ │ └── util/
│ │ │ │ │ ├── autoexp.txt
│ │ │ │ │ └── glm.natvis
│ │ │ │ └── stbi_image_write.h
│ │ │ └── simple-knn/
│ │ │ ├── ext.cpp
│ │ │ ├── setup.py
│ │ │ ├── simple_knn/
│ │ │ │ └── .gitkeep
│ │ │ ├── simple_knn.cu
│ │ │ ├── simple_knn.h
│ │ │ ├── spatial.cu
│ │ │ └── spatial.h
│ │ ├── train.py
│ │ └── utils/
│ │ ├── camera_utils.py
│ │ ├── general_utils.py
│ │ ├── graphics_utils.py
│ │ ├── image_utils.py
│ │ ├── loss_utils.py
│ │ ├── sh_utils.py
│ │ └── system_utils.py
│ ├── gs_simulation.py
│ ├── material_field.py
│ ├── mpm_solver_warp/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── engine_utils.py
│ │ ├── mpm_solver_warp.py
│ │ ├── mpm_utils.py
│ │ ├── run_sand.py
│ │ ├── sand_column.h5
│ │ └── warp_utils.py
│ ├── particle_filling/
│ │ └── filling.py
│ ├── requirements.txt
│ └── utils/
│ ├── camera_view_utils.py
│ ├── decode_param.py
│ ├── render_utils.py
│ └── transformation_utils.py
├── Wavelet-Generation/
│ ├── .gitignore
│ ├── .gitmodules
│ ├── data_utils/
│ │ ├── collect_stats.py
│ │ ├── inspect_ranges.py
│ │ └── my_data.py
│ ├── models/
│ │ ├── module/
│ │ │ ├── diffusion_network.py
│ │ │ ├── dwt.py
│ │ │ ├── dwt_utils.py
│ │ │ ├── fp16_util.py
│ │ │ ├── gaussian_diffusion.py
│ │ │ ├── nn.py
│ │ │ └── resample.py
│ │ ├── network.py
│ │ └── network_gen.py
│ ├── trainer/
│ │ ├── inference_combined.py
│ │ ├── training_continuous_mse.py
│ │ └── training_discrete.py
│ └── utils/
│ ├── debugger.py
│ ├── meter.py
│ └── other_utils.py
├── f3rm/
│ ├── .github/
│ │ └── ISSUE_TEMPLATE/
│ │ └── bug_report.md
│ ├── .gitignore
│ ├── LICENSE
│ ├── README.md
│ ├── f3rm/
│ │ ├── __init__.py
│ │ ├── f3rm_config.py
│ │ ├── feature_datamanager.py
│ │ ├── feature_field.py
│ │ ├── features/
│ │ │ ├── __init__.py
│ │ │ ├── clip/
│ │ │ │ ├── README.md
│ │ │ │ ├── __init__.py
│ │ │ │ ├── clip.py
│ │ │ │ ├── interpolate.py
│ │ │ │ ├── model.py
│ │ │ │ └── simple_tokenizer.py
│ │ │ ├── clip_extract.py
│ │ │ ├── clip_sam_extract.py
│ │ │ ├── dino/
│ │ │ │ ├── __init__.py
│ │ │ │ └── dino_vit_extractor.py
│ │ │ └── dino_extract.py
│ │ ├── model.py
│ │ ├── pca_colormap.py
│ │ └── renderer.py
│ ├── f3rm_robot/
│ │ ├── README.md
│ │ ├── __init__.py
│ │ ├── args.py
│ │ ├── assets/
│ │ │ ├── __init__.py
│ │ │ ├── panda_gripper_visual.obj
│ │ │ └── tasks/
│ │ │ ├── caterpillar_ear.pt
│ │ │ ├── mug_handle.pt
│ │ │ ├── mug_lip.pt
│ │ │ ├── rack_place.pt
│ │ │ └── screwdriver_handle.pt
│ │ ├── collision.py
│ │ ├── examples/
│ │ │ ├── __init__.py
│ │ │ └── generate_task.py
│ │ ├── field_adapter.py
│ │ ├── initial_proposals.py
│ │ ├── load.py
│ │ ├── optimize.py
│ │ ├── optimize_nerfacto.py
│ │ ├── task.py
│ │ ├── utils.py
│ │ └── visualizer.py
│ ├── install.sh
│ ├── pyproject.toml
│ ├── saved_renderers.py
│ └── setup.py
├── nerfstudio/
│ ├── nerfstudio/
│ │ ├── __init__.py
│ │ ├── cameras/
│ │ │ ├── __init__.py
│ │ │ ├── camera_optimizers.py
│ │ │ ├── camera_paths.py
│ │ │ ├── camera_utils.py
│ │ │ ├── cameras.py
│ │ │ ├── lie_groups.py
│ │ │ └── rays.py
│ │ ├── configs/
│ │ │ ├── __init__.py
│ │ │ ├── base_config.py
│ │ │ ├── config_utils.py
│ │ │ ├── dataparser_configs.py
│ │ │ ├── experiment_config.py
│ │ │ ├── external_methods.py
│ │ │ └── method_configs.py
│ │ ├── data/
│ │ │ ├── __init__.py
│ │ │ ├── datamanagers/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── base_datamanager.py
│ │ │ │ ├── full_images_datamanager.py
│ │ │ │ ├── parallel_datamanager.py
│ │ │ │ └── random_cameras_datamanager.py
│ │ │ ├── dataparsers/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── arkitscenes_dataparser.py
│ │ │ │ ├── base_dataparser.py
│ │ │ │ ├── blender_dataparser.py
│ │ │ │ ├── colmap_dataparser.py
│ │ │ │ ├── dnerf_dataparser.py
│ │ │ │ ├── dycheck_dataparser.py
│ │ │ │ ├── instant_ngp_dataparser.py
│ │ │ │ ├── minimal_dataparser.py
│ │ │ │ ├── nerfosr_dataparser.py
│ │ │ │ ├── nerfstudio_dataparser.py
│ │ │ │ ├── nuscenes_dataparser.py
│ │ │ │ ├── phototourism_dataparser.py
│ │ │ │ ├── scannet_dataparser.py
│ │ │ │ ├── scannetpp_dataparser.py
│ │ │ │ ├── sdfstudio_dataparser.py
│ │ │ │ └── sitcoms3d_dataparser.py
│ │ │ ├── datasets/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── base_dataset.py
│ │ │ │ ├── depth_dataset.py
│ │ │ │ ├── sdf_dataset.py
│ │ │ │ └── semantic_dataset.py
│ │ │ ├── pixel_samplers.py
│ │ │ ├── scene_box.py
│ │ │ └── utils/
│ │ │ ├── __init__.py
│ │ │ ├── colmap_parsing_utils.py
│ │ │ ├── data_utils.py
│ │ │ ├── dataloaders.py
│ │ │ ├── dataparsers_utils.py
│ │ │ ├── nerfstudio_collate.py
│ │ │ └── pixel_sampling_utils.py
│ │ ├── engine/
│ │ │ ├── __init__.py
│ │ │ ├── callbacks.py
│ │ │ ├── optimizers.py
│ │ │ ├── schedulers.py
│ │ │ └── trainer.py
│ │ ├── exporter/
│ │ │ ├── __init__.py
│ │ │ ├── exporter_utils.py
│ │ │ ├── marching_cubes.py
│ │ │ ├── texture_utils.py
│ │ │ └── tsdf_utils.py
│ │ ├── field_components/
│ │ │ ├── __init__.py
│ │ │ ├── activations.py
│ │ │ ├── base_field_component.py
│ │ │ ├── embedding.py
│ │ │ ├── encodings.py
│ │ │ ├── field_heads.py
│ │ │ ├── mlp.py
│ │ │ ├── spatial_distortions.py
│ │ │ └── temporal_distortions.py
│ │ ├── fields/
│ │ │ ├── __init__.py
│ │ │ ├── base_field.py
│ │ │ ├── density_fields.py
│ │ │ ├── generfacto_field.py
│ │ │ ├── nerfacto_field.py
│ │ │ ├── nerfw_field.py
│ │ │ ├── sdf_field.py
│ │ │ ├── semantic_nerf_field.py
│ │ │ ├── tensorf_field.py
│ │ │ └── vanilla_nerf_field.py
│ │ ├── generative/
│ │ │ ├── __init__.py
│ │ │ ├── deepfloyd.py
│ │ │ ├── positional_text_embeddings.py
│ │ │ └── stable_diffusion.py
│ │ ├── model_components/
│ │ │ ├── __init__.py
│ │ │ ├── lib_bilagrid.py
│ │ │ ├── losses.py
│ │ │ ├── ray_generators.py
│ │ │ ├── ray_samplers.py
│ │ │ ├── renderers.py
│ │ │ ├── scene_colliders.py
│ │ │ └── shaders.py
│ │ ├── models/
│ │ │ ├── __init__.py
│ │ │ ├── base_model.py
│ │ │ ├── base_surface_model.py
│ │ │ ├── depth_nerfacto.py
│ │ │ ├── generfacto.py
│ │ │ ├── instant_ngp.py
│ │ │ ├── mipnerf.py
│ │ │ ├── nerfacto.py
│ │ │ ├── neus.py
│ │ │ ├── neus_facto.py
│ │ │ ├── semantic_nerfw.py
│ │ │ ├── splatfacto.py
│ │ │ ├── tensorf.py
│ │ │ └── vanilla_nerf.py
│ │ ├── pipelines/
│ │ │ ├── __init__.py
│ │ │ ├── base_pipeline.py
│ │ │ └── dynamic_batch.py
│ │ ├── plugins/
│ │ │ ├── __init__.py
│ │ │ ├── registry.py
│ │ │ ├── registry_dataparser.py
│ │ │ └── types.py
│ │ ├── process_data/
│ │ │ ├── __init__.py
│ │ │ ├── base_converter_to_nerfstudio_dataset.py
│ │ │ ├── colmap_converter_to_nerfstudio_dataset.py
│ │ │ ├── colmap_utils.py
│ │ │ ├── equirect_utils.py
│ │ │ ├── hloc_utils.py
│ │ │ ├── images_to_nerfstudio_dataset.py
│ │ │ ├── metashape_utils.py
│ │ │ ├── odm_utils.py
│ │ │ ├── polycam_utils.py
│ │ │ ├── process_data_utils.py
│ │ │ ├── realitycapture_utils.py
│ │ │ ├── record3d_utils.py
│ │ │ └── video_to_nerfstudio_dataset.py
│ │ ├── py.typed
│ │ ├── scripts/
│ │ │ ├── __init__.py
│ │ │ ├── blender/
│ │ │ │ ├── __init__.py
│ │ │ │ └── nerfstudio_blender.py
│ │ │ ├── completions/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── install.py
│ │ │ │ ├── setup.bash
│ │ │ │ └── setup.zsh
│ │ │ ├── datasets/
│ │ │ │ ├── process_nuscenes_masks.py
│ │ │ │ └── process_project_aria.py
│ │ │ ├── docs/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── add_nb_tags.py
│ │ │ │ └── build_docs.py
│ │ │ ├── downloads/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── download_data.py
│ │ │ │ ├── eyeful_tower.py
│ │ │ │ └── utils.py
│ │ │ ├── eval.py
│ │ │ ├── exporter.py
│ │ │ ├── github/
│ │ │ │ ├── __init__.py
│ │ │ │ └── run_actions.py
│ │ │ ├── process_data.py
│ │ │ ├── render.py
│ │ │ ├── texture.py
│ │ │ ├── train.py
│ │ │ └── viewer/
│ │ │ ├── __init__.py
│ │ │ ├── run_viewer.py
│ │ │ └── sync_viser_message_defs.py
│ │ ├── utils/
│ │ │ ├── __init__.py
│ │ │ ├── colormaps.py
│ │ │ ├── colors.py
│ │ │ ├── comms.py
│ │ │ ├── decorators.py
│ │ │ ├── eval_utils.py
│ │ │ ├── external.py
│ │ │ ├── install_checks.py
│ │ │ ├── io.py
│ │ │ ├── math.py
│ │ │ ├── misc.py
│ │ │ ├── plotly_utils.py
│ │ │ ├── poses.py
│ │ │ ├── printing.py
│ │ │ ├── profiler.py
│ │ │ ├── rich_utils.py
│ │ │ ├── scripts.py
│ │ │ ├── tensor_dataclass.py
│ │ │ └── writer.py
│ │ ├── viewer/
│ │ │ ├── __init__.py
│ │ │ ├── control_panel.py
│ │ │ ├── export_panel.py
│ │ │ ├── render_panel.py
│ │ │ ├── render_state_machine.py
│ │ │ ├── server/
│ │ │ │ ├── __init__.py
│ │ │ │ └── viewer_elements.py
│ │ │ ├── utils.py
│ │ │ ├── viewer.py
│ │ │ └── viewer_elements.py
│ │ └── viewer_legacy/
│ │ ├── __init__.py
│ │ ├── app/
│ │ │ ├── package.json
│ │ │ ├── public/
│ │ │ │ └── manifest.json
│ │ │ ├── run_deploy.py
│ │ │ ├── src/
│ │ │ │ └── themes/
│ │ │ │ └── leva_theme.json
│ │ │ └── tsconfig.json
│ │ ├── server/
│ │ │ ├── __init__.py
│ │ │ ├── control_panel.py
│ │ │ ├── gui_utils.py
│ │ │ ├── path.py
│ │ │ ├── render_state_machine.py
│ │ │ ├── state/
│ │ │ │ ├── node.py
│ │ │ │ └── state_node.py
│ │ │ ├── utils.py
│ │ │ ├── viewer_elements.py
│ │ │ ├── viewer_state.py
│ │ │ └── viewer_utils.py
│ │ └── viser/
│ │ ├── __init__.py
│ │ ├── gui.py
│ │ ├── message_api.py
│ │ ├── messages.py
│ │ └── server.py
│ └── pyproject.toml
└── vlmx/
├── .gitignore
├── README.md
├── quickstart.ipynb
├── setup.py
└── vlmx/
├── __init__.py
├── agent.py
├── artifact.py
├── context_agent.py
├── multimodal_incontext_agent.py
├── prompt_utils.py
├── tool_use_agent.py
└── utils.py
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
.DS_Store
__pycache__
# **render_output/
# **.tar.xz
# **outputs/
# **.zip
# **BlenderNeRF/
# **slurm_outs/
# **slurm_scripts/
# /assets/
# tmp.out
# **results
# .vscode
# # output
# *.ply
# *.pyc
# *.png
# *.jpg
# log
# **output
# **.so
# checkpoints_*/
checkpoints_continuous_mse/
checkpoints_discrete/
# **wandb
# **.glb
# **cache**
# **.npy
# **cache**
# **.npy**
# **trainedweights
# **nerfbaselines
# **garfield**
# **umi-on-legs**
.env
**egg-info**
# *.pkl
# *.log
# *.cursor
# # datasets/
# *.pth
backup_data
real_scene_data/
real_scene_models/
outputs/
real_scene_render_outputs/
mpm_sim_outputs/
inference_combined_mse_clip_results/
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2023 edward1997104
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: README.md
================================================
<div align="center">
<br>
<br>
<h1>Pixie: Physics from Pixels</h1>
</div>
<p align="center">
<a href="https://pixie-3d.github.io/">
<img alt="Project Page" src="https://img.shields.io/badge/Project-Page-F0529C">
</a>
<a href="https://arxiv.org/abs/2508.17437">
<img alt="Arxiv paper link" src="https://img.shields.io/badge/arxiv-2508.17437-blue">
</a>
<!-- <a href="https://huggingface.co/datasets/vlongle/pixie/tree/main">
<img alt="Model Checkpoints link" src="https://img.shields.io/badge/%F0%9F%A4%97%20HF-Models-yellow">
</a>
<a href="https://opensource.org/licenses/MIT">
<img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg">
</a> -->
<a href="https://x.com/LongLeRobot/status/1961139689886552481">
<img alt="Twitter Thread" src="https://img.shields.io/badge/Twitter-Thread-1DA1F2">
</a>
</p>
<div align="center">
**[Long Le](https://vlongle.github.io/)**$^1$ · **[Ryan Lucas](https://ryanlucas3.github.io/)**$^2$ · **[Chen Wang](https://cwchenwang.github.io/)**$^1$ · **[Chuhao Chen](https://czzzzh.github.io/)**$^1$ · **[Dinesh Jayaraman](https://www.seas.upenn.edu/~dineshj/)**$^1$ · **[Eric Eaton](https://www.seas.upenn.edu/~eeaton/)**$^1$ · **[Lingjie Liu](https://lingjie0206.github.io/)**$^1$
$^1$ University of Pennsylvania · $^2$ MIT
</div>
<div style="margin:50px; text-align: justify;">
<img style="width:100%;" src="docs/assets/teaser_full_high_quality.gif">
Photorealistic 3D reconstructions (NeRF, Gaussian Splatting) capture geometry & appearance but **lack physics**. This limits 3D reconstruction to static scenes. Recently, there has been a surge of interest in integrating physics into 3D modeling. But existing test‑time optimisation methods are slow and scene‑specific. **Pixie** trains a neural network that maps pretrained visual features (i.e., CLIP) to **dense material fields** of physical properties in a single forward pass, enabling fast and generalizable physics inference and simulation.
## 🔔 Updates
- **2026-03-05:** Released **PixieVerse** curated dataset on Hugging Face: [vlongle/pixieverse](https://huggingface.co/datasets/vlongle/pixieverse).
- **2026-03-05:** Added direct download support for models and dataset (`scripts/download_models.py`, `scripts/download_data.py`) to avoid re-running full data mining/rendering.
- **2026-03-05:** For detailed dataset download/unpack instructions and structure, see [data_readme.md](data_readme.md).
## 💡 Contents
1. [Installation](#installation)
2. [Download Models and Dataset](#download-models)
3. [Usage](#usage)
4. [VLM Labeling](#vlm-labeling)
5. [Training](#training)
6. [Common Issues](#common-issues)
7. [Citation](#citation)
<h2 id="installation">⚙️ Installation</h2>
```
git clone git@github.com:vlongle/pixie.git
conda create -n pixie python=3.10
conda activate pixie
pip install -e .
```
Install `torch` and `torchvision` according to your cuda version (e.g., 11.8, 12.1) and the [official instruction](https://pytorch.org/).
Install additional dependencies for f3rm (NeRF CLIP distilled feature field):
```
# ninja so compilation is faster!
pip install ninja
# Install tinycudann (may take a while)
pip install git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch
# Install third-party packages
pip install -e third_party/nerfstudio
pip install -e third_party/f3rm
# Install PyTorch3D and other dependencies
pip install -v "git+https://github.com/facebookresearch/pytorch3d.git@stable"
pip install viser==0.2.7
pip install tyro==0.6.6
```
Install PhysGaussian dependencies (for MPM simulation)
```
pip install -v -e third_party/PhysGaussian/gaussian-splatting/submodules/simple-knn/
pip install -v -e third_party/PhysGaussian/gaussian-splatting/submodules/diff-gaussian-rasterization/
```
Install VLM utils
```
pip install -e third_party/vlmx
```
Install FlashAttention to use [Qwen2.5-VL](https://github.com/QwenLM/Qwen2.5-VL)
```
MAX_JOBS=16 pip install -v -U flash-attn --no-build-isolation
```
Install dependencies / add-ons for Blender. We use [Blender 4.3.2](https://www.blender.org/download/).
1. Install [BlenderNeRF](https://github.com/maximeraafat/BlenderNeRF) add-on and set `paths.blender_nerf_addon_path` to BlenderNeRF's zip file.
2. Install python packages for Blender. Replace the path by your actual Blender path
```
/home/{YOUR_USERNAME}/blender/blender-4.3.2-linux-x64/4.3/python/bin/python3.11 -m pip install objaverse
```
Install the [Gaussian-Splatting addon](https://github.com/ReshotAI/gaussian-splatting-blender-addon) and set [paths.blender_gs_addon_path](config/paths/default.yaml) in the config.
Set the appropriate api keys and select VLM models you'd like in [config/segmentation/default.yaml](config/segmentation/default.yaml), we support OpenAI, Claude, Google's Gemini, or Qwen (local, no api needed). You can also implement more model wrappers yourself following our template!
<h2 id="download-models">📥 Download Models and Dataset</h2>
We provide pre-trained model checkpoints via HuggingFace Datasets. To download the models:
```bash
python scripts/download_models.py
```
Model repo: [https://huggingface.co/datasets/vlongle/pixie](https://huggingface.co/datasets/vlongle/pixie)
### Download PixieVerse dataset (recommended over re-generating)
If you mainly want to train/evaluate Pixie, you can skip the expensive data mining/rendering pipeline and directly download our curated PixieVerse dataset from Hugging Face:
Dataset repo: [https://huggingface.co/datasets/vlongle/pixieverse](https://huggingface.co/datasets/vlongle/pixieverse)
```bash
# Download archived dataset payloads
python scripts/download_data.py \
--dataset-repo vlongle/pixieverse \
--dirs archives \
--local-dir /path/to/pixieverse_root
```
For quick testing, download a single class only:
```bash
python scripts/download_data.py \
--dataset-repo vlongle/pixieverse \
--dirs archives \
--obj-class tree \
--local-dir /path/to/pixieverse_root
```
Then unpack archives into the standard folder structure (`data/`, `render_outputs/`, etc.):
```bash
ROOT=/path/to/pixieverse_root
set -euo pipefail
for d in data outputs render_outputs vlm_seg_results vlm_seg_critic_results vlm_seg_mat_sample_results; do
src="$ROOT/archives/$d"
dst="$ROOT/$d"
mkdir -p "$dst"
[ -d "$src" ] || { echo "[skip] $src not found"; continue; }
echo "[dir] $d"
for a in "$src"/*.tar "$src"/*.tar.gz; do
[ -e "$a" ] || continue
echo " -> extracting $(basename "$a")"
tar -xf "$a" -C "$dst" --checkpoint=2000 --checkpoint-action=echo=" ... extracted 2000 more entries"
echo " <- done $(basename "$a")"
done
done
```
<h2 id="usage">🎯 Usage</h2>
### Synthetic Objaverse
```
python pipeline.py obj_id=f420ea9edb914e1b9b7adebbacecc7d8 [physics.save_ply=false] [material_mode={vlm,neural}]
```
`save_ply=true` is slower, only used for rendering fancy phyiscs simulation in Blender. `material_mode=vlm` uses VLM for labeling the data based on our in-context tuned examples. This is how we generate our dataset! `material_mode=neural` uses our trained neural networks to produce physics predictions.
This code will:
1. Download the objaverse asset `obj_id`
2. Render it in Blender using `rendering.num_images` (default 200)
3. Train a NeRF distilled CLIP field using `training_3d.nerf.max_iterations`
4. Train a gaussian splatting model using `training_3d.gaussian_splatting.max_iterations`
5. Generate a voxel feature grid from the CLIP field
6. Either
- Apply the material dictionary predicted by a VLM (for generating data to train our model) `material_mode=vlm`
- Use our trained UNet model to predict the physics field `material_mode=neural`.
7. Run the MPM physics solver using the physics parameters.
Run
```
python render.py obj_id=f420ea9edb914e1b9b7adebbacecc7d8
```
for fancy rendering in Blender.
Check the outputs in the notebook: [nbs/pixie.ipynb](nbs/pixie.ipynb).
### Real Scene
For real scene, run
```
python pipeline.py \
is_objaverse_object=false \
obj_id=bonsai \
material_mode=neural \
paths.data_dir='${paths.base_path}/real_scene_data' \
paths.outputs_dir='${paths.base_path}/real_scene_models' \
paths.render_outputs_dir='${paths.base_path}/real_scene_render_outputs' \
training.enforce_mask_consistency=false
```
Use `segmentation.neural.cache_results=true` if the latest inferene already contains `obj_id`.
Check the outputs in the notebook: [nbs/real_scene.ipynb](nbs/real_scene.ipynb).
<h2 id="vlm-labeling">🏷️ VLM Labeling</h2>
If you already downloaded PixieVerse from Hugging Face, you can skip this section.
See **Download PixieVerse dataset (recommended over re-generating)** above for the direct download + unpack instructions:
[https://huggingface.co/datasets/vlongle/pixieverse](https://huggingface.co/datasets/vlongle/pixieverse)
This section is only for reproducing the full data mining / rendering / VLM filtering pipeline from scratch.
Below are the steps to reproduce our mining process from Objaverse. We extract high-quality single-object scenes from Objaverse for each of the 10 semantic classes. The precomputed [obj_ids_metadata.json](config/obj_ids_metadata.json) containing the list of `object_id` along with the `obj_class` and whether the object is considered `is_appropriate` (high-quality enough) by our `vlm_filtering` pipeline is provided. The preproduction steps are only provided for completeness.
1. Compute the cosine similarity between each Objaverse object name to an object class we'd like (e.g., `tree`) and keep the `top_k` for our PixieVerse dataset.
```
python data_curation/objaverse_selection.py
```
2. Download objaverse assets
```
python data_curation/download_objaverse.py [data_curation.download.obj_class=tree]
```
3. Render 1 view per object
```
python data_curation/render_objaverse_classes.py [data_curation.rendering.obj_class=tree] [data_curation.rendering.max_objs_per_class=1] [data_curation.rendering.timeout=80]
```
Then use VLM to filter out low-quality assets
```
python pixie/vlm_labeler/vlm_data_filtering.py [data_curation.vlm_filtering.obj_class=tree]
```
4. Manual filtering
VLM does a decent job but not perfect. We run
```
streamlit run data_curation/manual_data_filtering_correction.py [data_curation.manual_correction.obj_class=tree]
```
which creates a web browser with the discarded images and the chosen images by VLM. You can skim through them quickly and tick the checkbox to flip the label and correct the VLM. Then, click "save_changes", this creates `all_results_corrected.json` which is basically `all_results.json` but which the checked boxes objects flipped.
<h2 id="training">🎓 Training</h2>
1. Compute the normalization.
```
python third_party/Wavelet-Generation/data_utils/inspect_ranges.py
```
2. Train the discrete and continuous 3D UNet models
Train discrete:
```
python third_party/Wavelet-Generation/trainer/training_discrete.py
```
Train continuous:
```
python third_party/Wavelet-Generation/trainer/training_continuous_mse.py
```
Adjust [training.training.batch_size](config/training/default.yaml) and other params as needed. We used 6 NVIDIA RTX A6000 GPU (~49 GB) for training each model with 128 CPUs and 450 GBs of RAM. Adjust your `batch_size` and `data_worker` according to your resource availability.
3. Then run inference
```
python third_party/Wavelet-Generation/trainer/inference_combined.py [obj_id=8e24a6d4d15c4c62ae053cfa67d99e67]
```
If `obj_id` not provided, we will evaluate on the entire test set.
4. Map the predicted voxel grid to world coordinate and interpolate to gaussian splatting, then run physics simulation. Taken care of by `pipeline.py`:
```
python pipeline.py material_mode=neural obj_id=... [segmentation.neural.result_id='"YOUR_RESULT_TIME_STAMP"'] [segmentation.neural.feature_type=clip]
```
<h2 id="common-issues">💀 Common Issues</h2>
If you ran into `UnicodeEncodeError: 'ascii' codec can't encode characters in position`, try to re-install warp_lang:
```
pip install --force-reinstall warp_lang==0.10.1
```
If you ran into `ValueError: numpy.dtype size changed, may indicate binary incompatibility`, try to re-install numpy:
```
pip install --force-reinstall numpy==1.24.4
```
If you run into issues installing `tinycudann`, try installing from source via `git clone ` following [their instruction](https://github.com/NVlabs/tiny-cuda-nn#pytorch-extension).
If you run into issue installing gaussian-splatting submodules:
```
pip install -v -e third_party/PhysGaussian/gaussian-splatting/submodules/simple-knn/
pip install -v -e third_party/PhysGaussian/gaussian-splatting/submodules/diff-gaussian-rasterization/
```
Try installing without the `-e` flag.
## 😊 Acknowledgement
We would like to thank the authors of [PhysGaussian](https://xpandora.github.io/PhysGaussian/), [F3RM](https://github.com/f3rm/f3rm), [Wavelet Generation](https://github.com/edward1997104/Wavelet-Generation), [Nerfstudio](https://github.com/nerfstudio-project/nerfstudio) and others for releasing their source code.
<h2 id="citation">📚 Citation</h2>
If you find this codebase useful, please consider citing:
```bibtex
@article{le2025pixie,
title={Pixie: Fast and Generalizable Supervised Learning of 3D Physics from Pixels},
author={Le, Long and Lucas, Ryan and Wang, Chen and Chen, Chuhao and Jayaraman, Dinesh and Eaton, Eric and Liu, Lingjie},
journal={arXiv preprint arXiv:2508.17437},
year={2025}
}
```
================================================
FILE: config/config.yaml
================================================
defaults:
- _self_
- paths: default
- data_rendering: default
- output_rendering: default
- training_3d: default
- training: default
- voxelization: default
- segmentation: default
- physics: default
- data_curation: default
- mapping: default
- override hydra/hydra_logging: disabled
- override hydra/job_logging: disabled
# Main object configuration
obj_id: null # Required: Objaverse object ID to process
obj_path: null # Optional: Path to the object file to process
obj_class: null # Auto-detected from obj_id
# Pipeline control
overwrite: false
overwrite_voxel: false
material_mode: "vlm" # "vlm" or "neural"
is_objaverse_object: true
================================================
FILE: config/data_curation/default.yaml
================================================
# Data Curation Configuration
# Configuration for objaverse object selection and categorization
# Object selection parameters
objaverse_selection:
top_k: 500 # Number of top objects to select per category
batch_size: 128 # Batch size for encoding object names
# Model configuration
model:
name: "all-MiniLM-L6-v2" # Sentence transformer model to use
# Download parameters
download:
max_objs_per_class: null # Maximum number of objects to download per class (null = download all)
obj_class: null # Specific object class to download (null = download all categories)
processes: null # Number of processes for downloading (null = use CPU count)
# Rendering parameters
rendering:
max_objs_per_class: null # Maximum number of objects to render per class (null = render all)
obj_class: null # Specific object class to render (null = render all categories)
num_gpus: 1 # Number of GPUs to use for rendering
jobs_per_gpu: 1 # Number of rendering jobs to run per GPU
resolution: 400 # Resolution of rendered images
views: 1 # Number of views to render per object
timeout: 120 # Timeout in seconds for each render job
skip_existing: true # Skip objects that have already been rendered
# VLM data filtering parameters
vlm_filtering:
obj_class: null # Specific object class to filter (null = filter all)
num_workers: null # Number of parallel workers (null = use CPU count)
overwrite: false # Overwrite existing results
model_name: "gemini-2.0-flash-exp" # VLM model to use
analyze_only: false # Only analyze existing results without running VLM
# Manual data filtering correction parameters
manual_correction:
obj_class: null # Specific object class to correct (required)
input_file: "all_results.json" # Input file name (without path)
output_file: "all_results_corrected.json" # Output file name (without path)
# Manual simulation validation parameters
manual_sim_validation:
obj_class: null # Specific object class to validate (required)
input_file: "all_results_corrected.json" # Input file name (without path)
output_file: "all_results_validated.json" # Output file name (without path)
num_samples: -1 # Number of objects to inspect (-1 means all)
sample_id: 0 # Simulation sample id used in video path
grid_size: 64 # Grid size used in simulation output folder naming
columns_per_row: 8 # Number of videos shown per row
render_outputs_dir: null # Optional override; defaults to paths.render_outputs_dir
================================================
FILE: config/data_rendering/default.yaml
================================================
# Blender rendering parameters
num_images: 200
camera_dist_min: 1.2
camera_dist_max: 1.8
transparent_bg: true
scene_scale: 1.0
# Output format
format: "NGP"
================================================
FILE: config/mapping/default.yaml
================================================
# Input paths
pred_path: null # Path to prediction numpy array (required)
mask_path: null # Path to mask numpy array (required)
grid_feature_path: null # Path to original voxel grid metadata (.npz file) (required)
# Output paths
output_path: null # Path to save the PLY file (required)
world_output_path: null # Optional: Path to save the world frame PLY file
# Object information
obj_id: null # Object ID (required)
# Optional paths
dataparser_path: null # Optional: Path to dataparser_transforms.json file, used for mapping nerf to world space coordinate
## for real-scene. For objaverse, nerf == world
================================================
FILE: config/obj_ids_metadata.json
================================================
{
"003ebdf86df345d39dc166563229fb85": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The image quality is good, and the object is isolated, making it suitable for training data."
}
},
"013b0fff25ab49c08ba1195ca7d7df46": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation training."
}
},
"020f20e5150a45cbbeeb64581129a9f1": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single crushed soda can, which belongs to the specified class. The quality is good, and a crushed state is relevant for physics simulation (e.g., as debris or after an impact)."
}
},
"030ac3c4365e4ea48584b4e808f4f2bc": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains multiple objects (four cans), not a single object as required."
}
},
"041b88d4453044d9871b0e4d32aa3a2c": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains two soda cans, but the requirement is to have only one single object per image."
}
},
"041ca9b9db8242e29ffe8246d9c6e35f": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object depicted is rectangular and does not resemble a soda can. It looks more like a small fridge or cooler."
}
},
"046d238f335740b8a01848dc58ba3483": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single object (a crushed soda can) belonging to the specified class. The quality is good, and the object is relevant for physics simulation (e.g., deformation, collision)."
}
},
"05990b201b514793adc8f609e302cf79": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single object (a crushed soda can) belonging to the specified class. The quality is acceptable, and a crushed can is a valid state for physics simulation in a game."
}
},
"05e6f8ed25e74242957b34f9256ffc47": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image depicts a trash can, not a soda can or any related item from the specified class list."
}
},
"08129621ded8409c951bd1ae9a260127": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation training."
}
},
"081618a116f94390b02d36c1f19f24a6": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image shows a trash can, not a soda can or any related item from the specified class list."
}
},
"08468b5b1ca04f7dbe4bfe8cfa1a65c9": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The object is a metal cylinder, but it lacks the defining features of a soda can, such as a pull-tab top, specific shape, or branding. It looks more like a generic metal cup or container component rather than a beverage can."
}
},
"08be81ca5fa74718b5d95ac6a5a928f2": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The image quality is good, and the object is suitable for physics simulation in a video game."
}
},
"09998ed235134ae39ae4435a136bcb51": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too dark and zoomed in, making it impossible to clearly identify the object as a soda can."
}
},
"0a0e0b51f1a74aedb88c29882298de18": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good (clear, well-lit), and it's suitable for physics simulation in a game."
}
},
"0a336eadc4fc48b4b12cac03162d5195": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too bright, causing the main body of the can to be almost invisible against the white background. Only the top is clearly discernible."
}
},
"0a855105a1f14bd7a82305f6cf62e5fe": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is a very low-quality silhouette of a bottle with a straw, not a soda can. It lacks detail, texture, and realism, making it unsuitable for training."
}
},
"0a97a6e5c2894bfba2d347d333756b0e": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image depicts a trash can, not a soda can or any related item from the specified class list."
}
},
"0aab0bb3f4d1442bbae1ff99a5a6fb01": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains multiple objects (a vending machine/display, multiple small cans, and a floor surface), not a single isolated soda can. The primary focus is the display unit, not an individual can suitable for physics simulation."
}
},
"0ab233211a68479090c6888cd6929a16": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is completely white and does not depict any object, let alone a soda can."
}
},
"0acc9d323119494d97ec03fff828706f": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can (Coca-Cola can), which belongs to the specified class. The image quality is good, well-lit, and shows sufficient detail. It is suitable for physics simulation."
}
},
"0ad3407cd8104ba58f71885c0e58ca9a": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image depicts a trash can, not a soda can or any related item from the specified class list."
}
},
"0bcc421f7cbf40c0bc15ab2c1ee555a1": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the target class. The image quality is acceptable, and it's suitable for physics simulation in a game."
}
},
"0c05c890dc3c4fd7a741389f10f0191e": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image depicts a trash can, not a soda can or any related item from the specified class list."
}
},
"0c0fdfaaba9249e88c63c65ce950286a": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is acceptable for training purposes, and it represents an object suitable for physics simulation."
}
},
"0cb72c2493ac458f8ee9982fa3486910": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The image quality is good, and the object is suitable for physics simulation in a game environment."
}
},
"0d15fe8f1a6c4d96958d8da0edace433": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation training."
}
},
"0db78b8bfcdb4c559b3bc8f63cbb5689": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image does not depict a soda can or any related item. It appears to be a part of a faucet handle or a similar fixture, not a beverage container."
}
},
"0e352bdaace24f5e9a6ed4e459e85628": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too bright and washed out, making it extremely difficult to identify the object as a soda can. Only a small portion of the top rim is vaguely visible against a white background."
}
},
"0e36874cf495472d87a7f279c43a920d": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a plastic wastebasket, not a soda can or any related item from the specified class list."
}
},
"0e69a6714fec4c7ebbd95b00c1f31ab7": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is a black silhouette with no texture or detail, making it impossible to identify the object clearly as a soda can or assess its quality. It lacks the necessary visual information for training purposes."
}
},
"0e897a1618874fb38450000ea50c6676": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single object recognizable as a soda can (or beverage can). The quality is good, and it's suitable for physics simulation."
}
},
"0eaaa5f3455b41818ee568a8f58ed9e9": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The image quality is good (clear, well-lit), and the object is isolated against a clean background. It is suitable for physics simulation training."
}
},
"0f76c28a06a8485682f3639e7606d43c": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The object resembles a food can (like for soup or vegetables) due to its ridged structure, rather than a typical smooth-sided soda or beverage can. It does not clearly depict the 'soda_cans' class."
}
},
"0fe850f9e4a848d58aa2c59e9dbf7fe0": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains two distinct soda cans, violating the requirement for depicting only a single object."
}
},
"10a464c915d0483ca58eff1514faa570": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image only shows the top lid of the soda can, not the entire object. This does not clearly depict the 'soda_cans' class."
}
},
"117490ef21d249fba0f69bdb223523f9": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can against a clean background. The quality is good, and it is suitable for the specified class and physics simulation purposes."
}
},
"122b731d80f14411976178c6e6e6af45": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a jerrycan or fuel can, which is not a soda can or related beverage container."
}
},
"12395e6ea77c4f519e0bd37bb086f86f": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image depicts a milk can or churn, not a soda can or beverage can as defined by the class list."
}
},
"126ebf50d9274597924ac25089c11181": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a glass with liquid and ice, not a soda can."
}
},
"12c880e2a4d0458db5f5fd1068bbb386": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object depicted does not look like a soda can. It appears to be some kind of bin or holder. Also, the image quality is low due to lack of texture and rendering artifacts at the bottom."
}
},
"142f52dfe04c4faf8ee0cf7979a1303c": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too bright and lacks texture or detail, making it difficult to clearly identify as a soda can. The object blends almost entirely with the white background."
}
},
"144172191b714324b2114e4d6e55b724": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a stone planter or urn, not a soda can or any related object from the specified class list."
}
},
"147de96f6b7943b9bb714f10bd6c847e": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely overexposed and lacks texture or detail, making it impossible to clearly identify as a soda can. The object blends almost completely with the white background."
}
},
"14b2db3cae484e0eb05cfd1fc0bd121e": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too zoomed in and blurry, making it impossible to clearly identify the object as a soda can. It does not show the overall shape or structure necessary for recognition or physics simulation."
}
},
"157fd6b957894077bab3657cceeb1099": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and the object is suitable for physics simulation in a video game."
}
},
"15da16de22b94083a8cae8b1b4c2ddf6": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts an incomplete or broken soda can, with a large gap in the middle. We need images of complete objects for physics simulation training."
}
},
"18326cd8315c4712ab5d880efe79b44d": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is adequate for training purposes, and it represents an object commonly used in physics simulations in games."
}
},
"18cd592bbf8f453aaf0acfe99bd4736a": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains multiple objects (can, lid, ice cubes, liquid spill) rather than just a single soda can. We need images depicting only the primary object."
}
},
"191d8ed962cd497797218fd9e042ed9d": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts multiple soda cans stacked together in a pyramid structure, not a single soda can as required. It also includes a base surface."
}
},
"19b47739d88b45e895f7e4cdf4a0d98e": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can of good quality, suitable for the class and physics simulation."
}
},
"1a136f6aff0a40aea8ca1359d2b3771d": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts what appears to be a concrete trash receptacle or large ashtray, not a soda can or beverage can."
}
},
"1a5e3960db804fb881ff879194eb348c": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single beverage can, which belongs to the specified class list (soda can, aluminum can, beverage can, etc.). The quality is acceptable, and the object is suitable for physics simulation in a game environment. The weathered texture adds diversity."
}
},
"1a67ade7bce34c0ba785f9544d460dfc": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly shows a single cylindrical can, which fits within the broader terms like 'metal can' or 'aluminum can' provided in the class description, even if it lacks specific soda can branding or top features. The quality is adequate and it represents a suitable object for physics simulation."
}
},
"1a837cbc14624a558841610ffcbfb445": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly shows a single soda can of good quality, suitable for the class and physics simulation."
}
},
"1aba5376ea5c43ec84d01b9c0f713ee3": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image depicts a metal trash can, not a soda can or any related beverage container."
}
},
"1ac8fa7a38fb45bdb74261b63696ecad": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image depicts an object that looks like a pot or jar with a lid, not a soda can."
}
},
"1b63dd4832144e89955ecf2f70e8af4b": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly shows a single soda can, which belongs to the specified class. The image quality is adequate, and it depicts an object suitable for physics simulation in a game."
}
},
"1b812a87d8244f54ba527b8c75710327": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a trash can, not a soda can."
}
},
"1ba8e29182f54cdb949ded96bea003a0": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image depicts a trash can or wastebasket, not a soda can."
}
},
"1cc055b20dd7432d9a6b38feaa5f6692": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The image quality is good, and it's suitable for physics simulation purposes in a video game."
}
},
"1ef9262feffb42a18ba510c6b716f063": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly shows a single aluminum beverage can, which fits the 'soda_cans' category. The quality is good, and it's isolated against a clean background. This object is suitable for physics simulation."
}
},
"1f48d13605314db8b62808af58a94f4d": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object depicted is a rectangular block, not a cylindrical soda can."
}
},
"1fc1828ec1904802ba39e31209c86ab9": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a soda bottle, not a soda can. The requested class is specifically 'soda_cans'."
}
},
"214f7c1c48f64f6099c5e289aa6ae02d": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a crushed soda can, which falls under the 'soda_cans' category. The quality is acceptable, and it represents a common state for this object in a game environment, making it suitable for physics simulation."
}
},
"21a02300bd7044d788b73e44616032fe": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The image quality is adequate, and the object is suitable for physics simulation in a video game context."
}
},
"21b53105b2634ef187a2228d34a7a497": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, suitable for the class. Although stylized (low-poly), it is recognizable and appropriate for video game assets. It is well-lit and clear."
}
},
"222a64dfd30e485cadfab49536ab2919": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the requested class. The quality is good, and it's suitable for physics simulation training."
}
},
"223bea685f984dc1beac00fd1fda166e": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image quality is low. The object lacks texture and color, and the contrast between the white object and the white background is very poor, making the object difficult to clearly distinguish."
}
},
"25086d394a554e9ca1017f97b6c9c729": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely overexposed and too bright, making it difficult to clearly see the object. Only a small portion of the can top is visible, and the rest is washed out white."
}
},
"251e637afab14c7aa9aae071c574ed1d": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely overexposed and washed out, making it impossible to clearly identify the object as a soda can. The quality is too low for training data."
}
},
"25673189b79c443aa24b85c404be95a2": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is heavily distorted and provides only a partial, warped view of the top of the soda can. It does not clearly depict the object class in a usable way for training."
}
},
"25b65c5b7abd4cf78e58dff08fe58602": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation purposes."
}
},
"269cc79ce7ca4dcf88030e7b7151dc36": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image depicts a trash can, not a soda can or any related beverage container."
}
},
"26ddd2c0c3484510bd5b6c4ca7a4bed0": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation purposes in a game."
}
},
"27f09e90c16a41e88dd6a547f67f4b59": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too dark and lacks any texture or detail, making it impossible to confidently identify as a soda can. It appears as a generic black cylinder, which is too low quality for training data."
}
},
"287068a7da8c47369112a933bea4721f": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image depicts a trash can or wastebasket, not a soda can."
}
},
"28c9e2e9711847398b79f58681149779": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too bright and lacks texture or detail, making it difficult to identify as a soda can. It looks like a generic white shape."
}
},
"28cc0955a78e4e2596e7585b90ca3be1": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains more than one object (two soda cans), while the requirement is for images depicting only a single object."
}
},
"290f7307b65140dc8f843b4879a58f3d": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly shows a single soda can of good quality, which is suitable for the requested class and physics simulation purposes."
}
},
"2a29aa47ffd74b6395d07cd270db4735": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single beverage can (Red Bull), which belongs to the requested class 'soda_cans'. The image quality is good, and the object is suitable for physics simulation in a game."
}
},
"2a6e88ffbd7a4ad796a68a899274ebf6": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The image quality is good (clear, well-lit), and it shows only the object against a clean background. It is suitable for physics simulation."
}
},
"2c4b0a5fc7614aed96edc8fe18359857": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single crushed metal can, which belongs to the requested class 'soda_cans'. The quality is acceptable and it represents a state (crushed) that adds diversity and is relevant for physics simulations."
}
},
"2c5933e817f14a2ca318176e28d84090": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image does not depict a soda can or any related object. It appears to show a piece of crumpled material with a metallic rivet or button."
}
},
"2c811cf3629842dc805645f79439cf74": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation (e.g., dropping, rolling)."
}
},
"2d00ecddc767481ca033490560392944": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts an aerosol spray can or a similar pressurized container, not a soda can/beverage can."
}
},
"2d80d079a75141f4a4a555aeffa1b9a4": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can (Coca-Cola). Although it appears crushed or dented, this adds diversity and is still recognizable. The quality is acceptable for training data and relevant for physics simulation (e.g., deformable object)."
}
},
"2d92cc12ae7e448f9f508fbbde85c70e": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a drink in a glass with toppings (ice cream/whipped cream, cherry, straw), not a soda can."
}
},
"2da946af9bdb4569852789008fd57f5e": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation."
}
},
"2dd1496c4d874a42804832b2bcdeaa92": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The image quality is good (clear, well-lit) and it shows only the object against a clean background. It is suitable for physics simulation."
}
},
"2df5e5af39f84f489b77b26e76f6285d": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image is extremely overexposed and too bright, making it difficult to discern details of the object. This low quality makes it unsuitable for training data."
}
},
"2e97faac48044c31839a0694915004f2": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too bright and lacks texture/detail, making it difficult to identify as a soda can. The shape also appears more rectangular than cylindrical."
}
},
"2e9e6e123b3a40ffa0bc4336f237c94d": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a white mesh basket, not a soda can. It also appears to be overexposed/too bright."
}
},
"2f16d399a5cd46139bc74643342ce8e7": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image quality is too low. The object is heavily distorted and blurry, making it difficult to clearly identify as a soda can. It looks more like a generic crushed or melted cylinder."
}
},
"3001868a0c0e42d3a20d3905d796fdc3": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too bright and lacks sufficient detail to clearly identify the object as a soda can. Only the very top rim is slightly visible against the white background."
}
},
"30bfa06a68a94728ba17ca3f9c99dea8": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can (Coca-Cola), which belongs to the specified class. The image quality is good, and it's suitable for physics simulation in a video game."
}
},
"319051695c2e4cc89605eac4b8879211": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can (Coca-Cola can), which belongs to the requested class. The image quality is good, it's well-lit, and shows the object cleanly against a neutral background. It's suitable for game development and physics simulation."
}
},
"31fc3dc5c40143e98bd8dcf210a6237f": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains two soda cans, but the requirement is to have only ONE SINGLE OBJECT per image."
}
},
"32c47e171fc54617aef4c5696f27a7a5": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can (Coca-Cola) against a clean background. The quality is good (clear, well-lit, not blurry), and it represents an object suitable for physics simulation in a video game."
}
},
"33d6fa3c813b445b92a24281202a47d7": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The image quality is good, and the object is suitable for physics simulation."
}
},
"33dbd28d8f894f1091e7a4112ee20e3b": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a dumpster, not a soda can or any related object from the specified class list."
}
},
"33fb4b71dbb4421a86427d56d892587a": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a watering can, not a soda can. Additionally, the image quality is very poor due to extreme overexposure, making the object difficult to see clearly."
}
},
"344bb30c8c02401fa0bd21e5be84eca9": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a soda fountain/dispenser, not a soda can."
}
},
"350d0e24758449bbbab39f7375b4d0eb": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's a suitable object for physics simulation in a game."
}
},
"354692b361b2406bb91deadde9f620ce": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is almost entirely white and does not clearly depict any object, let alone a soda can. The quality is extremely low."
}
},
"361d58e7ef5040d28f6ae4e592949c2f": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely dark and does not clearly depict a soda can. The object shown is unidentifiable and does not belong to the requested class."
}
},
"36c25d2118bf44488ad8d6faf7fce037": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is adequate for training, and it's a suitable object for physics simulation in a game."
}
},
"36d1eb5a0384409b939a48ab04dfd201": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is completely washed out and too bright. The object is barely visible and cannot be identified."
}
},
"37809cf8a36442b1a412abc27348ad8e": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image only shows the top lid of the soda can, not the entire object. This is insufficient for representing the object class or for physics simulation training."
}
},
"37d3a52f078445e39c98e6274fc75848": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a can of baked beans, which is a food can, not a soda can or beverage can as requested by the class description."
}
},
"3809cb9cf2b74234b209cae46508df92": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can (albeit opened with the tab detached, which is a common state). The quality is good, and it's suitable for physics simulation."
}
},
"3817d0662eba4ccfb8c0d7957f07e0c8": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The image quality is good, and the object is suitable for physics simulation."
}
},
"3836ff67877248c2a820e6a969984aac": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts dumpsters or large trash bins, not soda cans."
}
},
"38b1dc2520474792801bb9a37a924b61": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains an additional object (the blocky structure) besides the soda can. We need images depicting only the target object class."
}
},
"38e9b8f80ada46f0bd1b76d698d4ca37": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts trash cans, not soda cans. Additionally, the image is too bright and contains two objects instead of one."
}
},
"3959cdc6c8ca475eaa04f9a8d2dbf055": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single object (a crushed soda can) belonging to the specified class. The quality is good, and the crushed state adds diversity and is relevant for physics simulation (e.g., deformation, interaction)."
}
},
"3964e19915c34da29815091e1d7a800c": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single object recognizable as a soda can, suitable for the class. Although low-poly, the quality is acceptable and adds diversity. Soda cans are common objects for physics simulation in games."
}
},
"396d67176e4f4525a2a97a59a5f71ed8": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The image quality is good, and the object is suitable for physics simulation in a video game."
}
},
"39f6585a56fc40cf9ce001c136b68d78": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single metal can, which falls under the provided class definitions (specifically 'metal can' and 'aluminum can'). Although it's crushed and looks more like a food can than a typical soda can, it is still a relevant object for the category and its state (crushed) is useful for physics simulation diversity. The image quality is good."
}
},
"39fc30490ae64668b86ea33c39280e20": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can shape, which is relevant to the class and suitable for physics simulation in a game."
}
},
"3a18261cabeb4d13b819ce5c0dc3f485": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can object against a clean background. The quality is good, and it fits the requested class 'soda_cans'. The object is suitable for physics simulation."
}
},
"3b4da8a238644ee7b02898096636d6f3": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object in the image does not resemble a soda can or any related beverage can. It appears to be a stylized container or basket, possibly a bin or part of a larger structure, with a cage-like top."
}
},
"3bdfbfb9277746f897b5a3b5eeab24bc": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts an object that looks like a stylized weapon (possibly a shotgun or launcher), not a soda can."
}
},
"3c59065fb82f4afb83ff0b756b25547c": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image depicts an open metal can, likely a food can (like soup or beans), not a typical soda or beverage can. Soda cans have a distinct shape and opening mechanism."
}
},
"3c5ebe6a312c41f89c3e77e0322131c4": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains multiple objects (a box, a spotlight, papers, multiple cans) rather than depicting a single soda can in isolation."
}
},
"3cb28321e7784d15aea3fec16f07e6f3": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too zoomed in and blurry. It does not clearly depict a soda can; only a small, indistinct portion of a potentially metallic surface is visible."
}
},
"3d0c9c38f10b4e739db811893dbac786": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single beverage can, which fits the requested class 'soda_cans' (including terms like 'aluminum can', 'beverage can'). The image quality is good, and the object is suitable for physics simulation."
}
},
"3d7d352abe4e4e9a8ca048268f26c66c": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the requested class. The quality is acceptable for game development, and it's a suitable object for physics simulation."
}
},
"3d97cd65e13641a4a63f78490c748e18": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single cylindrical object consistent with the shape of a soda can or metal can. The quality is good, and it's suitable for physics simulation."
}
},
"3e95afcfbd394675a8d63adb344d9695": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object depicted appears to be an old, rusted oil can or jerrycan, not a soda can or beverage can. Its shape and features (cap, handle) are inconsistent with the target class."
}
},
"3f025f54191749daa88eb352554b2cbe": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a pack of multiple soda cans, not a single soda can as required by the instructions."
}
},
"3f394b237f964456aaf61a310058ec3b": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single object recognizable as a soda can/beverage can. The quality is good, and it's suitable for physics simulation."
}
},
"3f9bb348efda4f769f3ddf7900f9620c": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object depicted is a square container, not a cylindrical soda can."
}
},
"408fb7a0597f47ad957db91d1821da90": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is acceptable for training purposes, even with the simple texture, and it's a common object for physics simulation in games."
}
},
"40f7d2c5d8ff47a7a2fb85dc41ff6c73": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely overexposed and too bright, making it impossible to see the details or even the full shape of the soda can. Only the very top is barely visible."
}
},
"4188c24e47254ec3bebe9a46af7eefe4": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too bright and washed out, and only shows a small portion (the top) of the soda can. It does not clearly depict the full object."
}
},
"4189fb8e955a4999a268b071cbc7098e": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is adequate for training purposes, and it represents an object commonly used in physics simulations within video games."
}
},
"430aeed71ba54f35b5d49011278238f5": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a planter or bin, not a soda can or any related item from the specified class list."
}
},
"4421768a05464242bcea4516ee686458": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image quality is poor; it is excessively bright and washed out, making details difficult to discern."
}
},
"444380c04bf14b2c9f4166723eb25636": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too bright and only shows the very top part of the soda can, not the full object, making it difficult to discern details and unsuitable for training."
}
},
"44513b83c2254f5d853a816241b022b8": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation in a video game."
}
},
"4472e0073184489bbefeecc89281e735": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts an abstract drawing of an eye, not a soda can."
}
},
"44c888130b7d4debbfd9f5db5e3a023f": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains multiple soda cans, but the requirement is to have only ONE SINGLE object per image."
}
},
"4551ff1f90244f9c80c7e79a0206f717": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image shows a single, crushed metal can, which fits the description of 'aluminum can' or 'metal can' within the 'soda_cans' category. The quality is acceptable, and a crushed can is a plausible object for physics simulation in a game environment."
}
},
"45d76185eaa94296aa68c29abd8dcda0": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can of good quality, suitable for the class and physics simulation."
}
},
"47c9a0cfb259423197688708494020b4": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a wastebasket or pen holder, not a soda can or any related item from the specified class list."
}
},
"47f4cbca51b841ba926baeff503a83d0": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The object depicted is a waste bin or planter, not a soda can or any related beverage can."
}
},
"47f925f2aa1e4c4a8f4fe1f6f85adf7d": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and the object is suitable for physics simulation. The small surface it rests on is minimal and does not detract significantly from the main object."
}
},
"4822e174c03c473ba922cb81d45fecb0": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image shows a trash can, not a soda can or any related beverage container."
}
},
"48473effcdd444c8b0413e66bbf14bef": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains two soda cans, but the requirement is for images depicting only a single object."
}
},
"485af512e9844dbdb8543a1652792890": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely overexposed and too bright, making it difficult to discern the details of the soda can. The object blends almost completely into the white background."
}
},
"4955831f8cf541fbb87fa3ce719b8d72": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object in the image does not resemble a soda can or any related item like an aluminum can or beverage can. It looks more like a trash bin or a decorative container."
}
},
"497338f473004346a46126cf6529ad2e": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is acceptable, and it's suitable for physics simulation."
}
},
"4ac179c3447f4636a273d8574a61a1c5": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The image quality is good (clear, well-lit) and it shows only the target object. Soda cans are suitable objects for physics simulations in games."
}
},
"4ace4fbc91124683976db7e9530f98ae": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good (clear, well-lit), and it's suitable for physics simulation in a game."
}
},
"4b20d55f60474ed1995509ef7292b743": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation."
}
},
"4b6af44cf17d41eeab1076c3b99e4f5d": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly shows a single soda can against a clean background. The quality is good, and it fits the requested object class. The texture is slightly stylized, but it is easily recognizable as a beverage can and adds diversity."
}
},
"4bb3f5a1efb64f899aede309de4d63aa": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains multiple objects (three cans), but the requirement is for images depicting only a single object."
}
},
"4bb75b0b0c084a46878aaa20e9613e99": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too bright and washed out, making it very difficult to discern the object's details or even confirm it is a soda can. The quality is too low for training."
}
},
"4c562321b4824284bccd26ac13c11e33": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too bright and only shows a small portion (the top) of the soda can, making it difficult to recognize the full object and assess its properties. It lacks sufficient detail and completeness for training."
}
},
"4c6aa70a707c48b4bb0a4db932b30dda": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is acceptable for training purposes, and it's a common object suitable for physics simulation in games."
}
},
"4c78e610c0c14e4fa5a456de7f577b77": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object's shape (especially the rounded top and the gap) and texture do not resemble a typical soda can."
}
},
"4e0be610db9646929d8be84491f1a72f": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains multiple soda cans, but the requirement is for images depicting only a single object."
}
},
"4e5d012176e5459d9b8cad929999072e": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The image quality is good, and the object is suitable for physics simulation in a video game."
}
},
"4efef883e04a45f99eb2fde1ed60e48e": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely overexposed/too bright, making the object almost invisible and impossible to identify clearly. The quality is too low for training."
}
},
"4fab339a56104e21b684693889d4586d": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image does not depict a soda can or any related object. It appears to be some kind of floral arrangement or offering."
}
},
"516f4cd684184181b5a31e3781ac0957": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single object (a crushed soda can) belonging to the specified class. The quality is acceptable, and a crushed can is a relevant object for physics simulation in a game environment."
}
},
"5172a10f77964008a8e21deae03c6901": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely overexposed (too bright), making the soda can almost invisible and unsuitable for training data due to low quality."
}
},
"51ae5554073a49fd9b4961975f847707": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is completely white and does not depict any object, let alone a soda can."
}
},
"5345e829c48944e6934a5a7aec414246": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a metallic box, not a soda can. The shape is rectangular, not cylindrical like a typical soda can."
}
},
"5465c0ae35fd4c92861e69aec6e5d81a": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely overexposed and washed out, making it impossible to clearly identify the object as a soda can. Only the very top rim is slightly visible against the white background."
}
},
"5471355c677647849d4f6d495906607e": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The image quality is good (clear, well-lit, not blurry) and it shows only the target object against a clean background. Soda cans are common objects in games and suitable for physics simulation."
}
},
"54d279b8d1b94864abd6987912d73741": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation."
}
},
"554c294a093448039a57c7d0cc713102": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object is a heavily damaged and rusted can, making it difficult to definitively classify as a soda can and less representative for learning typical physics parameters of the class."
}
},
"576e6bcadb764bb5ad91bf48d93a95a5": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a trash bin, not a soda can."
}
},
"57a01efd28664881b0ea3abe8dc922b9": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image quality is low; it appears blurry and lacks sharp details, making it less suitable for high-quality training data."
}
},
"57b87344eec2465cb0c3851ca4a38e90": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a metal trash can, not a soda can or any related item like beverage can, aluminum can, etc."
}
},
"584ce7acb3384c36bf252fde72063a56": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too zoomed in or cropped, making it impossible to identify the object as a soda can or any related item."
}
},
"58e68c3c29744d629e3a9c0bfb6744ee": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely overexposed and lacks contrast, making the object almost invisible against the white background. It's impossible to clearly identify it as a soda can or assess its quality."
}
},
"593c4213b7f54b6cb4c0e284b9754b2d": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object depicted is a low-polygon geometric shape and does not resemble a soda can."
}
},
"5a1593091e5d40d19ac3b842bd4aaefe": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a wire mesh basket or trash can, not a soda can."
}
},
"5a4677f178764b0388de833ce4b501a0": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The image quality is good, and the object is suitable for physics simulation in a video game."
}
},
"5a561e2ad060465fb9452eba307a76b1": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object depicted is a rectangular block, not a cylindrical soda can."
}
},
"5a7ae8e0097c4eea85e975d34031a538": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains a soda can, but also includes three floating spheres above it, which are extraneous objects. We need images depicting only the single object (the soda can)."
}
},
"5ae7c0b5eb0c4727a91a6dcc60fa7c60": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object depicted is a can, but its shape (short and wide) is more characteristic of a food can (like tuna or pet food) rather than a soda can or beverage can, which are typically taller and narrower."
}
},
"5b35197337364d22935e6fd0d73864ac": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a rock or mineral on a wooden base, not a soda can."
}
},
"5ca5518ee79d422399a30814e2a293cf": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single object (a crushed soda can) belonging to the requested class. The quality is acceptable for game development, and the crushed state adds useful diversity for physics simulation (e.g., deformation)."
}
},
"5ced3dc0737a4fdbb601a6c8e281e61d": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains two soda cans, but the requirement is for images depicting only a single object."
}
},
"5df47c5d4d5b4e00a627b42221cd3392": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a fire extinguisher or a similar type of canister, not a soda can."
}
},
"5e1c5212624041a8901dfe3503107bde": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image is too abstract and lacks the texture and details (like the top pull-tab area or metallic sheen) to be clearly identified as a soda can. It looks more like a generic cylinder or cup."
}
},
"5f03a624defc4596b44e0a09480615be": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a cup with a lid and straw, not a soda can."
}
},
"5f13b7f305e144f4bc380ebc4531600d": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a bottle, not a soda can. The requested class is specifically for cans."
}
},
"5f38d9e1eeb94083adf9ad96dd906712": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single beverage can, which falls under the 'soda_cans' category (including 'aluminum can', 'beverage can', 'metal can', 'canned drink'). The image quality is good, and the object is suitable for physics simulation."
}
},
"5f58898e80fa4b11ab2ae9668d6aaa24": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is completely white and does not depict any object, let alone a soda can."
}
},
"5fce345c30b54c58bf68413d2335c3a6": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The image quality is good, and it's suitable for physics simulation purposes in a video game."
}
},
"5fec4e7648e248c58748b99353ff22ab": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains multiple objects (several cans), whereas the requirement is for a single object per image. Additionally, the objects are very small and distant in the frame, making it difficult to discern details."
}
},
"602dcf478b4e40e59e7a9613a13b32dd": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is acceptable for training purposes and it's suitable for physics simulation."
}
},
"608514c9154f4075924bd85351079437": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a crushed beverage can, which falls under the 'soda_cans' category (specifically 'beverage can', 'metal can'). The crushed state adds diversity and is relevant for physics simulation scenarios (e.g., litter, impact). The quality is acceptable."
}
},
"6118fc545f384653ba20e0ad454c6129": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image does not depict a soda can. It shows generic cylindrical containers or canisters, which are not representative of the target class."
}
},
"61f67a262a8c4a22bcb2e9059636b6d6": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the requested class. The image quality is good, and it is suitable for physics simulation."
}
},
"626389bbefe342289b7214a5186cefb0": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object depicted does not resemble a soda can or any related beverage can. It looks like a futuristic container or dispenser, possibly cut in half."
}
},
"640b0c8287274629a7f4ff3ce74a5999": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object depicted looks more like a food can (e.g., for soup or vegetables) rather than a typical soda or beverage can, based on its proportions and lid design. While it is a 'metal can', it does not strongly represent the 'soda_cans' class."
}
},
"643479c457164b7bb9bf180f0ceb8757": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains glasses filled with liquid, not soda cans. It also depicts multiple objects instead of a single one."
}
},
"64577337973647b9a9b33ecb73bcc52a": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single beverage can, which belongs to the 'soda_cans' class. The quality is acceptable for training purposes, and it's a relevant object for physics simulation."
}
},
"64719ae5723144818898a1474781a0ce": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely overexposed and lacks any texture or detail, making it impossible to identify the object as a soda can. The object blends almost entirely into the white background."
}
},
"65d4eef2ea6d40a38a07c5b421d1bc68": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can with good lighting and clarity. It is suitable for the requested class and for physics simulation."
}
},
"6656644a95fe417dba5af25d018b06e3": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a white plastic basket or filter, not a soda can or anything related to the requested class."
}
},
"66742a2e89ca46bda24f357ccc0a0acd": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely overexposed and washed out, making it impossible to clearly identify the object. The object itself is also extremely small within the frame."
}
},
"685c0c5a9c3f4144993c4f146a527d8d": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a metal trash can, not a soda can."
}
},
"68bcd3aba50240a3a34219003b1ed01a": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains multiple objects (three soda cans), while the requirement is for images depicting cleanly ONE SINGLE OBJECT."
}
},
"6905e85a52cf4c5da93567e7bf487404": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too bright and lacks contrast, making the object barely visible and unrecognizable as a soda can."
}
},
"6c9596a6f5d0447aa7221d0bac6c1293": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The image quality is good and suitable for training data. The object is relevant for physics simulation in a video game."
}
},
"6d4998a63fa0496f9cd48b15ad59f463": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The image quality is good (clear, well-lit) and it's suitable for physics simulation."
}
},
"6dfa9d77b23d448cb90d01d402c91108": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a wooden bucket, not a soda can or any related object."
}
},
"70625b40007b4b6790dc6dad39b88d25": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object's shape and texture do not clearly resemble a soda can or any related beverage can. It looks more like an abstract container or cup."
}
},
"70ca81fe6f1546efabbfdbe5cfe81955": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is acceptable, and it's suitable for physics simulation training."
}
},
"710061d2426349c097e0bd59c279c333": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely overexposed and washed out, making the object barely visible and unrecognizable as a soda can. The quality is too low for training."
}
},
"710ced8a3938465197c19755f8142db3": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object depicted is rectangular and blocky, not cylindrical like a soda can. It does not resemble any item in the 'soda_cans' class."
}
},
"715f375555634780890d84a00a2007ec": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can (Coca-Cola can) with good quality and lighting, suitable for the class 'soda_cans' and physics simulation."
}
},
"71669f5079874f8e95d27bbdaca0e4cc": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the requested class. The quality is good, and it's suitable for physics simulation."
}
},
"7306d77eab4d49ceb85fc63a77f6ec70": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a building structure or framework, not a soda can."
}
},
"739992f09ee34b8db3217520c31b2c2b": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the target class. The quality is good, and it's suitable for physics simulation."
}
},
"73d6f638c8b04d5b8593eb01766d448b": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a soda cup with a lid and straw, not a soda can (aluminum/metal can) as specified by the class list."
}
},
"757489dfb8534e40934daab25ac01da1": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a small, round tin, possibly for cream or ointment, not a soda can or beverage can."
}
},
"76262ad4b5544dc9bec5d715001c8ded": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's a suitable object for physics simulation in a video game."
}
},
"76c8a21063564b7fa658bf7b2819e1ce": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is acceptable for training data, and it's a relevant object for physics simulation in a game."
}
},
"7770f54f4bec4456b088b1de2f3f8818": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a glass bottle, not a soda can (which is typically made of aluminum or metal)."
}
},
"7801926855924780bd4269c671cf0fae": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can (Coca-Cola) belonging to the specified class. The image quality is good, and the object is suitable for physics simulation in a game."
}
},
"783d25f6110d440ca91b2083e0149188": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely overexposed/too bright, making the object almost invisible and impossible to identify clearly as a soda can. The quality is too low for training data."
}
},
"78c22afa5212423690b5712b40bdfa5f": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The image quality is good, and it's suitable for physics simulation purposes."
}
},
"78cc4a0493974864b460bba37dc76b43": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation."
}
},
"790fe3da984a408da1c18086b5e60bb6": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a plastic soda bottle, not a soda can (which is typically made of aluminum or metal)."
}
},
"793e4921baa1435399f8085d4b885466": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a trash can, not a soda can. While there might be a can inside, it is obscured and not the main subject of the image."
}
},
"79bc3c7436214c39ad32e03e1b164738": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can (Coca-Cola), which belongs to the specified class. The quality is good, and it's a suitable object for physics simulation in a game."
}
},
"7a54b5302f40454590e876a76146ad80": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is acceptable, and the object is suitable for physics simulation in a video game."
}
},
"7ac7e1d92a8a45108916d1ccd0908caf": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation purposes in a video game."
}
},
"7b1b08aaee1c43b99c2d6797a7ee9c34": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly shows a single object that belongs to the 'soda_cans' class (specifically, an aluminum/beverage can). The image quality is good, and the object is isolated against a clean background. Cans are common objects in physics simulations."
}
},
"7b29d29bb72e4bb3bd7401ab98c27915": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely overexposed and washed out, making it impossible to clearly identify the object as a soda can or discern any details."
}
},
"7b8db9739c0d4feb98c491dff882060d": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is completely white and does not depict any object, let alone a soda can."
}
},
"7bd87ea90ec44d73867e3a91fe7efefb": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image depicts a trash can, not a soda can or any related item from the specified class list."
}
},
"7daf996679c64815b48f650d1b3ff82d": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and the object is suitable for physics simulation."
}
},
"7dd41c5905dc4244846de06845fa3784": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a severely distorted and fragmented object that is unrecognizable as a soda can or any related item. The quality is too low for training purposes."
}
},
"7e064d2cc7154290a771342147893621": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a wooden structure, possibly a bin enclosure or small shed, not a soda can or any related item."
}
},
"81a1f27f185f4b72a379602ec10b6012": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows only the top part of a can, and its proportions (very wide and short) make it look more like a food can (e.g., tuna can) rather than a typical soda can."
}
},
"8231fffef92d46f7ad656b773cb7486a": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can (Coca-Cola), which belongs to the specified class. The image quality is good, and the object is suitable for physics simulation in a video game."
}
},
"82573d9b716d49679e0b47f2eaae854c": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a crushed soda can, which belongs to the specified class. The quality is good, and it represents a valid state for physics simulation."
}
},
"8300ee896a4145a89aa3f18cfddccdbb": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation in a game context."
}
},
"835a91de425147aaae2a05ea9d6ef308": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a trash receptacle and scattered trash, not a single soda can."
}
},
"83802e475bb741cab0560a10fc5b2c31": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a soda maker or a similar appliance, not a soda can itself."
}
},
"84ffce6116784c82b19708986b6b015d": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains two objects (a soda can and a soda bottle), but the requirement is for images depicting only ONE single object."
}
},
"854a178a730e41398124f2bdb7c0ae74": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object depicted is rectangular and looks more like a metal post or beam, not a cylindrical soda can."
}
},
"854eb2eefb0b4828b2af3b2dc243136a": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a sphere with a space/galaxy texture, not a soda can."
}
},
"85b8beb2b34e496791a489b12de7803d": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single object recognizable as a soda can, suitable for the class. The quality is adequate for training, and it represents a common object for physics simulation."
}
},
"8692b93aad0847cdad555d3e70c75da5": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The objects in the image resemble barrels or large industrial cans rather than soda cans. Also, there are two objects present, not a single one."
}
},
"86fc31e805f84be28c12c43c34c56f80": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly shows a single soda can (Coca-Cola can) which belongs to the specified class. The image quality is good, and it's a suitable object for physics simulation in a game."
}
},
"87930f0080814d65b5add1987327e122": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can with a distinct texture. The quality is good, and it's suitable for representing a beverage can in a physics simulation."
}
},
"87d5bce4301c46d4b02ac318970b975f": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a glass with a drink and a straw, not a soda can."
}
},
"882a37821d24474d9fd36006ce2783d8": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is acceptable for game development, and the object is suitable for physics simulation."
}
},
"89bada2350d04d5d8005a5c0bbde6ca8": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a disposable cup with a lid and straw, which is used for soft drinks, but it is not a soda can (typically made of aluminum)."
}
},
"8a1fd19bb9e54550a4345cab9941e6a7": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a soda bottle, not a soda can. The requested class is 'soda_cans'."
}
},
"8a58e2bfeb234a078975be3f4bedbd33": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation."
}
},
"8a9b1d4638d340a9807988caa2b50699": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object in the image is not a soda can. It appears to be a jerry can or some other type of industrial container, not a beverage can."
}
},
"8b08570d2cef4471b971ea11ac4fe3ff": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object depicted does not resemble a soda can or any related item. It appears to be two stacked block-like shapes, and the image is too dark to clearly identify the object or its material."
}
},
"8b92426659dc4b0eb303c7d7280727b8": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is completely white and does not depict any object, let alone a soda can."
}
},
"8be6f79dd6704fc4a04cdfad08a2bb9e": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too bright/overexposed, washing out details and making the texture look low quality."
}
},
"8ccfd3bd1afa45a3af6f0738743e972b": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation purposes."
}
},
"8ce213cab51a4ab793c58dbbf0de9195": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object depicted is a cup or glass with a straw, not a soda can."
}
},
"8ce8f9c97bc8440793157ca547e312a2": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object in the image is a glass container with liquid, not a soda can. Soda cans are typically cylindrical and made of metal."
}
},
"8d1c092f61ac4e239d2010688e170085": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains two objects instead of one, and it is excessively bright, washing out details and making it low quality for training."
}
},
"8e273ad665824e869a4d6440cb426dea": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is acceptable for training, despite the somewhat pixelated texture, as the object is easily recognizable. It is suitable for physics simulation."
}
},
"8e98967d2401412b8edc7ac8bd355daf": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation in a game."
}
},
"8ef390c3554842049efaf620629728b3": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which fits the requested class. The quality is good, and it's suitable for physics simulation purposes in a game."
}
},
"8f17d17132b6409b8716ecf272061748": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. While the texture quality is somewhat pixelated, the object is easily recognizable and suitable for use in physics simulations within a video game context. The lighting and composition are adequate."
}
},
"8f17f58aa4f341aea0269904faa5f15e": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely overexposed/bright, making it impossible to see the full shape or texture of the soda can. Only the very top opening is vaguely visible."
}
},
"8fa1dddf301b447eb1c9560040d75fb6": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The image quality is good, and the object is suitable for physics simulation in a game environment."
}
},
"902ea378c9a547cb9031a253f550fb8a": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too abstract and stylized (voxelated/blocky). It does not clearly depict a recognizable soda can."
}
},
"916ee4c40aa74b54923ec5b20004c577": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image depicts a trash can, not a soda can."
}
},
"91a4fc72e68a4313ac6733b2dd9756ee": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation."
}
},
"928c257acd794839bc912a8df956bc7a": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a trash can, not a soda can. Additionally, the image is extremely overexposed and lacks detail, making it low quality."
}
},
"931d29a29b144cf6b785bf826c8aadd1": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object in the image resembles a glass or vase, not a soda can. The shape is incorrect for the target class."
}
},
"93866874c4fa43f8b0befd8c3c03b580": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image only shows the very top rim of a cylindrical object, and the rest is completely washed out or missing. It does not clearly depict a soda can and is of very low quality."
}
},
"93ea41969bf94511bdbc814834453873": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object depicted is a bottle, not a soda can. Additionally, the object is extremely small in the image frame, making it difficult to discern details and assess quality."
}
},
"94cebba4189646559f4200ad663bf30d": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image depicts a trash can, not a soda can or any related beverage container."
}
},
"94eedae37938412e8228cdd53bc856b1": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image shows a trash can, not a soda can."
}
},
"9597bac9cfa946feb1e7fa2c41a3ebf9": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains multiple objects, not a single one. Additionally, the objects are very dark and lack the distinct features or textures typically associated with soda cans, making them difficult to identify clearly as belonging to the target class."
}
},
"96aa6a20264848ab9c5be2478594ec44": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains multiple objects (five soda cans), but the requirement is for images depicting only a single object."
}
},
"96b925daae4d4dc89035123053d3055c": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation purposes."
}
},
"9709dbae6c1e483180229c241ba04af6": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is acceptable, and the object is suitable for physics simulation."
}
},
"9818250a938546daba94389fd9171b69": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image shows a trash can, not a soda can or beverage can."
}
},
"986050ad95ca444caa07026c033e548a": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely washed out and too bright, making the object almost invisible and unrecognizable as a soda can."
}
},
"98c0fdc024494e6cafd322cbdfad7b89": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The image quality is good, and it is suitable for physics simulation purposes."
}
},
"990933dd66b94d4ba934fc2f3fc95e90": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is adequate, and the object is suitable for physics simulation in a game."
}
},
"990c08d7445743d8897841f82466e80a": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's a suitable object for physics simulation in a game."
}
},
"996516d842954aff9a3011d17727f7e0": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The image quality is good, and the object is suitable for physics simulation in a video game."
}
},
"9965b7b5f7e04f2a9ecb6454741cc3fb": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's a suitable object for physics simulation in a game."
}
},
"99ed8d6c46c343729e63a0a581599add": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The image quality is good, and it is suitable for physics simulation purposes."
}
},
"9a2c379684ed4ceb849d97a473c21e2c": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the target class. The quality is acceptable, and it's suitable for physics simulation."
}
},
"9a492ec286494760859c2f5da23deb18": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a rectangular container, possibly a planter or bin, not a cylindrical soda can."
}
},
"9a8a172dc7f64f7fab80894393eb2314": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation."
}
},
"9a978cc6eac44e2babddca28abc3b4d9": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely overexposed and washed out, making it very difficult to clearly see the object. Only the very top of the can is slightly visible, and the rest is lost in white."
}
},
"9a9eedff0d694219a6b22eb3317d1a66": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a building, not a soda can or any related object from the specified class list."
}
},
"9b5ccf74eee5402686665c51aa126d61": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The object depicted is not a soda can or any related type of beverage can. It appears to be some kind of container or possibly a stylized trash bin."
}
},
"9bd3798628d147f3a2cfb5f6e32a63f2": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains multiple objects (three soda cans) instead of a single object as requested."
}
},
"9ceb9df031ce4615a772f2da4607724f": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a bottle, not a soda can. The shape is incorrect for the requested class."
}
},
"9d136cd754054ee5b08119030e07f7aa": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely overexposed and lacks detail. Only the very top rim of a potential cylindrical object is faintly visible against the white background, making it impossible to clearly identify as a soda can. The quality is too low."
}
},
"9d328cf4545e44efb315a96e11654174": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a trash bin, not a soda can or any related item from the specified class list."
}
},
"9d6496b196914955bee18a64cb60c870": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a coffee container (Folgers tub), not a soda can or beverage can as defined by the class description."
}
},
"9eb3a65d95b44fa793246cd238030ae2": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a trash can and trash bags, not a soda can or any related object from the specified class list."
}
},
"a00a103c66634866bcff38172fa31a7d": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too bright, and the object is very small and lacks detail, making it difficult to clearly identify as a soda can. The quality is too low for training data."
}
},
"a0a1eaf4185c440c816bc085f1af4bfb": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly shows a single beverage can, which fits the 'soda_cans' class description (including terms like 'beverage can', 'aluminum can', 'metal can'). The quality is good, and it's suitable for physics simulation."
}
},
"a0a6b0c8378041e0ba0ed6adae1b93c8": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows multiple stacked objects that resemble bins or cups, not a single soda can."
}
},
"a0e1bc11ca774a5e9f9379159aa0268b": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image does not clearly depict the object (soda can). Most of the can's body is missing or blends completely with the white background, making it unrecognizable and unsuitable for training."
}
},
"a106786fe6b841639ef2234a93d91cd8": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation in a game."
}
},
"a1335f1604b84ad9acda9177743bd890": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation in a game."
}
},
"a169b9d5818245168ea45e568fde3551": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The image quality is good, and the object is suitable for physics simulation in a video game."
}
},
"a1a0847b92e446aa9ba5dfebe26568d5": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single object (a crushed soda can) belonging to the specified class. The quality is acceptable for game development and physics simulation, representing a deformed state of the object."
}
},
"a1fb3ec987264287a2d7d6e999b36db3": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains multiple objects (three soda cans stacked) instead of a single object as required."
}
},
"a253b66202a64a56840ea4eb131e4fff": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the requested class. The image quality is good, and it's suitable for physics simulation in a game."
}
},
"a26f1dc89ed24e39bcf89dd620673669": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a vending machine, not a single soda can as requested by the class 'soda_cans'."
}
},
"a373348973f44a6c9e764605c636af5e": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single beverage can (aluminum can), which fits the requested class. The quality is good, and it's suitable for physics simulation."
}
},
"a377b36213034bbeb7a4903f936b76d7": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains multiple objects (three views/instances of a soda can), violating the requirement for cleanly depicting ONE SINGLE OBJECT."
}
},
"a3fc2ab724c949c5b38d2059782906e4": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The bottom half of the soda can is extremely overexposed and too bright, obscuring the details and making the image low quality."
}
},
"a52c6461680d4293a8ae8d29c26ad1d5": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object depicted does not resemble a soda can or any related item. The shape is significantly different from a typical cylindrical beverage can."
}
},
"a59abc3314d04fe1b00f00a7b16fad4d": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object appears to be a coffee can or a food can, not a soda can. Soda cans typically have a different shape and a pull-tab opening on top, which this can lacks."
}
},
"a6cfd144a62e446c92f0987fb81d584f": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image depicts a container with a lid, which looks more like a paint can or a food tin, not a soda can or beverage can as described in the target class."
}
},
"a711de72361148b08b6d6d0a9195af64": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object depicted does not resemble a soda can. It appears to be some kind of abstract geometric shape or possibly a stylized bin, and it is also too bright, washing out details."
}
},
"a7229ddcde4043f6a0e34ef3f6df19ff": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains two soda cans, but the requirement is to have only one single object per image."
}
},
"a7488154cf664a579a7c1fbc87235208": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The object depicted is a can, but its shape with prominent ridges is more characteristic of a food can (like soup or vegetables) rather than a soda can or beverage can."
}
},
"a844b690449946ecb743c31e3ca3271b": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a 3D model of a building, not a soda can or anything related to the specified class."
}
},
"a8d5499be15f420dbd1379c33ebee4be": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a public trash bin, not a soda can or any related item from the specified class list."
}
},
"a8e5fa12b9644b21899bfd1a3f3ac1c2": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object depicted is rectangular and appears to be a piece of furniture or electronic equipment (like a speaker or small cabinet), not a cylindrical soda can."
}
},
"a9a9cd4a15194cf29772f2cfe336f301": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's a suitable object for physics simulation in a game."
}
},
"a9ec83449cb54f56852f6090e45c682a": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image depicts a metal trash can, not a soda can or any related object from the specified class list."
}
},
"aa584c852bd647ca978d7f00efc72c5c": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image shows a dumpster, not a soda can or any related item from the specified class list."
}
},
"aaa11e57064848268d701a3586792d0d": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is acceptable for game development purposes, and it's a suitable object for physics simulation."
}
},
"ab98557c5e3e495e8268754413cf29b5": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image is too dark and the object's shape is not clearly defined enough to be reliably identified as a soda can. It lacks the characteristic features and details."
}
},
"abc62a02babf4acea619b36db1c6d864": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a stylized, anthropomorphic character resembling a soda can with legs, not a standard soda can. This is unsuitable for learning realistic physics parameters for the object class 'soda_cans'. Additionally, the image quality is low."
}
},
"abfabd0ce5f147fb9ce0b1e53a49e55a": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it is suitable for physics simulation in a video game."
}
},
"ac4d669a204f4995be019eff0cb27628": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it is suitable for physics simulation."
}
},
"ac6e1946611e49419940903b14c9b5e0": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and the object is suitable for physics simulation."
}
},
"aca52679c57142ca9c92fa31b4690b35": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a complex, fantastical contraption, not a simple soda can as requested by the class description."
}
},
"acfffb86384e43f9bad4b8ff4b802f7b": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a very low-polygon, abstract representation that barely resembles a soda can. It lacks the necessary detail and realism to be useful for training or physics simulation."
}
},
"ae108b290236439cabe308cf2821e755": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's a suitable object for physics simulation in a game."
}
},
"ae68a6ab5a724d33b1adbee86a774527": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image shows a trash can, not a soda can."
}
},
"af95b4cef0424857a10ab3ba07244619": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a vending machine or refrigerator, not a soda can."
}
},
"afce0b6ac8284e66883b6ba64a29565c": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely low contrast and washed out, making the object almost invisible and impossible to identify as a soda can. The quality is too low for training data."
}
},
"b05f49c1807a497bbcfe7a48b5884fc9": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can (Coca-Cola can), which belongs to the specified class. The image quality is good, and it shows a standard object suitable for physics simulation."
}
},
"b069d9a6359947289647ec2faba06702": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single object recognizable as a soda can/beverage can. The quality is good, and it's suitable for physics simulation."
}
},
"b0997492583c4309a1b90e2ed0e27709": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains boxes of baking soda and bottles of dish soap, not soda cans."
}
},
"b0cc38534bb149489a8f0003d69bd57b": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation in a game environment. The stylized texture adds diversity."
}
},
"b1886fdc827c4d44b66be40ca38ad3f3": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can (Coke can) which belongs to the specified class. The quality is good, and it's suitable for physics simulation purposes in a game."
}
},
"b1937273e63247c29080b87e250cdf03": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image depicts a trash can, not a soda can or any related beverage can."
}
},
"b21cc66e2aee47e88489efd8f2616319": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single object recognizable as a soda can/beverage can. The quality is acceptable for training purposes, despite some brightness towards the bottom."
}
},
"b2563a127c4e4d559713e7af5923dc3a": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation purposes in a game."
}
},
"b3101b84f826423697c46c302e840deb": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The image quality is adequate, and the object is suitable for physics simulation in a video game context."
}
},
"b31a6fab683a47ab897bcd46e92b1b8b": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts barrels or drums, not soda cans. The objects are the wrong size, shape, and type for the requested class."
}
},
"b3257907af8248ab99cd27ff8c6a86d1": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single beverage can, which belongs to the 'soda_cans' class. The quality is good, and it's suitable for physics simulation in a video game."
}
},
"b35db4f477144eda815eceb30ff9eb19": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a pink, blocky, abstract object that does not resemble a soda can in any way."
}
},
"b38aa24407bd4df7aabe3e407135e607": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is almost entirely white and does not clearly depict any object, let alone a soda can. It appears to be overexposed or corrupted."
}
},
"b3bfd8ec7a1849f0bade5298dc207340": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can with good quality and lighting. It is suitable for physics simulation training."
}
},
"b3f2d2309afa4431bd2da501aea51592": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a bottle, not a soda can. Soda cans are typically made of metal (aluminum) and have a different shape and opening mechanism."
}
},
"b42722fc90774768bd619897657aae82": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely bright and washed out, making the object almost completely invisible and unidentifiable. It does not clearly depict a soda can and is of very low quality."
}
},
"b450aa89357849f9afd24959369770d0": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a trash bin or pedal bin, not a soda can."
}
},
"b47bae44c2bd460b8ce194c6c43fd77d": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows only the pull tab of a can, not the entire soda can itself. It does not clearly depict the object class 'soda_cans'."
}
},
"b521c9a1162d45d2b4f138206e114fd2": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is adequate for training data, and it's a suitable object for physics simulation in a game."
}
},
"b555371c60fd4dc1879f6fb34cae240c": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a metal trash can, not a soda can."
}
},
"b5bf847e1660449dbcd14b0601b44ec6": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too bright, lacks texture, and blends significantly with the white background, making it appear washed out and low quality."
}
},
"b6baa101ae8b4079b0564d74c7f4d103": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too bright and only shows a small portion of the object (the top rim), making it impossible to clearly identify it as a soda can."
}
},
"b82ce3af0ebd465f86960db28704abb1": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image only shows the top part of the soda can; the main body is cut off or missing. This does not depict the full object clearly."
}
},
"b92be47157c54e8293927232b985b5a0": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a glass or cup with liquid, not a soda can."
}
},
"b9dbc5ee67d24be38603d60c1f493e50": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely overexposed and too bright, making it impossible to clearly see the object. Only a small portion of the top is vaguely visible."
}
},
"ba31c57e764e4ed6bad5360ec47f2241": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's a suitable object for physics simulation in a game."
}
},
"ba56c29685bf45178bcb9ada8e3b8121": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object depicted is a rectangular prism, not a cylindrical soda can. It does not resemble any item in the 'soda_cans' class."
}
},
"ba7e9af9841b4747aff873c9b383ab37": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a glass soda bottle, not a soda can as requested by the class definition."
}
},
"babf04ce4e8b4b198c1671468d7c7f1a": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely bright and washed out, making the object barely visible and lacking any discernible detail. It does not clearly depict a soda can and is of very low quality."
}
},
"bb29c9da29c1416098a41e6b69466c6e": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is acceptable for training purposes, and it represents an object suitable for physics simulation."
}
},
"bb575d75beda4c878d0b158e29eb7fbf": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too bright, washing out almost the entire object. Only the very top and a hint of the bottom are visible, making it difficult to clearly depict the soda can."
}
},
"bbe354abb6714da9b5a405487a2987ac": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can (Coca-Cola) with good quality and lighting. It is suitable for the class and relevant for physics simulation."
}
},
"bc297fd86f2841ccb9a4f9d6b4c529c9": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains multiple objects (three soda cans), but the requirement is for images depicting only a single object."
}
},
"be14535020724c3ca3328ec9e271ee0b": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single object recognizable as a soda can/aluminum can against a clean background. The quality is good, and it's suitable for physics simulation purposes despite the somewhat stylized texture."
}
},
"be889ff6886a4e89a089658364cd4816": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a trash bin, not a soda can."
}
},
"bf7902fb64644da3beb0ce1fce07f4aa": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is adequate, and it's suitable for physics simulation."
}
},
"c0977a83efb24380a3520e6e2b9d60a8": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a large metal container with a lid and handles, resembling a trash can or storage container, not a soda can."
}
},
"c0bf72e4f45242e8bf61de7f6cab12a3": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single object (a crushed soda can) belonging to the requested class. The quality is good, and a crushed can is relevant for physics simulation (deformation)."
}
},
"c0de336fc34146eea18f10363fe24f84": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a bottle, not a soda can. The class requires images of cans (aluminum, metal, beverage, etc.)."
}
},
"c142b950461a419aa6423feebeb15a1f": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too bright, making it difficult to discern details. Additionally, it depicts two objects instead of a single one."
}
},
"c1a422e9f21d4b8ba847f7941dde98f6": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can with adequate quality and is suitable for physics simulation."
}
},
"c1b4b95dd16546ffa7a12ca27f8f2e34": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a soda cup with a lid and straw, not a soda can as specified by the class list."
}
},
"c23e4118c86946d9bc9508c40359e463": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The image quality is good, and it is suitable for physics simulation purposes."
}
},
"c33bc950cc5f4108b3e773bc7d3bc23e": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a trash can, not a soda can."
}
},
"c38d6aded9724a1694a941f7522a5ca3": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single object recognizable as a soda can (specifically a cola can). The quality is acceptable, and it's suitable for physics simulation in a game."
}
},
"c3cc5a3e1b5f47cbaf841aee7125b759": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the requested class. The image quality is good, and it is suitable for physics simulation."
}
},
"c4526bf6c2ba48f8acaad9a0783b0d1a": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. Although it's a low-poly model with a stylized texture, it is recognizable and suitable for use in a video game, including physics simulations."
}
},
"c4daf79847244e29baa267603db6d378": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains multiple low-resolution, semi-transparent cylindrical objects that do not clearly resemble soda cans. The quality is too low, and the objects are too abstract for the intended purpose of physics simulation training."
}
},
"c63a465fc3fc4b5dac6bf385bd954c2c": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The image quality is good, and the object is suitable for physics simulation in a game."
}
},
"c652836672494da79d507d56411a62e5": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image quality is very low, the object is heavily distorted and blurry, making it difficult to clearly identify as a soda can."
}
},
"c85b4c605dc748c5bdbd4e63bf996234": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object's shape (especially the octagonal top) and texture (worn, possibly stone or concrete-like) do not resemble a typical soda can. It lacks characteristic features like a pull tab or standard can top."
}
},
"c892780a9051410a945456797dca1c48": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a blue plastic bucket or container, not a soda can."
}
},
"c9c6bae3e2ec401aad393a47cc127d2a": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is acceptable, and it's suitable for physics simulation."
}
},
"c9db0e3f1a4d4171af144788fa77484c": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation in a game."
}
},
"ca977431f13049fb9a2ac6dce431d7ac": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely overexposed and washed out, making it impossible to clearly identify the object as a soda can or assess its quality."
}
},
"cbb8037ffaf34988a83266162a9f5423": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's a suitable object for physics simulation in a game."
}
},
"cc7f8708bf614a198e66d02d65374b18": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation in a video game."
}
},
"cd5d48a76fe84035b6ef2a8d946b01f0": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object in the image does not resemble a soda can or any related item from the specified class list. It looks more like a stylized cup or bowl."
}
},
"cdee0ee0c07849c1b605afb78d158d22": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can (cola can), which belongs to the specified class. The quality is acceptable, and it's a suitable object for physics simulation in a game."
}
},
"ce26c54614784dac8b565070de16d5ff": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can (Coca-Cola) which belongs to the specified class. The image quality is good, with clear details and appropriate lighting. It is suitable for physics simulation."
}
},
"cf4c4065679a4a648c121362a9633591": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a crushed soda can interacting with another surface and includes a detached fragment. We need images of clean, single, whole objects to learn their baseline physical properties."
}
},
"d0199595eb1c475ca4662b378f501a41": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation."
}
},
"d0841b147e3740db91c987c6e413793d": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains two distinct soda cans, violating the requirement for only a single object per image."
}
},
"d0b81fdb4e514859bfcc95165144e8c7": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows two blocky objects that do not resemble soda cans in shape or appearance. It is unclear what these objects are supposed to represent."
}
},
"d0bf0076e829471a8b7ea85dbc32b363": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows drinks in glasses, not soda cans. It also depicts multiple objects (two glasses and a tray) rather than a single object."
}
},
"d1b90c9f9a1945ebb9acb441af19e453": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a can of food (lima beans), not a soda can or beverage can as specified by the class 'soda_cans'."
}
},
"d28d0212f73f49369b1a4127e59d2cbe": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a beverage cup with a lid and straw, not a soda can as specified by the class."
}
},
"d3a98d793cc3454c9661ca0460d2a04f": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a mesh basket or pot, not a soda can or any related item from the specified class list."
}
},
"d4bb72c7650f44769370f3e9af00dad1": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object depicted is a hexagonal container or bin, not a soda can."
}
},
"d602dc6ee3ce46e8ad26c24b0b2b4119": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a metal bin or ashtray on a stand, not a soda can."
}
},
"d7290a29dcdf433b9af6dd4b5a96da78": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a trash can, not a soda can."
}
},
"d7bc6deece3244bcbf3768f58a59b006": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is acceptable for a 3D asset, and it's suitable for physics simulation (e.g., dropping, rolling)."
}
},
"d7d788cb88f94286a15e0b51b3df4a3f": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too bright and only shows a partial, unrecognizable white object. It does not clearly depict a soda can."
}
},
"d8917d94c920470595eabc8615a77b3e": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely overexposed and too bright, making it very difficult to discern the details of the soda can. The object blends almost entirely into the white background, rendering it unsuitable for high-quality training data."
}
},
"d8c8569ab9774d72a2e429bb067cd9ab": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object is too small and indistinct in the image to clearly identify it as a soda can. The image quality is poor for training purposes."
}
},
"dad6c6980337408b98f15eb67cd78143": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely overexposed and too bright, making the object almost unrecognizable. Additionally, the object depicted does not resemble a soda can or any related item from the class list."
}
},
"db066d9c0c4e4bf98e6fdd8f94ad4a6e": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation purposes."
}
},
"dcda2657d0b846b6ad6671f57c1eefd7": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a mesh wastebasket or a similar container, not a soda can or beverage can."
}
},
"deec0f148e6c4b769b89c5258f1a20ac": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object is too small and lacks sufficient detail to be clearly identified as a soda can. The image primarily shows a marble surface with a tiny red object on it."
}
},
"df12be70236a40c0b7be2f999813b894": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The image quality is good, and the object is suitable for physics simulation in a game."
}
},
"e0eedd4004be49c78cd34f82a1fd6fb4": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a rectangular box or carton, not a cylindrical soda can."
}
},
"e1dc6cd9e7dd475ab1eae45819d38755": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single object recognizable as a soda can, albeit a dirty one. The quality is acceptable, and it's suitable for physics simulation."
}
},
"e240d2d1da3142008265d75049a60b71": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a trash bin, which does not belong to the 'soda_cans' class."
}
},
"e2d8e10342b54d47a6f13c9aa10fddcc": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a soda cup with a lid and straw, not a soda can (aluminum can)."
}
},
"e31794846e984ab4a42f17f9010aec62": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely overexposed and only shows the very top lid of the can. The main body of the object is not visible, making it unsuitable for training."
}
},
"e32733d7941748a49483d6a26be82953": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a plastic soda bottle, not a soda can (which is typically made of aluminum or metal)."
}
},
"e4fbfc1835ad42519d30983ae6c0ca6d": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can against a clean background. The quality is adequate, and it represents an object suitable for physics simulation in a game."
}
},
"e568d129df624238a3b5be46990f08ea": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a soda cup with a straw, not a soda can (which is typically made of aluminum)."
}
},
"e5e44452e9d9438a910b0c28d3a8a5fe": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image quality is very low, the object is distorted and does not clearly resemble a soda can. It looks more like a deformed bin or cup."
}
},
"e63097b5257b41aa958f6332fa03141d": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is adequate for training, and it's a suitable object for physics simulation in a game."
}
},
"e71b640cd3024cefa54b7d03b448a6e9": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a trash bin, not a soda can."
}
},
"e73064e272d6432cb6f1101de7f03b79": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can of good quality, suitable for the specified class and physics simulation."
}
},
"e761a2cde1c2414b9908b3a238e169a0": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is acceptable for training data, and it's a common object for physics simulation in games."
}
},
"e9045c71bc9c4acd8b29930fe86de9f9": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains two distinct objects (a soda can and a bottle), violating the requirement for images depicting only one single object."
}
},
"e915c0da07ce42a2b5ba080da135a751": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a trash can, not a soda can."
}
},
"ea620d694ed241caa94e1cdfdea0884b": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image depicts a trash can, not a soda can or any related beverage container."
}
},
"eb83c2f9a2e4470995755a714149444a": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is heavily distorted and fragmented, making it difficult to clearly identify the object. It appears to be a partial scan or rendering of a scene rather than a clean depiction of a single soda can or multiple soda cans. The quality is too low for training purposes."
}
},
"ec8c11ae830d4114b4536be85f3434a9": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too dark and lacks any texture or detail, making it difficult to clearly identify as a soda can. It appears as a black silhouette rather than a realistic representation."
}
},
"ee58ff87cb3e4ef59746582d3b580a96": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is completely white and does not depict any object, let alone a soda can."
}
},
"eed212b1c981466a9826a2a7dc1f8d60": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image quality is low. The object is very small within the frame, and the texture appears blurry/low resolution, making it unsuitable for high-quality training data."
}
},
"eef7e31fbe3844d995c29fad413f1cf0": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a can of adhesive or sealant, not a soda can or beverage can."
}
},
"ef546fb7a53749929ee0271da674f983": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains multiple objects (three soda cans) instead of a single object as required."
}
},
"ef956b4cdd06464b8c3f0cef0bdb2229": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely overexposed/too bright, making it impossible to discern the details or even the full shape of the soda can. Only a faint outline of the top is visible."
}
},
"f054256edfe34ed28d113341b02caa31": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single object recognizable as a soda can, albeit in a low-poly style. The quality is good, and it's suitable for use in a video game, including physics simulations."
}
},
"f0e9d1b62f2f40718d0c0361267a81d4": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely overexposed and washed out, making it difficult to discern the details of the object. The quality is too low for training data."
}
},
"f1fee32f875244679827c8a7962dd920": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a trash bin or parts of it, not a soda can."
}
},
"f21a43f051f24c3d94bcd412948fd030": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single object resembling a soda can. The quality is good, and it's suitable for physics simulation."
}
},
"f24c04715b874327baf86b74334c36d9": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. Although stylized (low-poly), it is recognizable, of sufficient quality, and suitable for physics simulation in a video game."
}
},
"f28f781755a84a4e83e56e36d06c624f": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single object recognizable as a soda can, which belongs to the specified class. Although it lacks texture and has somewhat flat lighting, the shape is clear and it's suitable for physics simulation purposes."
}
},
"f2c07698c06b4ddf83bb6102e2fc69b6": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation learning."
}
},
"f3560f1b73a1498d9313a0f10fd11ef6": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can with good quality and lighting. It is suitable for the class and for physics simulation purposes."
}
},
"f37f336c9fbe4b3ebcc737d86b26637f": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the requested class. The quality is good, and it's a common object suitable for physics simulation in a video game."
}
},
"f50ca961cbcc4182a6f10074943d63c4": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a cup or mug, not a soda can."
}
},
"f5d97bc88d99451c87665ddb1edd4292": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a rusty bucket, not a soda can or any related item from the specified class list."
}
},
"f61aeec14ff441abb0f6add5485a2e90": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains recycling bins, not soda cans."
}
},
"f68987fa9f92438e9ceb3d4a06dc0d29": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is acceptable, and it's a suitable object for physics simulation."
}
},
"f70c12cecfd54e03ba5d118907fe110a": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation training."
}
},
"f753a659faae499282e882d63972d4c2": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a large bin or container, not a soda can or any related item from the specified class list."
}
},
"f7562dd4f11f4cbaa2cac58c38a85e1c": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a food can (like tuna or cat food), not a soda can or beverage can, based on its short, wide shape."
}
},
"f92d2484547a4d35b240bafc09eb4400": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains multiple objects (five cans), but the requirement is for images depicting only a single object."
}
},
"faa995aa1e4347d48e4d969af3b2c44f": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely overexposed and too bright, making it impossible to see the details or full shape of the soda can. Only the very top is partially visible against a completely white background."
}
},
"fac722046abb4811bd3d88d5e39fdefc": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a square-shaped container, possibly a planter or bin, not a cylindrical soda can."
}
},
"fb27f0ce28444135990ad8e6007b8eda": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single object with the shape of a can, which fits the 'soda_cans' category (specifically 'aluminum can' or 'beverage can'). The quality is good, and it's suitable for physics simulation."
}
},
"fd00d9cbdd1649e8a536af049994b5ed": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows what appears to be a public trash bin or ash tray attached to a pole, not a soda can."
}
},
"fdc6b2fd40974708a07f1717a433e7c1": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can, which belongs to the specified class. The quality is good, and it's suitable for physics simulation training."
}
},
"fdce9ba3485c4ff8a010616c69995a0a": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a sphere with a cosmic texture, not a soda can."
}
},
"fe9f70ef9c1147b6828876f16fce9011": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows potion bottles or flasks, not soda cans."
}
},
"feadfb9d10434182948d4e3e80117e71": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object depicted is not a soda can. It appears to be some kind of tool or weapon, possibly a grenade or flare gun, based on the shape and handle."
}
},
"fecd4450f9d14948ba05d6d8dcec883c": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single object recognizable as a can, fitting the 'soda_cans' class. While it is black and white and the texture quality isn't photorealistic, the shape is distinct and suitable for physics simulation purposes."
}
},
"ffcdf4375a9245049b4fffdd46a1d63a": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains a newspaper in addition to the soda can. We require images depicting only the single object of interest."
}
},
"ffd7c2197b56413eab390d079970db72": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts an abstract, low-polygon shape that does not resemble a soda can or any related item. It is not suitable for training a model for the 'soda_cans' class."
}
},
"ffdbc5a9ae654f49977a1ca2fc626c24": {
"obj_class": "soda_cans",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soda can (Coca-Cola) which belongs to the 'soda_cans' class. The image quality is good, well-lit, and shows the object clearly against a neutral background. It is suitable for physics simulation training."
}
},
"0045c7d3543f467e808af1320f7fe252": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too bright and lacks contrast, making the object very difficult to discern from the background. It is not clearly depicted as any specific type of sports ball."
}
},
"00ad7478cf0447f3b3494c00e7037177": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soccer ball, which belongs to the sport_balls class. The quality is good, and it's suitable for physics simulation."
}
},
"00d9bd8bee204fe3a42c320ce24a32fd": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a bucket, which does not belong to the 'sport_balls' class."
}
},
"01b3e318dce243fca3ba14dc648c9ab2": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single, ball-shaped object against a clean background. While lacking specific texture or markings, its shape and color are consistent with certain types of sport balls (like a tennis ball or ping pong ball) and it is suitable for physics simulation."
}
},
"01f0f072668a47d8b270db388034c9bb": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object is a stylized, voxelated sphere and does not clearly represent any specific type of sport ball listed (basketball, soccer ball, tennis ball, etc.). While spherical, its appearance is too abstract and doesn't resemble a real-world sports ball, making it unsuitable for learning physics parameters related to that class."
}
},
"02f0f15c1980486c91e3f4a29fe059ef": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a bowl containing multiple dark, spherical objects that do not clearly resemble any common sports balls. They look more like decorative items or possibly large seeds/nuts. Additionally, the image contains multiple objects and a bowl, not a single, clean depiction of a sports ball."
}
},
"04819557781441b6aeeefbf04268157f": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The object is a faceted polyhedron with a commercial logo (Nivea Sun), not a typical spherical sports ball like a basketball, soccer ball, or even a standard beach ball. Its shape and branding make it inappropriate for the 'sport_balls' class."
}
},
"05eb4a68e56249c5b3db4ea937a57b6e": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single tennis ball, which belongs to the requested 'sport_balls' class. The image quality is good, and the object is suitable for physics simulation."
}
},
"0651755826f848b59df701ed8bf693d8": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single beach ball, which belongs to the sport_balls class. The image quality is good, and a beach ball is suitable for physics simulation."
}
},
"06b4b9c1895945088510bcebb1bcee2b": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is completely white and does not depict any object."
}
},
"07060d7247774dfbaeb5154501b04f7a": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object depicted in the image is an abstract geometric shape and does not resemble any type of sports ball."
}
},
"07d690ffc3f044dfadb677c86bd7d69c": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image does not depict any object belonging to the 'sport_balls' class. It shows an abstract scene with small figures on a platform."
}
},
"082b525fc15a48eb80bd10d327007762": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too bright and lacks texture, making it difficult to identify the object. It does not clearly resemble any specific type of sports ball listed in the class description."
}
},
"09577224c1ea4fadb86beb282daaf1b9": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single basketball, which belongs to the 'sport_balls' class. The image quality is good, and the object is suitable for physics simulation."
}
},
"09c4ba517a394c52b5087b6538f87ed8": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object is too abstract and low-polygon. It lacks the defining features (shape, texture, markings) to be clearly identified as any specific type of sports ball listed in the class description."
}
},
"0a96f1f19afc432bb22c3d74da546338": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soccer ball, which belongs to the 'sport_balls' class. The image quality is good, and the object is suitable for physics simulation in a video game."
}
},
"0ae3ea1d19374003a7e7e5f6657a1df2": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object depicted in the image is an angular, box-like shape, not a sports ball. It does not belong to the specified class 'sport_balls'."
}
},
"0af0dfdb7f134bf081fc8f9125a556ac": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The object depicted is a stylized, abstract spherical structure, not a recognizable sport ball like a basketball, soccer ball, tennis ball, etc. It does not fit the common definition or examples provided for the 'sport_balls' class."
}
},
"0ba8b93f9997442fb4f5bd7cb10d4f3b": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely bright and washed out, making it impossible to clearly identify the object. It does not appear to depict any type of sports ball."
}
},
"0cf6bca4a409457797fdbe0737f93d66": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The object is spherical, but its texture and pattern do not resemble any recognizable sports ball. It looks more like an abstract object or perhaps a ball of yarn/string."
}
},
"0d76207a619947f19158121f7fec74f9": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains two objects: a paddle and a ball. We need images with only ONE object from the 'sport_balls' class."
}
},
"0d8325148ea747468945c6ef73129bcf": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image does not depict any object belonging to the 'sport_balls' class. It shows abstract, blocky structures."
}
},
"0dd3b1e39fd544f79d7464e174da3502": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains multiple objects (a set of billiard balls), while the requirement is for images depicting only a single object."
}
},
"0def9f418739418984a48c8faa6561ea": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image shows a basketball backboard, which is related to basketball but is not a sport ball itself. The target class is 'sport_balls'."
}
},
"0e2d798f5421490e962dc7be85db3c92": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is almost completely white and does not depict any recognizable object, let alone a sports ball."
}
},
"0e5bf8bdf0fe42cb967989beb212967b": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely overexposed and too bright, making the object (basketball) barely visible. This low quality makes it unsuitable for training data."
}
},
"0ecc98014d684f548032eed7e89079b0": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single tennis ball, which belongs to the sport_balls class. The quality is good, and it's suitable for physics simulation."
}
},
"0ef01b42b7e1456c8b79a25f805ab71a": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object depicted is a hollow, cage-like sphere, which does not resemble any of the common sport balls listed (basketball, soccer ball, etc.). It appears to be a geometric structure rather than a functional sports ball."
}
},
"11e572d8b4214f02955ed4f97dfe2afc": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single tennis ball, which belongs to the sport_balls class. The image quality is good, and the object is suitable for physics simulation."
}
},
"12cdcdb35ef44fee99f4eb344e0b0e72": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image does not depict any object belonging to the 'sport_balls' class. It shows a long, thin, rectangular object, not a ball."
}
},
"13c4579c7efe4eb9b9dc5df5ab8114c6": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains two objects, but the requirement is for images depicting only a single object."
}
},
"14a0c798a6c248449c42853e5646ddfc": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image does not depict any object from the 'sport_balls' class. It shows a patch of grass/ground."
}
},
"15bd6087617a4a379953550c56edb839": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single tennis ball, which belongs to the sport_balls class. The image quality is good, and the object is suitable for physics simulation."
}
},
"160d712e0098495086b6d798ceaeb24e": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The basketball is covered in a red liquid, which is not a standard representation of the object and may interfere with learning its typical physical properties."
}
},
"172e5cd6c6d040228a6628f43393e482": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a cricket pitch and field, not a single sport ball. While a tiny red dot might represent a cricket ball, it is not the main focus and is barely visible. We need images focusing solely on the sport ball itself."
}
},
"17647dd372db4d059d21f11c9eccbd9e": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image shows a generic red sphere with low polygon count. It lacks any specific features or textures to clearly identify it as any particular type of sport ball (e.g., basketball lines, soccer ball panels, tennis ball fuzz). It's too abstract for the purpose of learning specific sport ball physics."
}
},
"176d61750a5948779b24d7e93f022b8a": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too bright and lacks contrast, making it impossible to clearly identify the object. It appears as a white shape on a white background and does not clearly depict any specific type of sport ball."
}
},
"17dabce995894491af66c53d1ef65ef0": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely bright and washed out, making the object in the center almost invisible and impossible to identify as a sports ball."
}
},
"1856d9fa92ac43e5a9bd7777b7acce16": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains two generic spheres, not a single, clearly identifiable sports ball from the specified classes. It also depicts two objects instead of one."
}
},
"190b23e6d6c44b98a47841a83288e73c": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image shows a generic blue sphere, which does not clearly depict any specific type of sports ball from the provided list. It lacks identifying features or textures."
}
},
"196caf120c9a49159ad1b877c8d595cd": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single football, which belongs to the sport_balls class. The image quality is good, and the object is isolated against a clean background. It is suitable for physics simulation."
}
},
"19f76a0df81747369acf46406b36afa6": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly shows a single basketball, which belongs to the sport_balls class. The image quality is good, and the object is suitable for physics simulation."
}
},
"1a38a86296524f35904eafb0289aeb75": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soccer ball, which belongs to the sport_balls class. The quality is good, and it's suitable for physics simulation."
}
},
"1a8f1483cca84f81a3dbcea41b5a917f": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image clearly depicts a single object that resembles a red ping pong ball, which belongs to the 'sport_balls' class. The image quality is good, and the object is suitable for physics simulation."
}
},
"1abdab217ac741fdb3e4048b2ec911c7": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The object depicted appears to be a Christmas ornament or bauble due to the hanging loop at the top, not a sport ball."
}
},
"1b8123b23c8349b7b85af4a04a825d60": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts an object that looks like a rock or a lumpy object, not any kind of sport ball."
}
},
"1cafa2a3772d4fa4bcd990d3e8a2b1cf": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single golf ball, which belongs to the sport_balls class. The image quality is good, and the object is isolated, making it suitable for training data. Golf balls are relevant for physics simulations."
}
},
"1ceee60f00904474b3685765d6619014": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains multiple objects (many balls and a basket), not a single sport ball as required."
}
},
"1cefe2649fb546f29923ccaed833e0c1": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soccer ball, which belongs to the requested class 'sport_balls'. The image quality is adequate, and the object is suitable for physics simulation in a video game."
}
},
"1cff0d0506364ac6b4129b68cb4e27fe": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single object recognizable as a soccer ball, which belongs to the 'sport_balls' class. The image quality is good, and it only contains the object of interest. It is suitable for physics simulation."
}
},
"1d14b2f4cf864208a9bfb0479881536d": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single basketball, which belongs to the 'sport_balls' class. The image quality is good, and the object is suitable for physics simulation."
}
},
"1d1deedefdfe47e9835f0703957e576e": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single tennis ball, which belongs to the sport_balls class. The image quality is good, and the object is suitable for physics simulation."
}
},
"1dd4866650fa4aa18927e0834af132b1": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a signpost, not a sport ball."
}
},
"1e7d0d1fce524233aa01b5b5d879a6a1": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single sports ball, likely a basketball or volleyball, against a clean background. The quality is good, and the object is suitable for physics simulation. The unusual colors add to dataset diversity."
}
},
"1e9a74754fe04d708a260e0c0d0ed6ff": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image shows a generic pink sphere with no texture or markings. While some sports balls are spherical, this image lacks any specific features to identify it clearly as belonging to the 'sport_balls' class (e.g., basketball lines, soccer ball panels, tennis ball fuzz, bowling ball holes). It is too generic."
}
},
"1efe279909b04597858373c19901e8cd": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is completely white and does not depict any object."
}
},
"2049fef736434918ac238137a1d8f497": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soccer ball, which belongs to the 'sport_balls' class. The image quality is good, and the object is suitable for physics simulation."
}
},
"20a97fae56a64f52aab2cbafb8d1739e": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too bright and the object depicted is unclear and does not resemble any type of sports ball."
}
},
"2145437568c14deebb2a5af92c3ce507": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains multiple small objects that resemble marbles or decorative balls, not clearly identifiable sports balls from the specified list. Additionally, the requirement is for images depicting ONE SINGLE object."
}
},
"21d4129b0ae842c5a6f09fc942811d4c": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely overexposed and too bright, making it difficult to discern the object's details. Additionally, the object's structure does not clearly resemble any common sports ball."
}
},
"21e83e8c62754c3bbb31d15369abe83b": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is completely white and does not depict any object."
}
},
"223acccccba84344aa3eab2f652d265e": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soccer ball, which belongs to the 'sport_balls' class. The quality is acceptable, and it's suitable for physics simulation."
}
},
"227613a5458344dab9759f17f7566e2e": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a highly distorted and fragmented 3D model that does not resemble any type of sports ball. The object is unrecognizable and appears to be a corrupted or incomplete model, making it unsuitable for training."
}
},
"23279a2416e74abebca6b41f37cd5304": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single golf ball, which belongs to the sport_balls class. The image quality is good and suitable for training."
}
},
"2343abdae7674f46ad85071858db93c6": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single basketball, which belongs to the sport_balls class. The image quality is good, and the object is suitable for physics simulation."
}
},
"2365ce5e9f8f41d19581aea697053504": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is completely white and does not depict any object."
}
},
"238e221932e0439aabe02f20dfa91cb7": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a simple grey circle on a white background. It lacks sufficient detail, texture, or context to be clearly identified as any specific type of sports ball. The quality is too low for training purposes."
}
},
"2399d7e0a9e349f78bd817121f5e7815": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object depicted is a spring or coil, not a sports ball. Also, the image is too bright and lacks contrast."
}
},
"24d284ad2bab4260b5ae8c6d67e27bc8": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image depicts a generic dark sphere lacking any specific textures or markings (like seams, panels, dimples) that would clearly identify it as one of the listed sport balls (basketball, soccer ball, tennis ball, etc.). While it could potentially represent a bowling ball, the lack of detail makes it too ambiguous for the specific class."
}
},
"24ecf27fc8964d08be948f4eb7768dbe": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely bright and washed out, making it impossible to clearly identify the object. It does not appear to depict any object from the 'sport_balls' class."
}
},
"250177705f89434b94f6e44b7e00734a": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image shows only half of a sphere (a hemisphere), not a complete sports ball. This does not clearly depict the object class 'sport_balls' which typically refers to full spherical or prolate spheroid objects used in sports."
}
},
"256e8cff3e874cafacd1b2530a84f7f0": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soccer ball, which belongs to the 'sport_balls' class. The image quality is good, and the object is suitable for physics simulation."
}
},
"2592cb40eacd4cafb35187f963dc889f": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single basketball, which belongs to the requested class. The quality is good, and it's suitable for physics simulation training."
}
},
"25e1816c0e22444bb62816d3999d1b0b": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single beach ball, which falls under the 'sport_balls' category. The image quality is good, and the object is suitable for physics simulation."
}
},
"25ec4ef119b24f2b8a46c8441b9b074a": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single basketball, which belongs to the 'sport_balls' class. The image quality is good, and the object is suitable for physics simulation."
}
},
"2643d969f00a43fc8186aa8ec3fa45a2": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object depicted is a low-polygon, faceted shape, possibly a cube or similar polyhedron, and does not resemble any type of sports ball."
}
},
"268888fd930a46dca8e3e62f2f743618": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains a person (volleyball player) in addition to the volleyball. We need images of the sport ball object alone."
}
},
"2917d0b66d834b20833aa1d4a3627c9e": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains fragmented and distorted shapes that do not clearly depict any recognizable object, let alone a sports ball. The quality is too low and the object is not identifiable."
}
},
"2b74e98be6834219b9e3cb533d558d2d": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soccer ball, which belongs to the sport_balls class. The image quality is good, and the object is suitable for physics simulation in a video game."
}
},
"2d0c0691c4814c74905db01ce5112048": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is completely white and does not depict any object, let alone a sport ball."
}
},
"2d34f241f56b49758532f018edd05619": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains the soccer ball but also a distinct green surface (representing grass/field), violating the requirement to depict cleanly ONE SINGLE OBJECT."
}
},
"2dbbc1914a484a71b90a58585387d9a7": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a beach ball, which falls under the 'sport_balls' category. The image quality is good, and it shows a single object against a clean background, making it suitable for training."
}
},
"2f2a8835e5cc40f98a6e6bc14f58a6f8": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soccer ball, which belongs to the 'sport_balls' class. The quality is good, and it's suitable for physics simulation."
}
},
"2f3803f9694b4db88a41d75e37daf75b": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a basketball hoop, not a sport ball. The object class requested is 'sport_balls'."
}
},
"2f77a26ab3ec4cbb9e8f0b17f2af2786": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soccer ball, which belongs to the sport_balls class. The image quality is adequate, and the object is suitable for physics simulation."
}
},
"2fd6f7dc02d8413da9af8195cf5f8239": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single basketball, which belongs to the sport_balls class. The image quality is good, and the object is suitable for physics simulation."
}
},
"3062440ac11c46f18b8b86551cc3c3b4": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soccer ball, which belongs to the sport_balls class. Although stylized (voxel art), it is easily recognizable. The image quality is good, and it's suitable for physics simulation training."
}
},
"308949e856d74180bbb3b2aa3d5ff25a": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soccer ball, which belongs to the 'sport_balls' class. The image quality is good, and the object is suitable for physics simulation."
}
},
"31ab7b632c114639903fbd2d1c11039c": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soccer ball, which belongs to the sport_balls class. The quality is good, and it's suitable for physics simulation training."
}
},
"31c5177bbb7341e7bcbc68ac2db9ace3": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object is a spherical structure made of interwoven strands, but it does not clearly resemble any standard sport ball like a basketball, soccer ball, tennis ball, etc. It appears more like a decorative or abstract object."
}
},
"31cbc70e9e9d4bfa9a85ccf95b973dd0": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely overexposed and too bright, making it impossible to clearly identify the object or discern any details. It does not meet the quality standards for training data."
}
},
"33928b27e24b42dda77b4f6eb83172c0": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soccer ball, which belongs to the 'sport_balls' class. The image quality is good, and the object is suitable for physics simulation."
}
},
"33a30226e76b428e925521f2c2d8fa31": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is completely white and does not depict any object."
}
},
"33c5f344ae9f4d289cf02709e801f273": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains multiple objects (a bowling ball and several bowling pins), violating the requirement for depicting only a single object from the specified class."
}
},
"33d01509e1fa4deeb23ccd807b686ad3": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single basketball, which belongs to the 'sport_balls' class. The image quality is good, and it is suitable for physics simulation training."
}
},
"347ad3f458f5458daf32fdd8b5f39d9f": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains two objects, but the requirement is to have only a single object per image."
}
},
"35913fe4d7a34db6865e78e3a82451c7": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is too bright and lacks texture, making it difficult to discern details. It looks like an untextured 3D model render, which is not ideal for high-quality training data, especially for learning material properties for physics simulation."
}
},
"36868988285f4b60b3e389e1aa1bab3f": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image depicts a snow globe, not a sports ball."
}
},
"36af0f7000404842872a6a13fe931ff8": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains two objects (a bowling ball and a bowling pin), while the requirement is to depict only ONE SINGLE object from the target class."
}
},
"36f001996fe044d18f969d59fe8d7a2a": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely faint and washed out (too bright), making it impossible to clearly identify the object as a sports ball. The quality is too low for training purposes."
}
},
"38236b7be1a943709ae337420aeeaa7c": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is completely white and does not depict any object."
}
},
"3985d0f92ed6478490c4273d82f7541a": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image shows a generic yellow sphere with no distinguishing features (like seams, panels, dimples, text, etc.) to clearly identify it as any specific type of sports ball. It is too ambiguous for the 'sport_balls' class."
}
},
"3aab0a64b603430380860e8151c2fe1a": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soccer ball, which belongs to the requested 'sport_balls' class. The image quality is good, and the object is suitable for physics simulation in a game."
}
},
"3afbc0fe153146ccac248659acba9591": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is extremely overexposed and too bright, making it very difficult to clearly see the object (which appears to be a golf ball) against the white background. The lack of contrast and detail makes it low quality for training purposes."
}
},
"3b1ffcb84a164cf9a488218bbf4ed3f9": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is almost completely white and the object is barely visible, making it impossible to identify. The quality is too low for training."
}
},
"3bc7eb1864314b8da5b1f277ae0d3889": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single bowling ball, which belongs to the sport_balls class. The image quality is good and the object is suitable for physics simulation."
}
},
"3c69763602904e7f8c7276b1b8459bd4": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains multiple objects (ping pong table, net, paddles, ball) instead of cleanly depicting a single sport ball."
}
},
"3ceae2eee6264843a77aaaf298134744": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soccer ball, which belongs to the 'sport_balls' class. The image quality is good, and the object is suitable for physics simulation."
}
},
"3d60682818084a4da961fba3658569ef": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image contains multiple objects (three soccer balls) instead of a single object."
}
},
"3e1390907a5447fd85d2baabb15add1c": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is completely white and does not depict any object, let alone a sports ball."
}
},
"3eee199318c94b9d8de3a2bc38b33ccb": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single soccer ball, which belongs to the sport_balls class. The quality is good, and it's suitable for physics simulation."
}
},
"3f22d17dc0fb4d8ebd731469d0122e88": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The object is a very low-polygon, green, irregularly shaped sphere. It does not clearly resemble any specific type of sports ball listed (e.g., tennis ball, soccer ball, etc.) due to the lack of defining features, texture, or standard shape."
}
},
"3f8debf633ed40da8d2d19d64632f98e": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image clearly depicts a single object recognizable as a soccer ball, which belongs to the 'sport_balls' class. The image quality is good, and the object is suitable for physics simulation."
}
},
"400ce6fc25f54d149efd4cd429daa50f": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": false,
"reason": "The image is completely white and does not depict any object."
}
},
"405f6ed74fa94dbd9a06629a334585db": {
"obj_class": "sport_balls",
"vlm_filtering": {
"is_appropriate": true,
"reason": "The image is too dark and lacks sufficient detail
gitextract_3kysormy/
├── .gitignore
├── LICENSE
├── README.md
├── config/
│ ├── config.yaml
│ ├── data_curation/
│ │ └── default.yaml
│ ├── data_rendering/
│ │ └── default.yaml
│ ├── mapping/
│ │ └── default.yaml
│ ├── obj_ids_metadata.json
│ ├── output_rendering/
│ │ └── default.yaml
│ ├── paths/
│ │ └── default.yaml
│ ├── physics/
│ │ └── default.yaml
│ ├── segmentation/
│ │ └── default.yaml
│ ├── training/
│ │ └── default.yaml
│ ├── training_3d/
│ │ └── default.yaml
│ └── voxelization/
│ └── default.yaml
├── data_curation/
│ ├── cat_dict.json
│ ├── download_objaverse.py
│ ├── manual_data_filtering_correction.py
│ ├── manual_sim_validation.py
│ ├── objaverse_selection.py
│ ├── render_blender.py
│ └── render_objaverse_classes.py
├── data_readme.md
├── docs/
│ └── Cochin_Bold/
│ ├── Cochin_Bold.otf
│ └── readme.html
├── nbs/
│ ├── pixie.ipynb
│ └── real_scene.ipynb
├── normalization_stats/
│ ├── material_statistics.json
│ └── normalization_ranges.yaml
├── pipeline.py
├── pixie/
│ ├── __init__.py
│ ├── blender/
│ │ ├── __init__.py
│ │ ├── apply_feature_colors.py
│ │ ├── empty_scene.blend
│ │ ├── generate_blendernerf_data.py
│ │ ├── render_glb.py
│ │ └── render_gs.py
│ ├── metrics.py
│ ├── training_utils.py
│ ├── utils.py
│ ├── viz_utils.py
│ ├── vlm_labeler/
│ │ ├── __init__.py
│ │ ├── vlm_data_filtering.py
│ │ ├── vlm_parse_seg_critic.py
│ │ ├── vlm_phys_judge.py
│ │ ├── vlm_phys_sampler.py
│ │ ├── vlm_seg.py
│ │ ├── vlm_seg_class_instruction.py
│ │ ├── vlm_seg_critic.py
│ │ └── vlm_viz_seg_candidates.py
│ └── voxel/
│ ├── __init__.py
│ ├── map_pred_to_coords.py
│ ├── segmentation.py
│ ├── viz_segmentation.py
│ └── voxelize.py
├── render.py
├── scripts/
│ ├── download_data.py
│ ├── download_models.py
│ ├── upload_data.py
│ └── upload_models.py
├── setup.py
└── third_party/
├── PhysGaussian/
│ ├── .gitignore
│ ├── .gitmodules
│ ├── config/
│ │ ├── objaverse/
│ │ │ ├── custom_flowers_config.json
│ │ │ ├── custom_fruit_config.json
│ │ │ ├── custom_grass_config.json
│ │ │ ├── custom_jello_block_config.json
│ │ │ ├── custom_jelly_block_config.json
│ │ │ ├── custom_metal_config.json
│ │ │ ├── custom_metal_crates_config.json
│ │ │ ├── custom_mud_config.json
│ │ │ ├── custom_rocks_config.json
│ │ │ ├── custom_rubber_ducks_and_toys_config.json
│ │ │ ├── custom_sand_config.json
│ │ │ ├── custom_shrubs_config.json
│ │ │ ├── custom_snow_and_mud_config.json
│ │ │ ├── custom_snow_config.json
│ │ │ ├── custom_soda_cans_config.json
│ │ │ ├── custom_sport_balls_config.json
│ │ │ ├── custom_tree_config.json
│ │ │ └── custom_water-like_bodies_config.json
│ │ └── real_scene/
│ │ ├── custom_bonsai_config.json
│ │ ├── custom_bouquet_config.json
│ │ ├── custom_burger_config.json
│ │ └── custom_vasedeck_config.json
│ ├── gaussian-splatting/
│ │ ├── .gitignore
│ │ ├── .gitmodules
│ │ ├── LICENSE.md
│ │ ├── README.md
│ │ ├── SIBR_viewers/
│ │ │ ├── .gitignore
│ │ │ ├── CMakeLists.txt
│ │ │ ├── LICENSE.md
│ │ │ ├── README.md
│ │ │ ├── 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
│ │ │ │ ├── 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/
│ │ │ │ ├── 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/
│ │ │ ├── dataset_tools/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── documentation/
│ │ │ │ │ ├── dataset_tools.dox
│ │ │ │ │ ├── dataset_tools_doc.cmake
│ │ │ │ │ └── fullColmapProcess.dox
│ │ │ │ ├── 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
│ │ │ └── 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
│ │ ├── convert.py
│ │ ├── environment.yml
│ │ ├── full_eval.py
│ │ ├── gaussian_renderer/
│ │ │ ├── __init__.py
│ │ │ └── network_gui.py
│ │ ├── lpipsPyTorch/
│ │ │ ├── __init__.py
│ │ │ └── modules/
│ │ │ ├── lpips.py
│ │ │ ├── networks.py
│ │ │ └── utils.py
│ │ ├── metrics.py
│ │ ├── render.py
│ │ ├── scene/
│ │ │ ├── __init__.py
│ │ │ ├── cameras.py
│ │ │ ├── colmap_loader.py
│ │ │ ├── dataset_readers.py
│ │ │ └── gaussian_model.py
│ │ ├── submodules/
│ │ │ ├── diff-gaussian-rasterization/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .gitmodules
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── LICENSE.md
│ │ │ │ ├── README.md
│ │ │ │ ├── cuda_rasterizer/
│ │ │ │ │ ├── auxiliary.h
│ │ │ │ │ ├── backward.cu
│ │ │ │ │ ├── backward.h
│ │ │ │ │ ├── config.h
│ │ │ │ │ ├── forward.cu
│ │ │ │ │ ├── forward.h
│ │ │ │ │ ├── rasterizer.h
│ │ │ │ │ ├── rasterizer_impl.cu
│ │ │ │ │ └── rasterizer_impl.h
│ │ │ │ ├── diff_gaussian_rasterization/
│ │ │ │ │ └── __init__.py
│ │ │ │ ├── ext.cpp
│ │ │ │ ├── rasterize_points.cu
│ │ │ │ ├── rasterize_points.h
│ │ │ │ ├── setup.py
│ │ │ │ └── third_party/
│ │ │ │ ├── glm/
│ │ │ │ │ ├── .appveyor.yml
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── .travis.yml
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── cmake/
│ │ │ │ │ │ └── cmake_uninstall.cmake.in
│ │ │ │ │ ├── copying.txt
│ │ │ │ │ ├── doc/
│ │ │ │ │ │ ├── api/
│ │ │ │ │ │ │ ├── a00001_source.html
│ │ │ │ │ │ │ ├── a00002_source.html
│ │ │ │ │ │ │ ├── a00003_source.html
│ │ │ │ │ │ │ ├── a00004_source.html
│ │ │ │ │ │ │ ├── a00005_source.html
│ │ │ │ │ │ │ ├── a00006_source.html
│ │ │ │ │ │ │ ├── a00007.html
│ │ │ │ │ │ │ ├── a00007_source.html
│ │ │ │ │ │ │ ├── a00008.html
│ │ │ │ │ │ │ ├── a00008_source.html
│ │ │ │ │ │ │ ├── a00009.html
│ │ │ │ │ │ │ ├── a00009_source.html
│ │ │ │ │ │ │ ├── a00010.html
│ │ │ │ │ │ │ ├── a00010_source.html
│ │ │ │ │ │ │ ├── a00011.html
│ │ │ │ │ │ │ ├── a00011_source.html
│ │ │ │ │ │ │ ├── a00012.html
│ │ │ │ │ │ │ ├── a00012_source.html
│ │ │ │ │ │ │ ├── a00013.html
│ │ │ │ │ │ │ ├── a00013_source.html
│ │ │ │ │ │ │ ├── a00014.html
│ │ │ │ │ │ │ ├── a00014_source.html
│ │ │ │ │ │ │ ├── a00015.html
│ │ │ │ │ │ │ ├── a00015_source.html
│ │ │ │ │ │ │ ├── a00016.html
│ │ │ │ │ │ │ ├── a00016_source.html
│ │ │ │ │ │ │ ├── a00017.html
│ │ │ │ │ │ │ ├── a00017_source.html
│ │ │ │ │ │ │ ├── a00018.html
│ │ │ │ │ │ │ ├── a00018_source.html
│ │ │ │ │ │ │ ├── a00019_source.html
│ │ │ │ │ │ │ ├── a00020_source.html
│ │ │ │ │ │ │ ├── a00021.html
│ │ │ │ │ │ │ ├── a00021_source.html
│ │ │ │ │ │ │ ├── a00022.html
│ │ │ │ │ │ │ ├── a00022_source.html
│ │ │ │ │ │ │ ├── a00023.html
│ │ │ │ │ │ │ ├── a00023_source.html
│ │ │ │ │ │ │ ├── a00024.html
│ │ │ │ │ │ │ ├── a00024_source.html
│ │ │ │ │ │ │ ├── a00025.html
│ │ │ │ │ │ │ ├── a00025_source.html
│ │ │ │ │ │ │ ├── a00026.html
│ │ │ │ │ │ │ ├── a00026_source.html
│ │ │ │ │ │ │ ├── a00027.html
│ │ │ │ │ │ │ ├── a00027_source.html
│ │ │ │ │ │ │ ├── a00028.html
│ │ │ │ │ │ │ ├── a00028_source.html
│ │ │ │ │ │ │ ├── a00029.html
│ │ │ │ │ │ │ ├── a00029_source.html
│ │ │ │ │ │ │ ├── a00030.html
│ │ │ │ │ │ │ ├── a00030_source.html
│ │ │ │ │ │ │ ├── a00031.html
│ │ │ │ │ │ │ ├── a00031_source.html
│ │ │ │ │ │ │ ├── a00032.html
│ │ │ │ │ │ │ ├── a00032_source.html
│ │ │ │ │ │ │ ├── a00033.html
│ │ │ │ │ │ │ ├── a00033_source.html
│ │ │ │ │ │ │ ├── a00034.html
│ │ │ │ │ │ │ ├── a00034_source.html
│ │ │ │ │ │ │ ├── a00035_source.html
│ │ │ │ │ │ │ ├── a00036.html
│ │ │ │ │ │ │ ├── a00036_source.html
│ │ │ │ │ │ │ ├── a00037.html
│ │ │ │ │ │ │ ├── a00037_source.html
│ │ │ │ │ │ │ ├── a00038.html
│ │ │ │ │ │ │ ├── a00038_source.html
│ │ │ │ │ │ │ ├── a00039.html
│ │ │ │ │ │ │ ├── a00039_source.html
│ │ │ │ │ │ │ ├── a00040.html
│ │ │ │ │ │ │ ├── a00040_source.html
│ │ │ │ │ │ │ ├── a00041.html
│ │ │ │ │ │ │ ├── a00041_source.html
│ │ │ │ │ │ │ ├── a00042.html
│ │ │ │ │ │ │ ├── a00042_source.html
│ │ │ │ │ │ │ ├── a00043.html
│ │ │ │ │ │ │ ├── a00043_source.html
│ │ │ │ │ │ │ ├── a00044.html
│ │ │ │ │ │ │ ├── a00044_source.html
│ │ │ │ │ │ │ ├── a00045.html
│ │ │ │ │ │ │ ├── a00045_source.html
│ │ │ │ │ │ │ ├── a00046.html
│ │ │ │ │ │ │ ├── a00046_source.html
│ │ │ │ │ │ │ ├── a00047_source.html
│ │ │ │ │ │ │ ├── a00048.html
│ │ │ │ │ │ │ ├── a00048_source.html
│ │ │ │ │ │ │ ├── a00049.html
│ │ │ │ │ │ │ ├── a00049_source.html
│ │ │ │ │ │ │ ├── a00050.html
│ │ │ │ │ │ │ ├── a00050_source.html
│ │ │ │ │ │ │ ├── a00051.html
│ │ │ │ │ │ │ ├── a00051_source.html
│ │ │ │ │ │ │ ├── a00052.html
│ │ │ │ │ │ │ ├── a00052_source.html
│ │ │ │ │ │ │ ├── a00053.html
│ │ │ │ │ │ │ ├── a00053_source.html
│ │ │ │ │ │ │ ├── a00054.html
│ │ │ │ │ │ │ ├── a00054_source.html
│ │ │ │ │ │ │ ├── a00055.html
│ │ │ │ │ │ │ ├── a00055_source.html
│ │ │ │ │ │ │ ├── a00056.html
│ │ │ │ │ │ │ ├── a00056_source.html
│ │ │ │ │ │ │ ├── a00057.html
│ │ │ │ │ │ │ ├── a00057_source.html
│ │ │ │ │ │ │ ├── a00058.html
│ │ │ │ │ │ │ ├── a00058_source.html
│ │ │ │ │ │ │ ├── a00059.html
│ │ │ │ │ │ │ ├── a00059_source.html
│ │ │ │ │ │ │ ├── a00060.html
│ │ │ │ │ │ │ ├── a00060_source.html
│ │ │ │ │ │ │ ├── a00061.html
│ │ │ │ │ │ │ ├── a00061_source.html
│ │ │ │ │ │ │ ├── a00062.html
│ │ │ │ │ │ │ ├── a00062_source.html
│ │ │ │ │ │ │ ├── a00063.html
│ │ │ │ │ │ │ ├── a00063_source.html
│ │ │ │ │ │ │ ├── a00064.html
│ │ │ │ │ │ │ ├── a00064_source.html
│ │ │ │ │ │ │ ├── a00065.html
│ │ │ │ │ │ │ ├── a00065_source.html
│ │ │ │ │ │ │ ├── a00066.html
│ │ │ │ │ │ │ ├── a00066_source.html
│ │ │ │ │ │ │ ├── a00067.html
│ │ │ │ │ │ │ ├── a00067_source.html
│ │ │ │ │ │ │ ├── a00068.html
│ │ │ │ │ │ │ ├── a00068_source.html
│ │ │ │ │ │ │ ├── a00069.html
│ │ │ │ │ │ │ ├── a00069_source.html
│ │ │ │ │ │ │ ├── a00070.html
│ │ │ │ │ │ │ ├── a00070_source.html
│ │ │ │ │ │ │ ├── a00071.html
│ │ │ │ │ │ │ ├── a00071_source.html
│ │ │ │ │ │ │ ├── a00072.html
│ │ │ │ │ │ │ ├── a00072_source.html
│ │ │ │ │ │ │ ├── a00073.html
│ │ │ │ │ │ │ ├── a00073_source.html
│ │ │ │ │ │ │ ├── a00074.html
│ │ │ │ │ │ │ ├── a00074_source.html
│ │ │ │ │ │ │ ├── a00075.html
│ │ │ │ │ │ │ ├── a00075_source.html
│ │ │ │ │ │ │ ├── a00076.html
│ │ │ │ │ │ │ ├── a00076_source.html
│ │ │ │ │ │ │ ├── a00077.html
│ │ │ │ │ │ │ ├── a00077_source.html
│ │ │ │ │ │ │ ├── a00078.html
│ │ │ │ │ │ │ ├── a00078_source.html
│ │ │ │ │ │ │ ├── a00079.html
│ │ │ │ │ │ │ ├── a00079_source.html
│ │ │ │ │ │ │ ├── a00080.html
│ │ │ │ │ │ │ ├── a00080_source.html
│ │ │ │ │ │ │ ├── a00081.html
│ │ │ │ │ │ │ ├── a00081_source.html
│ │ │ │ │ │ │ ├── a00082.html
│ │ │ │ │ │ │ ├── a00082_source.html
│ │ │ │ │ │ │ ├── a00083.html
│ │ │ │ │ │ │ ├── a00083_source.html
│ │ │ │ │ │ │ ├── a00084.html
│ │ │ │ │ │ │ ├── a00084_source.html
│ │ │ │ │ │ │ ├── a00085.html
│ │ │ │ │ │ │ ├── a00085_source.html
│ │ │ │ │ │ │ ├── a00086.html
│ │ │ │ │ │ │ ├── a00086_source.html
│ │ │ │ │ │ │ ├── a00087.html
│ │ │ │ │ │ │ ├── a00087_source.html
│ │ │ │ │ │ │ ├── a00088.html
│ │ │ │ │ │ │ ├── a00088_source.html
│ │ │ │ │ │ │ ├── a00089.html
│ │ │ │ │ │ │ ├── a00089_source.html
│ │ │ │ │ │ │ ├── a00090.html
│ │ │ │ │ │ │ ├── a00090_source.html
│ │ │ │ │ │ │ ├── a00091.html
│ │ │ │ │ │ │ ├── a00091_source.html
│ │ │ │ │ │ │ ├── a00092.html
│ │ │ │ │ │ │ ├── a00092_source.html
│ │ │ │ │ │ │ ├── a00093.html
│ │ │ │ │ │ │ ├── a00093_source.html
│ │ │ │ │ │ │ ├── a00094.html
│ │ │ │ │ │ │ ├── a00094_source.html
│ │ │ │ │ │ │ ├── a00095_source.html
│ │ │ │ │ │ │ ├── a00096.html
│ │ │ │ │ │ │ ├── a00096_source.html
│ │ │ │ │ │ │ ├── a00097.html
│ │ │ │ │ │ │ ├── a00097_source.html
│ │ │ │ │ │ │ ├── a00098.html
│ │ │ │ │ │ │ ├── a00098_source.html
│ │ │ │ │ │ │ ├── a00099.html
│ │ │ │ │ │ │ ├── a00099_source.html
│ │ │ │ │ │ │ ├── a00100.html
│ │ │ │ │ │ │ ├── a00100_source.html
│ │ │ │ │ │ │ ├── a00101.html
│ │ │ │ │ │ │ ├── a00101_source.html
│ │ │ │ │ │ │ ├── a00102.html
│ │ │ │ │ │ │ ├── a00102_source.html
│ │ │ │ │ │ │ ├── a00103.html
│ │ │ │ │ │ │ ├── a00103_source.html
│ │ │ │ │ │ │ ├── a00104.html
│ │ │ │ │ │ │ ├── a00104_source.html
│ │ │ │ │ │ │ ├── a00105.html
│ │ │ │ │ │ │ ├── a00105_source.html
│ │ │ │ │ │ │ ├── a00106.html
│ │ │ │ │ │ │ ├── a00106_source.html
│ │ │ │ │ │ │ ├── a00107.html
│ │ │ │ │ │ │ ├── a00107_source.html
│ │ │ │ │ │ │ ├── a00108.html
│ │ │ │ │ │ │ ├── a00108_source.html
│ │ │ │ │ │ │ ├── a00109.html
│ │ │ │ │ │ │ ├── a00109_source.html
│ │ │ │ │ │ │ ├── a00110.html
│ │ │ │ │ │ │ ├── a00110_source.html
│ │ │ │ │ │ │ ├── a00111.html
│ │ │ │ │ │ │ ├── a00111_source.html
│ │ │ │ │ │ │ ├── a00112.html
│ │ │ │ │ │ │ ├── a00112_source.html
│ │ │ │ │ │ │ ├── a00113.html
│ │ │ │ │ │ │ ├── a00113_source.html
│ │ │ │ │ │ │ ├── a00114.html
│ │ │ │ │ │ │ ├── a00114_source.html
│ │ │ │ │ │ │ ├── a00115.html
│ │ │ │ │ │ │ ├── a00115_source.html
│ │ │ │ │ │ │ ├── a00116.html
│ │ │ │ │ │ │ ├── a00116_source.html
│ │ │ │ │ │ │ ├── a00117.html
│ │ │ │ │ │ │ ├── a00117_source.html
│ │ │ │ │ │ │ ├── a00118.html
│ │ │ │ │ │ │ ├── a00118_source.html
│ │ │ │ │ │ │ ├── a00119.html
│ │ │ │ │ │ │ ├── a00119_source.html
│ │ │ │ │ │ │ ├── a00120.html
│ │ │ │ │ │ │ ├── a00120_source.html
│ │ │ │ │ │ │ ├── a00121.html
│ │ │ │ │ │ │ ├── a00121_source.html
│ │ │ │ │ │ │ ├── a00122.html
│ │ │ │ │ │ │ ├── a00122_source.html
│ │ │ │ │ │ │ ├── a00123.html
│ │ │ │ │ │ │ ├── a00123_source.html
│ │ │ │ │ │ │ ├── a00124_source.html
│ │ │ │ │ │ │ ├── a00125.html
│ │ │ │ │ │ │ ├── a00125_source.html
│ │ │ │ │ │ │ ├── a00126.html
│ │ │ │ │ │ │ ├── a00126_source.html
│ │ │ │ │ │ │ ├── a00127.html
│ │ │ │ │ │ │ ├── a00127_source.html
│ │ │ │ │ │ │ ├── a00128.html
│ │ │ │ │ │ │ ├── a00128_source.html
│ │ │ │ │ │ │ ├── a00129.html
│ │ │ │ │ │ │ ├── a00129_source.html
│ │ │ │ │ │ │ ├── a00130.html
│ │ │ │ │ │ │ ├── a00130_source.html
│ │ │ │ │ │ │ ├── a00131.html
│ │ │ │ │ │ │ ├── a00131_source.html
│ │ │ │ │ │ │ ├── a00132.html
│ │ │ │ │ │ │ ├── a00132_source.html
│ │ │ │ │ │ │ ├── a00133.html
│ │ │ │ │ │ │ ├── a00133_source.html
│ │ │ │ │ │ │ ├── a00134.html
│ │ │ │ │ │ │ ├── a00134_source.html
│ │ │ │ │ │ │ ├── a00135.html
│ │ │ │ │ │ │ ├── a00135_source.html
│ │ │ │ │ │ │ ├── a00136.html
│ │ │ │ │ │ │ ├── a00136_source.html
│ │ │ │ │ │ │ ├── a00137.html
│ │ │ │ │ │ │ ├── a00137_source.html
│ │ │ │ │ │ │ ├── a00138.html
│ │ │ │ │ │ │ ├── a00138_source.html
│ │ │ │ │ │ │ ├── a00139.html
│ │ │ │ │ │ │ ├── a00139_source.html
│ │ │ │ │ │ │ ├── a00140.html
│ │ │ │ │ │ │ ├── a00140_source.html
│ │ │ │ │ │ │ ├── a00141.html
│ │ │ │ │ │ │ ├── a00141_source.html
│ │ │ │ │ │ │ ├── a00142.html
│ │ │ │ │ │ │ ├── a00142_source.html
│ │ │ │ │ │ │ ├── a00143.html
│ │ │ │ │ │ │ ├── a00143_source.html
│ │ │ │ │ │ │ ├── a00144.html
│ │ │ │ │ │ │ ├── a00144_source.html
│ │ │ │ │ │ │ ├── a00145.html
│ │ │ │ │ │ │ ├── a00145_source.html
│ │ │ │ │ │ │ ├── a00146.html
│ │ │ │ │ │ │ ├── a00146_source.html
│ │ │ │ │ │ │ ├── a00147.html
│ │ │ │ │ │ │ ├── a00147_source.html
│ │ │ │ │ │ │ ├── a00148.html
│ │ │ │ │ │ │ ├── a00148_source.html
│ │ │ │ │ │ │ ├── a00149.html
│ │ │ │ │ │ │ ├── a00149_source.html
│ │ │ │ │ │ │ ├── a00150.html
│ │ │ │ │ │ │ ├── a00150_source.html
│ │ │ │ │ │ │ ├── a00151.html
│ │ │ │ │ │ │ ├── a00151_source.html
│ │ │ │ │ │ │ ├── a00152.html
│ │ │ │ │ │ │ ├── a00152_source.html
│ │ │ │ │ │ │ ├── a00153_source.html
│ │ │ │ │ │ │ ├── a00154.html
│ │ │ │ │ │ │ ├── a00154_source.html
│ │ │ │ │ │ │ ├── a00155.html
│ │ │ │ │ │ │ ├── a00155_source.html
│ │ │ │ │ │ │ ├── a00156.html
│ │ │ │ │ │ │ ├── a00156_source.html
│ │ │ │ │ │ │ ├── a00157.html
│ │ │ │ │ │ │ ├── a00157_source.html
│ │ │ │ │ │ │ ├── a00158.html
│ │ │ │ │ │ │ ├── a00158_source.html
│ │ │ │ │ │ │ ├── a00159.html
│ │ │ │ │ │ │ ├── a00159_source.html
│ │ │ │ │ │ │ ├── a00160.html
│ │ │ │ │ │ │ ├── a00160_source.html
│ │ │ │ │ │ │ ├── a00161.html
│ │ │ │ │ │ │ ├── a00161_source.html
│ │ │ │ │ │ │ ├── a00162.html
│ │ │ │ │ │ │ ├── a00162_source.html
│ │ │ │ │ │ │ ├── a00163_source.html
│ │ │ │ │ │ │ ├── a00164_source.html
│ │ │ │ │ │ │ ├── a00165.html
│ │ │ │ │ │ │ ├── a00165_source.html
│ │ │ │ │ │ │ ├── a00166.html
│ │ │ │ │ │ │ ├── a00166_source.html
│ │ │ │ │ │ │ ├── a00167.html
│ │ │ │ │ │ │ ├── a00167_source.html
│ │ │ │ │ │ │ ├── a00168.html
│ │ │ │ │ │ │ ├── a00168_source.html
│ │ │ │ │ │ │ ├── a00169.html
│ │ │ │ │ │ │ ├── a00169_source.html
│ │ │ │ │ │ │ ├── a00170.html
│ │ │ │ │ │ │ ├── a00170_source.html
│ │ │ │ │ │ │ ├── a00171.html
│ │ │ │ │ │ │ ├── a00171_source.html
│ │ │ │ │ │ │ ├── a00172.html
│ │ │ │ │ │ │ ├── a00172_source.html
│ │ │ │ │ │ │ ├── a00173.html
│ │ │ │ │ │ │ ├── a00173_source.html
│ │ │ │ │ │ │ ├── a00174.html
│ │ │ │ │ │ │ ├── a00174_source.html
│ │ │ │ │ │ │ ├── a00175.html
│ │ │ │ │ │ │ ├── a00175_source.html
│ │ │ │ │ │ │ ├── a00176.html
│ │ │ │ │ │ │ ├── a00176_source.html
│ │ │ │ │ │ │ ├── a00177.html
│ │ │ │ │ │ │ ├── a00177_source.html
│ │ │ │ │ │ │ ├── a00178.html
│ │ │ │ │ │ │ ├── a00178_source.html
│ │ │ │ │ │ │ ├── a00179.html
│ │ │ │ │ │ │ ├── a00179_source.html
│ │ │ │ │ │ │ ├── a00180.html
│ │ │ │ │ │ │ ├── a00180_source.html
│ │ │ │ │ │ │ ├── a00181.html
│ │ │ │ │ │ │ ├── a00181_source.html
│ │ │ │ │ │ │ ├── a00182.html
│ │ │ │ │ │ │ ├── a00182_source.html
│ │ │ │ │ │ │ ├── a00183.html
│ │ │ │ │ │ │ ├── a00183_source.html
│ │ │ │ │ │ │ ├── a00184.html
│ │ │ │ │ │ │ ├── a00184_source.html
│ │ │ │ │ │ │ ├── a00185.html
│ │ │ │ │ │ │ ├── a00185_source.html
│ │ │ │ │ │ │ ├── a00186.html
│ │ │ │ │ │ │ ├── a00186_source.html
│ │ │ │ │ │ │ ├── a00187.html
│ │ │ │ │ │ │ ├── a00187_source.html
│ │ │ │ │ │ │ ├── a00188.html
│ │ │ │ │ │ │ ├── a00188_source.html
│ │ │ │ │ │ │ ├── a00189.html
│ │ │ │ │ │ │ ├── a00189_source.html
│ │ │ │ │ │ │ ├── a00190.html
│ │ │ │ │ │ │ ├── a00190_source.html
│ │ │ │ │ │ │ ├── a00191.html
│ │ │ │ │ │ │ ├── a00191_source.html
│ │ │ │ │ │ │ ├── a00192.html
│ │ │ │ │ │ │ ├── a00192_source.html
│ │ │ │ │ │ │ ├── a00193.html
│ │ │ │ │ │ │ ├── a00193_source.html
│ │ │ │ │ │ │ ├── a00194.html
│ │ │ │ │ │ │ ├── a00194_source.html
│ │ │ │ │ │ │ ├── a00195.html
│ │ │ │ │ │ │ ├── a00195_source.html
│ │ │ │ │ │ │ ├── a00196.html
│ │ │ │ │ │ │ ├── a00196_source.html
│ │ │ │ │ │ │ ├── a00197.html
│ │ │ │ │ │ │ ├── a00197_source.html
│ │ │ │ │ │ │ ├── a00198.html
│ │ │ │ │ │ │ ├── a00198_source.html
│ │ │ │ │ │ │ ├── a00199.html
│ │ │ │ │ │ │ ├── a00199_source.html
│ │ │ │ │ │ │ ├── a00200.html
│ │ │ │ │ │ │ ├── a00200_source.html
│ │ │ │ │ │ │ ├── a00201.html
│ │ │ │ │ │ │ ├── a00201_source.html
│ │ │ │ │ │ │ ├── a00202.html
│ │ │ │ │ │ │ ├── a00202_source.html
│ │ │ │ │ │ │ ├── a00203.html
│ │ │ │ │ │ │ ├── a00203_source.html
│ │ │ │ │ │ │ ├── a00204.html
│ │ │ │ │ │ │ ├── a00204_source.html
│ │ │ │ │ │ │ ├── a00205.html
│ │ │ │ │ │ │ ├── a00205_source.html
│ │ │ │ │ │ │ ├── a00206.html
│ │ │ │ │ │ │ ├── a00206_source.html
│ │ │ │ │ │ │ ├── a00207.html
│ │ │ │ │ │ │ ├── a00207_source.html
│ │ │ │ │ │ │ ├── a00208.html
│ │ │ │ │ │ │ ├── a00208_source.html
│ │ │ │ │ │ │ ├── a00209.html
│ │ │ │ │ │ │ ├── a00209_source.html
│ │ │ │ │ │ │ ├── a00210.html
│ │ │ │ │ │ │ ├── a00210_source.html
│ │ │ │ │ │ │ ├── a00211.html
│ │ │ │ │ │ │ ├── a00211_source.html
│ │ │ │ │ │ │ ├── a00212.html
│ │ │ │ │ │ │ ├── a00212_source.html
│ │ │ │ │ │ │ ├── a00213.html
│ │ │ │ │ │ │ ├── a00213_source.html
│ │ │ │ │ │ │ ├── a00214.html
│ │ │ │ │ │ │ ├── a00214_source.html
│ │ │ │ │ │ │ ├── a00215.html
│ │ │ │ │ │ │ ├── a00215_source.html
│ │ │ │ │ │ │ ├── a00216.html
│ │ │ │ │ │ │ ├── a00216_source.html
│ │ │ │ │ │ │ ├── a00217.html
│ │ │ │ │ │ │ ├── a00217_source.html
│ │ │ │ │ │ │ ├── a00218.html
│ │ │ │ │ │ │ ├── a00218_source.html
│ │ │ │ │ │ │ ├── a00219.html
│ │ │ │ │ │ │ ├── a00219_source.html
│ │ │ │ │ │ │ ├── a00220.html
│ │ │ │ │ │ │ ├── a00220_source.html
│ │ │ │ │ │ │ ├── a00221.html
│ │ │ │ │ │ │ ├── a00221_source.html
│ │ │ │ │ │ │ ├── a00222.html
│ │ │ │ │ │ │ ├── a00222_source.html
│ │ │ │ │ │ │ ├── a00223.html
│ │ │ │ │ │ │ ├── a00223_source.html
│ │ │ │ │ │ │ ├── a00224.html
│ │ │ │ │ │ │ ├── a00224_source.html
│ │ │ │ │ │ │ ├── a00225.html
│ │ │ │ │ │ │ ├── a00225_source.html
│ │ │ │ │ │ │ ├── a00226.html
│ │ │ │ │ │ │ ├── a00226_source.html
│ │ │ │ │ │ │ ├── a00227.html
│ │ │ │ │ │ │ ├── a00227_source.html
│ │ │ │ │ │ │ ├── a00228.html
│ │ │ │ │ │ │ ├── a00228_source.html
│ │ │ │ │ │ │ ├── a00229.html
│ │ │ │ │ │ │ ├── a00229_source.html
│ │ │ │ │ │ │ ├── a00230.html
│ │ │ │ │ │ │ ├── a00230_source.html
│ │ │ │ │ │ │ ├── a00231.html
│ │ │ │ │ │ │ ├── a00231_source.html
│ │ │ │ │ │ │ ├── a00232.html
│ │ │ │ │ │ │ ├── a00232_source.html
│ │ │ │ │ │ │ ├── a00233.html
│ │ │ │ │ │ │ ├── a00233_source.html
│ │ │ │ │ │ │ ├── a00234.html
│ │ │ │ │ │ │ ├── a00234_source.html
│ │ │ │ │ │ │ ├── a00235.html
│ │ │ │ │ │ │ ├── a00235_source.html
│ │ │ │ │ │ │ ├── a00241.html
│ │ │ │ │ │ │ ├── a00242.html
│ │ │ │ │ │ │ ├── a00243.html
│ │ │ │ │ │ │ ├── a00244.html
│ │ │ │ │ │ │ ├── a00245.html
│ │ │ │ │ │ │ ├── a00246.html
│ │ │ │ │ │ │ ├── a00247.html
│ │ │ │ │ │ │ ├── a00248.html
│ │ │ │ │ │ │ ├── a00249.html
│ │ │ │ │ │ │ ├── a00250.html
│ │ │ │ │ │ │ ├── a00251.html
│ │ │ │ │ │ │ ├── a00252.html
│ │ │ │ │ │ │ ├── a00253.html
│ │ │ │ │ │ │ ├── a00254.html
│ │ │ │ │ │ │ ├── a00255.html
│ │ │ │ │ │ │ ├── a00256.html
│ │ │ │ │ │ │ ├── a00257.html
│ │ │ │ │ │ │ ├── a00258.html
│ │ │ │ │ │ │ ├── a00259.html
│ │ │ │ │ │ │ ├── a00260.html
│ │ │ │ │ │ │ ├── a00261.html
│ │ │ │ │ │ │ ├── a00262.html
│ │ │ │ │ │ │ ├── a00263.html
│ │ │ │ │ │ │ ├── a00264.html
│ │ │ │ │ │ │ ├── a00265.html
│ │ │ │ │ │ │ ├── a00266.html
│ │ │ │ │ │ │ ├── a00267.html
│ │ │ │ │ │ │ ├── a00268.html
│ │ │ │ │ │ │ ├── a00269.html
│ │ │ │ │ │ │ ├── a00270.html
│ │ │ │ │ │ │ ├── a00271.html
│ │ │ │ │ │ │ ├── a00272.html
│ │ │ │ │ │ │ ├── a00273.html
│ │ │ │ │ │ │ ├── a00274.html
│ │ │ │ │ │ │ ├── a00275.html
│ │ │ │ │ │ │ ├── a00276.html
│ │ │ │ │ │ │ ├── a00277.html
│ │ │ │ │ │ │ ├── a00278.html
│ │ │ │ │ │ │ ├── a00279.html
│ │ │ │ │ │ │ ├── a00280.html
│ │ │ │ │ │ │ ├── a00281.html
│ │ │ │ │ │ │ ├── a00282.html
│ │ │ │ │ │ │ ├── a00283.html
│ │ │ │ │ │ │ ├── a00284.html
│ │ │ │ │ │ │ ├── a00285.html
│ │ │ │ │ │ │ ├── a00286.html
│ │ │ │ │ │ │ ├── a00287.html
│ │ │ │ │ │ │ ├── a00288.html
│ │ │ │ │ │ │ ├── a00289.html
│ │ │ │ │ │ │ ├── a00290.html
│ │ │ │ │ │ │ ├── a00291.html
│ │ │ │ │ │ │ ├── a00292.html
│ │ │ │ │ │ │ ├── a00293.html
│ │ │ │ │ │ │ ├── a00294.html
│ │ │ │ │ │ │ ├── a00295.html
│ │ │ │ │ │ │ ├── a00296.html
│ │ │ │ │ │ │ ├── a00297.html
│ │ │ │ │ │ │ ├── a00298.html
│ │ │ │ │ │ │ ├── a00299.html
│ │ │ │ │ │ │ ├── a00300.html
│ │ │ │ │ │ │ ├── a00301.html
│ │ │ │ │ │ │ ├── a00302.html
│ │ │ │ │ │ │ ├── a00303.html
│ │ │ │ │ │ │ ├── a00304.html
│ │ │ │ │ │ │ ├── a00305.html
│ │ │ │ │ │ │ ├── a00306.html
│ │ │ │ │ │ │ ├── a00307.html
│ │ │ │ │ │ │ ├── a00308.html
│ │ │ │ │ │ │ ├── a00309.html
│ │ │ │ │ │ │ ├── a00310.html
│ │ │ │ │ │ │ ├── a00311.html
│ │ │ │ │ │ │ ├── a00312.html
│ │ │ │ │ │ │ ├── a00313.html
│ │ │ │ │ │ │ ├── a00314.html
│ │ │ │ │ │ │ ├── a00315.html
│ │ │ │ │ │ │ ├── a00316.html
│ │ │ │ │ │ │ ├── a00317.html
│ │ │ │ │ │ │ ├── a00318.html
│ │ │ │ │ │ │ ├── a00319.html
│ │ │ │ │ │ │ ├── a00320.html
│ │ │ │ │ │ │ ├── a00321.html
│ │ │ │ │ │ │ ├── a00322.html
│ │ │ │ │ │ │ ├── a00323.html
│ │ │ │ │ │ │ ├── a00324.html
│ │ │ │ │ │ │ ├── a00325.html
│ │ │ │ │ │ │ ├── a00326.html
│ │ │ │ │ │ │ ├── a00327.html
│ │ │ │ │ │ │ ├── a00328.html
│ │ │ │ │ │ │ ├── a00329.html
│ │ │ │ │ │ │ ├── a00330.html
│ │ │ │ │ │ │ ├── a00331.html
│ │ │ │ │ │ │ ├── a00332.html
│ │ │ │ │ │ │ ├── a00333.html
│ │ │ │ │ │ │ ├── a00334.html
│ │ │ │ │ │ │ ├── a00335.html
│ │ │ │ │ │ │ ├── a00336.html
│ │ │ │ │ │ │ ├── a00337.html
│ │ │ │ │ │ │ ├── a00338.html
│ │ │ │ │ │ │ ├── a00339.html
│ │ │ │ │ │ │ ├── a00340.html
│ │ │ │ │ │ │ ├── a00341.html
│ │ │ │ │ │ │ ├── a00342.html
│ │ │ │ │ │ │ ├── a00343.html
│ │ │ │ │ │ │ ├── a00344.html
│ │ │ │ │ │ │ ├── a00345.html
│ │ │ │ │ │ │ ├── a00346.html
│ │ │ │ │ │ │ ├── a00347.html
│ │ │ │ │ │ │ ├── a00348.html
│ │ │ │ │ │ │ ├── a00349.html
│ │ │ │ │ │ │ ├── a00350.html
│ │ │ │ │ │ │ ├── a00351.html
│ │ │ │ │ │ │ ├── a00352.html
│ │ │ │ │ │ │ ├── a00353.html
│ │ │ │ │ │ │ ├── a00354.html
│ │ │ │ │ │ │ ├── a00355.html
│ │ │ │ │ │ │ ├── a00356.html
│ │ │ │ │ │ │ ├── a00357.html
│ │ │ │ │ │ │ ├── a00358.html
│ │ │ │ │ │ │ ├── a00359.html
│ │ │ │ │ │ │ ├── a00360.html
│ │ │ │ │ │ │ ├── a00361.html
│ │ │ │ │ │ │ ├── a00362.html
│ │ │ │ │ │ │ ├── a00363.html
│ │ │ │ │ │ │ ├── a00364.html
│ │ │ │ │ │ │ ├── a00365.html
│ │ │ │ │ │ │ ├── a00366.html
│ │ │ │ │ │ │ ├── a00367.html
│ │ │ │ │ │ │ ├── a00368.html
│ │ │ │ │ │ │ ├── a00369.html
│ │ │ │ │ │ │ ├── a00370.html
│ │ │ │ │ │ │ ├── a00371.html
│ │ │ │ │ │ │ ├── a00372.html
│ │ │ │ │ │ │ ├── a00373.html
│ │ │ │ │ │ │ ├── a00374.html
│ │ │ │ │ │ │ ├── dir_033f5edb0915b828d2c46ed4804e5503.html
│ │ │ │ │ │ │ ├── dir_3a581ba30d25676e4b797b1f96d53b45.html
│ │ │ │ │ │ │ ├── dir_44e5e654415abd9ca6fdeaddaff8565e.html
│ │ │ │ │ │ │ ├── dir_4c6bd29c73fa4e5a2509e1c15f846751.html
│ │ │ │ │ │ │ ├── dir_5189610d3ba09ec39b766fb99b34cd93.html
│ │ │ │ │ │ │ ├── dir_6b66465792d005310484819a0eb0b0d3.html
│ │ │ │ │ │ │ ├── dir_9e5fe034a00e89334fd5186c3e7db156.html
│ │ │ │ │ │ │ ├── dir_a8bee7be44182a33f3820393ae0b105d.html
│ │ │ │ │ │ │ ├── dir_cef2d71d502cb69a9252bca2297d9549.html
│ │ │ │ │ │ │ ├── dir_d9496f0844b48bc7e53b5af8c99b9ab2.html
│ │ │ │ │ │ │ ├── dir_f35778ec600a1b9bbc4524e62e226aa2.html
│ │ │ │ │ │ │ ├── doxygen.css
│ │ │ │ │ │ │ ├── dynsections.js
│ │ │ │ │ │ │ ├── files.html
│ │ │ │ │ │ │ ├── index.html
│ │ │ │ │ │ │ ├── jquery.js
│ │ │ │ │ │ │ ├── modules.html
│ │ │ │ │ │ │ ├── search/
│ │ │ │ │ │ │ │ ├── all_0.html
│ │ │ │ │ │ │ │ ├── all_0.js
│ │ │ │ │ │ │ │ ├── all_1.html
│ │ │ │ │ │ │ │ ├── all_1.js
│ │ │ │ │ │ │ │ ├── all_10.html
│ │ │ │ │ │ │ │ ├── all_10.js
│ │ │ │ │ │ │ │ ├── all_11.html
│ │ │ │ │ │ │ │ ├── all_11.js
│ │ │ │ │ │ │ │ ├── all_12.html
│ │ │ │ │ │ │ │ ├── all_12.js
│ │ │ │ │ │ │ │ ├── all_13.html
│ │ │ │ │ │ │ │ ├── all_13.js
│ │ │ │ │ │ │ │ ├── all_14.html
│ │ │ │ │ │ │ │ ├── all_14.js
│ │ │ │ │ │ │ │ ├── all_15.html
│ │ │ │ │ │ │ │ ├── all_15.js
│ │ │ │ │ │ │ │ ├── all_16.html
│ │ │ │ │ │ │ │ ├── all_16.js
│ │ │ │ │ │ │ │ ├── all_2.html
│ │ │ │ │ │ │ │ ├── all_2.js
│ │ │ │ │ │ │ │ ├── all_3.html
│ │ │ │ │ │ │ │ ├── all_3.js
│ │ │ │ │ │ │ │ ├── all_4.html
│ │ │ │ │ │ │ │ ├── all_4.js
│ │ │ │ │ │ │ │ ├── all_5.html
│ │ │ │ │ │ │ │ ├── all_5.js
│ │ │ │ │ │ │ │ ├── all_6.html
│ │ │ │ │ │ │ │ ├── all_6.js
│ │ │ │ │ │ │ │ ├── all_7.html
│ │ │ │ │ │ │ │ ├── all_7.js
│ │ │ │ │ │ │ │ ├── all_8.html
│ │ │ │ │ │ │ │ ├── all_8.js
│ │ │ │ │ │ │ │ ├── all_9.html
│ │ │ │ │ │ │ │ ├── all_9.js
│ │ │ │ │ │ │ │ ├── all_a.html
│ │ │ │ │ │ │ │ ├── all_a.js
│ │ │ │ │ │ │ │ ├── all_b.html
│ │ │ │ │ │ │ │ ├── all_b.js
│ │ │ │ │ │ │ │ ├── all_c.html
│ │ │ │ │ │ │ │ ├── all_c.js
│ │ │ │ │ │ │ │ ├── all_d.html
│ │ │ │ │ │ │ │ ├── all_d.js
│ │ │ │ │ │ │ │ ├── all_e.html
│ │ │ │ │ │ │ │ ├── all_e.js
│ │ │ │ │ │ │ │ ├── all_f.html
│ │ │ │ │ │ │ │ ├── all_f.js
│ │ │ │ │ │ │ │ ├── files_0.html
│ │ │ │ │ │ │ │ ├── files_0.js
│ │ │ │ │ │ │ │ ├── files_1.html
│ │ │ │ │ │ │ │ ├── files_1.js
│ │ │ │ │ │ │ │ ├── files_10.html
│ │ │ │ │ │ │ │ ├── files_10.js
│ │ │ │ │ │ │ │ ├── files_11.html
│ │ │ │ │ │ │ │ ├── files_11.js
│ │ │ │ │ │ │ │ ├── files_12.html
│ │ │ │ │ │ │ │ ├── files_12.js
│ │ │ │ │ │ │ │ ├── files_13.html
│ │ │ │ │ │ │ │ ├── files_13.js
│ │ │ │ │ │ │ │ ├── files_14.html
│ │ │ │ │ │ │ │ ├── files_14.js
│ │ │ │ │ │ │ │ ├── files_2.html
│ │ │ │ │ │ │ │ ├── files_2.js
│ │ │ │ │ │ │ │ ├── files_3.html
│ │ │ │ │ │ │ │ ├── files_3.js
│ │ │ │ │ │ │ │ ├── files_4.html
│ │ │ │ │ │ │ │ ├── files_4.js
│ │ │ │ │ │ │ │ ├── files_5.html
│ │ │ │ │ │ │ │ ├── files_5.js
│ │ │ │ │ │ │ │ ├── files_6.html
│ │ │ │ │ │ │ │ ├── files_6.js
│ │ │ │ │ │ │ │ ├── files_7.html
│ │ │ │ │ │ │ │ ├── files_7.js
│ │ │ │ │ │ │ │ ├── files_8.html
│ │ │ │ │ │ │ │ ├── files_8.js
│ │ │ │ │ │ │ │ ├── files_9.html
│ │ │ │ │ │ │ │ ├── files_9.js
│ │ │ │ │ │ │ │ ├── files_a.html
│ │ │ │ │ │ │ │ ├── files_a.js
│ │ │ │ │ │ │ │ ├── files_b.html
│ │ │ │ │ │ │ │ ├── files_b.js
│ │ │ │ │ │ │ │ ├── files_c.html
│ │ │ │ │ │ │ │ ├── files_c.js
│ │ │ │ │ │ │ │ ├── files_d.html
│ │ │ │ │ │ │ │ ├── files_d.js
│ │ │ │ │ │ │ │ ├── files_e.html
│ │ │ │ │ │ │ │ ├── files_e.js
│ │ │ │ │ │ │ │ ├── files_f.html
│ │ │ │ │ │ │ │ ├── files_f.js
│ │ │ │ │ │ │ │ ├── functions_0.html
│ │ │ │ │ │ │ │ ├── functions_0.js
│ │ │ │ │ │ │ │ ├── functions_1.html
│ │ │ │ │ │ │ │ ├── functions_1.js
│ │ │ │ │ │ │ │ ├── functions_10.html
│ │ │ │ │ │ │ │ ├── functions_10.js
│ │ │ │ │ │ │ │ ├── functions_11.html
│ │ │ │ │ │ │ │ ├── functions_11.js
│ │ │ │ │ │ │ │ ├── functions_12.html
│ │ │ │ │ │ │ │ ├── functions_12.js
│ │ │ │ │ │ │ │ ├── functions_13.html
│ │ │ │ │ │ │ │ ├── functions_13.js
│ │ │ │ │ │ │ │ ├── functions_14.html
│ │ │ │ │ │ │ │ ├── functions_14.js
│ │ │ │ │ │ │ │ ├── functions_15.html
│ │ │ │ │ │ │ │ ├── functions_15.js
│ │ │ │ │ │ │ │ ├── functions_16.html
│ │ │ │ │ │ │ │ ├── functions_16.js
│ │ │ │ │ │ │ │ ├── functions_2.html
│ │ │ │ │ │ │ │ ├── functions_2.js
│ │ │ │ │ │ │ │ ├── functions_3.html
│ │ │ │ │ │ │ │ ├── functions_3.js
│ │ │ │ │ │ │ │ ├── functions_4.html
│ │ │ │ │ │ │ │ ├── functions_4.js
│ │ │ │ │ │ │ │ ├── functions_5.html
│ │ │ │ │ │ │ │ ├── functions_5.js
│ │ │ │ │ │ │ │ ├── functions_6.html
│ │ │ │ │ │ │ │ ├── functions_6.js
│ │ │ │ │ │ │ │ ├── functions_7.html
│ │ │ │ │ │ │ │ ├── functions_7.js
│ │ │ │ │ │ │ │ ├── functions_8.html
│ │ │ │ │ │ │ │ ├── functions_8.js
│ │ │ │ │ │ │ │ ├── functions_9.html
│ │ │ │ │ │ │ │ ├── functions_9.js
│ │ │ │ │ │ │ │ ├── functions_a.html
│ │ │ │ │ │ │ │ ├── functions_a.js
│ │ │ │ │ │ │ │ ├── functions_b.html
│ │ │ │ │ │ │ │ ├── functions_b.js
│ │ │ │ │ │ │ │ ├── functions_c.html
│ │ │ │ │ │ │ │ ├── functions_c.js
│ │ │ │ │ │ │ │ ├── functions_d.html
│ │ │ │ │ │ │ │ ├── functions_d.js
│ │ │ │ │ │ │ │ ├── functions_e.html
│ │ │ │ │ │ │ │ ├── functions_e.js
│ │ │ │ │ │ │ │ ├── functions_f.html
│ │ │ │ │ │ │ │ ├── functions_f.js
│ │ │ │ │ │ │ │ ├── groups_0.html
│ │ │ │ │ │ │ │ ├── groups_0.js
│ │ │ │ │ │ │ │ ├── groups_1.html
│ │ │ │ │ │ │ │ ├── groups_1.js
│ │ │ │ │ │ │ │ ├── groups_2.html
│ │ │ │ │ │ │ │ ├── groups_2.js
│ │ │ │ │ │ │ │ ├── groups_3.html
│ │ │ │ │ │ │ │ ├── groups_3.js
│ │ │ │ │ │ │ │ ├── groups_4.html
│ │ │ │ │ │ │ │ ├── groups_4.js
│ │ │ │ │ │ │ │ ├── groups_5.html
│ │ │ │ │ │ │ │ ├── groups_5.js
│ │ │ │ │ │ │ │ ├── groups_6.html
│ │ │ │ │ │ │ │ ├── groups_6.js
│ │ │ │ │ │ │ │ ├── groups_7.html
│ │ │ │ │ │ │ │ ├── groups_7.js
│ │ │ │ │ │ │ │ ├── groups_8.html
│ │ │ │ │ │ │ │ ├── groups_8.js
│ │ │ │ │ │ │ │ ├── groups_9.html
│ │ │ │ │ │ │ │ ├── groups_9.js
│ │ │ │ │ │ │ │ ├── nomatches.html
│ │ │ │ │ │ │ │ ├── pages_0.html
│ │ │ │ │ │ │ │ ├── pages_0.js
│ │ │ │ │ │ │ │ ├── search.css
│ │ │ │ │ │ │ │ ├── search.js
│ │ │ │ │ │ │ │ ├── searchdata.js
│ │ │ │ │ │ │ │ ├── typedefs_0.html
│ │ │ │ │ │ │ │ ├── typedefs_0.js
│ │ │ │ │ │ │ │ ├── typedefs_1.html
│ │ │ │ │ │ │ │ ├── typedefs_1.js
│ │ │ │ │ │ │ │ ├── typedefs_2.html
│ │ │ │ │ │ │ │ ├── typedefs_2.js
│ │ │ │ │ │ │ │ ├── typedefs_3.html
│ │ │ │ │ │ │ │ ├── typedefs_3.js
│ │ │ │ │ │ │ │ ├── typedefs_4.html
│ │ │ │ │ │ │ │ ├── typedefs_4.js
│ │ │ │ │ │ │ │ ├── typedefs_5.html
│ │ │ │ │ │ │ │ ├── typedefs_5.js
│ │ │ │ │ │ │ │ ├── typedefs_6.html
│ │ │ │ │ │ │ │ ├── typedefs_6.js
│ │ │ │ │ │ │ │ ├── typedefs_7.html
│ │ │ │ │ │ │ │ ├── typedefs_7.js
│ │ │ │ │ │ │ │ ├── typedefs_8.html
│ │ │ │ │ │ │ │ ├── typedefs_8.js
│ │ │ │ │ │ │ │ ├── typedefs_9.html
│ │ │ │ │ │ │ │ ├── typedefs_9.js
│ │ │ │ │ │ │ │ ├── typedefs_a.html
│ │ │ │ │ │ │ │ ├── typedefs_a.js
│ │ │ │ │ │ │ │ ├── typedefs_b.html
│ │ │ │ │ │ │ │ ├── typedefs_b.js
│ │ │ │ │ │ │ │ ├── typedefs_c.html
│ │ │ │ │ │ │ │ ├── typedefs_c.js
│ │ │ │ │ │ │ │ ├── typedefs_d.html
│ │ │ │ │ │ │ │ └── typedefs_d.js
│ │ │ │ │ │ │ └── tabs.css
│ │ │ │ │ │ ├── man.doxy
│ │ │ │ │ │ └── theme/
│ │ │ │ │ │ └── doxygen.css
│ │ │ │ │ ├── glm/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── common.hpp
│ │ │ │ │ │ ├── detail/
│ │ │ │ │ │ │ ├── _features.hpp
│ │ │ │ │ │ │ ├── _fixes.hpp
│ │ │ │ │ │ │ ├── _noise.hpp
│ │ │ │ │ │ │ ├── _swizzle.hpp
│ │ │ │ │ │ │ ├── _swizzle_func.hpp
│ │ │ │ │ │ │ ├── _vectorize.hpp
│ │ │ │ │ │ │ ├── compute_common.hpp
│ │ │ │ │ │ │ ├── compute_vector_relational.hpp
│ │ │ │ │ │ │ ├── func_common.inl
│ │ │ │ │ │ │ ├── func_common_simd.inl
│ │ │ │ │ │ │ ├── func_exponential.inl
│ │ │ │ │ │ │ ├── func_exponential_simd.inl
│ │ │ │ │ │ │ ├── func_geometric.inl
│ │ │ │ │ │ │ ├── func_geometric_simd.inl
│ │ │ │ │ │ │ ├── func_integer.inl
│ │ │ │ │ │ │ ├── func_integer_simd.inl
│ │ │ │ │ │ │ ├── func_matrix.inl
│ │ │ │ │ │ │ ├── func_matrix_simd.inl
│ │ │ │ │ │ │ ├── func_packing.inl
│ │ │ │ │ │ │ ├── func_packing_simd.inl
│ │ │ │ │ │ │ ├── func_trigonometric.inl
│ │ │ │ │ │ │ ├── func_trigonometric_simd.inl
│ │ │ │ │ │ │ ├── func_vector_relational.inl
│ │ │ │ │ │ │ ├── func_vector_relational_simd.inl
│ │ │ │ │ │ │ ├── glm.cpp
│ │ │ │ │ │ │ ├── qualifier.hpp
│ │ │ │ │ │ │ ├── setup.hpp
│ │ │ │ │ │ │ ├── type_float.hpp
│ │ │ │ │ │ │ ├── type_half.hpp
│ │ │ │ │ │ │ ├── type_half.inl
│ │ │ │ │ │ │ ├── type_mat2x2.hpp
│ │ │ │ │ │ │ ├── type_mat2x2.inl
│ │ │ │ │ │ │ ├── type_mat2x3.hpp
│ │ │ │ │ │ │ ├── type_mat2x3.inl
│ │ │ │ │ │ │ ├── type_mat2x4.hpp
│ │ │ │ │ │ │ ├── type_mat2x4.inl
│ │ │ │ │ │ │ ├── type_mat3x2.hpp
│ │ │ │ │ │ │ ├── type_mat3x2.inl
│ │ │ │ │ │ │ ├── type_mat3x3.hpp
│ │ │ │ │ │ │ ├── type_mat3x3.inl
│ │ │ │ │ │ │ ├── type_mat3x4.hpp
│ │ │ │ │ │ │ ├── type_mat3x4.inl
│ │ │ │ │ │ │ ├── type_mat4x2.hpp
│ │ │ │ │ │ │ ├── type_mat4x2.inl
│ │ │ │ │ │ │ ├── type_mat4x3.hpp
│ │ │ │ │ │ │ ├── type_mat4x3.inl
│ │ │ │ │ │ │ ├── type_mat4x4.hpp
│ │ │ │ │ │ │ ├── type_mat4x4.inl
│ │ │ │ │ │ │ ├── type_mat4x4_simd.inl
│ │ │ │ │ │ │ ├── type_quat.hpp
│ │ │ │ │ │ │ ├── type_quat.inl
│ │ │ │ │ │ │ ├── type_quat_simd.inl
│ │ │ │ │ │ │ ├── type_vec1.hpp
│ │ │ │ │ │ │ ├── type_vec1.inl
│ │ │ │ │ │ │ ├── type_vec2.hpp
│ │ │ │ │ │ │ ├── type_vec2.inl
│ │ │ │ │ │ │ ├── type_vec3.hpp
│ │ │ │ │ │ │ ├── type_vec3.inl
│ │ │ │ │ │ │ ├── type_vec4.hpp
│ │ │ │ │ │ │ ├── type_vec4.inl
│ │ │ │ │ │ │ └── type_vec4_simd.inl
│ │ │ │ │ │ ├── exponential.hpp
│ │ │ │ │ │ ├── ext/
│ │ │ │ │ │ │ ├── _matrix_vectorize.hpp
│ │ │ │ │ │ │ ├── matrix_clip_space.hpp
│ │ │ │ │ │ │ ├── matrix_clip_space.inl
│ │ │ │ │ │ │ ├── matrix_common.hpp
│ │ │ │ │ │ │ ├── matrix_common.inl
│ │ │ │ │ │ │ ├── matrix_double2x2.hpp
│ │ │ │ │ │ │ ├── matrix_double2x2_precision.hpp
│ │ │ │ │ │ │ ├── matrix_double2x3.hpp
│ │ │ │ │ │ │ ├── matrix_double2x3_precision.hpp
│ │ │ │ │ │ │ ├── matrix_double2x4.hpp
│ │ │ │ │ │ │ ├── matrix_double2x4_precision.hpp
│ │ │ │ │ │ │ ├── matrix_double3x2.hpp
│ │ │ │ │ │ │ ├── matrix_double3x2_precision.hpp
│ │ │ │ │ │ │ ├── matrix_double3x3.hpp
│ │ │ │ │ │ │ ├── matrix_double3x3_precision.hpp
│ │ │ │ │ │ │ ├── matrix_double3x4.hpp
│ │ │ │ │ │ │ ├── matrix_double3x4_precision.hpp
│ │ │ │ │ │ │ ├── matrix_double4x2.hpp
│ │ │ │ │ │ │ ├── matrix_double4x2_precision.hpp
│ │ │ │ │ │ │ ├── matrix_double4x3.hpp
│ │ │ │ │ │ │ ├── matrix_double4x3_precision.hpp
│ │ │ │ │ │ │ ├── matrix_double4x4.hpp
│ │ │ │ │ │ │ ├── matrix_double4x4_precision.hpp
│ │ │ │ │ │ │ ├── matrix_float2x2.hpp
│ │ │ │ │ │ │ ├── matrix_float2x2_precision.hpp
│ │ │ │ │ │ │ ├── matrix_float2x3.hpp
│ │ │ │ │ │ │ ├── matrix_float2x3_precision.hpp
│ │ │ │ │ │ │ ├── matrix_float2x4.hpp
│ │ │ │ │ │ │ ├── matrix_float2x4_precision.hpp
│ │ │ │ │ │ │ ├── matrix_float3x2.hpp
│ │ │ │ │ │ │ ├── matrix_float3x2_precision.hpp
│ │ │ │ │ │ │ ├── matrix_float3x3.hpp
│ │ │ │ │ │ │ ├── matrix_float3x3_precision.hpp
│ │ │ │ │ │ │ ├── matrix_float3x4.hpp
│ │ │ │ │ │ │ ├── matrix_float3x4_precision.hpp
│ │ │ │ │ │ │ ├── matrix_float4x2.hpp
│ │ │ │ │ │ │ ├── matrix_float4x2_precision.hpp
│ │ │ │ │ │ │ ├── matrix_float4x3.hpp
│ │ │ │ │ │ │ ├── matrix_float4x3_precision.hpp
│ │ │ │ │ │ │ ├── matrix_float4x4.hpp
│ │ │ │ │ │ │ ├── matrix_float4x4_precision.hpp
│ │ │ │ │ │ │ ├── matrix_int2x2.hpp
│ │ │ │ │ │ │ ├── matrix_int2x2_sized.hpp
│ │ │ │ │ │ │ ├── matrix_int2x3.hpp
│ │ │ │ │ │ │ ├── matrix_int2x3_sized.hpp
│ │ │ │ │ │ │ ├── matrix_int2x4.hpp
│ │ │ │ │ │ │ ├── matrix_int2x4_sized.hpp
│ │ │ │ │ │ │ ├── matrix_int3x2.hpp
│ │ │ │ │ │ │ ├── matrix_int3x2_sized.hpp
│ │ │ │ │ │ │ ├── matrix_int3x3.hpp
│ │ │ │ │ │ │ ├── matrix_int3x3_sized.hpp
│ │ │ │ │ │ │ ├── matrix_int3x4.hpp
│ │ │ │ │ │ │ ├── matrix_int3x4_sized.hpp
│ │ │ │ │ │ │ ├── matrix_int4x2.hpp
│ │ │ │ │ │ │ ├── matrix_int4x2_sized.hpp
│ │ │ │ │ │ │ ├── matrix_int4x3.hpp
│ │ │ │ │ │ │ ├── matrix_int4x3_sized.hpp
│ │ │ │ │ │ │ ├── matrix_int4x4.hpp
│ │ │ │ │ │ │ ├── matrix_int4x4_sized.hpp
│ │ │ │ │ │ │ ├── matrix_integer.hpp
│ │ │ │ │ │ │ ├── matrix_integer.inl
│ │ │ │ │ │ │ ├── matrix_projection.hpp
│ │ │ │ │ │ │ ├── matrix_projection.inl
│ │ │ │ │ │ │ ├── matrix_relational.hpp
│ │ │ │ │ │ │ ├── matrix_relational.inl
│ │ │ │ │ │ │ ├── matrix_transform.hpp
│ │ │ │ │ │ │ ├── matrix_transform.inl
│ │ │ │ │ │ │ ├── matrix_uint2x2.hpp
│ │ │ │ │ │ │ ├── matrix_uint2x2_sized.hpp
│ │ │ │ │ │ │ ├── matrix_uint2x3.hpp
│ │ │ │ │ │ │ ├── matrix_uint2x3_sized.hpp
│ │ │ │ │ │ │ ├── matrix_uint2x4.hpp
│ │ │ │ │ │ │ ├── matrix_uint2x4_sized.hpp
│ │ │ │ │ │ │ ├── matrix_uint3x2.hpp
│ │ │ │ │ │ │ ├── matrix_uint3x2_sized.hpp
│ │ │ │ │ │ │ ├── matrix_uint3x3.hpp
│ │ │ │ │ │ │ ├── matrix_uint3x3_sized.hpp
│ │ │ │ │ │ │ ├── matrix_uint3x4.hpp
│ │ │ │ │ │ │ ├── matrix_uint3x4_sized.hpp
│ │ │ │ │ │ │ ├── matrix_uint4x2.hpp
│ │ │ │ │ │ │ ├── matrix_uint4x2_sized.hpp
│ │ │ │ │ │ │ ├── matrix_uint4x3.hpp
│ │ │ │ │ │ │ ├── matrix_uint4x3_sized.hpp
│ │ │ │ │ │ │ ├── matrix_uint4x4.hpp
│ │ │ │ │ │ │ ├── matrix_uint4x4_sized.hpp
│ │ │ │ │ │ │ ├── quaternion_common.hpp
│ │ │ │ │ │ │ ├── quaternion_common.inl
│ │ │ │ │ │ │ ├── quaternion_common_simd.inl
│ │ │ │ │ │ │ ├── quaternion_double.hpp
│ │ │ │ │ │ │ ├── quaternion_double_precision.hpp
│ │ │ │ │ │ │ ├── quaternion_exponential.hpp
│ │ │ │ │ │ │ ├── quaternion_exponential.inl
│ │ │ │ │ │ │ ├── quaternion_float.hpp
│ │ │ │ │ │ │ ├── quaternion_float_precision.hpp
│ │ │ │ │ │ │ ├── quaternion_geometric.hpp
│ │ │ │ │ │ │ ├── quaternion_geometric.inl
│ │ │ │ │ │ │ ├── quaternion_relational.hpp
│ │ │ │ │ │ │ ├── quaternion_relational.inl
│ │ │ │ │ │ │ ├── quaternion_transform.hpp
│ │ │ │ │ │ │ ├── quaternion_transform.inl
│ │ │ │ │ │ │ ├── quaternion_trigonometric.hpp
│ │ │ │ │ │ │ ├── quaternion_trigonometric.inl
│ │ │ │ │ │ │ ├── scalar_common.hpp
│ │ │ │ │ │ │ ├── scalar_common.inl
│ │ │ │ │ │ │ ├── scalar_constants.hpp
│ │ │ │ │ │ │ ├── scalar_constants.inl
│ │ │ │ │ │ │ ├── scalar_int_sized.hpp
│ │ │ │ │ │ │ ├── scalar_integer.hpp
│ │ │ │ │ │ │ ├── scalar_integer.inl
│ │ │ │ │ │ │ ├── scalar_packing.hpp
│ │ │ │ │ │ │ ├── scalar_packing.inl
│ │ │ │ │ │ │ ├── scalar_reciprocal.hpp
│ │ │ │ │ │ │ ├── scalar_reciprocal.inl
│ │ │ │ │ │ │ ├── scalar_relational.hpp
│ │ │ │ │ │ │ ├── scalar_relational.inl
│ │ │ │ │ │ │ ├── scalar_uint_sized.hpp
│ │ │ │ │ │ │ ├── scalar_ulp.hpp
│ │ │ │ │ │ │ ├── scalar_ulp.inl
│ │ │ │ │ │ │ ├── vector_bool1.hpp
│ │ │ │ │ │ │ ├── vector_bool1_precision.hpp
│ │ │ │ │ │ │ ├── vector_bool2.hpp
│ │ │ │ │ │ │ ├── vector_bool2_precision.hpp
│ │ │ │ │ │ │ ├── vector_bool3.hpp
│ │ │ │ │ │ │ ├── vector_bool3_precision.hpp
│ │ │ │ │ │ │ ├── vector_bool4.hpp
│ │ │ │ │ │ │ ├── vector_bool4_precision.hpp
│ │ │ │ │ │ │ ├── vector_common.hpp
│ │ │ │ │ │ │ ├── vector_common.inl
│ │ │ │ │ │ │ ├── vector_double1.hpp
│ │ │ │ │ │ │ ├── vector_double1_precision.hpp
│ │ │ │ │ │ │ ├── vector_double2.hpp
│ │ │ │ │ │ │ ├── vector_double2_precision.hpp
│ │ │ │ │ │ │ ├── vector_double3.hpp
│ │ │ │ │ │ │ ├── vector_double3_precision.hpp
│ │ │ │ │ │ │ ├── vector_double4.hpp
│ │ │ │ │ │ │ ├── vector_double4_precision.hpp
│ │ │ │ │ │ │ ├── vector_float1.hpp
│ │ │ │ │ │ │ ├── vector_float1_precision.hpp
│ │ │ │ │ │ │ ├── vector_float2.hpp
│ │ │ │ │ │ │ ├── vector_float2_precision.hpp
│ │ │ │ │ │ │ ├── vector_float3.hpp
│ │ │ │ │ │ │ ├── vector_float3_precision.hpp
│ │ │ │ │ │ │ ├── vector_float4.hpp
│ │ │ │ │ │ │ ├── vector_float4_precision.hpp
│ │ │ │ │ │ │ ├── vector_int1.hpp
│ │ │ │ │ │ │ ├── vector_int1_sized.hpp
│ │ │ │ │ │ │ ├── vector_int2.hpp
│ │ │ │ │ │ │ ├── vector_int2_sized.hpp
│ │ │ │ │ │ │ ├── vector_int3.hpp
│ │ │ │ │ │ │ ├── vector_int3_sized.hpp
│ │ │ │ │ │ │ ├── vector_int4.hpp
│ │ │ │ │ │ │ ├── vector_int4_sized.hpp
│ │ │ │ │ │ │ ├── vector_integer.hpp
│ │ │ │ │ │ │ ├── vector_integer.inl
│ │ │ │ │ │ │ ├── vector_packing.hpp
│ │ │ │ │ │ │ ├── vector_packing.inl
│ │ │ │ │ │ │ ├── vector_reciprocal.hpp
│ │ │ │ │ │ │ ├── vector_reciprocal.inl
│ │ │ │ │ │ │ ├── vector_relational.hpp
│ │ │ │ │ │ │ ├── vector_relational.inl
│ │ │ │ │ │ │ ├── vector_uint1.hpp
│ │ │ │ │ │ │ ├── vector_uint1_sized.hpp
│ │ │ │ │ │ │ ├── vector_uint2.hpp
│ │ │ │ │ │ │ ├── vector_uint2_sized.hpp
│ │ │ │ │ │ │ ├── vector_uint3.hpp
│ │ │ │ │ │ │ ├── vector_uint3_sized.hpp
│ │ │ │ │ │ │ ├── vector_uint4.hpp
│ │ │ │ │ │ │ ├── vector_uint4_sized.hpp
│ │ │ │ │ │ │ ├── vector_ulp.hpp
│ │ │ │ │ │ │ └── vector_ulp.inl
│ │ │ │ │ │ ├── ext.hpp
│ │ │ │ │ │ ├── fwd.hpp
│ │ │ │ │ │ ├── geometric.hpp
│ │ │ │ │ │ ├── glm.hpp
│ │ │ │ │ │ ├── gtc/
│ │ │ │ │ │ │ ├── bitfield.hpp
│ │ │ │ │ │ │ ├── bitfield.inl
│ │ │ │ │ │ │ ├── color_space.hpp
│ │ │ │ │ │ │ ├── color_space.inl
│ │ │ │ │ │ │ ├── constants.hpp
│ │ │ │ │ │ │ ├── constants.inl
│ │ │ │ │ │ │ ├── epsilon.hpp
│ │ │ │ │ │ │ ├── epsilon.inl
│ │ │ │ │ │ │ ├── integer.hpp
│ │ │ │ │ │ │ ├── integer.inl
│ │ │ │ │ │ │ ├── matrix_access.hpp
│ │ │ │ │ │ │ ├── matrix_access.inl
│ │ │ │ │ │ │ ├── matrix_integer.hpp
│ │ │ │ │ │ │ ├── matrix_inverse.hpp
│ │ │ │ │ │ │ ├── matrix_inverse.inl
│ │ │ │ │ │ │ ├── matrix_transform.hpp
│ │ │ │ │ │ │ ├── matrix_transform.inl
│ │ │ │ │ │ │ ├── noise.hpp
│ │ │ │ │ │ │ ├── noise.inl
│ │ │ │ │ │ │ ├── packing.hpp
│ │ │ │ │ │ │ ├── packing.inl
│ │ │ │ │ │ │ ├── quaternion.hpp
│ │ │ │ │ │ │ ├── quaternion.inl
│ │ │ │ │ │ │ ├── quaternion_simd.inl
│ │ │ │ │ │ │ ├── random.hpp
│ │ │ │ │ │ │ ├── random.inl
│ │ │ │ │ │ │ ├── reciprocal.hpp
│ │ │ │ │ │ │ ├── round.hpp
│ │ │ │ │ │ │ ├── round.inl
│ │ │ │ │ │ │ ├── type_aligned.hpp
│ │ │ │ │ │ │ ├── type_precision.hpp
│ │ │ │ │ │ │ ├── type_precision.inl
│ │ │ │ │ │ │ ├── type_ptr.hpp
│ │ │ │ │ │ │ ├── type_ptr.inl
│ │ │ │ │ │ │ ├── ulp.hpp
│ │ │ │ │ │ │ ├── ulp.inl
│ │ │ │ │ │ │ └── vec1.hpp
│ │ │ │ │ │ ├── gtx/
│ │ │ │ │ │ │ ├── associated_min_max.hpp
│ │ │ │ │ │ │ ├── associated_min_max.inl
│ │ │ │ │ │ │ ├── bit.hpp
│ │ │ │ │ │ │ ├── bit.inl
│ │ │ │ │ │ │ ├── closest_point.hpp
│ │ │ │ │ │ │ ├── closest_point.inl
│ │ │ │ │ │ │ ├── color_encoding.hpp
│ │ │ │ │ │ │ ├── color_encoding.inl
│ │ │ │ │ │ │ ├── color_space.hpp
│ │ │ │ │ │ │ ├── color_space.inl
│ │ │ │ │ │ │ ├── color_space_YCoCg.hpp
│ │ │ │ │ │ │ ├── color_space_YCoCg.inl
│ │ │ │ │ │ │ ├── common.hpp
│ │ │ │ │ │ │ ├── common.inl
│ │ │ │ │ │ │ ├── compatibility.hpp
│ │ │ │ │ │ │ ├── compatibility.inl
│ │ │ │ │ │ │ ├── component_wise.hpp
│ │ │ │ │ │ │ ├── component_wise.inl
│ │ │ │ │ │ │ ├── dual_quaternion.hpp
│ │ │ │ │ │ │ ├── dual_quaternion.inl
│ │ │ │ │ │ │ ├── easing.hpp
│ │ │ │ │ │ │ ├── easing.inl
│ │ │ │ │ │ │ ├── euler_angles.hpp
│ │ │ │ │ │ │ ├── euler_angles.inl
│ │ │ │ │ │ │ ├── extend.hpp
│ │ │ │ │ │ │ ├── extend.inl
│ │ │ │ │ │ │ ├── extended_min_max.hpp
│ │ │ │ │ │ │ ├── extended_min_max.inl
│ │ │ │ │ │ │ ├── exterior_product.hpp
│ │ │ │ │ │ │ ├── exterior_product.inl
│ │ │ │ │ │ │ ├── fast_exponential.hpp
│ │ │ │ │ │ │ ├── fast_exponential.inl
│ │ │ │ │ │ │ ├── fast_square_root.hpp
│ │ │ │ │ │ │ ├── fast_square_root.inl
│ │ │ │ │ │ │ ├── fast_trigonometry.hpp
│ │ │ │ │ │ │ ├── fast_trigonometry.inl
│ │ │ │ │ │ │ ├── float_notmalize.inl
│ │ │ │ │ │ │ ├── functions.hpp
│ │ │ │ │ │ │ ├── functions.inl
│ │ │ │ │ │ │ ├── gradient_paint.hpp
│ │ │ │ │ │ │ ├── gradient_paint.inl
│ │ │ │ │ │ │ ├── handed_coordinate_space.hpp
│ │ │ │ │ │ │ ├── handed_coordinate_space.inl
│ │ │ │ │ │ │ ├── hash.hpp
│ │ │ │ │ │ │ ├── hash.inl
│ │ │ │ │ │ │ ├── integer.hpp
│ │ │ │ │ │ │ ├── integer.inl
│ │ │ │ │ │ │ ├── intersect.hpp
│ │ │ │ │ │ │ ├── intersect.inl
│ │ │ │ │ │ │ ├── io.hpp
│ │ │ │ │ │ │ ├── io.inl
│ │ │ │ │ │ │ ├── log_base.hpp
│ │ │ │ │ │ │ ├── log_base.inl
│ │ │ │ │ │ │ ├── matrix_cross_product.hpp
│ │ │ │ │ │ │ ├── matrix_cross_product.inl
│ │ │ │ │ │ │ ├── matrix_decompose.hpp
│ │ │ │ │ │ │ ├── matrix_decompose.inl
│ │ │ │ │ │ │ ├── matrix_factorisation.hpp
│ │ │ │ │ │ │ ├── matrix_factorisation.inl
│ │ │ │ │ │ │ ├── matrix_interpolation.hpp
│ │ │ │ │ │ │ ├── matrix_interpolation.inl
│ │ │ │ │ │ │ ├── matrix_major_storage.hpp
│ │ │ │ │ │ │ ├── matrix_major_storage.inl
│ │ │ │ │ │ │ ├── matrix_operation.hpp
│ │ │ │ │ │ │ ├── matrix_operation.inl
│ │ │ │ │ │ │ ├── matrix_query.hpp
│ │ │ │ │ │ │ ├── matrix_query.inl
│ │ │ │ │ │ │ ├── matrix_transform_2d.hpp
│ │ │ │ │ │ │ ├── matrix_transform_2d.inl
│ │ │ │ │ │ │ ├── mixed_product.hpp
│ │ │ │ │ │ │ ├── mixed_product.inl
│ │ │ │ │ │ │ ├── norm.hpp
│ │ │ │ │ │ │ ├── norm.inl
│ │ │ │ │ │ │ ├── normal.hpp
│ │ │ │ │ │ │ ├── normal.inl
│ │ │ │ │ │ │ ├── normalize_dot.hpp
│ │ │ │ │ │ │ ├── normalize_dot.inl
│ │ │ │ │ │ │ ├── number_precision.hpp
│ │ │ │ │ │ │ ├── number_precision.inl
│ │ │ │ │ │ │ ├── optimum_pow.hpp
│ │ │ │ │ │ │ ├── optimum_pow.inl
│ │ │ │ │ │ │ ├── orthonormalize.hpp
│ │ │ │ │ │ │ ├── orthonormalize.inl
│ │ │ │ │ │ │ ├── pca.hpp
│ │ │ │ │ │ │ ├── pca.inl
│ │ │ │ │ │ │ ├── perpendicular.hpp
│ │ │ │ │ │ │ ├── perpendicular.inl
│ │ │ │ │ │ │ ├── polar_coordinates.hpp
│ │ │ │ │ │ │ ├── polar_coordinates.inl
│ │ │ │ │ │ │ ├── projection.hpp
│ │ │ │ │ │ │ ├── projection.inl
│ │ │ │ │ │ │ ├── quaternion.hpp
│ │ │ │ │ │ │ ├── quaternion.inl
│ │ │ │ │ │ │ ├── range.hpp
│ │ │ │ │ │ │ ├── raw_data.hpp
│ │ │ │ │ │ │ ├── raw_data.inl
│ │ │ │ │ │ │ ├── rotate_normalized_axis.hpp
│ │ │ │ │ │ │ ├── rotate_normalized_axis.inl
│ │ │ │ │ │ │ ├── rotate_vector.hpp
│ │ │ │ │ │ │ ├── rotate_vector.inl
│ │ │ │ │ │ │ ├── scalar_multiplication.hpp
│ │ │ │ │ │ │ ├── scalar_relational.hpp
│ │ │ │ │ │ │ ├── scalar_relational.inl
│ │ │ │ │ │ │ ├── spline.hpp
│ │ │ │ │ │ │ ├── spline.inl
│ │ │ │ │ │ │ ├── std_based_type.hpp
│ │ │ │ │ │ │ ├── std_based_type.inl
│ │ │ │ │ │ │ ├── string_cast.hpp
│ │ │ │ │ │ │ ├── string_cast.inl
│ │ │ │ │ │ │ ├── texture.hpp
│ │ │ │ │ │ │ ├── texture.inl
│ │ │ │ │ │ │ ├── transform.hpp
│ │ │ │ │ │ │ ├── transform.inl
│ │ │ │ │ │ │ ├── transform2.hpp
│ │ │ │ │ │ │ ├── transform2.inl
│ │ │ │ │ │ │ ├── type_aligned.hpp
│ │ │ │ │ │ │ ├── type_aligned.inl
│ │ │ │ │ │ │ ├── type_trait.hpp
│ │ │ │ │ │ │ ├── type_trait.inl
│ │ │ │ │ │ │ ├── vec_swizzle.hpp
│ │ │ │ │ │ │ ├── vector_angle.hpp
│ │ │ │ │ │ │ ├── vector_angle.inl
│ │ │ │ │ │ │ ├── vector_query.hpp
│ │ │ │ │ │ │ ├── vector_query.inl
│ │ │ │ │ │ │ ├── wrap.hpp
│ │ │ │ │ │ │ └── wrap.inl
│ │ │ │ │ │ ├── integer.hpp
│ │ │ │ │ │ ├── mat2x2.hpp
│ │ │ │ │ │ ├── mat2x3.hpp
│ │ │ │ │ │ ├── mat2x4.hpp
│ │ │ │ │ │ ├── mat3x2.hpp
│ │ │ │ │ │ ├── mat3x3.hpp
│ │ │ │ │ │ ├── mat3x4.hpp
│ │ │ │ │ │ ├── mat4x2.hpp
│ │ │ │ │ │ ├── mat4x3.hpp
│ │ │ │ │ │ ├── mat4x4.hpp
│ │ │ │ │ │ ├── matrix.hpp
│ │ │ │ │ │ ├── packing.hpp
│ │ │ │ │ │ ├── simd/
│ │ │ │ │ │ │ ├── common.h
│ │ │ │ │ │ │ ├── exponential.h
│ │ │ │ │ │ │ ├── geometric.h
│ │ │ │ │ │ │ ├── integer.h
│ │ │ │ │ │ │ ├── matrix.h
│ │ │ │ │ │ │ ├── neon.h
│ │ │ │ │ │ │ ├── packing.h
│ │ │ │ │ │ │ ├── platform.h
│ │ │ │ │ │ │ ├── trigonometric.h
│ │ │ │ │ │ │ └── vector_relational.h
│ │ │ │ │ │ ├── trigonometric.hpp
│ │ │ │ │ │ ├── vec2.hpp
│ │ │ │ │ │ ├── vec3.hpp
│ │ │ │ │ │ ├── vec4.hpp
│ │ │ │ │ │ └── vector_relational.hpp
│ │ │ │ │ ├── manual.md
│ │ │ │ │ ├── readme.md
│ │ │ │ │ ├── test/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── bug/
│ │ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ │ └── bug_ms_vec_static.cpp
│ │ │ │ │ │ ├── cmake/
│ │ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ │ └── test_find_glm.cpp
│ │ │ │ │ │ ├── core/
│ │ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ │ ├── core_cpp_constexpr.cpp
│ │ │ │ │ │ │ ├── core_cpp_defaulted_ctor.cpp
│ │ │ │ │ │ │ ├── core_force_aligned_gentypes.cpp
│ │ │ │ │ │ │ ├── core_force_arch_unknown.cpp
│ │ │ │ │ │ │ ├── core_force_compiler_unknown.cpp
│ │ │ │ │ │ │ ├── core_force_ctor_init.cpp
│ │ │ │ │ │ │ ├── core_force_cxx03.cpp
│ │ │ │ │ │ │ ├── core_force_cxx98.cpp
│ │ │ │ │ │ │ ├── core_force_cxx_unknown.cpp
│ │ │ │ │ │ │ ├── core_force_depth_zero_to_one.cpp
│ │ │ │ │ │ │ ├── core_force_explicit_ctor.cpp
│ │ │ │ │ │ │ ├── core_force_inline.cpp
│ │ │ │ │ │ │ ├── core_force_left_handed.cpp
│ │ │ │ │ │ │ ├── core_force_platform_unknown.cpp
│ │ │ │ │ │ │ ├── core_force_pure.cpp
│ │ │ │ │ │ │ ├── core_force_quat_xyzw.cpp
│ │ │ │ │ │ │ ├── core_force_size_t_length.cpp
│ │ │ │ │ │ │ ├── core_force_unrestricted_gentype.cpp
│ │ │ │ │ │ │ ├── core_force_xyzw_only.cpp
│ │ │ │ │ │ │ ├── core_func_common.cpp
│ │ │ │ │ │ │ ├── core_func_exponential.cpp
│ │ │ │ │ │ │ ├── core_func_geometric.cpp
│ │ │ │ │ │ │ ├── core_func_integer.cpp
│ │ │ │ │ │ │ ├── core_func_integer_bit_count.cpp
│ │ │ │ │ │ │ ├── core_func_integer_find_lsb.cpp
│ │ │ │ │ │ │ ├── core_func_integer_find_msb.cpp
│ │ │ │ │ │ │ ├── core_func_matrix.cpp
│ │ │ │ │ │ │ ├── core_func_noise.cpp
│ │ │ │ │ │ │ ├── core_func_packing.cpp
│ │ │ │ │ │ │ ├── core_func_swizzle.cpp
│ │ │ │ │ │ │ ├── core_func_trigonometric.cpp
│ │ │ │ │ │ │ ├── core_func_vector_relational.cpp
│ │ │ │ │ │ │ ├── core_setup_force_cxx98.cpp
│ │ │ │ │ │ │ ├── core_setup_force_size_t_length.cpp
│ │ │ │ │ │ │ ├── core_setup_message.cpp
│ │ │ │ │ │ │ ├── core_setup_platform_unknown.cpp
│ │ │ │ │ │ │ ├── core_setup_precision.cpp
│ │ │ │ │ │ │ ├── core_type_aligned.cpp
│ │ │ │ │ │ │ ├── core_type_cast.cpp
│ │ │ │ │ │ │ ├── core_type_ctor.cpp
│ │ │ │ │ │ │ ├── core_type_int.cpp
│ │ │ │ │ │ │ ├── core_type_length.cpp
│ │ │ │ │ │ │ ├── core_type_mat2x2.cpp
│ │ │ │ │ │ │ ├── core_type_mat2x3.cpp
│ │ │ │ │ │ │ ├── core_type_mat2x4.cpp
│ │ │ │ │ │ │ ├── core_type_mat3x2.cpp
│ │ │ │ │ │ │ ├── core_type_mat3x3.cpp
│ │ │ │ │ │ │ ├── core_type_mat3x4.cpp
│ │ │ │ │ │ │ ├── core_type_mat4x2.cpp
│ │ │ │ │ │ │ ├── core_type_mat4x3.cpp
│ │ │ │ │ │ │ ├── core_type_mat4x4.cpp
│ │ │ │ │ │ │ ├── core_type_vec1.cpp
│ │ │ │ │ │ │ ├── core_type_vec2.cpp
│ │ │ │ │ │ │ ├── core_type_vec3.cpp
│ │ │ │ │ │ │ └── core_type_vec4.cpp
│ │ │ │ │ │ ├── ext/
│ │ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ │ ├── ext_matrix_clip_space.cpp
│ │ │ │ │ │ │ ├── ext_matrix_common.cpp
│ │ │ │ │ │ │ ├── ext_matrix_int2x2_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_int2x3_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_int2x4_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_int3x2_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_int3x3_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_int3x4_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_int4x2_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_int4x3_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_int4x4_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_integer.cpp
│ │ │ │ │ │ │ ├── ext_matrix_projection.cpp
│ │ │ │ │ │ │ ├── ext_matrix_relational.cpp
│ │ │ │ │ │ │ ├── ext_matrix_transform.cpp
│ │ │ │ │ │ │ ├── ext_matrix_uint2x2_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_uint2x3_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_uint2x4_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_uint3x2_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_uint3x3_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_uint3x4_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_uint4x2_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_uint4x3_sized.cpp
│ │ │ │ │ │ │ ├── ext_matrix_uint4x4_sized.cpp
│ │ │ │ │ │ │ ├── ext_quaternion_common.cpp
│ │ │ │ │ │ │ ├── ext_quaternion_exponential.cpp
│ │ │ │ │ │ │ ├── ext_quaternion_geometric.cpp
│ │ │ │ │ │ │ ├── ext_quaternion_relational.cpp
│ │ │ │ │ │ │ ├── ext_quaternion_transform.cpp
│ │ │ │ │ │ │ ├── ext_quaternion_trigonometric.cpp
│ │ │ │ │ │ │ ├── ext_quaternion_type.cpp
│ │ │ │ │ │ │ ├── ext_scalar_common.cpp
│ │ │ │ │ │ │ ├── ext_scalar_constants.cpp
│ │ │ │ │ │ │ ├── ext_scalar_int_sized.cpp
│ │ │ │ │ │ │ ├── ext_scalar_integer.cpp
│ │ │ │ │ │ │ ├── ext_scalar_packing.cpp
│ │ │ │ │ │ │ ├── ext_scalar_reciprocal.cpp
│ │ │ │ │ │ │ ├── ext_scalar_relational.cpp
│ │ │ │ │ │ │ ├── ext_scalar_uint_sized.cpp
│ │ │ │ │ │ │ ├── ext_scalar_ulp.cpp
│ │ │ │ │ │ │ ├── ext_vec1.cpp
│ │ │ │ │ │ │ ├── ext_vector_bool1.cpp
│ │ │ │ │ │ │ ├── ext_vector_common.cpp
│ │ │ │ │ │ │ ├── ext_vector_iec559.cpp
│ │ │ │ │ │ │ ├── ext_vector_int1_sized.cpp
│ │ │ │ │ │ │ ├── ext_vector_int2_sized.cpp
│ │ │ │ │ │ │ ├── ext_vector_int3_sized.cpp
│ │ │ │ │ │ │ ├── ext_vector_int4_sized.cpp
│ │ │ │ │ │ │ ├── ext_vector_integer.cpp
│ │ │ │ │ │ │ ├── ext_vector_integer_sized.cpp
│ │ │ │ │ │ │ ├── ext_vector_packing.cpp
│ │ │ │ │ │ │ ├── ext_vector_reciprocal.cpp
│ │ │ │ │ │ │ ├── ext_vector_relational.cpp
│ │ │ │ │ │ │ ├── ext_vector_uint1_sized.cpp
│ │ │ │ │ │ │ ├── ext_vector_uint2_sized.cpp
│ │ │ │ │ │ │ ├── ext_vector_uint3_sized.cpp
│ │ │ │ │ │ │ ├── ext_vector_uint4_sized.cpp
│ │ │ │ │ │ │ └── ext_vector_ulp.cpp
│ │ │ │ │ │ ├── glm.cppcheck
│ │ │ │ │ │ ├── gtc/
│ │ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ │ ├── gtc_bitfield.cpp
│ │ │ │ │ │ │ ├── gtc_color_space.cpp
│ │ │ │ │ │ │ ├── gtc_constants.cpp
│ │ │ │ │ │ │ ├── gtc_epsilon.cpp
│ │ │ │ │ │ │ ├── gtc_integer.cpp
│ │ │ │ │ │ │ ├── gtc_matrix_access.cpp
│ │ │ │ │ │ │ ├── gtc_matrix_integer.cpp
│ │ │ │ │ │ │ ├── gtc_matrix_inverse.cpp
│ │ │ │ │ │ │ ├── gtc_matrix_transform.cpp
│ │ │ │ │ │ │ ├── gtc_noise.cpp
│ │ │ │ │ │ │ ├── gtc_packing.cpp
│ │ │ │ │ │ │ ├── gtc_quaternion.cpp
│ │ │ │ │ │ │ ├── gtc_random.cpp
│ │ │ │ │ │ │ ├── gtc_reciprocal.cpp
│ │ │ │ │ │ │ ├── gtc_round.cpp
│ │ │ │ │ │ │ ├── gtc_type_aligned.cpp
│ │ │ │ │ │ │ ├── gtc_type_precision.cpp
│ │ │ │ │ │ │ ├── gtc_type_ptr.cpp
│ │ │ │ │ │ │ ├── gtc_ulp.cpp
│ │ │ │ │ │ │ ├── gtc_user_defined_types.cpp
│ │ │ │ │ │ │ └── gtc_vec1.cpp
│ │ │ │ │ │ ├── gtx/
│ │ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ │ ├── gtx.cpp
│ │ │ │ │ │ │ ├── gtx_associated_min_max.cpp
│ │ │ │ │ │ │ ├── gtx_closest_point.cpp
│ │ │ │ │ │ │ ├── gtx_color_encoding.cpp
│ │ │ │ │ │ │ ├── gtx_color_space.cpp
│ │ │ │ │ │ │ ├── gtx_color_space_YCoCg.cpp
│ │ │ │ │ │ │ ├── gtx_common.cpp
│ │ │ │ │ │ │ ├── gtx_compatibility.cpp
│ │ │ │ │ │ │ ├── gtx_component_wise.cpp
│ │ │ │ │ │ │ ├── gtx_dual_quaternion.cpp
│ │ │ │ │ │ │ ├── gtx_easing.cpp
│ │ │ │ │ │ │ ├── gtx_euler_angle.cpp
│ │ │ │ │ │ │ ├── gtx_extend.cpp
│ │ │ │ │ │ │ ├── gtx_extended_min_max.cpp
│ │ │ │ │ │ │ ├── gtx_extented_min_max.cpp
│ │ │ │ │ │ │ ├── gtx_exterior_product.cpp
│ │ │ │ │ │ │ ├── gtx_fast_exponential.cpp
│ │ │ │ │ │ │ ├── gtx_fast_square_root.cpp
│ │ │ │ │ │ │ ├── gtx_fast_trigonometry.cpp
│ │ │ │ │ │ │ ├── gtx_functions.cpp
│ │ │ │ │ │ │ ├── gtx_gradient_paint.cpp
│ │ │ │ │ │ │ ├── gtx_handed_coordinate_space.cpp
│ │ │ │ │ │ │ ├── gtx_hash.cpp
│ │ │ │ │ │ │ ├── gtx_int_10_10_10_2.cpp
│ │ │ │ │ │ │ ├── gtx_integer.cpp
│ │ │ │ │ │ │ ├── gtx_intersect.cpp
│ │ │ │ │ │ │ ├── gtx_io.cpp
│ │ │ │ │ │ │ ├── gtx_load.cpp
│ │ │ │ │ │ │ ├── gtx_log_base.cpp
│ │ │ │ │ │ │ ├── gtx_matrix_cross_product.cpp
│ │ │ │ │ │ │ ├── gtx_matrix_decompose.cpp
│ │ │ │ │ │ │ ├── gtx_matrix_factorisation.cpp
│ │ │ │ │ │ │ ├── gtx_matrix_interpolation.cpp
│ │ │ │ │ │ │ ├── gtx_matrix_major_storage.cpp
│ │ │ │ │ │ │ ├── gtx_matrix_operation.cpp
│ │ │ │ │ │ │ ├── gtx_matrix_query.cpp
│ │ │ │ │ │ │ ├── gtx_matrix_transform_2d.cpp
│ │ │ │ │ │ │ ├── gtx_mixed_product.cpp
│ │ │ │ │ │ │ ├── gtx_norm.cpp
│ │ │ │ │ │ │ ├── gtx_normal.cpp
│ │ │ │ │ │ │ ├── gtx_normalize_dot.cpp
│ │ │ │ │ │ │ ├── gtx_number_precision.cpp
│ │ │ │ │ │ │ ├── gtx_optimum_pow.cpp
│ │ │ │ │ │ │ ├── gtx_orthonormalize.cpp
│ │ │ │ │ │ │ ├── gtx_pca.cpp
│ │ │ │ │ │ │ ├── gtx_perpendicular.cpp
│ │ │ │ │ │ │ ├── gtx_polar_coordinates.cpp
│ │ │ │ │ │ │ ├── gtx_projection.cpp
│ │ │ │ │ │ │ ├── gtx_quaternion.cpp
│ │ │ │ │ │ │ ├── gtx_random.cpp
│ │ │ │ │ │ │ ├── gtx_range.cpp
│ │ │ │ │ │ │ ├── gtx_rotate_normalized_axis.cpp
│ │ │ │ │ │ │ ├── gtx_rotate_vector.cpp
│ │ │ │ │ │ │ ├── gtx_scalar_multiplication.cpp
│ │ │ │ │ │ │ ├── gtx_scalar_relational.cpp
│ │ │ │ │ │ │ ├── gtx_simd_mat4.cpp
│ │ │ │ │ │ │ ├── gtx_simd_vec4.cpp
│ │ │ │ │ │ │ ├── gtx_spline.cpp
│ │ │ │ │ │ │ ├── gtx_string_cast.cpp
│ │ │ │ │ │ │ ├── gtx_texture.cpp
│ │ │ │ │ │ │ ├── gtx_type_aligned.cpp
│ │ │ │ │ │ │ ├── gtx_type_trait.cpp
│ │ │ │ │ │ │ ├── gtx_vec_swizzle.cpp
│ │ │ │ │ │ │ ├── gtx_vector_angle.cpp
│ │ │ │ │ │ │ ├── gtx_vector_query.cpp
│ │ │ │ │ │ │ └── gtx_wrap.cpp
│ │ │ │ │ │ └── perf/
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── perf_matrix_div.cpp
│ │ │ │ │ │ ├── perf_matrix_inverse.cpp
│ │ │ │ │ │ ├── perf_matrix_mul.cpp
│ │ │ │ │ │ ├── perf_matrix_mul_vector.cpp
│ │ │ │ │ │ ├── perf_matrix_transpose.cpp
│ │ │ │ │ │ └── perf_vector_mul_matrix.cpp
│ │ │ │ │ └── util/
│ │ │ │ │ ├── autoexp.txt
│ │ │ │ │ └── glm.natvis
│ │ │ │ └── stbi_image_write.h
│ │ │ └── simple-knn/
│ │ │ ├── ext.cpp
│ │ │ ├── setup.py
│ │ │ ├── simple_knn/
│ │ │ │ └── .gitkeep
│ │ │ ├── simple_knn.cu
│ │ │ ├── simple_knn.h
│ │ │ ├── spatial.cu
│ │ │ └── spatial.h
│ │ ├── train.py
│ │ └── utils/
│ │ ├── camera_utils.py
│ │ ├── general_utils.py
│ │ ├── graphics_utils.py
│ │ ├── image_utils.py
│ │ ├── loss_utils.py
│ │ ├── sh_utils.py
│ │ └── system_utils.py
│ ├── gs_simulation.py
│ ├── material_field.py
│ ├── mpm_solver_warp/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── engine_utils.py
│ │ ├── mpm_solver_warp.py
│ │ ├── mpm_utils.py
│ │ ├── run_sand.py
│ │ ├── sand_column.h5
│ │ └── warp_utils.py
│ ├── particle_filling/
│ │ └── filling.py
│ ├── requirements.txt
│ └── utils/
│ ├── camera_view_utils.py
│ ├── decode_param.py
│ ├── render_utils.py
│ └── transformation_utils.py
├── Wavelet-Generation/
│ ├── .gitignore
│ ├── .gitmodules
│ ├── data_utils/
│ │ ├── collect_stats.py
│ │ ├── inspect_ranges.py
│ │ └── my_data.py
│ ├── models/
│ │ ├── module/
│ │ │ ├── diffusion_network.py
│ │ │ ├── dwt.py
│ │ │ ├── dwt_utils.py
│ │ │ ├── fp16_util.py
│ │ │ ├── gaussian_diffusion.py
│ │ │ ├── nn.py
│ │ │ └── resample.py
│ │ ├── network.py
│ │ └── network_gen.py
│ ├── trainer/
│ │ ├── inference_combined.py
│ │ ├── training_continuous_mse.py
│ │ └── training_discrete.py
│ └── utils/
│ ├── debugger.py
│ ├── meter.py
│ └── other_utils.py
├── f3rm/
│ ├── .github/
│ │ └── ISSUE_TEMPLATE/
│ │ └── bug_report.md
│ ├── .gitignore
│ ├── LICENSE
│ ├── README.md
│ ├── f3rm/
│ │ ├── __init__.py
│ │ ├── f3rm_config.py
│ │ ├── feature_datamanager.py
│ │ ├── feature_field.py
│ │ ├── features/
│ │ │ ├── __init__.py
│ │ │ ├── clip/
│ │ │ │ ├── README.md
│ │ │ │ ├── __init__.py
│ │ │ │ ├── clip.py
│ │ │ │ ├── interpolate.py
│ │ │ │ ├── model.py
│ │ │ │ └── simple_tokenizer.py
│ │ │ ├── clip_extract.py
│ │ │ ├── clip_sam_extract.py
│ │ │ ├── dino/
│ │ │ │ ├── __init__.py
│ │ │ │ └── dino_vit_extractor.py
│ │ │ └── dino_extract.py
│ │ ├── model.py
│ │ ├── pca_colormap.py
│ │ └── renderer.py
│ ├── f3rm_robot/
│ │ ├── README.md
│ │ ├── __init__.py
│ │ ├── args.py
│ │ ├── assets/
│ │ │ ├── __init__.py
│ │ │ ├── panda_gripper_visual.obj
│ │ │ └── tasks/
│ │ │ ├── caterpillar_ear.pt
│ │ │ ├── mug_handle.pt
│ │ │ ├── mug_lip.pt
│ │ │ ├── rack_place.pt
│ │ │ └── screwdriver_handle.pt
│ │ ├── collision.py
│ │ ├── examples/
│ │ │ ├── __init__.py
│ │ │ └── generate_task.py
│ │ ├── field_adapter.py
│ │ ├── initial_proposals.py
│ │ ├── load.py
│ │ ├── optimize.py
│ │ ├── optimize_nerfacto.py
│ │ ├── task.py
│ │ ├── utils.py
│ │ └── visualizer.py
│ ├── install.sh
│ ├── pyproject.toml
│ ├── saved_renderers.py
│ └── setup.py
├── nerfstudio/
│ ├── nerfstudio/
│ │ ├── __init__.py
│ │ ├── cameras/
│ │ │ ├── __init__.py
│ │ │ ├── camera_optimizers.py
│ │ │ ├── camera_paths.py
│ │ │ ├── camera_utils.py
│ │ │ ├── cameras.py
│ │ │ ├── lie_groups.py
│ │ │ └── rays.py
│ │ ├── configs/
│ │ │ ├── __init__.py
│ │ │ ├── base_config.py
│ │ │ ├── config_utils.py
│ │ │ ├── dataparser_configs.py
│ │ │ ├── experiment_config.py
│ │ │ ├── external_methods.py
│ │ │ └── method_configs.py
│ │ ├── data/
│ │ │ ├── __init__.py
│ │ │ ├── datamanagers/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── base_datamanager.py
│ │ │ │ ├── full_images_datamanager.py
│ │ │ │ ├── parallel_datamanager.py
│ │ │ │ └── random_cameras_datamanager.py
│ │ │ ├── dataparsers/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── arkitscenes_dataparser.py
│ │ │ │ ├── base_dataparser.py
│ │ │ │ ├── blender_dataparser.py
│ │ │ │ ├── colmap_dataparser.py
│ │ │ │ ├── dnerf_dataparser.py
│ │ │ │ ├── dycheck_dataparser.py
│ │ │ │ ├── instant_ngp_dataparser.py
│ │ │ │ ├── minimal_dataparser.py
│ │ │ │ ├── nerfosr_dataparser.py
│ │ │ │ ├── nerfstudio_dataparser.py
│ │ │ │ ├── nuscenes_dataparser.py
│ │ │ │ ├── phototourism_dataparser.py
│ │ │ │ ├── scannet_dataparser.py
│ │ │ │ ├── scannetpp_dataparser.py
│ │ │ │ ├── sdfstudio_dataparser.py
│ │ │ │ └── sitcoms3d_dataparser.py
│ │ │ ├── datasets/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── base_dataset.py
│ │ │ │ ├── depth_dataset.py
│ │ │ │ ├── sdf_dataset.py
│ │ │ │ └── semantic_dataset.py
│ │ │ ├── pixel_samplers.py
│ │ │ ├── scene_box.py
│ │ │ └── utils/
│ │ │ ├── __init__.py
│ │ │ ├── colmap_parsing_utils.py
│ │ │ ├── data_utils.py
│ │ │ ├── dataloaders.py
│ │ │ ├── dataparsers_utils.py
│ │ │ ├── nerfstudio_collate.py
│ │ │ └── pixel_sampling_utils.py
│ │ ├── engine/
│ │ │ ├── __init__.py
│ │ │ ├── callbacks.py
│ │ │ ├── optimizers.py
│ │ │ ├── schedulers.py
│ │ │ └── trainer.py
│ │ ├── exporter/
│ │ │ ├── __init__.py
│ │ │ ├── exporter_utils.py
│ │ │ ├── marching_cubes.py
│ │ │ ├── texture_utils.py
│ │ │ └── tsdf_utils.py
│ │ ├── field_components/
│ │ │ ├── __init__.py
│ │ │ ├── activations.py
│ │ │ ├── base_field_component.py
│ │ │ ├── embedding.py
│ │ │ ├── encodings.py
│ │ │ ├── field_heads.py
│ │ │ ├── mlp.py
│ │ │ ├── spatial_distortions.py
│ │ │ └── temporal_distortions.py
│ │ ├── fields/
│ │ │ ├── __init__.py
│ │ │ ├── base_field.py
│ │ │ ├── density_fields.py
│ │ │ ├── generfacto_field.py
│ │ │ ├── nerfacto_field.py
│ │ │ ├── nerfw_field.py
│ │ │ ├── sdf_field.py
│ │ │ ├── semantic_nerf_field.py
│ │ │ ├── tensorf_field.py
│ │ │ └── vanilla_nerf_field.py
│ │ ├── generative/
│ │ │ ├── __init__.py
│ │ │ ├── deepfloyd.py
│ │ │ ├── positional_text_embeddings.py
│ │ │ └── stable_diffusion.py
│ │ ├── model_components/
│ │ │ ├── __init__.py
│ │ │ ├── lib_bilagrid.py
│ │ │ ├── losses.py
│ │ │ ├── ray_generators.py
│ │ │ ├── ray_samplers.py
│ │ │ ├── renderers.py
│ │ │ ├── scene_colliders.py
│ │ │ └── shaders.py
│ │ ├── models/
│ │ │ ├── __init__.py
│ │ │ ├── base_model.py
│ │ │ ├── base_surface_model.py
│ │ │ ├── depth_nerfacto.py
│ │ │ ├── generfacto.py
│ │ │ ├── instant_ngp.py
│ │ │ ├── mipnerf.py
│ │ │ ├── nerfacto.py
│ │ │ ├── neus.py
│ │ │ ├── neus_facto.py
│ │ │ ├── semantic_nerfw.py
│ │ │ ├── splatfacto.py
│ │ │ ├── tensorf.py
│ │ │ └── vanilla_nerf.py
│ │ ├── pipelines/
│ │ │ ├── __init__.py
│ │ │ ├── base_pipeline.py
│ │ │ └── dynamic_batch.py
│ │ ├── plugins/
│ │ │ ├── __init__.py
│ │ │ ├── registry.py
│ │ │ ├── registry_dataparser.py
│ │ │ └── types.py
│ │ ├── process_data/
│ │ │ ├── __init__.py
│ │ │ ├── base_converter_to_nerfstudio_dataset.py
│ │ │ ├── colmap_converter_to_nerfstudio_dataset.py
│ │ │ ├── colmap_utils.py
│ │ │ ├── equirect_utils.py
│ │ │ ├── hloc_utils.py
│ │ │ ├── images_to_nerfstudio_dataset.py
│ │ │ ├── metashape_utils.py
│ │ │ ├── odm_utils.py
│ │ │ ├── polycam_utils.py
│ │ │ ├── process_data_utils.py
│ │ │ ├── realitycapture_utils.py
│ │ │ ├── record3d_utils.py
│ │ │ └── video_to_nerfstudio_dataset.py
│ │ ├── py.typed
│ │ ├── scripts/
│ │ │ ├── __init__.py
│ │ │ ├── blender/
│ │ │ │ ├── __init__.py
│ │ │ │ └── nerfstudio_blender.py
│ │ │ ├── completions/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── install.py
│ │ │ │ ├── setup.bash
│ │ │ │ └── setup.zsh
│ │ │ ├── datasets/
│ │ │ │ ├── process_nuscenes_masks.py
│ │ │ │ └── process_project_aria.py
│ │ │ ├── docs/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── add_nb_tags.py
│ │ │ │ └── build_docs.py
│ │ │ ├── downloads/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── download_data.py
│ │ │ │ ├── eyeful_tower.py
│ │ │ │ └── utils.py
│ │ │ ├── eval.py
│ │ │ ├── exporter.py
│ │ │ ├── github/
│ │ │ │ ├── __init__.py
│ │ │ │ └── run_actions.py
│ │ │ ├── process_data.py
│ │ │ ├── render.py
│ │ │ ├── texture.py
│ │ │ ├── train.py
│ │ │ └── viewer/
│ │ │ ├── __init__.py
│ │ │ ├── run_viewer.py
│ │ │ └── sync_viser_message_defs.py
│ │ ├── utils/
│ │ │ ├── __init__.py
│ │ │ ├── colormaps.py
│ │ │ ├── colors.py
│ │ │ ├── comms.py
│ │ │ ├── decorators.py
│ │ │ ├── eval_utils.py
│ │ │ ├── external.py
│ │ │ ├── install_checks.py
│ │ │ ├── io.py
│ │ │ ├── math.py
│ │ │ ├── misc.py
│ │ │ ├── plotly_utils.py
│ │ │ ├── poses.py
│ │ │ ├── printing.py
│ │ │ ├── profiler.py
│ │ │ ├── rich_utils.py
│ │ │ ├── scripts.py
│ │ │ ├── tensor_dataclass.py
│ │ │ └── writer.py
│ │ ├── viewer/
│ │ │ ├── __init__.py
│ │ │ ├── control_panel.py
│ │ │ ├── export_panel.py
│ │ │ ├── render_panel.py
│ │ │ ├── render_state_machine.py
│ │ │ ├── server/
│ │ │ │ ├── __init__.py
│ │ │ │ └── viewer_elements.py
│ │ │ ├── utils.py
│ │ │ ├── viewer.py
│ │ │ └── viewer_elements.py
│ │ └── viewer_legacy/
│ │ ├── __init__.py
│ │ ├── app/
│ │ │ ├── package.json
│ │ │ ├── public/
│ │ │ │ └── manifest.json
│ │ │ ├── run_deploy.py
│ │ │ ├── src/
│ │ │ │ └── themes/
│ │ │ │ └── leva_theme.json
│ │ │ └── tsconfig.json
│ │ ├── server/
│ │ │ ├── __init__.py
│ │ │ ├── control_panel.py
│ │ │ ├── gui_utils.py
│ │ │ ├── path.py
│ │ │ ├── render_state_machine.py
│ │ │ ├── state/
│ │ │ │ ├── node.py
│ │ │ │ └── state_node.py
│ │ │ ├── utils.py
│ │ │ ├── viewer_elements.py
│ │ │ ├── viewer_state.py
│ │ │ └── viewer_utils.py
│ │ └── viser/
│ │ ├── __init__.py
│ │ ├── gui.py
│ │ ├── message_api.py
│ │ ├── messages.py
│ │ └── server.py
│ └── pyproject.toml
└── vlmx/
├── .gitignore
├── README.md
├── quickstart.ipynb
├── setup.py
└── vlmx/
├── __init__.py
├── agent.py
├── artifact.py
├── context_agent.py
├── multimodal_incontext_agent.py
├── prompt_utils.py
├── tool_use_agent.py
└── utils.py
Showing preview only (675K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (6851 symbols across 987 files)
FILE: data_curation/download_objaverse.py
function main (line 14) | def main(cfg: DictConfig) -> None:
FILE: data_curation/manual_data_filtering_correction.py
function find_image_path (line 61) | def find_image_path(obj_id, render_base_dir, save_folder):
function display_image_grid (line 86) | def display_image_grid(items, flip_label, flip_prefix, render_base_dir, ...
function main (line 151) | def main(cfg: DictConfig):
FILE: data_curation/manual_sim_validation.py
function find_video_path (line 25) | def find_video_path(obj_id, save_folder, sample_id, grid_size):
function display_video_grid (line 41) | def display_video_grid(items, flip_label, flip_prefix, columns_per_row, ...
function main (line 78) | def main(cfg: DictConfig):
FILE: data_curation/objaverse_selection.py
function main (line 14) | def main(cfg: DictConfig) -> None:
FILE: data_curation/render_blender.py
function enable_cuda_devices (line 112) | def enable_cuda_devices():
function bounds (line 153) | def bounds(obj, local=False):
function get_3x4_RT_matrix_from_blender (line 181) | def get_3x4_RT_matrix_from_blender(cam):
function calcBoundingBox (line 255) | def calcBoundingBox(mesh_objs):
function get_3x4_RT_matrix_from_blender (line 376) | def get_3x4_RT_matrix_from_blender(cam):
function get_calibration_matrix_K_from_blender (line 410) | def get_calibration_matrix_K_from_blender(camd):
function look_at (line 445) | def look_at(obj, target, roll=0):
function sphere_renders (line 476) | def sphere_renders(
function random_sample_sphere (line 498) | def random_sample_sphere(
FILE: data_curation/render_objaverse_classes.py
function render_object (line 12) | def render_object(args):
function main (line 29) | def main(cfg: DictConfig) -> None:
FILE: pipeline.py
function download_assets (line 29) | def download_assets(cfg: DictConfig) -> None:
function render_blender_images (line 35) | def render_blender_images(cfg: DictConfig, paths: dict) -> str:
function train_distilled_clip_nerf (line 84) | def train_distilled_clip_nerf(cfg: DictConfig, blender_output_dir: str,
function train_gaussian_splatting (line 135) | def train_gaussian_splatting(cfg: DictConfig, blender_output_dir: str,
function generate_voxels (line 154) | def generate_voxels(cfg: DictConfig, config_path: str, paths: dict) -> str:
function run_physics_simulation (line 188) | def run_physics_simulation(cfg: DictConfig, sample_output_dir: str,
function run_vlm_segmentation (line 247) | def run_vlm_segmentation(cfg: DictConfig, paths: dict) -> None:
function run_vlm_viz_seg_candidates (line 290) | def run_vlm_viz_seg_candidates(cfg: DictConfig, paths: dict) -> None:
function run_vlm_seg_critic (line 339) | def run_vlm_seg_critic(cfg: DictConfig, paths: dict) -> None:
function run_vlm_phys_sampler (line 374) | def run_vlm_phys_sampler(cfg: DictConfig, paths: dict) -> None:
function run_vlm_parse_seg_critic (line 407) | def run_vlm_parse_seg_critic(cfg: DictConfig, paths: dict) -> None:
function main (line 439) | def main(cfg: DictConfig) -> None:
FILE: pixie/blender/apply_feature_colors.py
function str2bool (line 91) | def str2bool(v: str | bool) -> bool:
function parse_argv (line 98) | def parse_argv() -> argparse.Namespace:
function ensure_dir (line 314) | def ensure_dir(p: str | Path) -> Path:
function clear_scene (line 325) | def clear_scene():
function scene_bbox (line 338) | def scene_bbox(objs: List[bpy.types.Object]) -> Tuple[Vector, Vector]:
function make_blended_material (line 351) | def make_blended_material(mesh_objs,
function normalize_objects (line 501) | def normalize_objects(objs: list[bpy.types.Object], scene_scale: float =...
function join_meshes (line 549) | def join_meshes(objs: List[bpy.types.Object]):
function voxel_remesh (line 579) | def voxel_remesh(ob: bpy.types.Object, size=0.02, adaptivity=0.0):
function load_semantic_ply (line 610) | def load_semantic_ply(ply_path, normalize=True, is_dreamphysics=False):
function _lerp (line 683) | def _lerp(a, b, t):
function _sigmoid (line 688) | def _sigmoid(x, k=8.0):
function builtin_colormap (line 695) | def builtin_colormap(t_norm: float,
function load_clip_ply (line 725) | def load_clip_ply(ply_path: str | Path) -> Tuple[np.ndarray, np.ndarray]:
function build_kdtree (line 737) | def build_kdtree(pts: np.ndarray) -> kdtree.KDTree:
function paint_mesh_with_clip (line 745) | def paint_mesh_with_clip(
function paint_mesh_with_feature (line 797) | def paint_mesh_with_feature(mesh_objs,
function distinct_hsv_palette (line 940) | def distinct_hsv_palette(n, seed=42):
function get_color_for_part_label (line 967) | def get_color_for_part_label(part_label: int,
function centre_and_scale (line 991) | def centre_and_scale(scene, mesh_objs, scene_scale=1.0):
function make_glossy_vcol (line 1014) | def make_glossy_vcol(name="ClipPCA_Glossy"):
function render_semantic_glb (line 1035) | def render_semantic_glb(semantic_glb_path,
function process_single_object (line 1087) | def process_single_object(glb_path: Path,
function main (line 1383) | def main():
FILE: pixie/blender/generate_blendernerf_data.py
function enable_cuda_devices (line 18) | def enable_cuda_devices():
function get_default_output_dir (line 52) | def get_default_output_dir(format_type):
function sample_point_on_sphere (line 145) | def sample_point_on_sphere(radius: float) -> Tuple[float, float, float]:
function add_lighting (line 156) | def add_lighting() -> None:
function reset_scene (line 211) | def reset_scene() -> None:
function load_object (line 232) | def load_object(obj_path: str) -> None:
function scene_bbox (line 243) | def scene_bbox(single_obj=None, ignore_matrix=False):
function scene_root_objects (line 259) | def scene_root_objects():
function scene_meshes (line 264) | def scene_meshes():
function normalize_scene (line 269) | def normalize_scene():
function setup_manual_camera (line 285) | def setup_manual_camera():
function render_with_blendernerf (line 297) | def render_with_blendernerf(object_uid: str) -> None:
function download_object (line 368) | def download_object(object_url: str) -> str:
function process_object (line 383) | def process_object(obj_path: str) -> None:
FILE: pixie/blender/render_glb.py
function enable_cuda_devices (line 16) | def enable_cuda_devices():
function _srgb_to_linear (line 44) | def _srgb_to_linear(c: float) -> float:
function parse_color (line 51) | def parse_color(s: str | tuple):
function transforms_json (line 103) | def transforms_json(obj_id: str, data_dir: str = None) -> Path:
function _ensure_shadow_cast (line 111) | def _ensure_shadow_cast(mat: bpy.types.Material):
function set_intrinsics (line 168) | def set_intrinsics(cam: bpy.types.Object, intr: dict):
function set_extrinsics (line 179) | def set_extrinsics(cam: bpy.types.Object, mat4: list[list[float]]):
function apply_camera (line 182) | def apply_camera(cam: bpy.types.Object, tf_path: Path, cam_id: int):
function scene_bbox (line 192) | def scene_bbox(mesh_objects):
function normalize_scene (line 210) | def normalize_scene(mesh_objs, scene_scale=1.0, raise_to_ground=True,
function deg_to_rad (line 386) | def deg_to_rad(deg):
FILE: pixie/blender/render_gs.py
function enable_cuda_devices (line 12) | def enable_cuda_devices():
function load_json (line 46) | def load_json(path: Path):
function parse_args (line 54) | def parse_args() -> argparse.Namespace:
function transforms_json (line 135) | def transforms_json(obj_id: str, data_dir: str) -> Path:
function output_png (line 138) | def output_png(obj_id: str, frame_id: int, output_folder: str) -> Path:
function set_intrinsics (line 142) | def set_intrinsics(cam: bpy.types.Object, intr: dict):
function set_extrinsics (line 153) | def set_extrinsics(cam: bpy.types.Object, mat4: list[list[float]]):
function apply_camera (line 156) | def apply_camera(cam: bpy.types.Object, tf_path: Path, cam_id: int):
function shift_xyz (line 165) | def shift_xyz(obj, xyz_target=(0.0, 0.0, 0.0)):
function place_on_ground (line 169) | def place_on_ground(obj, xy_target=(0.0, 0.0), ground_z=0.0, clearance=0...
function compile_video (line 181) | def compile_video(img_dir: Path, fps: int = 10, out_name: str = "render....
function _ensure_gaussian_splat_addon (line 202) | def _ensure_gaussian_splat_addon(zip_path: str):
function _orbit_camera (line 234) | def _orbit_camera(cam: bpy.types.Object, angle_deg_per_frame: float, fra...
function _srgb_to_linear (line 283) | def _srgb_to_linear(c: float) -> float:
function parse_color (line 290) | def parse_color(s: str | tuple):
function _debug_print_obj_bounds (line 316) | def _debug_print_obj_bounds(obj):
function render_single_frame (line 327) | def render_single_frame(args: argparse.Namespace, *, load_blend: bool = ...
function main (line 560) | def main():
FILE: pixie/metrics.py
function get_obj_ids_for_class (line 14) | def get_obj_ids_for_class(obj_class: str, cfg: DictConfig, only_valid: b...
function aggregate_material_statistics (line 44) | def aggregate_material_statistics(cfg: DictConfig, obj_ids: List[str]) -...
function remove_outliers_percentile (line 72) | def remove_outliers_percentile(data: np.ndarray, lower: float = 5, upper...
function clean_categorical (line 77) | def clean_categorical(data: np.ndarray, min_freq: float = 0.1) -> np.nda...
function clean_continuous (line 86) | def clean_continuous(data: np.ndarray, prop_type: str = 'E') -> np.ndarray:
class InferenceMetrics (line 105) | class InferenceMetrics:
method __init__ (line 107) | def __init__(self):
method add_batch_metrics (line 116) | def add_batch_metrics(self, seg_acc, cont_mse, density_mse, youngs_mse...
method add_sample_metrics (line 124) | def add_sample_metrics(self, obj_id, metrics_dict):
method gather_all_metrics (line 132) | def gather_all_metrics(self, rank, world_size):
function save_metrics_file (line 156) | def save_metrics_file(output_dir, seg_ckpt, cont_ckpt, global_avgs, obj_...
function generate_class_table (line 226) | def generate_class_table(cfg, obj_averages, use_sem, disp_label, output_...
function generate_metrics_report (line 333) | def generate_metrics_report(cfg, all_metrics, output_dir, seg_checkpoint...
FILE: pixie/training_utils.py
function load_normalization_ranges (line 21) | def load_normalization_ranges(cfg: DictConfig) -> DictConfig:
function ddp_setup (line 50) | def ddp_setup(rank: int, world_size: int):
function seed_everything (line 58) | def seed_everything(seed: int):
function masked_mean (line 68) | def masked_mean(x, mask, dims, eps=1e-8):
function compute_accuracy (line 75) | def compute_accuracy(pred_logits, target, mask=None, ignore_index: int =...
function setup_wandb (line 90) | def setup_wandb(rank: int, cfg: DictConfig, project_suffix: str = ""):
function get_checkpoint_paths (line 128) | def get_checkpoint_paths(cfg: DictConfig):
function get_latest_checkpoint_dirs (line 137) | def get_latest_checkpoint_dirs(seg_base_dir: str, cont_base_dir: str):
function get_checkpoint (line 159) | def get_checkpoint(checkpoint_dir: str, epoch: int = -1):
function load_checkpoint (line 191) | def load_checkpoint(checkpoint_path: str, model, optimizer=None, schedul...
function save_train_test_splits (line 228) | def save_train_test_splits(train_dataset, test_dataset, full_dataset, ck...
function print_dataset_info (line 244) | def print_dataset_info(full_dataset, train_size: int, test_size: int, ra...
function extract_state_dict (line 256) | def extract_state_dict(checkpoint):
FILE: pixie/utils.py
function set_logger (line 21) | def set_logger(name: str = None, level: int = logging.INFO) -> logging.L...
function str2bool (line 69) | def str2bool(v):
function get_conda_env (line 85) | def get_conda_env(env_name):
function _capture_command_output (line 91) | def _capture_command_output(cmd):
function _is_blender_nerf_error_only (line 108) | def _is_blender_nerf_error_only(output_text):
function _is_gaussian_splatting_addon_error_only (line 118) | def _is_gaussian_splatting_addon_error_only(output_text):
function _check_for_errors (line 136) | def _check_for_errors(output_text):
function run_cmd (line 163) | def run_cmd(cmd, step_name="", *, conda_env=None, allow_error=False, dry...
function load_json (line 226) | def load_json(path):
function save_json (line 230) | def save_json(data, path):
function get_obj_class_for_id (line 234) | def get_obj_class_for_id(obj_id: str, cfg: DictConfig) -> str:
function download_object (line 242) | def download_object(obj_id: str):
function prepare_nerf_dataset_from_blender_output (line 254) | def prepare_nerf_dataset_from_blender_output(data_dir):
function resolve_paths (line 296) | def resolve_paths(cfg: DictConfig) -> DictConfig:
function join_path (line 310) | def join_path(*components):
function get_output_paths (line 323) | def get_output_paths(cfg: DictConfig, obj_id: str) -> Dict[str, str]:
function should_use_colmap (line 365) | def should_use_colmap(cfg: DictConfig, paths: dict) -> bool:
function get_physics_config_path (line 370) | def get_physics_config_path(cfg: DictConfig, obj_id: str, material_mode:...
function should_use_white_bg (line 378) | def should_use_white_bg(cfg: DictConfig, material_mode: str, obj_class: ...
function create_directories (line 385) | def create_directories(paths: Dict[str, str]) -> None:
function get_latest_nerf_run (line 401) | def get_latest_nerf_run(output_dir: str) -> Optional[str]:
function configure_real_scene_voxelization (line 419) | def configure_real_scene_voxelization(cfg: DictConfig) -> None:
function validate_config (line 430) | def validate_config(cfg: DictConfig, single_obj: bool = True) -> None:
function save_contextual_config (line 457) | def save_contextual_config(cfg: DictConfig, output_dir: str, context: st...
function get_vlm_api_key (line 538) | def get_vlm_api_key(cfg: DictConfig, model_name: str) -> str:
function get_vlm_results (line 548) | def get_vlm_results(cfg: DictConfig) -> Dict[str, Any]:
function load_config (line 581) | def load_config(config_path="../config", config_name="config"):
function save_pickle (line 600) | def save_pickle(data, path):
function load_pickle (line 604) | def load_pickle(path):
function get_material_vlm_segmentation_path (line 610) | def get_material_vlm_segmentation_path(cfg: DictConfig, render_output_di...
function get_material_neural_segmentation_path (line 619) | def get_material_neural_segmentation_path(cfg: DictConfig, render_output...
function generate_material_segmentation (line 629) | def generate_material_segmentation(
function _find_latest_inference_dir (line 687) | def _find_latest_inference_dir(cfg: DictConfig) -> Optional[Path]:
function _get_pred_path (line 698) | def _get_pred_path(sample_output_dir: Path, sample_name: str) -> Path:
function _build_config_overrides (line 705) | def _build_config_overrides(cfg: DictConfig) -> str:
function generate_neural_segmentation (line 724) | def generate_neural_segmentation(cfg: DictConfig, render_output_dir: str,
function format_real_scene_sample (line 789) | def format_real_scene_sample(cfg: DictConfig, paths: dict):
function get_material_segmentation_path (line 797) | def get_material_segmentation_path(cfg: DictConfig, render_output_dir: str,
FILE: pixie/viz_utils.py
function viz_cuboid (line 16) | def viz_cuboid(ax, center, size, color='r', linewidth=1, linestyle='-', ...
function viz_cuboid_plotly (line 64) | def viz_cuboid_plotly(fig, center, size, color='red', linewidth=2, opaci...
function viz_plotly (line 211) | def viz_plotly(
function distinct_hsv_palette (line 366) | def distinct_hsv_palette(n: int, seed: int = 42):
function get_color_for_part_label (line 390) | def get_color_for_part_label(part_label: int,
function _prep_colors (line 416) | def _prep_colors(c,
function viz (line 474) | def viz(
function viz_pred (line 633) | def viz_pred(pred, mask, ax=None):
function load_semantic_ply (line 652) | def load_semantic_ply(ply_path, normalize=True, is_dreamphysics=False):
function compile_video (line 698) | def compile_video(frames_dir: Path, out_mp4: Path, fps: float ):
FILE: pixie/vlm_labeler/vlm_data_filtering.py
class DataFilteringAgent (line 15) | class DataFilteringAgent(Agent):
method __init__ (line 20) | def __init__(self, cfg: AgentConfig, class_name: str, search_terms: str):
method _make_system_instruction (line 25) | def _make_system_instruction(self):
method _make_prompt_parts (line 52) | def _make_prompt_parts(self, image_path: str):
method parse_response (line 55) | def parse_response(self, response):
function get_rendered_images (line 62) | def get_rendered_images(render_base_dir: str, obj_class: Optional[str] =...
function process_single_image (line 90) | def process_single_image(args: Tuple) -> Tuple[str, dict]:
function analyze_results (line 119) | def analyze_results(results: Dict[str, dict]) -> None:
function process_category (line 162) | def process_category(category: str, rendered_images: Dict[str, str], cfg...
function main (line 218) | def main(cfg: DictConfig) -> None:
FILE: pixie/vlm_labeler/vlm_parse_seg_critic.py
function run_vlm_parse_seg_critic (line 17) | def run_vlm_parse_seg_critic(obj_id: str, vlm_seg_results_dir: str,
FILE: pixie/vlm_labeler/vlm_phys_judge.py
class PhysicsJudgeAgent (line 50) | class PhysicsJudgeAgent(Agent):
method __init__ (line 53) | def __init__(self, cfg: AgentConfig, num_frames: int = 8,
method _make_system_instruction (line 62) | def _make_system_instruction(self):
method _make_prompt_parts (line 69) | def _make_prompt_parts(self, prompt: str, candidate_video_paths: List[...
method parse_response (line 110) | def parse_response(self, response):
FILE: pixie/vlm_labeler/vlm_phys_sampler.py
function sample_value (line 17) | def sample_value(range_list):
function evaluate_constraint (line 30) | def evaluate_constraint(constraint: str, material_dict: dict) -> bool:
function sample_material_dict (line 52) | def sample_material_dict(material_ranges: dict) -> dict:
function check_all_constraints (line 72) | def check_all_constraints(material_dict: dict, constraints: list) -> bool:
class MathSamplerAgent (line 86) | class MathSamplerAgent(Agent):
method _make_system_instruction (line 88) | def _make_system_instruction(self):
method generate_prediction (line 91) | def generate_prediction(self, json_path: str, overwrite: bool = False,...
method parse_response (line 131) | def parse_response(self, response):
function run_vlm_phys_sampler (line 139) | def run_vlm_phys_sampler(obj_id: str, vlm_seg_results_dir: str,
FILE: pixie/vlm_labeler/vlm_seg.py
function run_vlm_segmentation (line 16) | def run_vlm_segmentation(obj_id: str, obj_class: str, output_dir: str,
FILE: pixie/vlm_labeler/vlm_seg_class_instruction.py
function generate_instruction (line 351) | def generate_instruction(class_name: str, num_alternative_queries: int) ...
FILE: pixie/vlm_labeler/vlm_seg_critic.py
class SegmentationCriticAgent (line 62) | class SegmentationCriticAgent(Agent):
method _make_system_instruction (line 65) | def _make_system_instruction(self):
method _make_prompt_parts (line 68) | def _make_prompt_parts(self, rgb_image_paths: List[str], query_segment...
method parse_response (line 86) | def parse_response(self, response):
function run_vlm_seg_critic (line 107) | def run_vlm_seg_critic(obj_id: str, data_dir: str, vlm_seg_results_dir: ...
FILE: pixie/vlm_labeler/vlm_viz_seg_candidates.py
function run_vlm_viz_seg_candidates (line 10) | def run_vlm_viz_seg_candidates(obj_id: str, vlm_seg_results_dir: str,
FILE: pixie/voxel/map_pred_to_coords.py
function load_config (line 21) | def load_config(config_path="../../../config", config_name="config"):
function unscale_prediction (line 41) | def unscale_prediction(pred_tensor: np.ndarray, cfg: DictConfig):
function transform_nerf_to_world (line 77) | def transform_nerf_to_world(ply_path: str, dataparser_path: str, world_o...
function get_mat_id (line 122) | def get_mat_id(arr):
function map_pred_to_ply (line 128) | def map_pred_to_ply(pred_path: str, mask_path: str, grid_feature_path: s...
function main (line 286) | def main(cfg: DictConfig):
FILE: pixie/voxel/segmentation.py
function get_initial_voxel_grid_from_saved (line 18) | def get_initial_voxel_grid_from_saved(
function load_occupancy_grid (line 91) | def load_occupancy_grid(occupancy_path: str, device: str = "cuda"):
function run_clip (line 98) | def run_clip(queries, features_filtered, softmax_temperature, device="cu...
function clip_part_segmentation (line 125) | def clip_part_segmentation(
function local_post_process_segmentation (line 190) | def local_post_process_segmentation(
function save_segmented_point_cloud (line 231) | def save_segmented_point_cloud(
function build_adjacency (line 482) | def build_adjacency(coords, radius=0.05):
function get_connected_components (line 505) | def get_connected_components(adjacency, labels):
function reassign_small_components (line 542) | def reassign_small_components(adjacency, labels, label_to_components):
function _majority_vote (line 587) | def _majority_vote(label_array):
function connected_component_cleanup (line 592) | def connected_component_cleanup(
FILE: pixie/voxel/viz_segmentation.py
function visualize_part_segmentation (line 7) | def visualize_part_segmentation(
FILE: pixie/voxel/voxelize.py
function extract_clip_voxel_grid (line 17) | def extract_clip_voxel_grid(
function _save_voxel_data (line 144) | def _save_voxel_data(
function _create_occupancy_mask (line 188) | def _create_occupancy_mask(
function compute_occupancy_point_cloud (line 266) | def compute_occupancy_point_cloud(
function save_point_cloud (line 409) | def save_point_cloud(pcd: o3d.geometry.PointCloud, output_path: str) -> ...
function main (line 422) | def main() -> None:
FILE: render.py
function get_video_fps (line 23) | def get_video_fps(video_path: str) -> float:
function move_files_to_folder (line 32) | def move_files_to_folder(src_dir: Path, dst_dir: Path) -> None:
function render_nerf_model (line 45) | def render_nerf_model(cfg: DictConfig, paths: dict) -> str:
function render_blender_gs (line 93) | def render_blender_gs(cfg: DictConfig, paths: dict) -> str:
function render_blender_glb (line 199) | def render_blender_glb(cfg: DictConfig, paths: dict) -> str:
function render_gs_model (line 260) | def render_gs_model(cfg: DictConfig, paths: dict) -> str:
function main (line 271) | def main(cfg: DictConfig) -> None:
FILE: scripts/download_data.py
function download_data (line 13) | def download_data(
function main (line 83) | def main() -> None:
FILE: scripts/download_models.py
function download_models (line 12) | def download_models(
function main (line 56) | def main() -> None:
FILE: scripts/upload_data.py
function has_feature_artifact (line 53) | def has_feature_artifact(obj_dir: Path) -> bool:
class Spinner (line 60) | class Spinner:
method __init__ (line 61) | def __init__(self, message: str, interval_s: float = 0.2):
method _spin (line 67) | def _spin(self) -> None:
method __enter__ (line 78) | def __enter__(self):
method __exit__ (line 84) | def __exit__(self, exc_type, exc, tb):
function summarize_obj_dirs (line 90) | def summarize_obj_dirs(source_dir: Path, object_ids: list[str]) -> tuple...
function iter_obj_files (line 109) | def iter_obj_files(source_dir: Path, object_ids: list[str]):
function parse_classes (line 124) | def parse_classes(classes_arg: str | None) -> list[str]:
function collect_survivor_ids (line 132) | def collect_survivor_ids(
function upload_selected_ids (line 204) | def upload_selected_ids(
function create_archive_for_class (line 247) | def create_archive_for_class(
function upload_archives_by_class (line 317) | def upload_archives_by_class(
function upload_data (line 407) | def upload_data(
function main (line 527) | def main() -> None:
FILE: scripts/upload_models.py
function should_ignore_file (line 32) | def should_ignore_file(file_path: Path) -> bool:
function build_upload_ignore_patterns (line 37) | def build_upload_ignore_patterns() -> list[str]:
function upload_directory (line 51) | def upload_directory(api: HfApi, local_dir: Path, repo_id: str, repo_dir...
function upload_models (line 77) | def upload_models(dataset_repo: str, upload_dirs: list[str], token: str ...
function main (line 104) | def main() -> None:
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Camera.cpp
type sibr (line 15) | namespace sibr
function ByteStream (line 18) | ByteStream& operator << (ByteStream& stream, const Camera& c )
function ByteStream (line 29) | ByteStream& operator >> (ByteStream& stream, Camera& c )
function Vector3f (line 55) | Vector3f Camera::project( const Vector3f& p3d ) const
function Vector3f (line 68) | Vector3f Camera::unproject( const Vector3f& p3d ) const
function Vector3f (line 95) | Vector3f Camera::dir( void ) const
function Vector3f (line 100) | Vector3f Camera::up( void ) const
function Vector3f (line 105) | Vector3f Camera::right( void ) const
function Matrix4f (line 110) | Matrix4f Camera::proj( void ) const
function Camera (line 119) | Camera Camera::interpolate( const Camera& from, const Camera& to, floa...
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Camera.hpp
type sibr (line 19) | namespace sibr
function Camera (line 25) | class SIBR_GRAPHICS_EXPORT Camera
function Transform3f (line 305) | inline const Transform3f& Camera::transform( void ) const {
function Vector3f (line 335) | inline const Vector3f& Camera::position( void ) const {
function Quaternionf (line 356) | inline const Quaternionf& Camera::rotation( void ) const {
function Matrix4f (line 412) | inline const Matrix4f& Camera::viewproj( void ) const {
function Matrix4f (line 419) | inline const Matrix4f& Camera::invViewproj( void ) const {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Config.hpp
type sibr (line 98) | namespace sibr
function T (line 108) | inline T clamp( T value, T min, T max ) {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Frustum.cpp
type sibr (line 19) | namespace sibr
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Frustum.hpp
type sibr (line 19) | namespace sibr
class Camera (line 21) | class Camera
function Frustum (line 27) | class SIBR_GRAPHICS_EXPORT Frustum
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/GPUQuery.cpp
function uint64 (line 51) | uint64 GPUQuery::value() {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/GPUQuery.hpp
type sibr (line 17) | namespace sibr {
function GPUQuery (line 44) | class SIBR_GRAPHICS_EXPORT GPUQuery
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/GUI.cpp
type sibr (line 22) | namespace sibr
function showImGuiWindow (line 25) | bool showImGuiWindow(const std::string& windowTitle, const IRenderTar...
function generateMeshForText (line 74) | Mesh::Ptr generateMeshForText(const std::string & text, unsigned int &...
function fitImageToDisplayRegion (line 130) | void fitImageToDisplayRegion(const Vector2f & imgSize, const Vector...
function ZoomData (line 159) | ZoomData ZoomData::scaled(const sibr::Vector2f& size) const
function DisplayImageGui (line 275) | void DisplayImageGui(
function ImageWithCallback (line 284) | void ImageWithCallback(
function ImageWithZoom (line 311) | void ImageWithZoom(GLuint texture, const sibr::Vector2i & displaySize,...
type ImGui (line 320) | namespace ImGui {
function GetTitleBarHeight (line 322) | const float GetTitleBarHeight() { return GetTextLineHeight() + GetStyl...
function PushScaledItemWidth (line 324) | void PushScaledItemWidth(float item_width)
function TabButton (line 329) | bool TabButton(const char * label, bool highlight, const ImVec2 & size)
function PlotMultiLines (line 342) | void PlotMultiLines(const char* label, std::vector<float*> values, int...
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/GUI.hpp
type sibr (line 23) | namespace sibr
function CallBackData (line 111) | struct SIBR_GRAPHICS_EXPORT CallBackData {
function ZoomData (line 135) | struct SIBR_GRAPHICS_EXPORT ZoomData {
function ZoomInterraction (line 161) | struct SIBR_GRAPHICS_EXPORT ZoomInterraction {
function SegmentSelection (line 183) | struct SIBR_GRAPHICS_EXPORT SegmentSelection {
type ImGui (line 59) | namespace ImGui {
type sibr (line 95) | namespace sibr {
function CallBackData (line 111) | struct SIBR_GRAPHICS_EXPORT CallBackData {
function ZoomData (line 135) | struct SIBR_GRAPHICS_EXPORT ZoomData {
function ZoomInterraction (line 161) | struct SIBR_GRAPHICS_EXPORT ZoomInterraction {
function SegmentSelection (line 183) | struct SIBR_GRAPHICS_EXPORT SegmentSelection {
function toSIBR (line 205) | sibr::Vector<T, 2> toSIBR(const ImVec2 & v) {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Image.cpp
type sibr (line 17) | namespace sibr
type opencv (line 19) | namespace opencv
function imageTypeCVRange (line 23) | float imageTypeCVRange(int cvDepth)
function convertBGR2RGB (line 39) | void convertBGR2RGB(cv::Mat& img)
function convertRGB2BGR (line 54) | void convertRGB2BGR(cv::Mat& img)
function convertL32FtoRGBA (line 71) | sibr::ImageRGBA convertL32FtoRGBA(const sibr::ImageL32F & imgF)
function convertRGBAtoL32F (line 85) | sibr::ImageL32F convertRGBAtoL32F(const sibr::ImageRGBA & imgRGBA)
function convertRGB32FtoRGBA (line 100) | sibr::ImageRGBA convertRGB32FtoRGBA(const sibr::ImageRGB32F & imgF)
function convertRGBAtoRGB32F (line 117) | sibr::ImageRGB32F convertRGBAtoRGB32F(const sibr::ImageRGBA& imgRGBA)
function convertNormalMapToSphericalHalf (line 134) | sibr::ImageRGBA convertNormalMapToSphericalHalf(const sibr::ImageRGB32...
function convertSphericalHalfToNormalMap (line 161) | sibr::ImageRGB32F convertSphericalHalfToNormalMap(const sibr::ImageRGB...
function coloredClass (line 191) | Image<unsigned char, 3> coloredClass(const Image<unsigned char, 1>::Pt...
function coloredClass (line 215) | Image<unsigned char, 3> coloredClass(const Image<int, 1>::Ptr imClass) {
function showFloat (line 246) | void showFloat(const Image<float, 1> & im, bool logScale, double min, ...
function duplicate3 (line 281) | cv::Mat duplicate3(cv::Mat c) {
type ValidFormats (line 328) | enum ValidFormats {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Image.hpp
type cv (line 29) | namespace cv
type sibr (line 46) | namespace sibr
type opencv (line 54) | namespace opencv
function SIBR_GRAPHICS_EXPORT (line 60) | SIBR_GRAPHICS_EXPORT inline int imageType< uint8 >(void) { return C...
function SIBR_GRAPHICS_EXPORT (line 62) | SIBR_GRAPHICS_EXPORT inline int imageType< int8 >(void) { return C...
function SIBR_GRAPHICS_EXPORT (line 64) | SIBR_GRAPHICS_EXPORT inline int imageType< uint16>(void) { return C...
function SIBR_GRAPHICS_EXPORT (line 66) | SIBR_GRAPHICS_EXPORT inline int imageType< int16 >(void) { return C...
function SIBR_GRAPHICS_EXPORT (line 68) | SIBR_GRAPHICS_EXPORT inline int imageType< int32 >(void) { return C...
function SIBR_GRAPHICS_EXPORT (line 70) | SIBR_GRAPHICS_EXPORT inline int imageType< float >(void) { return C...
function SIBR_GRAPHICS_EXPORT (line 72) | SIBR_GRAPHICS_EXPORT inline int imageType< double>(void) { return C...
function imageTypeRange (line 76) | inline float imageTypeRange(void) {
function SIBR_GRAPHICS_EXPORT (line 80) | SIBR_GRAPHICS_EXPORT inline float imageTypeRange< float >(void) { ...
function SIBR_GRAPHICS_EXPORT (line 82) | SIBR_GRAPHICS_EXPORT inline float imageTypeRange< double>(void) { ...
function IImage (line 111) | class SIBR_GRAPHICS_EXPORT IImage {
class ImagePtr (line 225) | class ImagePtr
method ImagePtr (line 535) | ImagePtr() { imPtr = std::shared_ptr<Image<T_Type, T_NumComp>>(); }
method ImagePtr (line 540) | ImagePtr(Image<T_Type, T_NumComp>* imgPtr) { imPtr = std::shared_ptr...
method ImagePtr (line 545) | ImagePtr(const std::shared_ptr<Image<T_Type, T_NumComp>>& imgPtr) {...
method ImagePtr (line 551) | static ImagePtr fromImg(const ImageType & img) { return ImagePtr(std...
method reset (line 556) | void reset(ImageType * ptr) { imPtr.reset(ptr); }
class Image (line 242) | class Image : public IImage {
method isInRange (line 417) | bool isInRange(T x, T y) const { return (x >= 0 && y >= 0 && x < (...
method inRange (line 426) | bool inRange(T x, T y) const { return isInRange(x, y); }
method isInRange (line 431) | bool isInRange(const sibr::Vector2i & xy) const { return (xy.x() ...
method isInRange (line 436) | bool isInRange(const sibr::Vector2f & xy) const { return (xy.x() ...
method opencvType (line 451) | int opencvType(void) const { return CV_MAKETYPE(opencv::imageType...
method T_Image (line 483) | T_Image cast() const {
method Image (line 504) | Image( const Image& other) = delete;
method Image (line 509) | Image& operator =(const Image& other) = delete;
class ImagePtr (line 527) | class ImagePtr {
method ImagePtr (line 535) | ImagePtr() { imPtr = std::shared_ptr<Image<T_Type, T_NumComp>>(); }
method ImagePtr (line 540) | ImagePtr(Image<T_Type, T_NumComp>* imgPtr) { imPtr = std::shared_ptr...
method ImagePtr (line 545) | ImagePtr(const std::shared_ptr<Image<T_Type, T_NumComp>>& imgPtr) {...
method ImagePtr (line 551) | static ImagePtr fromImg(const ImageType & img) { return ImagePtr(std...
method reset (line 556) | void reset(ImageType * ptr) { imPtr.reset(ptr); }
function show (line 716) | static void show(const Image<T_Type, T_NumComp> & img, const std::str...
function ColorRGBA (line 1093) | ColorRGBA Image<T_Type, T_NumComp>::color(uint x, uint y) const {
function uint (line 1150) | uint Image<T_Type, T_NumComp>::w(void) const {
function uint (line 1155) | uint Image<T_Type, T_NumComp>::h(void) const {
function uint (line 1165) | uint Image<T_Type, T_NumComp>::numComp(void) const {
function uint (line 1170) | uint Image<T_Type, T_NumComp>::sizeOfComp(void) const {
function fromOpenCV (line 1295) | inline Vector<sibr_T, N> fromOpenCV(const cv::Vec<openCV_T, N> & vec) {
function toOpenCV (line 1304) | inline cv::Vec<openCV_T, N> toOpenCV(const Vector<sibr_T, N> & vec) {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Input.cpp
type sibr (line 16) | namespace sibr
function Input (line 19) | Input& Input::global( void )
function Input (line 33) | Input Input::subInput(const sibr::Input & global, const sibr::Viewport...
function KeyCombination (line 69) | KeyCombination operator&& ( const KeyCombination & combA, const KeyCom...
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Input.hpp
type sibr (line 26) | namespace sibr
type Key (line 28) | namespace Key
type Code (line 31) | enum Code
type Mouse (line 160) | namespace Mouse
type Code (line 163) | enum Code
function KeyCombination (line 185) | struct SIBR_GRAPHICS_EXPORT KeyCombination
class InputState (line 214) | class InputState
method isActivated (line 222) | bool isActivated( TEnum code ) const {
method isReleased (line 230) | bool isReleased( TEnum code ) const {
method isPressed (line 240) | bool isPressed( TEnum code ) const {
method KeyCombination (line 250) | KeyCombination isPressedOnly( TEnum code ) const {
method KeyCombination (line 258) | KeyCombination isActivatedOnly( TEnum code ) const {
method press (line 265) | void press( TEnum code ) {
method release (line 272) | void release( TEnum code ) {
method silent (line 280) | void silent( TEnum code ) {
method clearStates (line 287) | void clearStates( void ) {
method swapStates (line 293) | void swapStates( void ) {
method getNumActivated (line 298) | int getNumActivated( void ) const {
function Input (line 320) | class SIBR_GRAPHICS_EXPORT Input
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/MaterialMesh.cpp
type sibr (line 33) | namespace sibr
function parseTransform (line 215) | sibr::Matrix4f parseTransform(const rapidxml::xml_node<>* nodeTrans)
function parseMatID (line 311) | std::string parseMatID(const rapidxml::xml_node<>* node)
function shouldFlipNormals (line 322) | bool shouldFlipNormals(const rapidxml::xml_node<>* shape)
function parseFilename (line 335) | std::string parseFilename(const rapidxml::xml_node<>* shape)
type ShapeGroup (line 357) | struct ShapeGroup {
type Shape (line 358) | struct Shape
method Shape (line 363) | Shape& operator=(Shape const&) = default;
function Mesh (line 889) | Mesh MaterialMesh::generateSubMaterialMesh(int material) const
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/MaterialMesh.hpp
type sibr (line 26) | namespace sibr
class SIBR_GRAPHICS_EXPORT (line 35) | class SIBR_GRAPHICS_EXPORT
type RenderCategory (line 56) | enum class RenderCategory
type AmbientOcclusion (line 65) | struct AmbientOcclusion {
type AmbientOcclusion (line 71) | struct AmbientOcclusion
function MaterialMesh (line 204) | MaterialMesh(sibr::Mesh& mesh) : Mesh(mesh) {}
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Mesh.cpp
type sibr (line 34) | namespace sibr
function ReadPoints3DBinary (line 41) | void ReadPoints3DBinary(const std::string& path, Mesh::Vertices& verts...
function ReadPoints3DText (line 92) | void ReadPoints3DText(const std::string& path, Mesh::Vertices& verts, ...
function Mesh (line 1324) | Mesh Mesh::generateSubMesh(std::function<bool(int)> func) const
type Less (line 2049) | struct Less {
type Edge (line 2055) | struct Edge {
type Triangle (line 2063) | struct Triangle {
method Triangle (line 2064) | Triangle() : edges_ids(std::vector<int>(3, -1)), edges_flipped(std::...
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Mesh.hpp
type sibr (line 28) | namespace sibr
function Mesh (line 34) | class SIBR_GRAPHICS_EXPORT Mesh
function uint (line 537) | const uint* Mesh::triangleArray( void ) const {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/MeshBufferGL.cpp
type sibr (line 19) | namespace sibr
function prepareVertexData (line 22) | static std::vector<TTo> prepareVertexData(
function appendVertexData (line 46) | static void appendVertexData(
function uint (line 63) | static inline uint getVectorDataSize( const std::vector<T>& v )
function MeshBufferGL (line 89) | MeshBufferGL& MeshBufferGL::operator =( MeshBufferGL&& other )
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/MeshBufferGL.hpp
type sibr (line 20) | namespace sibr
class Mesh (line 32) | class Mesh
function MeshBufferGL (line 39) | class SIBR_GRAPHICS_EXPORT MeshBufferGL
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/RenderTarget.cpp
type sibr (line 17) | namespace sibr
function blit (line 19) | void blit(const IRenderTarget& src, const IRenderTarget& dst, GLbitf...
function blit_and_flip (line 32) | void blit_and_flip(const IRenderTarget& src, const IRenderTarget& ds...
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/RenderTarget.hpp
type sibr (line 25) | namespace sibr
function IRenderTarget (line 35) | class SIBR_GRAPHICS_EXPORT IRenderTarget
class RenderTarget (line 85) | class RenderTarget : public IRenderTarget {
function show (line 233) | static void show( const RenderTarget<T_Type, T_NumComp> & rt, uint la...
function showDepth (line 246) | static void showDepth( const RenderTarget<T_Type, T_NumComp> & rt, co...
function showDepthFromAlpha (line 259) | static void showDepthFromAlpha( const RenderTarget<T_Type, T_NumComp>...
function GLuint (line 483) | GLuint RenderTarget<T_Type, T_NumComp>::depthRB() const {
function GLuint (line 488) | GLuint RenderTarget<T_Type, T_NumComp>::texture(uint t) const {
function GLuint (line 493) | GLuint RenderTarget<T_Type, T_NumComp>::handle(uint t) const {
function uint (line 655) | uint RenderTarget<T_Type, T_NumComp>::numTargets(void) const { retu...
function uint (line 657) | uint RenderTarget<T_Type, T_NumComp>::w(void) const { return m_W; }
function uint (line 659) | uint RenderTarget<T_Type, T_NumComp>::h(void) const { return m_H; }
function uint (line 661) | uint RenderTarget<T_Type, T_NumComp>::fbo(void) const { return m_fb...
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/RenderUtility.cpp
type sibr (line 25) | namespace sibr
function Mesh (line 179) | Mesh RenderUtility::createCameraStub(float camStubSize)
function Mesh (line 188) | Mesh RenderUtility::createScreenQuad( void )
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/RenderUtility.hpp
type sibr (line 20) | namespace sibr
function RenderUtility (line 28) | class SIBR_GRAPHICS_EXPORT RenderUtility
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Shader.cpp
type sibr (line 23) | namespace sibr
function GLuint (line 25) | GLuint GLShader::compileShader(const char* shader_code, GLuint type)
function GLuint (line 78) | GLuint GLShader::shader ( void ) const
function GLint (line 246) | GLint GLParameter::handle( void ) const
function strRemoveSpaces (line 267) | static std::string strRemoveSpaces( const std::string& str )
function loadFile (line 276) | std::string loadFile( const std::string& filename, const GLShader::Def...
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Shader.hpp
type sibr (line 22) | namespace sibr
function GLShader (line 28) | class SIBR_GRAPHICS_EXPORT GLShader
function GLParameter (line 158) | class SIBR_GRAPHICS_EXPORT GLParameter
class GLuniform (line 303) | class GLuniform {
method GLuniform (line 309) | GLuniform(const T & t) : value(t) {}
method T (line 315) | T & get() { return value; }
method T (line 321) | T & operator=(const T & t) { value = t; return *this; }
method GLuniform (line 327) | GLuniform & operator=(const GLuniform& other) { value = other.value;...
method GLuniform (line 339) | explicit GLuniform(const GLuniform&other) : value(other.value) { }
method GLuniform (line 342) | GLuniform() = default;
method init (line 348) | void init(sibr::GLShader& shader, std::string name) {
method send (line 355) | void send() {
method set (line 365) | void set(const T & t) {
method setArray (line 375) | void setArray(const T & t,int size) {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Texture.cpp
type sibr (line 17) | namespace sibr
function blit (line 19) | void blit(const ITexture2D& src, const IRenderTarget& dst, GLbitfiel...
function blit_and_flip (line 42) | void blit_and_flip(const ITexture2D& src, const IRenderTarget& dst, ...
function blitToColorAttachment (line 47) | void blitToColorAttachment(const ITexture2D& src, IRenderTarget& dst...
function blit (line 79) | void blit(const IRenderTarget& src, const ITexture2D& dst, GLbitfiel...
function blit (line 100) | void blit(const ITexture2D& src, const ITexture2D& dst, GLbitfield m...
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Texture.hpp
type sibr (line 23) | namespace sibr
class ITexture2D (line 30) | class ITexture2D
class Texture2D (line 55) | class Texture2D : public ITexture2D {
class ITexture2DArray (line 149) | class ITexture2DArray
class Texture2DArray (line 190) | class Texture2DArray : public ITexture2DArray {
class ITextureCubeMap (line 422) | class ITextureCubeMap
class TextureCubeMap (line 447) | class TextureCubeMap : public ITextureCubeMap {
function show (line 599) | static void show(const RenderTarget<T_Type, T_NumComp>& rt, const std...
function show (line 611) | static void show(const Texture2D<T_Type, T_NumComp>& texture, const s...
function GLuint (line 690) | GLuint Texture2D<T_Type, T_NumComp>::create2D(const ImageType& img, ui...
function GLuint (line 731) | GLuint Texture2D<T_Type, T_NumComp>::create2D(const std::vector<PixelI...
function GLuint (line 861) | GLuint Texture2D<T_Type, T_NumComp>::handle(void) const { return m_Han...
function uint (line 863) | uint Texture2D<T_Type, T_NumComp>::w(void) const { return m_W; }
function uint (line 865) | uint Texture2D<T_Type, T_NumComp>::h(void) const { return m_H; }
function GLuint (line 1320) | GLuint Texture2DArray<T_Type, T_NumComp>::handle(void) const { return ...
function uint (line 1323) | uint Texture2DArray<T_Type, T_NumComp>::w(void) const { return m_W; }
function uint (line 1326) | uint Texture2DArray<T_Type, T_NumComp>::h(void) const { return m_H; }
function uint (line 1329) | uint Texture2DArray<T_Type, T_NumComp>::depth(void) const { return m_D...
function uint (line 1332) | uint Texture2DArray<T_Type, T_NumComp>::numLODs(void) const { return m...
function Vector4f (line 1335) | Vector4f Texture2DArray<T_Type, T_NumComp>::readBackPixel(int i, int x...
function GLuint (line 1512) | GLuint TextureCubeMap<T_Type, T_NumComp>::handle(void) const { return ...
function uint (line 1515) | uint TextureCubeMap<T_Type, T_NumComp>::w(void) const { return m_H; }
function uint (line 1518) | uint TextureCubeMap<T_Type, T_NumComp>::h(void) const { return m_W; }
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Types.hpp
type sibr (line 37) | namespace sibr{
class GLType (line 49) | class GLType
class GLType<unsigned char> (line 52) | class GLType<unsigned char> {
class GLType<unsigned short> (line 58) | class GLType<unsigned short> {
class GLType<short> (line 64) | class GLType<short> {
class GLType<float> (line 70) | class GLType<float> {
class GLType<int> (line 76) | class GLType<int> {
class GLFormat (line 84) | class GLFormat
class GLFormat<unsigned char,1> (line 87) | class GLFormat<unsigned char,1> {
class GLFormat<unsigned char, 2> (line 99) | class GLFormat<unsigned char, 2> {
class GLFormat<unsigned char,3> (line 111) | class GLFormat<unsigned char,3> {
class GLFormat<unsigned char,4> (line 123) | class GLFormat<unsigned char,4> {
class GLFormat<unsigned short,1> (line 135) | class GLFormat<unsigned short,1> {
class GLFormat<unsigned short, 2> (line 147) | class GLFormat<unsigned short, 2> {
class GLFormat<unsigned short,3> (line 159) | class GLFormat<unsigned short,3> {
class GLFormat<unsigned short,4> (line 171) | class GLFormat<unsigned short,4> {
class GLFormat<int,1> (line 183) | class GLFormat<int,1> {
class GLFormat<int, 2> (line 195) | class GLFormat<int, 2> {
class GLFormat<int, 3> (line 207) | class GLFormat<int, 3> {
class GLFormat<int, 4> (line 219) | class GLFormat<int, 4> {
class GLFormat<float,1> (line 231) | class GLFormat<float,1> {
class GLFormat<float, 2> (line 243) | class GLFormat<float, 2> {
class GLFormat<float,3> (line 255) | class GLFormat<float,3> {
class GLFormat<float,4> (line 267) | class GLFormat<float,4> {
class GLFormatCVmat (line 293) | class GLFormatCVmat
class GLFormatCVmat<unsigned char, 1> (line 296) | class GLFormatCVmat<unsigned char, 1> {
class GLFormatCVmat<unsigned char, 3> (line 308) | class GLFormatCVmat<unsigned char, 3> {
class GLFormatCVmat<unsigned char, 4> (line 320) | class GLFormatCVmat<unsigned char, 4> {
type OpenCVdepth (line 332) | struct OpenCVdepth
type OpenCVdepth<uchar> (line 335) | struct OpenCVdepth<uchar> {
type OpenCVdepth<float> (line 340) | struct OpenCVdepth<float> {
type OpenCVdepth<double> (line 345) | struct OpenCVdepth<double> {
type ValidGLTexFormat (line 356) | struct ValidGLTexFormat {
type ValidGLTexFormat<sibr::Image<ScalarType, N>> (line 361) | struct ValidGLTexFormat<sibr::Image<ScalarType, N>> {
type ValidGLTexFormat<cv::Mat> (line 366) | struct ValidGLTexFormat<cv::Mat> {
type GLTexFormat (line 375) | struct GLTexFormat {
type GLTexFormat<sibr::Image<ScalarType, N>, ScalarType, N > (line 419) | struct GLTexFormat<sibr::Image<ScalarType, N>, ScalarType, N > {
method ImageType (line 423) | static ImageType flip(const ImageType& img) {
method ImageType (line 430) | static ImageType resize(const ImageType& img, uint w, uint h) {
method uint (line 435) | static uint width(const ImageType& img) {
method uint (line 440) | static uint height(const ImageType& img) {
type GLTexFormat<ImagePtr<ScalarType, N>, ScalarType, N > (line 458) | struct GLTexFormat<ImagePtr<ScalarType, N>, ScalarType, N > {
method ImageType (line 462) | static ImageType flip(const ImageType& img) {
method ImageType (line 469) | static ImageType resize(const ImageType& img, uint w, uint h) {
method uint (line 474) | static uint width(const ImageType& img) {
method uint (line 479) | static uint height(const ImageType& img) {
type GLTexFormat<cv::Mat, ScalarType, N> (line 498) | struct GLTexFormat<cv::Mat, ScalarType, N> {
method flip (line 502) | static cv::Mat flip(const cv::Mat& img) {
method resize (line 509) | static cv::Mat resize(const cv::Mat& img, uint w, uint h) {
method uint (line 516) | static uint width(const cv::Mat& img) {
method uint (line 521) | static uint height(const cv::Mat& img) {
method uint (line 536) | static uint cv_type() {
type GLTexFormat<cv::Mat_<cv::Vec<ScalarType, N> >, ScalarType, N> (line 550) | struct GLTexFormat<cv::Mat_<cv::Vec<ScalarType, N> >, ScalarType, N>
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Utils.cpp
type sibr (line 16) | namespace sibr
function jetColor (line 20) | cv::Scalar jetColor(float gray) {
function getLinearColorFromProbaV (line 25) | sibr::Vector3ub getLinearColorFromProbaV(double proba) {
function getProbaFromLinearColor (line 34) | double getProbaFromLinearColor(const sibr::Vector3ub & color) {
function cartesianToSpherical (line 41) | sibr::Vector2d cartesianToSpherical(const sibr::Vector3d & dir)
function cartesianToSphericalUVs (line 53) | sibr::Vector2d cartesianToSphericalUVs(const sibr::Vector3d & dir)
function sRGB2LinF (line 62) | float sRGB2LinF(float inF) {
function lin2sRGBF (line 71) | float lin2sRGBF(float inF) {
function sRGB2Lin (line 82) | void sRGB2Lin(sibr::ImageRGB32F& img) {
function lin2sRGB (line 93) | void lin2sRGB(sibr::ImageRGB32F& img) {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Utils.hpp
type sibr (line 20) | namespace sibr
function randomColor (line 31) | static Eigen::Matrix<T_Type, 3, 1, Eigen::DontAlign> randomColor(){
function jetColor (line 45) | static Eigen::Matrix<T_Type, 3, 1, Eigen::DontAlign> jetColor(float gray)
function renderTask (line 116) | void renderTask(const std::string & s, FunType && f, ArgsType && ... a...
function lerp (line 128) | inline float lerp( float A, float B, float fac ) {
function inverseLerp (line 138) | inline float inverseLerp( float from, float to, float current ) {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Viewport.cpp
type sibr (line 17) | namespace sibr
function Vector2f (line 75) | Vector2f Viewport::pixAt(const Vector2f & uv) const {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Viewport.hpp
type sibr (line 18) | namespace sibr
function Viewport (line 24) | class SIBR_GRAPHICS_EXPORT Viewport
function Viewport (line 168) | inline const Viewport* Viewport::parent( void ) const {
function Vector2f (line 200) | inline Vector2f Viewport::finalTopLeft() const {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Window.cpp
type sibr (line 24) | namespace sibr
function glfwErrorCallback (line 28) | static void glfwErrorCallback(int error, const char* description)
function glErrorCallback (line 33) | static void glErrorCallback(GLenum src, GLenum type, GLuint id, GLenum...
function glfwKeyboardCallback (line 66) | static void glfwKeyboardCallback(GLFWwindow* window, int key, int scan...
function glfwResizeCallback (line 83) | static void glfwResizeCallback(GLFWwindow* window, int w, int h)
function glfwCursorPosCallback (line 92) | static void glfwCursorPosCallback(GLFWwindow* /*window*/, double x, do...
function glfwMouseButtonCallback (line 103) | static void glfwMouseButtonCallback(GLFWwindow* window, int button, in...
function glfwMouseScrollCallback (line 122) | static void glfwMouseScrollCallback(GLFWwindow* window, double x, doub...
function Vector2i (line 392) | Vector2i Window::desktopSize( void )
function Vector2i (line 398) | Vector2i Window::size( void ) const
function Vector2i (line 410) | Vector2i Window::position() const {
function GLFWwindow (line 498) | GLFWwindow * Window::GLFW(void) {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Window.hpp
type sibr (line 21) | namespace sibr
function IRenderTarget (line 27) | class SIBR_GRAPHICS_EXPORT Window : public IRenderTarget
function GLFWwindow (line 225) | inline GLFWwindow * Window::getContextCurrent(void) {
function GLuint (line 229) | inline GLuint Window::texture(uint /*t*/) const {
function GLuint (line 233) | inline GLuint Window::handle(uint /*t*/) const {
function GLuint (line 237) | inline GLuint Window::fbo(void) const {
function uint (line 255) | inline uint Window::w(void) const {
function uint (line 259) | inline uint Window::h(void) const {
function Viewport (line 268) | inline const Viewport& Window::viewport(void) const {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/imgproc/CropScaleImageUtility.cpp
type sibr (line 15) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/imgproc/CropScaleImageUtility.hpp
type sibr (line 25) | namespace sibr {
function CropScaleImageUtility (line 30) | class SIBR_IMGPROC_EXPORT CropScaleImageUtility
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/imgproc/DistordCropUtility.cpp
type sibr (line 15) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/imgproc/DistordCropUtility.hpp
type sibr (line 27) | namespace sibr {
function DistordCropUtility (line 32) | class SIBR_IMGPROC_EXPORT DistordCropUtility
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/imgproc/MRFSolver.cpp
type sibr (line 16) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/imgproc/MRFSolver.h
function namespace (line 22) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/imgproc/MeshTexturing.cpp
type sibr (line 17) | namespace sibr {
type SampleInfos (line 85) | struct SampleInfos {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/imgproc/MeshTexturing.hpp
type sibr (line 22) | namespace sibr {
function MeshTexturing (line 28) | class SIBR_IMGPROC_EXPORT MeshTexturing
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/imgproc/PoissonReconstruction.cpp
type sibr (line 18) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/imgproc/PoissonReconstruction.hpp
type sibr (line 19) | namespace sibr {
function PoissonReconstruction (line 25) | class SIBR_IMGPROC_EXPORT PoissonReconstruction
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/raycaster/CameraRaycaster.cpp
type sibr (line 18) | namespace sibr
function Ray (line 204) | Ray RaycastingCamera::getRay(const sibr::Vector2f & pixel) const
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/raycaster/CameraRaycaster.hpp
type sibr (line 21) | namespace sibr
function ICameraRaycasterProcessor (line 29) | class SIBR_RAYCASTER_EXPORT ICameraRaycasterProcessor
function CameraRaycaster (line 48) | class SIBR_RAYCASTER_EXPORT CameraRaycaster
class SIBR_RAYCASTER_EXPORT (line 112) | class SIBR_RAYCASTER_EXPORT
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/raycaster/Intersector2D.cpp
type sibr (line 18) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/raycaster/Intersector2D.h
function load (line 26) | struct quad {
function namespace (line 59) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/raycaster/KdTree.hpp
type sibr (line 20) | namespace sibr {
class KdTree (line 30) | class KdTree
method self_t (line 76) | const self_t & derived() const {
method self_t (line 81) | self_t & derived() {
method kdtree_get_point_count (line 86) | inline size_t kdtree_get_point_count() const {
method num_t (line 91) | inline num_t kdtree_get_pt(const size_t idx, const size_t dim) const {
method kdtree_get_bbox (line 97) | bool kdtree_get_bbox(BBOX & /*bb*/) const {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/raycaster/PlaneEstimator.hpp
function PlaneEstimator (line 29) | class SIBR_RAYCASTER_EXPORT PlaneEstimator {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/raycaster/Ray.cpp
type sibr (line 16) | namespace sibr
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/raycaster/Ray.hpp
type sibr (line 20) | namespace sibr
function Ray (line 27) | class SIBR_RAYCASTER_EXPORT Ray
function RayHit (line 72) | class SIBR_RAYCASTER_EXPORT RayHit
function Vector3f (line 156) | inline Vector3f Ray::at(float t) const
function Ray (line 163) | const Ray& RayHit::ray( void ) const {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/raycaster/Raycaster.cpp
type sibr (line 16) | namespace sibr
type Vertex (line 119) | struct Vertex { float x, y, z, a; }
type Triangle (line 120) | struct Triangle { int v0, v1, v2; }
type Vertex (line 157) | struct Vertex { float x, y, z, a; }
function RayHit (line 254) | RayHit Raycaster::intersect(const Ray& inray, float minDist)
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/raycaster/Raycaster.hpp
type sibr (line 27) | namespace sibr
function Raycaster (line 41) | class SIBR_RAYCASTER_EXPORT Raycaster
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/raycaster/VoxelGrid.cpp
type sibr (line 15) | namespace sibr {
function VoxelGridBase (line 267) | VoxelGridBase VoxelGridBase::extend(int numCells) const
function orthoVector (line 398) | sibr::Vector3f orthoVector(const sibr::Vector3f & v)
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/raycaster/VoxelGrid.hpp
type sibr (line 24) | namespace sibr
type BasicVoxelType (line 39) | struct BasicVoxelType {
function VoxelGridBase (line 49) | class SIBR_RAYCASTER_EXPORT VoxelGridBase {
class VoxelGrid (line 237) | class VoxelGrid : public VoxelGridBase {
method VoxelGrid (line 250) | VoxelGrid(const Box & boundingBox, int numPerDim, bool forceCube = t...
method VoxelGrid (line 260) | VoxelGrid(const Box & boundingBox, const sibr::Vector3i & numsPerDim...
method CellType (line 269) | CellType & operator[](size_t cell_id) {
method CellType (line 277) | const CellType & operator[](size_t cell_id) const {
method CellType (line 287) | CellType & operator()(int x, int y, int z) {
method CellType (line 298) | const CellType & operator()(int x, int y, int z) const {
method CellType (line 307) | CellType & operator[](const sibr::Vector3i & v) {
method CellType (line 315) | const CellType & operator[](const sibr::Vector3i & v) const {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/renderer/AddShadowRenderer.cpp
type sibr (line 16) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/renderer/AddShadowRenderer.hpp
type sibr (line 21) | namespace sibr {
function AddShadowRenderer (line 26) | class SIBR_EXP_RENDERER_EXPORT AddShadowRenderer
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/renderer/BinaryMeshRenderer.cpp
type sibr (line 15) | namespace sibr {
function main (line 23) | void main(void) {
function main (line 31) | void main(void) {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/renderer/BinaryMeshRenderer.hpp
type sibr (line 22) | namespace sibr {
function BinaryMeshRenderer (line 27) | class SIBR_EXP_RENDERER_EXPORT BinaryMeshRenderer
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/renderer/BlurRenderer.cpp
type sibr (line 16) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/renderer/BlurRenderer.hpp
type sibr (line 20) | namespace sibr {
function BlurRenderer (line 25) | class SIBR_EXP_RENDERER_EXPORT BlurRenderer
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/renderer/ColoredMeshRenderer.cpp
type sibr (line 17) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/renderer/ColoredMeshRenderer.hpp
type sibr (line 22) | namespace sibr {
function ColoredMeshRenderer (line 27) | class SIBR_EXP_RENDERER_EXPORT ColoredMeshRenderer
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/renderer/CopyRenderer.cpp
type sibr (line 16) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/renderer/CopyRenderer.hpp
type sibr (line 21) | namespace sibr {
function CopyRenderer (line 28) | class SIBR_EXP_RENDERER_EXPORT CopyRenderer
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/renderer/DepthRenderer.cpp
type sibr (line 17) | namespace sibr
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/renderer/DepthRenderer.hpp
type sibr (line 25) | namespace sibr
function DepthRenderer (line 31) | class SIBR_EXP_RENDERER_EXPORT DepthRenderer
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/renderer/NormalRenderer.cpp
type sibr (line 18) | namespace sibr
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/renderer/NormalRenderer.hpp
type sibr (line 26) | namespace sibr
function NormalRenderer (line 32) | class SIBR_EXP_RENDERER_EXPORT NormalRenderer
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/renderer/PointBasedRenderer.cpp
type sibr (line 16) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/renderer/PointBasedRenderer.hpp
type sibr (line 22) | namespace sibr {
function PointBasedRenderer (line 27) | class SIBR_EXP_RENDERER_EXPORT PointBasedRenderer
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/renderer/PoissonRenderer.cpp
type sibr (line 37) | namespace sibr {
function uint (line 69) | uint PoissonRenderer::render( uint texture )
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/renderer/PoissonRenderer.hpp
type sibr (line 25) | namespace sibr {
function PoissonRenderer (line 35) | class SIBR_EXP_RENDERER_EXPORT PoissonRenderer
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/renderer/PositionRender.cpp
type sibr (line 17) | namespace sibr
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/renderer/PositionRender.hpp
type sibr (line 25) | namespace sibr
function PositionRenderer (line 30) | class SIBR_EXP_RENDERER_EXPORT PositionRenderer
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/renderer/RenderMaskHolder.cpp
type sibr (line 16) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/renderer/RenderMaskHolder.hpp
type sibr (line 22) | namespace sibr {
function RenderMaskHolder (line 29) | class SIBR_EXP_RENDERER_EXPORT RenderMaskHolder
function RenderMaskHolderArray (line 76) | class SIBR_EXP_RENDERER_EXPORT RenderMaskHolderArray
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/renderer/ShadowMapRenderer.cpp
type sibr (line 18) | namespace sibr
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/renderer/ShadowMapRenderer.hpp
type sibr (line 26) | namespace sibr
function ShadowMapRenderer (line 33) | class SIBR_EXP_RENDERER_EXPORT ShadowMapRenderer
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/renderer/TexturedMeshRenderer.cpp
type sibr (line 16) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/renderer/TexturedMeshRenderer.hpp
type sibr (line 22) | namespace sibr {
function TexturedMeshRenderer (line 27) | class SIBR_EXP_RENDERER_EXPORT TexturedMeshRenderer
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/scene/BasicIBRScene.cpp
type sibr (line 22) | namespace sibr
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/scene/BasicIBRScene.hpp
type sibr (line 17) | namespace sibr {
function BasicIBRScene (line 25) | class SIBR_SCENE_EXPORT BasicIBRScene: public IIBRScene
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/scene/CalibratedCameras.cpp
type sibr (line 15) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/scene/CalibratedCameras.hpp
type sibr (line 17) | namespace sibr
function ICalibratedCameras (line 22) | class SIBR_SCENE_EXPORT CalibratedCameras : public ICalibratedCameras {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/scene/ICalibratedCameras.hpp
type sibr (line 17) | namespace sibr
function ICalibratedCameras (line 22) | class SIBR_SCENE_EXPORT ICalibratedCameras {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/scene/IIBRScene.hpp
type sibr (line 25) | namespace sibr {
function IIBRScene (line 39) | class SIBR_SCENE_EXPORT IIBRScene
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/scene/IInputImages.hpp
type sibr (line 18) | namespace sibr
function IInputImages (line 23) | class SIBR_SCENE_EXPORT IInputImages {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/scene/IParseData.hpp
type sibr (line 28) | namespace sibr{
function IParseData (line 47) | class SIBR_SCENE_EXPORT IParseData {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/scene/IProxyMesh.hpp
type sibr (line 19) | namespace sibr {
function IProxyMesh (line 23) | class SIBR_SCENE_EXPORT IProxyMesh {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/scene/InputImages.cpp
type sibr (line 16) | namespace sibr
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/scene/InputImages.hpp
type sibr (line 18) | namespace sibr
function IInputImages (line 23) | class SIBR_SCENE_EXPORT InputImages : public IInputImages {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/scene/ParseData.cpp
type sibr (line 30) | namespace sibr {
function colmapSave (line 300) | void colmapSave(const std::string& filename, const std::vector<InputCa...
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/scene/ParseData.hpp
type sibr (line 18) | namespace sibr{
function IParseData (line 37) | class SIBR_SCENE_EXPORT ParseData: public IParseData {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/scene/ProxyMesh.cpp
type sibr (line 16) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/scene/ProxyMesh.hpp
type sibr (line 17) | namespace sibr {
function IProxyMesh (line 21) | class SIBR_SCENE_EXPORT ProxyMesh : public IProxyMesh {
function Mesh (line 46) | inline const Mesh& ProxyMesh::proxy(void) const
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/scene/RenderTargetTextures.cpp
type sibr (line 15) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/scene/RenderTargetTextures.hpp
type sibr (line 28) | namespace sibr{
function RTTextureSize (line 33) | class SIBR_SCENE_EXPORT RTTextureSize {
function RGBDInputTextures (line 53) | class SIBR_SCENE_EXPORT RGBDInputTextures : public virtual RTTextureSi...
function DepthInputTextureArray (line 69) | class SIBR_SCENE_EXPORT DepthInputTextureArray : public virtual RTText...
function RGBInputTextureArray (line 82) | class SIBR_SCENE_EXPORT RGBInputTextureArray : public virtual RTTextur...
class SIBR_SCENE_EXPORT (line 98) | class SIBR_SCENE_EXPORT
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/system/Array2d.hpp
type sibr (line 18) | namespace sibr
class Array2d (line 20) | class Array2d
class Array2d (line 32) | class Array2d
function uint (line 138) | uint Array2d<T>::width( void ) const {
function uint (line 143) | uint Array2d<T>::height( void ) const {
function uint (line 148) | uint Array2d<T>::w(void) const {
function uint (line 153) | uint Array2d<T>::h(void) const {
function uint (line 229) | uint Array2d<T>::index( uint x, uint y ) const {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/system/ByteStream.cpp
type sibr (line 25) | namespace sibr
function uint64 (line 53) | uint64 ByteStream::htonll(uint64 n)
function uint32 (line 70) | uint32 ByteStream::htonl( uint32 n )
function uint16 (line 84) | uint16 ByteStream::htons( uint16 n )
function ByteStream (line 157) | ByteStream& ByteStream::operator <<( bool b )
function ByteStream (line 162) | ByteStream& ByteStream::operator <<( int8 i )
function ByteStream (line 168) | ByteStream& ByteStream::operator <<( int16 i )
function ByteStream (line 175) | ByteStream& ByteStream::operator <<( int32 i )
function ByteStream (line 182) | ByteStream& ByteStream::operator <<( int64 i )
function ByteStream (line 189) | ByteStream& ByteStream::operator <<( uint8 i )
function ByteStream (line 195) | ByteStream& ByteStream::operator <<( uint16 i )
function ByteStream (line 202) | ByteStream& ByteStream::operator <<( uint32 i )
function ByteStream (line 209) | ByteStream& ByteStream::operator <<(uint64 i)
function ByteStream (line 216) | ByteStream& ByteStream::operator <<( const std::string& str )
function ByteStream (line 224) | ByteStream& ByteStream::operator <<( float f )
function ByteStream (line 230) | ByteStream& ByteStream::operator <<(double d)
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/system/ByteStream.hpp
type sibr (line 20) | namespace sibr
function ByteStream (line 30) | class SIBR_SYSTEM_EXPORT ByteStream
function uint64 (line 291) | uint64 ByteStream::ntohll(uint64 n) {
function uint32 (line 294) | uint32 ByteStream::ntohl( uint32 n ) {
function uint16 (line 297) | uint16 ByteStream::ntohs( uint16 n ) {
function ByteStream (line 304) | ByteStream& ByteStream::operator >>( bool& b ) {
function ByteStream (line 310) | ByteStream& ByteStream::operator >>( int8& i ) {
function ByteStream (line 318) | ByteStream& ByteStream::operator >>( int16& i ) {
function ByteStream (line 327) | ByteStream& ByteStream::operator >>( int32& i ) {
function ByteStream (line 335) | ByteStream& ByteStream::operator >>(int64& i) {
function ByteStream (line 344) | ByteStream& ByteStream::operator >>( uint8& i ) {
function ByteStream (line 352) | ByteStream& ByteStream::operator >>( uint16& i ) {
function ByteStream (line 360) | ByteStream& ByteStream::operator >>( uint32& i ) {
function ByteStream (line 368) | ByteStream& ByteStream::operator >>(uint64& i) {
function ByteStream (line 376) | ByteStream& ByteStream::operator >>( std::string& str ) {
function ByteStream (line 390) | ByteStream& ByteStream::operator >>( float& f ) {
function ByteStream (line 399) | ByteStream& ByteStream::operator >>( double& d ) {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/system/CommandLineArgs.cpp
type sibr (line 18) | namespace sibr
function CommandLineArgs (line 22) | const CommandLineArgs & getCommandLineArgs()
function CommandLineArgs (line 27) | CommandLineArgs & CommandLineArgs::getGlobal()
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/system/CommandLineArgs.hpp
type sibr (line 22) | namespace sibr
type Switch (line 30) | struct Switch {}
type ValueGetter (line 46) | struct ValueGetter {
type RenderingModes (line 63) | enum RenderingModes {
function CommandLineArgs (line 78) | class SIBR_SYSTEM_EXPORT CommandLineArgs {
class ArgBase (line 181) | class ArgBase {
method T (line 188) | const T & get() const { return _value; }
method T (line 194) | T & operator=(const T & t) { _value = t; return _value; }
class Arg (line 208) | class Arg : public ArgBase<T> {
method Arg (line 215) | Arg(const std::string & key, const T & default_value, const std::str...
class Arg<Switch> (line 226) | class Arg<Switch> : public ArgBase<bool> {
method Arg (line 233) | Arg(const std::string & key, const bool & default_value, const std::...
class Arg<bool> (line 251) | class Arg<bool> : public ArgBase<bool> {
method Arg (line 258) | Arg(const std::string & key, const std::string & description = "") {
class RequiredArgBase (line 270) | class RequiredArgBase {
method RequiredArgBase (line 276) | RequiredArgBase(const std::string & _key, const std::string & descri...
method T (line 288) | const T & get() const { checkInit(); return _value; }
method T (line 294) | T & operator=(const T & t) { _value = t; wasInit = true; return _val...
method checkInit (line 302) | void checkInit() const {
class RequiredArg (line 318) | class RequiredArg : public RequiredArgBase<T> {
class RequiredArg<std::string> (line 326) | class RequiredArg<std::string> : public RequiredArgBase<std::string> {
function AppArgs (line 346) | struct SIBR_SYSTEM_EXPORT AppArgs {
function WindowArgs (line 367) | struct SIBR_SYSTEM_EXPORT WindowArgs {
type SIBR_SYSTEM_EXPORT (line 380) | struct SIBR_SYSTEM_EXPORT
function RenderingArgs (line 386) | struct SIBR_SYSTEM_EXPORT RenderingArgs {
function BasicDatasetArgs (line 399) | struct SIBR_SYSTEM_EXPORT BasicDatasetArgs {
type SIBR_SYSTEM_EXPORT (line 406) | struct SIBR_SYSTEM_EXPORT
type ValueGetter<std::string> (line 413) | struct ValueGetter<std::string> {
method get (line 414) | static std::string get(const std::vector<std::string> & values, uint...
method toString (line 417) | static std::string toString(const std::string & value) {
type ValueGetter<bool> (line 425) | struct ValueGetter<bool> {
method get (line 426) | static bool get(const std::vector<std::string> & values, uint n) {
method toString (line 429) | static std::string toString(const bool & value) {
type ValueGetter<double> (line 437) | struct ValueGetter<double> {
method get (line 438) | static double get(const std::vector<std::string> & values, uint n) {
method toString (line 441) | static std::string toString(const double & value) {
type ValueGetter<float> (line 449) | struct ValueGetter<float> {
method get (line 450) | static float get(const std::vector<std::string> & values, uint n) {
method toString (line 453) | static std::string toString(const float & value) {
type ValueGetter<int> (line 461) | struct ValueGetter<int> {
method get (line 462) | static int get(const std::vector<std::string> & values, uint n) {
method toString (line 465) | static std::string toString(const int & value) {
type ValueGetter<char> (line 473) | struct ValueGetter<char> {
method get (line 474) | static char get(const std::vector<std::string> & values, uint n) {
method toString (line 477) | static std::string toString(const char & value) {
type ValueGetter<uint> (line 485) | struct ValueGetter<uint> {
method uint (line 486) | static uint get(const std::vector<std::string> & values, uint n) {
method toString (line 489) | static std::string toString(const uint & value) {
type ValueGetter<std::array<T, N>> (line 497) | struct ValueGetter<std::array<T, N>> {
method get (line 498) | static std::array<T, N> get(const std::vector<std::string> & values,...
method toString (line 505) | static std::string toString(const std::array<T, N> & value) {
type ValueGetter<Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>> (line 520) | struct ValueGetter<Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _Max...
method get (line 521) | static Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _Max...
method toString (line 528) | static std::string toString(const Eigen::Matrix<_Scalar, _Rows, _Col...
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/system/Config.cpp
type sibr (line 19) | namespace sibr
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/system/Config.hpp
type sibr (line 158) | namespace sibr
function LogExit (line 163) | struct SIBR_SYSTEM_EXPORT LogExit
function DebugScopeProfiler (line 243) | struct SIBR_SYSTEM_EXPORT DebugScopeProfiler
function round (line 300) | inline float round(float x) {
type sibr (line 239) | namespace sibr
function LogExit (line 163) | struct SIBR_SYSTEM_EXPORT LogExit
function DebugScopeProfiler (line 243) | struct SIBR_SYSTEM_EXPORT DebugScopeProfiler
function round (line 300) | inline float round(float x) {
type sibr (line 292) | namespace sibr
function LogExit (line 163) | struct SIBR_SYSTEM_EXPORT LogExit
function DebugScopeProfiler (line 243) | struct SIBR_SYSTEM_EXPORT DebugScopeProfiler
function round (line 300) | inline float round(float x) {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/system/LoadingProgress.cpp
type sibr (line 16) | namespace sibr
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/system/LoadingProgress.hpp
type sibr (line 21) | namespace sibr
function LoadingProgress (line 34) | class SIBR_SYSTEM_EXPORT LoadingProgress
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/system/MD5.h
type UINT4 (line 58) | typedef unsigned long int UINT4;
type MD5_CTX (line 61) | typedef struct {
function MD5Buffer (line 77) | void MD5Buffer( void* buffer, size_t bufLen, unsigned int* pDigest )
function MD5Init (line 171) | void MD5Init (MD5_CTX *mdContext)
function MD5Update (line 183) | void MD5Update (MD5_CTX *mdContext, unsigned char *inBuf, size_t inLen)
function MD5Final (line 215) | void MD5Final (MD5_CTX *mdContext)
function Transform (line 255) | static void Transform (UINT4 *buf, UINT4 *in)
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/system/Matrix.cpp
type sibr (line 16) | namespace sibr
function Matrix4f (line 18) | Matrix4f perspective( float fovRadian, float ratio, float zn, float zf...
function Matrix4f (line 35) | Matrix4f perspectiveOffCenter(
function Matrix4f (line 58) | Matrix4f perspectiveStereo(
function Matrix4f (line 80) | Matrix4f orthographic(float right, float top, float mynear, float myfar)
function Matrix4f (line 94) | Matrix4f lookAt(
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/system/Matrix.hpp
type sibr (line 53) | namespace sibr
function matFromQuat (line 73) | Eigen::Matrix<T, 4, 4, 0, 4, 4> matFromQuat( const Eigen::Quaternion<T...
function matFromTranslation (line 90) | Eigen::Matrix<T, 4, 4, 0, 4, 4> matFromTranslation( const Eigen::Matri...
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/system/MatrixBasePlugin.hpp
function xy (line 29) | Matrix<Scalar, 2, 1,Eigen::DontAlign> xy( float fill=0.f ) const {
function yx (line 37) | Matrix<Scalar, 2, 1, Eigen::DontAlign> yx(float fill = 0.f) const {
function wz (line 45) | Matrix<Scalar, 2, 1, Eigen::DontAlign> wz(float fill = 0.f) const {
function xyz (line 53) | Matrix<Scalar, 3, 1,Eigen::DontAlign> xyz( float fill=0.f ) const {
function xyzw (line 61) | Matrix<Scalar, 4, 1,Eigen::DontAlign> xyzw( float fill=0.f ) const {
function yxz (line 69) | Matrix<Scalar, 3, 1, Eigen::DontAlign> yxz(float fill = 0.f) const {
function yzx (line 77) | Matrix<Scalar, 3, 1, Eigen::DontAlign> yzx(float fill = 0.f) const {
function isNull (line 84) | bool isNull( void ) const {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/system/Quaternion.cpp
type sibr (line 16) | namespace sibr
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/system/Quaternion.hpp
type sibr (line 21) | namespace sibr
function quatFromMatrix (line 34) | Eigen::Quaternion<T, 0> quatFromMatrix(const Eigen::Matrix<T, 3, 3, Op...
function quatFromMatrix (line 80) | Eigen::Quaternion<T, 0> quatFromMatrix( const Eigen::Matrix<T, 4,4, Op...
function quatFromEulerAngles (line 127) | Eigen::Quaternion<T, 0> quatFromEulerAngles( const Eigen::Matrix<T, 3,...
function quatRotateVec (line 157) | Eigen::Matrix<T, 3, 1, Options> quatRotateVec(
function dot (line 168) | inline static Eigen::Quaternion<T> dot( const Eigen::Quaternion<T>& q1...
function angleRadian (line 179) | inline static float angleRadian( const Eigen::Quaternion<T>& q1, cons...
function lerp (line 192) | inline static Eigen::Quaternion<T> lerp( const Eigen::Quaternion<T>& q...
function slerp (line 203) | static Eigen::Quaternion<T> slerp( const Eigen::Quaternion<T>& q1, con...
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/system/Rect.hpp
type sibr (line 18) | namespace sibr
class Rect (line 33) | class Rect
function T (line 98) | T Rect<T>::left( void ) const {
function T (line 102) | T Rect<T>::right( void ) const {
function T (line 106) | T Rect<T>::top( void ) const {
function T (line 110) | T Rect<T>::bottom( void ) const {
function T (line 115) | T Rect<T>::width( void ) const {
function T (line 120) | T Rect<T>::height( void ) const {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/system/SimpleTimer.hpp
type sibr (line 19) | namespace sibr
class Timer (line 25) | class Timer
method Timer (line 40) | Timer(bool start_now = false ) : hasStarted(false)
method Timer (line 50) | Timer(const Timer & timer) {
method tic (line 58) | void tic()
method toc (line 68) | void toc()
method deltaTimeFromLastTic (line 78) | double deltaTimeFromLastTic() const
method display (line 95) | void display(bool toc_now = false)
method getDeltaTime (line 124) | bool getDeltaTime(const time_point & tic, const time_point & toc, do...
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/system/String.cpp
type sibr (line 19) | namespace sibr
function strSearchAndReplace (line 21) | std::string strSearchAndReplace( const std::string& src, const std::st...
function removeExtension (line 33) | std::string removeExtension(const std::string & str)
function getExtension (line 38) | std::string getExtension(const std::string & str)
function parentDirectory (line 47) | std::string parentDirectory(const std::string & str)
function SIBR_SYSTEM_EXPORT (line 69) | SIBR_SYSTEM_EXPORT std::string getFileName(const std::string & str)
function strContainsOnlyDigits (line 78) | bool strContainsOnlyDigits(const std::string& str)
function split (line 86) | std::vector<std::string> split(const std::string& str, char delim)
function sprint (line 101) | std::string sprint(const char *msg, ...)
function sprintf (line 117) | int sprintf(char* buffer, size_t size, const char* format, ...)
function SIBR_SYSTEM_EXPORT (line 131) | SIBR_SYSTEM_EXPORT std::string to_lower(const std::string& str)
function SIBR_SYSTEM_EXPORT (line 143) | SIBR_SYSTEM_EXPORT bool find_any(const std::vector<std::string>& needl...
function timestamp (line 154) | std::string timestamp(const std::string & format) {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/system/String.hpp
type sibr (line 17) | namespace sibr
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/system/ThreadIdWorker.cpp
type sibr (line 16) | namespace sibr
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/system/ThreadIdWorker.hpp
type sibr (line 22) | namespace sibr
class ThreadIdWorker (line 49) | class /*SIBR_SYSTEM_EXPORT*/ ThreadIdWorker : public std::thread
method ThreadIdWorker (line 75) | ThreadIdWorker(const ThreadIdWorker&) = delete;
function ThreadIdWorker (line 100) | inline ThreadIdWorker& ThreadIdWorker::operator =( ThreadIdWorker&& ot...
method ThreadIdWorker (line 75) | ThreadIdWorker(const ThreadIdWorker&) = delete;
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/system/Transform3.hpp
type sibr (line 22) | namespace sibr
class Transform3 (line 29) | class Transform3
method Transform3 (line 38) | Transform3( void ) : _position(0, 0, 0) {
method set (line 46) | void set( const Vector3& translation, const Quaternion& rotat...
method interpolate (line 168) | static Transform3<T> interpolate( const Transform3<T>& from, const T...
method extrapolate (line 185) | static Transform3<T> extrapolate(const Transform3<T>& previous, cons...
method computeFinal (line 201) | static Transform3<T> computeFinal( const Transform3<T>& parentTr, co...
function ByteStream (line 241) | ByteStream& operator << (ByteStream& stream, const Transform3<T>& t ) {
function ByteStream (line 256) | ByteStream& operator >> (ByteStream& stream, Transform3<T>& t ) {
function Matrix4f (line 352) | Matrix4f Transform3<T>::matrix( void ) const {
function Matrix4f (line 359) | Matrix4f Transform3<T>::invMatrix( void ) const {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/system/Utils.cpp
type sibr (line 38) | namespace sibr
function setupConsole (line 44) | void setupConsole(void) {
function restoreConsole (line 66) | void restoreConsole(void) {
function loadFile (line 78) | std::string loadFile(const std::string& fname)
function makeDirectory (line 97) | void makeDirectory(const std::string& path)
function listFiles (line 104) | std::vector<std::string> listFiles(const std::string & path, const boo...
function listSubdirectories (line 149) | std::vector<std::string> listSubdirectories(const std::string & path, ...
function copyDirectory (line 180) | bool copyDirectory(const std::string& src, const std::string& dst)
function copyFile (line 247) | bool copyFile(const std::string & src, const std::string & dst, const ...
function emptyDirectory (line 290) | void emptyDirectory(const std::string& path) {
function fileExists (line 297) | bool fileExists(const std::string& path)
function directoryExists (line 303) | bool directoryExists(const std::string& path)
function getAvailableMem (line 309) | size_t getAvailableMem() {
function SIBR_SYSTEM_EXPORT (line 324) | SIBR_SYSTEM_EXPORT std::string getInstallDirectory()
function SIBR_SYSTEM_EXPORT (line 356) | SIBR_SYSTEM_EXPORT std::string getBinDirectory()
function SIBR_SYSTEM_EXPORT (line 361) | SIBR_SYSTEM_EXPORT std::string getShadersDirectory(const std::string &...
function SIBR_SYSTEM_EXPORT (line 366) | SIBR_SYSTEM_EXPORT std::string getScriptsDirectory()
function SIBR_SYSTEM_EXPORT (line 371) | SIBR_SYSTEM_EXPORT std::string getResourcesDirectory()
function SIBR_SYSTEM_EXPORT (line 376) | SIBR_SYSTEM_EXPORT std::string getAppDataDirectory()
function SIBR_SYSTEM_EXPORT (line 410) | SIBR_SYSTEM_EXPORT std::string getInstallSubDirectory(const std::strin...
function showFilePicker (line 426) | bool showFilePicker(std::string & selectedElement,
function SIBR_SYSTEM_EXPORT (line 459) | SIBR_SYSTEM_EXPORT std::istream& safeGetline(std::istream& is, std::st...
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/system/Utils.hpp
type sibr (line 19) | namespace sibr
type FilePickerMode (line 127) | enum FilePickerMode {
function taskTiming (line 149) | void taskTiming(const std::string & s, FunType && f, ArgsType && ... a...
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/system/Vector.cpp
type sibr (line 17) | namespace sibr
function Vector3f (line 20) | Vector3f toColorFloat(Vector3ub & colorUB ) {
function Vector3ub (line 24) | Vector3ub toColorUB( Vector3f & colorFloat ) {
function alignRotationMatrix (line 28) | Eigen::Matrix<float, 4, 4, Eigen::DontAlign> alignRotationMatrix(const...
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/system/Vector.hpp
type Eigen (line 19) | namespace Eigen
type sibr (line 83) | namespace sibr
function frac (line 99) | Eigen::Matrix<T, N, 1, Options> frac( const Eigen::Matrix<T, N, 1, O...
function T (line 112) | inline T distance( const Eigen::Matrix<T, N, 1, Options>& A, const E...
function T (line 121) | inline T length( const Eigen::Matrix<T, N, 1, Options>& A ) {
function T (line 130) | inline T sqLength( const Eigen::Matrix<T, N, 1, Options>& A ) {
function T (line 140) | inline T dot( const Eigen::Matrix<T, N, 1, Options>& A, const Eigen:...
function cross (line 150) | inline Eigen::Matrix<T, N, 1, Options> cross( const Eigen::Matrix<T, N...
function clamp (line 161) | inline Vector<T,N> clamp(const Vector<T, N>& A, const Vector<T, N> & m...
function T (line 171) | inline T cotan(const Eigen::Matrix<T, N, 1, Options>& A, const Eigen::...
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/system/VectorUtils.hpp
type sibr (line 19) | namespace sibr
function T_out (line 31) | T_out sum(
function weighted_normalization (line 50) | std::vector<T_out> weighted_normalization(
function applyLambda (line 81) | std::vector<T_out> applyLambda(
function applyLambda (line 98) | std::vector<T_out> applyLambda(
function T_out (line 116) | T_out var(
function normalizedMinMax (line 146) | std::vector<T_out> normalizedMinMax(
function normalizedZeroOne (line 180) | std::vector<T_out> normalizedZeroOne(
class MultiVector (line 212) | class MultiVector : public std::vector< MultiVector<T, N - 1> >
method MultiVector (line 223) | MultiVector() {}
method MultiVector (line 229) | MultiVector(int n, const T & t = T() )
method MultiVector (line 236) | MultiVector(const std::vector<int> & dims, const T & t = T() )
method T (line 243) | T & multiAt(const std::vector<int> & ids) {
method T (line 251) | const T & multiAt(const std::vector<int> & ids) const {
method dims (line 258) | std::vector<int> dims() const
method dimsDisplay (line 267) | void dimsDisplay() const {
method dimsRecur (line 281) | void dimsRecur(std::vector<int> & v) const
class MultiVector<T, 1> (line 292) | class MultiVector<T, 1> : public std::vector<T>
method MultiVector (line 299) | MultiVector() {}
method MultiVector (line 305) | MultiVector(int n, const T & t = T() )
method MultiVector (line 312) | MultiVector(const std::vector<int> & dims, const T & t = T())
method T (line 319) | T & multiAt(const std::vector<int> & ids) {
method T (line 327) | const T & multiAt(const std::vector<int> & ids) const {
method dimsDisplay (line 333) | void dimsDisplay() const {
method dimsRecur (line 342) | void dimsRecur(std::vector<int> & v) const
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/system/XMLTree.cpp
type sibr (line 20) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/system/XMLTree.h
function namespace (line 19) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/video/FFmpegVideoEncoder.cpp
type sibr (line 29) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/video/FFmpegVideoEncoder.hpp
type AVFrame (line 22) | struct AVFrame
type AVFormatContext (line 23) | struct AVFormatContext
type AVOutputFormat (line 24) | struct AVOutputFormat
type AVStream (line 25) | struct AVStream
type AVCodecContext (line 26) | struct AVCodecContext
type AVCodec (line 27) | struct AVCodec
type AVPacket (line 28) | struct AVPacket
type sibr (line 30) | namespace sibr {
function FFVideoEncoder (line 37) | class SIBR_VIDEO_EXPORT FFVideoEncoder {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/video/MultipleVideoDecoder.hpp
type sibr (line 19) | namespace sibr
type PingPongTexture (line 26) | struct PingPongTexture {
type MultipleVideoDecoder (line 57) | struct MultipleVideoDecoder {
method update (line 65) | void update(const std::vector<sibr::VideoPlayer::Ptr> & videos) {
method updateCPU (line 81) | void updateCPU(const std::vector<sibr::VideoPlayer::Ptr> & videos) {
method updateGPU (line 93) | void updateGPU(const std::vector<sibr::VideoPlayer::Ptr> & videos) {
method TexArrayPtr (line 114) | TexArrayPtr & getLoadingTexArray() { return loadingTexArray ? ping :...
method TexArrayPtr (line 117) | const TexArrayPtr & getDisplayTexArray() const { return displayTexAr...
type MultipleVideoDecoderArray (line 130) | struct MultipleVideoDecoderArray : public MultipleVideoDecoder<T,N> {
method update (line 139) | void update(const std::vector<sibr::VideoPlayer::Ptr> & videos, cons...
method updateCPU (line 156) | void updateCPU(const std::vector<sibr::VideoPlayer::Ptr> & videos, c...
method updateGPU (line 167) | void updateGPU(const std::vector<sibr::VideoPlayer::Ptr> & videos, c...
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/video/Video.cpp
type sibr (line 17) | namespace sibr
function Path (line 65) | const Path & Video::getFilepath() const {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/video/Video.hpp
type sibr (line 25) | namespace sibr
function Video (line 31) | class SIBR_VIDEO_EXPORT Video
class SIBR_VIDEO_EXPORT (line 125) | class SIBR_VIDEO_EXPORT
type Mode (line 133) | enum Mode { PAUSE, PLAY, SHOULD_CLOSE }
function setTransformation (line 153) | void setTransformation(const Transformation & f) { transformation = f; }
function setMode (line 158) | void setMode(Mode _mode) { mode = _mode; }
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/video/VideoUtils.cpp
type sibr (line 21) | namespace sibr {
function cvSplitChannels (line 23) | std::vector<cv::Mat> cvSplitChannels(cv::Mat mat) {
function Volume3u (line 29) | Volume3u loadVideoVolume(const std::string & filepath) {
function Volume3u (line 39) | Volume3u loadVideoVolume(sibr::Video & video)
function SIBR_VIDEO_EXPORT (line 52) | SIBR_VIDEO_EXPORT uint optimal_num_levels(uint length)
function SIBR_VIDEO_EXPORT (line 62) | SIBR_VIDEO_EXPORT std::vector<sibr::Volume3u> gaussianPyramid(const si...
function SIBR_VIDEO_EXPORT (line 75) | SIBR_VIDEO_EXPORT std::vector<sibr::Volume3u> gaussianPyramidTemporal(...
function laplacianPyramid (line 88) | std::vector<sibr::Volume3u> laplacianPyramid(const sibr::Volume3u & vi...
function laplacianPyramidTemporalDouble (line 111) | std::vector<sibr::Volume3u> laplacianPyramidTemporalDouble(const sibr:...
function SIBR_VIDEO_EXPORT (line 140) | SIBR_VIDEO_EXPORT sibr::Volume3u collapseLaplacianPyramid(const std::v...
function SIBR_VIDEO_EXPORT (line 153) | SIBR_VIDEO_EXPORT sibr::Volume3u laplacianBlending(const sibr::Volume3...
type Match (line 827) | struct Match {
type Match (line 921) | struct Match {
type Data (line 1164) | struct Data {
type Data (line 1244) | struct Data {
type Data (line 1288) | struct Data {
function PyramidLayer (line 1366) | PyramidLayer PyramidLayer::operator+(const PyramidLayer & other)
function PyramidLayer (line 1378) | PyramidLayer PyramidLayer::operator-(const PyramidLayer & other)
function PyramidLayer (line 1390) | PyramidLayer blur(const PyramidLayer & layer, const PyramidParameters ...
function PyramidLayer (line 1448) | PyramidLayer temporalBlur(const PyramidLayer & layer, const PyramidPar...
function temporalBlurInPlace (line 1456) | void temporalBlurInPlace(PyramidLayer & layer, const PyramidParameters...
function PyramidLayer (line 1462) | PyramidLayer decimate(const PyramidLayer & layer, const PyramidParamet...
function PyramidLayer (line 1481) | PyramidLayer upscale(const PyramidLayer & layerUp, const PyramidLayer ...
function PyramidLayer (line 1511) | PyramidLayer downscale(const PyramidLayer & layer, const PyramidParame...
function SIBR_VIDEO_EXPORT (line 1574) | SIBR_VIDEO_EXPORT cv::Mat slice(const PyramidLayer & layer, int i, int...
function PyramidLayer (line 1594) | PyramidLayer VideoLaplacianPyramid::collapse() const
function VideoGaussianPyramid (line 1604) | VideoGaussianPyramid buildVideoGaussianPyramid(const cv::Mat & volume,...
function VideoGaussianPyramid (line 1623) | VideoGaussianPyramid buildVideoGaussianPyramid(sibr::Video & vid, int ...
function SIBR_VIDEO_EXPORT (line 1628) | SIBR_VIDEO_EXPORT VideoLaplacianPyramid buildVideoLaplacianPyramid(Pyr...
function VideoLaplacianPyramid (line 1651) | VideoLaplacianPyramid buildVideoLaplacianPyramid(sibr::Video & vid, in...
function VideoLaplacianPyramid (line 1656) | VideoLaplacianPyramid buildVideoLaplacianPyramidFullyReduced(PyramidLa...
function SIBR_VIDEO_EXPORT (line 1679) | SIBR_VIDEO_EXPORT void convertReducedVideoPyramidTo128(VideoLaplacianP...
function PyramidLayer (line 1687) | PyramidLayer videoLaplacianBlending(sibr::Video & vidA, sibr::Video & ...
function PyramidLayer (line 1712) | PyramidLayer videoLaplacianBlending(PyramidLayer vidA, PyramidLayer vi...
function videoLaplacianBlendingContrib (line 1757) | std::vector<FullContribData> videoLaplacianBlendingContrib(PyramidLaye...
function videoLaplacianBlendingDebug (line 1826) | void videoLaplacianBlendingDebug(PyramidLayer vidA, PyramidLayer vidB,...
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/video/VideoUtils.hpp
type CV_Assign (line 25) | struct CV_Assign {
method assignValue (line 26) | static void assignValue(uint c, const T & val, cv::Vec<T, N> & vec) {
type CV_Assign<T,1> (line 31) | struct CV_Assign<T,1> {
method assignValue (line 32) | static void assignValue(uint c, const T & val, T & vec) {
function cvConvertMatTo (line 38) | cv::Mat cvConvertMatTo(cv::Mat mat, double scale = 1.0) {
class VideoVolume (line 60) | class VideoVolume
method VideoVolume (line 83) | VideoVolume() {}
method VideoVolume (line 85) | VideoVolume(int _l, int _w, int _h) : l(_l), w(_w), h(_h) {
method VideoVolume (line 89) | VideoVolume(int _l, int _w, int _h, double value) : l(_l), w(_w), h(_h) {
method VideoVolume (line 93) | VideoVolume(cv::Mat other_volume, int _w, int _h) : w(_w), h(_h), l(ot...
method VideoVolume (line 101) | VideoVolume(const VideoVolume & other) : l(other.l) , w(other.w), h(ot...
method setupFrom (line 106) | void setupFrom(const VideoVolume<U, M> & other) {
method VideoVolume (line 110) | VideoVolume clone() const {
method convertTo (line 115) | VideoVolume<U, M> convertTo() const {
method toggle (line 123) | void toggle(double d = 255) {
method shift (line 127) | void shift(double d) {
method scale (line 130) | void scale(double d) {
method add (line 134) | void add(const VideoVolume<U,N> & other) {
method substract (line 139) | void substract(const VideoVolume<U, N> & other) {
method multiply (line 144) | void multiply(const VideoVolume<U,M> & other) {
method VideoVolume (line 150) | VideoVolume concat(const VideoVolume & other) const {
method VideoVolume (line 157) | VideoVolume concatH(const VideoVolume & other) const {
method concatVolumesChannels (line 551) | VideoVolume<T, N + M> concatVolumesChannels(const sibr::VideoVolume<T...
method extendedBlurPyramid (line 568) | std::vector<sibr::VideoVolume<uchar, M>> extendedBlurPyramid(const sib...
method gaussianPyramid (line 581) | std::vector<sibr::VideoVolume<uchar, M>> gaussianPyramid(const sibr::V...
method gaussianPyramidTemporal (line 594) | std::vector<sibr::VideoVolume<T, M>> gaussianPyramidTemporal (const si...
method gaussianPyramidTemporalBox (line 607) | std::vector<sibr::VideoVolume<T, M>> gaussianPyramidTemporalBox(const ...
method laplacianPyramidTemporal (line 625) | std::vector<VideoVolume<T,3>> laplacianPyramidTemporal(const VideoVolu...
method collapseLaplacianPyramidTemporal (line 652) | sibr::VideoVolume<T,3> collapseLaplacianPyramidTemporal(const std::vec...
method laplacianBlendingTemporal (line 681) | sibr::VideoVolume<T_V, 3> laplacianBlendingTemporal(
method totalVariation (line 716) | cv::Mat_<Pix> totalVariation(const VideoVolume<T, N> & v) {
type SIBR_VIDEO_EXPORT (line 736) | struct SIBR_VIDEO_EXPORT
method PyramidLayer (line 737) | PyramidLayer() {}
method PyramidLayer (line 738) | PyramidLayer(int _w, int _h, int _l, int cv_type = CV_32FC1) : l(_l), ...
method PyramidLayer (line 741) | PyramidLayer(const cv::Mat & _volume, int _w, int _h) : w(_w), h(_h), ...
method PyramidLayer (line 748) | PyramidLayer clone() const {
method copySizeFrom (line 758) | void copySizeFrom(const PyramidLayer & other) {
method cout (line 764) | void cout() const {
type SIBR_VIDEO_EXPORT (line 779) | struct SIBR_VIDEO_EXPORT
method PyramidParameters (line 780) | PyramidParameters(int nlevels = 5, int temporal = 3, int spatial = 2, ...
class SIBR_VIDEO_EXPORT (line 799) | class SIBR_VIDEO_EXPORT
class SIBR_VIDEO_EXPORT (line 806) | class SIBR_VIDEO_EXPORT
type SIBR_VIDEO_EXPORT (line 835) | struct SIBR_VIDEO_EXPORT
type SIBR_VIDEO_EXPORT (line 839) | struct SIBR_VIDEO_EXPORT
class Histogram (line 850) | class Histogram {
method Histogram (line 856) | Histogram(const Value & _min, const Value & _max, uint _numBins = 100)
method Indice (line 863) | Indice whatBin(const Value & value) {
method addValue (line 871) | void addValue(const Value & value) {
method addValues (line 874) | void addValues(const std::vector<Value> & values) {
method Indice (line 880) | Indice getModeIndice() const {
method Value (line 892) | Value getBinMiddle(const Indice & bin) const {
class Histogram<T, 1> (line 907) | class Histogram<T, 1> {
method Histogram (line 911) | Histogram(double _min, double _max, int _numBins = 100) : min(_min),...
method whatBin (line 916) | bool whatBin(T value, uint & bin) {
method addValue (line 925) | void addValue(T value) {
method addValues (line 932) | void addValues(const std::vector<T> & values) {
method uint (line 938) | uint getModeIndice() const {
method T (line 949) | T getBinMiddle(uint bin) const {
method normalized_values (line 953) | std::vector<float> normalized_values() const {
type TimeHistogram (line 974) | struct TimeHistogram {
method TimeHistogram (line 976) | TimeHistogram(double _min, double _max, int _numBins) : numBins(_num...
method addValues (line 982) | void addValues(const std::vector<sibr::Vector3ub> & values) {
method getBinMiddle (line 988) | sibr::Vector3ub getBinMiddle(const sibr::Vector3ub & bin) const {
method getHMode (line 996) | sibr::Vector3ub getHMode() const {
method addValue (line 1008) | void addValue(const sibr::Vector3ub & value) {
method whatBin (line 1012) | sibr::Vector3ub whatBin(const sibr::Vector3ub & value) {
method computeSortedBins (line 1020) | void computeSortedBins() {
class SIBR_VIDEO_EXPORT (line 1044) | class SIBR_VIDEO_EXPORT
class VideoVolume (line 73) | class VideoVolume {
method VideoVolume (line 83) | VideoVolume() {}
method VideoVolume (line 85) | VideoVolume(int _l, int _w, int _h) : l(_l), w(_w), h(_h) {
method VideoVolume (line 89) | VideoVolume(int _l, int _w, int _h, double value) : l(_l), w(_w), h(_h) {
method VideoVolume (line 93) | VideoVolume(cv::Mat other_volume, int _w, int _h) : w(_w), h(_h), l(ot...
method VideoVolume (line 101) | VideoVolume(const VideoVolume & other) : l(other.l) , w(other.w), h(ot...
method setupFrom (line 106) | void setupFrom(const VideoVolume<U, M> & other) {
method VideoVolume (line 110) | VideoVolume clone() const {
method convertTo (line 115) | VideoVolume<U, M> convertTo() const {
method toggle (line 123) | void toggle(double d = 255) {
method shift (line 127) | void shift(double d) {
method scale (line 130) | void scale(double d) {
method add (line 134) | void add(const VideoVolume<U,N> & other) {
method substract (line 139) | void substract(const VideoVolume<U, N> & other) {
method multiply (line 144) | void multiply(const VideoVolume<U,M> & other) {
method VideoVolume (line 150) | VideoVolume concat(const VideoVolume & other) const {
method VideoVolume (line 157) | VideoVolume concatH(const VideoVolume & other) const {
method concatVolumesChannels (line 551) | VideoVolume<T, N + M> concatVolumesChannels(const sibr::VideoVolume<T...
method extendedBlurPyramid (line 568) | std::vector<sibr::VideoVolume<uchar, M>> extendedBlurPyramid(const sib...
method gaussianPyramid (line 581) | std::vector<sibr::VideoVolume<uchar, M>> gaussianPyramid(const sibr::V...
method gaussianPyramidTemporal (line 594) | std::vector<sibr::VideoVolume<T, M>> gaussianPyramidTemporal (const si...
method gaussianPyramidTemporalBox (line 607) | std::vector<sibr::VideoVolume<T, M>> gaussianPyramidTemporalBox(const ...
method laplacianPyramidTemporal (line 625) | std::vector<VideoVolume<T,3>> laplacianPyramidTemporal(const VideoVolu...
method collapseLaplacianPyramidTemporal (line 652) | sibr::VideoVolume<T,3> collapseLaplacianPyramidTemporal(const std::vec...
method laplacianBlendingTemporal (line 681) | sibr::VideoVolume<T_V, 3> laplacianBlendingTemporal(
method totalVariation (line 716) | cv::Mat_<Pix> totalVariation(const VideoVolume<T, N> & v) {
type SIBR_VIDEO_EXPORT (line 736) | struct SIBR_VIDEO_EXPORT
method PyramidLayer (line 737) | PyramidLayer() {}
method PyramidLayer (line 738) | PyramidLayer(int _w, int _h, int _l, int cv_type = CV_32FC1) : l(_l), ...
method PyramidLayer (line 741) | PyramidLayer(const cv::Mat & _volume, int _w, int _h) : w(_w), h(_h), ...
method PyramidLayer (line 748) | PyramidLayer clone() const {
method copySizeFrom (line 758) | void copySizeFrom(const PyramidLayer & other) {
method cout (line 764) | void cout() const {
type SIBR_VIDEO_EXPORT (line 779) | struct SIBR_VIDEO_EXPORT
method PyramidParameters (line 780) | PyramidParameters(int nlevels = 5, int temporal = 3, int spatial = 2, ...
class SIBR_VIDEO_EXPORT (line 799) | class SIBR_VIDEO_EXPORT
class SIBR_VIDEO_EXPORT (line 806) | class SIBR_VIDEO_EXPORT
type SIBR_VIDEO_EXPORT (line 835) | struct SIBR_VIDEO_EXPORT
type SIBR_VIDEO_EXPORT (line 839) | struct SIBR_VIDEO_EXPORT
class Histogram (line 850) | class Histogram {
method Histogram (line 856) | Histogram(const Value & _min, const Value & _max, uint _numBins = 100)
method Indice (line 863) | Indice whatBin(const Value & value) {
method addValue (line 871) | void addValue(const Value & value) {
method addValues (line 874) | void addValues(const std::vector<Value> & values) {
method Indice (line 880) | Indice getModeIndice() const {
method Value (line 892) | Value getBinMiddle(const Indice & bin) const {
class Histogram<T, 1> (line 907) | class Histogram<T, 1> {
method Histogram (line 911) | Histogram(double _min, double _max, int _numBins = 100) : min(_min),...
method whatBin (line 916) | bool whatBin(T value, uint & bin) {
method addValue (line 925) | void addValue(T value) {
method addValues (line 932) | void addValues(const std::vector<T> & values) {
method uint (line 938) | uint getModeIndice() const {
method T (line 949) | T getBinMiddle(uint bin) const {
method normalized_values (line 953) | std::vector<float> normalized_values() const {
type TimeHistogram (line 974) | struct TimeHistogram {
method TimeHistogram (line 976) | TimeHistogram(double _min, double _max, int _numBins) : numBins(_num...
method addValues (line 982) | void addValues(const std::vector<sibr::Vector3ub> & values) {
method getBinMiddle (line 988) | sibr::Vector3ub getBinMiddle(const sibr::Vector3ub & bin) const {
method getHMode (line 996) | sibr::Vector3ub getHMode() const {
method addValue (line 1008) | void addValue(const sibr::Vector3ub & value) {
method whatBin (line 1012) | sibr::Vector3ub whatBin(const sibr::Vector3ub & value) {
method computeSortedBins (line 1020) | void computeSortedBins() {
class SIBR_VIDEO_EXPORT (line 1044) | class SIBR_VIDEO_EXPORT
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/DatasetView.cpp
type sibr (line 15) | namespace sibr {
function MeshData (line 159) | MeshData & DatasetView::proxyData()
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/DatasetView.hpp
type sibr (line 20) | namespace sibr {
function DatasetView (line 26) | class SIBR_VIEW_EXPORT DatasetView
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/FPSCamera.cpp
type sibr (line 24) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/FPSCamera.hpp
type sibr (line 24) | namespace sibr {
class Viewport (line 26) | class Viewport
class Mesh (line 27) | class Mesh
class Input (line 28) | class Input
function ICameraHandler (line 33) | class SIBR_VIEW_EXPORT FPSCamera : public ICameraHandler
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/FPSCounter.cpp
type sibr (line 26) | namespace sibr
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/FPSCounter.hpp
type sibr (line 21) | namespace sibr
function FPSCounter (line 27) | class SIBR_VIEW_EXPORT FPSCounter
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/IBRBasicUtils.cpp
type sibr (line 15) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/IBRBasicUtils.hpp
type sibr (line 22) | namespace sibr{
function IBRBasicUtils (line 27) | class SIBR_VIEW_EXPORT IBRBasicUtils
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/ICameraHandler.hpp
type sibr (line 23) | namespace sibr {
class Input (line 24) | class Input
function ICameraHandler (line 30) | class SIBR_VIEW_EXPORT ICameraHandler
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/ImageView.cpp
type sibr (line 18) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/ImageView.hpp
type sibr (line 21) | namespace sibr {
class SIBR_VIEW_EXPORT (line 28) | class SIBR_VIEW_EXPORT
function setImage (line 69) | void setImage(const Image<T_Type, T_NumComp> & img) {
function showGUI (line 81) | void showGUI(bool opt) {
function allowInteraction (line 88) | void allowInteraction(bool opt) {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/ImagesGrid.cpp
type sibr (line 19) | namespace sibr
function MVpixel (line 150) | const MVpixel & ImagesGrid::getCurrentPixel()
function MVpixel (line 473) | MVpixel GridMapping::pixFromScreenPos(const Vector2i & pos, const Vect...
function Vector2f (line 500) | Vector2f GridMapping::uvFromMVpixel(const MVpixel & pix, bool use_center)
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/ImagesGrid.hpp
type sibr (line 21) | namespace sibr
function DrawUtilities (line 24) | class SIBR_VIEW_EXPORT DrawUtilities
type QuadData (line 64) | struct QuadData
method Vector2f (line 69) | Vector2f br() const { return center + diagonal; }
method Vector2f (line 70) | Vector2f tl() const { return center - diagonal; }
type QuadSelectionData (line 73) | struct QuadSelectionData
type DragClickData (line 81) | struct DragClickData
type MVpixel (line 88) | struct MVpixel {
method MVpixel (line 89) | MVpixel() : isDefined(false) {}
method MVpixel (line 90) | MVpixel(int i, const Vector2i & px) : im(i), pos(px), isDefined(true...
function GridMapping (line 101) | class SIBR_VIEW_EXPORT GridMapping {
class ObjectSelection (line 136) | class ObjectSelection {
method switchSelection (line 138) | void switchSelection(const T & t) {
method get (line 148) | const std::list<T> get() const {
type ImageGridLayer (line 156) | struct ImageGridLayer {
type HighlightData (line 167) | struct HighlightData {
class SIBR_VIEW_EXPORT (line 174) | class SIBR_VIEW_EXPORT
type SelectionMode (line 180) | enum SelectionMode { NO_SELECTION, IMAGE_SELECTION, PIXEL_SELECTION }
function addImageLayer (line 214) | public:
function addImageLayer (line 229) | void addImageLayer(
function addImageLayer (line 242) | void addImageLayer(
function addImageLayer (line 260) | void addImageLayer(
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/InteractiveCameraHandler.cpp
type sibr (line 26) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/InteractiveCameraHandler.hpp
type sibr (line 31) | namespace sibr {
class Mesh (line 32) | class Mesh
class Input (line 33) | class Input
class Raycaster (line 34) | class Raycaster
function InteractiveCameraHandler (line 42) | class SIBR_VIEW_EXPORT InteractiveCameraHandler : public ICameraHandler
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/MultiMeshManager.cpp
type sibr (line 17) | namespace sibr {
function MeshData (line 35) | MeshData MeshData::getNormalsMeshData() const
function MeshData (line 168) | MeshData & MeshData::setColor(const Vector3f & col)
function MeshData (line 174) | MeshData & MeshData::setBackFace(bool backface)
function MeshData (line 180) | MeshData & MeshData::setDepthTest(bool depth_test)
function MeshData (line 186) | MeshData & MeshData::setColorRandom()
function MeshData (line 209) | MeshData & MeshData::setRadiusPoint(int rad)
function MeshData (line 215) | MeshData & MeshData::setAlpha(float _alpha) {
function MeshData (line 220) | MeshData & MeshData::setColorMode(ColorMode mode)
function MeshData (line 628) | MeshData & MultiMeshManager::addMesh(const std::string & name, Mesh::P...
function MeshData (line 638) | MeshData & MultiMeshManager::addMesh(const std::string & name, Mesh::P...
function MeshData (line 654) | MeshData & MultiMeshManager::addMeshAsLines(const std::string & name, ...
function MeshData (line 665) | MeshData & MultiMeshManager::addLines(const std::string & name, const ...
function MeshData (line 683) | MeshData & MultiMeshManager::addPoints(const std::string & name, const...
function MeshData (line 697) | MeshData & MultiMeshManager::getMeshData(const std::string & name)
function MeshData (line 707) | MeshData & MultiMeshManager::addMeshData(MeshData & data, bool create_...
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/MultiMeshManager.hpp
type sibr (line 23) | namespace sibr {
class MultiMeshManager (line 25) | class MultiMeshManager
class MeshData (line 26) | class MeshData
function ShaderAlphaMVP (line 34) | class SIBR_VIEW_EXPORT ShaderAlphaMVP {
function ColorMeshShader (line 67) | class SIBR_VIEW_EXPORT ColorMeshShader : public ShaderAlphaMVP {
function ColorMeshShader (line 91) | class SIBR_VIEW_EXPORT PointShader : public ColorMeshShader {
function MeshShadingShader (line 121) | class SIBR_VIEW_EXPORT MeshShadingShader : public ColorMeshShader {
function NormalRenderingShader (line 146) | class SIBR_VIEW_EXPORT NormalRenderingShader : public ColorMeshShader {
function MeshData (line 172) | class SIBR_VIEW_EXPORT MeshData {
function MultiMeshManager (line 298) | class SIBR_VIEW_EXPORT MultiMeshManager : public ViewBase {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/MultiViewManager.cpp
type sibr (line 17) | namespace sibr
function Viewport (line 200) | Viewport & MultiViewBase::getIBRSubViewport(const std::string & title)
function Viewport (line 280) | const Viewport MultiViewBase::getViewport(void) const
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/MultiViewManager.hpp
type sibr (line 38) | namespace sibr
function MultiViewBase (line 57) | class SIBR_VIEW_EXPORT MultiViewBase
function MultiViewManager (line 392) | class SIBR_VIEW_EXPORT MultiViewManager : public MultiViewBase
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/Orbit.cpp
type sibr (line 24) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/Orbit.hpp
type sibr (line 24) | namespace sibr {
class Viewport (line 26) | class Viewport
class Mesh (line 27) | class Mesh
class Input (line 28) | class Input
class Raycaster (line 29) | class Raycaster
function ICameraHandler (line 52) | class SIBR_VIEW_EXPORT Orbit : public ICameraHandler
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/RenderingMode.cpp
type sibr (line 19) | namespace sibr
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/RenderingMode.hpp
type sibr (line 24) | namespace sibr
function IRenderingMode (line 30) | class SIBR_VIEW_EXPORT IRenderingMode
function IRenderingMode (line 80) | class SIBR_VIEW_EXPORT MonoRdrMode : public IRenderingMode
function StereoAnaglyphRdrMode (line 117) | class SIBR_VIEW_EXPORT StereoAnaglyphRdrMode : public IRenderingMode
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/SceneDebugView.cpp
type sibr (line 21) | namespace sibr
function generateCamFrustum (line 24) | Mesh::Ptr generateCamFrustum(const InputCamera & cam, float near, floa...
function generateCamFrustumColored (line 52) | Mesh::Ptr generateCamFrustumColored(const InputCamera & cam, const Vec...
function generateCamQuadWithUvs (line 60) | Mesh::Ptr generateCamQuadWithUvs(const InputCamera & cam, float dist)
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/SceneDebugView.hpp
type sibr (line 30) | namespace sibr
function LabelsManager (line 61) | struct SIBR_VIEW_EXPORT LabelsManager {
function ImageCamViewer (line 117) | struct SIBR_VIEW_EXPORT ImageCamViewer {
class SIBR_VIEW_EXPORT (line 154) | class SIBR_VIEW_EXPORT
type CameraInfoDisplay (line 161) | enum CameraInfoDisplay { SIZE, FOCAL, FOV_Y, ASPECT }
function InteractiveCameraHandler (line 219) | const InteractiveCameraHandler & getCamera() const { return camera_han...
function InteractiveCameraHandler (line 222) | InteractiveCameraHandler & getCamera() { return camera_handler; }
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/Skybox.cpp
type sibr (line 17) | namespace sibr
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/Skybox.hpp
type sibr (line 20) | namespace sibr
function Skybox (line 25) | class SIBR_VIEW_EXPORT Skybox
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/TrackBall.cpp
type sibr (line 21) | namespace sibr {
function InputCamera (line 35) | const InputCamera & TrackBall::getCamera(void) const
type Change (line 424) | enum Change { NONE, X, Y, Z }
function Vector3f (line 517) | Vector3f TrackBall::mapToSphere(const Vector2i & pos2D, const Viewport...
function Vector3f (line 537) | Vector3f TrackBall::mapTo3Dplane(const Vector2i & pos2D) const
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/TrackBall.h
function namespace (line 23) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/UIShortcuts.cpp
type sibr (line 19) | namespace sibr
function UIShortcuts (line 21) | UIShortcuts& UIShortcuts::global( void )
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/UIShortcuts.hpp
type sibr (line 18) | namespace sibr
function UIShortcuts (line 24) | class SIBR_VIEW_EXPORT UIShortcuts
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/ViewBase.cpp
type sibr (line 16) | namespace sibr
function Vector2i (line 33) | const Vector2i& ViewBase::getResolution( void ) const
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/ViewBase.hpp
type sibr (line 24) | namespace sibr
function ViewBase (line 32) | class SIBR_VIEW_EXPORT ViewBase
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/interface/Interface.cpp
type sibr (line 20) | namespace sibr {
function PixPos (line 221) | PixPos MultiViewInterface::pixFromScreenPos(const sibr::Vector2i & pos...
function UV01 (line 253) | UV01 MultiViewInterface::screenPos(const PixPos & pix)
function UV01 (line 261) | UV01 MultiViewInterface::screenPosPixelCenter(const PixPos & pix)
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/interface/Interface.h
function namespace (line 29) | namespace sibr {
type SubView (line 39) | struct SubView {
type ScalingOptions (line 49) | struct ScalingOptions {
function class (line 97) | class SIBR_VIEW_EXPORT MultiViewInterface {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/interface/InterfaceUtils.cpp
type sibr (line 18) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/interface/InterfaceUtils.h
function namespace (line 25) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/view/interface/MeshViewer.h
function namespace (line 26) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/alignMeshes/main.cpp
function distPatch (line 31) | double distPatch(sibr::ImageRGB& im1, sibr::Vector2i& tpos, sibr::ImageR...
function findMAD (line 50) | float findMAD(const Eigen::VectorXf& vec) {
function weight (line 61) | Eigen::VectorXf weight(Eigen::VectorXf v) {
function irls (line 74) | void irls(Eigen::MatrixX4f mX, Eigen::VectorXf vY, Eigen::Vector4f& mCoe...
function isRawRC (line 127) | static bool isRawRC(std::string pathRC)
function loadRawRC (line 146) | static void loadRawRC(std::string pathRC, std::vector<sibr::InputCamera:...
function isRawSynthetic (line 166) | static bool isRawSynthetic(std::string pathSynthetic)
function loadRawSynthetic (line 185) | static void loadRawSynthetic(std::string pathSynthetic, std::vector<sibr...
function assignImages (line 207) | int assignImages(
function InputCamera (line 284) | InputCamera rot90CC(InputCamera::Ptr& in)
type AlignMeshesArgs (line 295) | struct AlignMeshesArgs :
function main (line 305) | int main(int ac, char** av)
function sort_indexes (line 794) | std::vector<size_t> sort_indexes(const std::vector<T>& v) {
function computeRT (line 809) | void computeRT(std::vector<sibr::Vector3f> A, std::vector<sibr::Vector3f...
function computeS (line 853) | float computeS(std::vector<sibr::Vector3f> A, std::vector<sibr::Vector3f...
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/cameraConverter/main.cpp
type CameraConverterArgs (line 19) | struct CameraConverterArgs : virtual AppArgs {
function load (line 39) | bool load(const std::string& filename, std::vector<InputCamera::Ptr> & c...
function save (line 59) | void save(const std::string& filename, const std::vector<InputCamera::Pt...
function colmapSave (line 72) | void colmapSave(const std::string& filename, const std::vector<InputCame...
function main (line 136) | int main(int ac, char** av) {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/clippingPlanes/main.cpp
function main (line 29) | int main(const int argc, const char** argv)
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/bundle.py
class InputImage (line 20) | class InputImage:
method __init__ (line 22) | def __init__(self, cam_id, path_to_image):
method __str__ (line 29) | def __str__(self):
class BundleFeaturePointLine (line 35) | class BundleFeaturePointLine (IntEnum):
class BundleCamera (line 41) | class BundleCamera:
method __init__ (line 43) | def __init__(self, cam_id, focal_length, radial_dist, rotation, transl...
method add_feature_point (line 53) | def add_feature_point (feature_point):
method set_feature_points (line 56) | def set_feature_points (list_of_feature_points):
method scale_focal_length (line 59) | def scale_focal_length (self, factor):
method __str__ (line 62) | def __str__(self):
class BundleFeaturePoint (line 71) | class BundleFeaturePoint:
method __init__ (line 73) | def __init__(self, feature_point_id, position, color, view_list):
method remove_cam (line 85) | def remove_cam(self, cam_id):
method __str__ (line 110) | def __str__(self):
class Bundle (line 122) | class Bundle:
method __init__ (line 126) | def __init__(self, path_to_bundle):
method get_avg_resolution (line 232) | def get_avg_resolution (self):
method generate_list_of_images_file (line 242) | def generate_list_of_images_file (self, path_to_output):
method scale (line 249) | def scale (self, factor):
method exclude_cams (line 253) | def exclude_cams (self, cam_list, verbose = True):
method save (line 275) | def save (self, path_to_output_file, new_res=[]):
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/colmap2sibr.py
function checkColmapConsistent (line 35) | def checkColmapConsistent(pathdir):
function main (line 50) | def main():
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/generate_list_images.py
function generateListImages (line 17) | def generateListImages(imagesPath, outputPath = None, filename = "list_i...
function main (line 46) | def main():
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/get_image_size.py
class UnknownImageFormat (line 37) | class UnknownImageFormat(Exception):
class Image (line 52) | class Image(collections.namedtuple('Image', image_fields)):
method to_str_row (line 54) | def to_str_row(self):
method to_str_row_verbose (line 63) | def to_str_row_verbose(self):
method to_str_json (line 72) | def to_str_json(self, indent=None):
function get_image_size (line 76) | def get_image_size(file_path):
function get_image_metadata (line 85) | def get_image_metadata(file_path):
class Test_get_image_size (line 260) | class Test_get_image_size(unittest.TestCase):
method setUp (line 268) | def setUp(self):
method test_get_image_metadata (line 271) | def test_get_image_metadata(self):
method test_get_image_metadata__ENOENT_OSError (line 283) | def test_get_image_metadata__ENOENT_OSError(self):
method test_get_image_metadata__not_an_image_UnknownImageFormat (line 287) | def test_get_image_metadata__not_an_image_UnknownImageFormat(self):
method test_get_image_size (line 291) | def test_get_image_size(self):
method tearDown (line 299) | def tearDown(self):
function main (line 303) | def main(argv=None):
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/ibr_convert_old_to_new.py
function get_image_size (line 43) | def get_image_size(fname):
function checkOutput (line 78) | def checkOutput( output, force_continue ):
function main (line 93) | def main(argv, path_dest):
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/ibr_preprocess_rc_to_sibr.py
function get_image_size (line 54) | def get_image_size(fname):
function replace (line 92) | def replace(file_path, pattern, subst):
function checkOutput (line 105) | def checkOutput( output, force_continue ):
function get_textured_mesh_base_name (line 123) | def get_textured_mesh_base_name (source_folder):
function get_scale_factor (line 139) | def get_scale_factor (current_res, target_res):
function main (line 187) | def main(argv, path_dest):
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/simplify_mesh.py
function simplifyMesh (line 34) | def simplifyMesh(inputMesh, outputMesh, meshsize="", meshlabPath = getMe...
function main (line 56) | def main():
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/wedge_to_vertex_uvs.py
function convertUVs (line 33) | def convertUVs(inputMesh, outputMesh, meshlabPath = getMeshlabPath()):
function main (line 42) | def main():
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/cropFromCenter/main.cpp
type CropAppArgs (line 30) | struct CropAppArgs :
function printUsage (line 40) | void printUsage()
function getParamas (line 46) | bool getParamas(int argc, const char ** argv,
function main (line 81) | int main(const int argc, const char** argv)
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/distordCrop/main.cpp
type DistordCropAppArgs (line 42) | struct DistordCropAppArgs :
function main (line 73) | int main(const int argc, const char* const* argv)
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/colmap2nerf.py
function parse_args (line 23) | def parse_args():
function do_system (line 40) | def do_system(arg):
function run_ffmpeg (line 48) | def run_ffmpeg(args):
function run_colmap (line 64) | def run_colmap(args):
function variance_of_laplacian (line 94) | def variance_of_laplacian(image):
function sharpness (line 97) | def sharpness(imagePath):
function qvec2rotmat (line 103) | def qvec2rotmat(qvec):
function rotmat (line 120) | def rotmat(a, b):
function closest_point_2_lines (line 128) | def closest_point_2_lines(oa, da, ob, db): # returns point closest to bo...
function convert (line 144) | def convert(AABB_SCALE, SKIP_EARLY, IMAGE_FOLDER, TEXT_FOLDER, OUT_PATH,...
function createNerf (line 312) | def createNerf(path, hires=False):
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/fullColmapProcess.py
function main (line 37) | def main():
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/read_write_model.py
class Image (line 49) | class Image(BaseImage):
method qvec2rotmat (line 50) | def qvec2rotmat(self):
function read_next_bytes (line 73) | def read_next_bytes(fid, num_bytes, format_char_sequence, endian_charact...
function write_next_bytes (line 85) | def write_next_bytes(fid, data, format_char_sequence, endian_character="...
function read_cameras_text (line 101) | def read_cameras_text(path):
function read_cameras_binary (line 127) | def read_cameras_binary(path_to_model_file):
function write_cameras_text (line 156) | def write_cameras_text(cameras, path):
function write_cameras_binary (line 173) | def write_cameras_binary(cameras, path_to_model_file):
function read_images_text (line 193) | def read_images_text(path):
function read_images_binary (line 224) | def read_images_binary(path_to_model_file):
function write_images_text (line 259) | def write_images_text(images, path):
function write_images_binary (line 287) | def write_images_binary(images, path_to_model_file):
function read_points3D_text (line 308) | def read_points3D_text(path):
function read_points3D_binary (line 335) | def read_points3D_binary(path_to_model_file):
function write_points3D_text (line 365) | def write_points3D_text(points3D, path):
function write_points3D_binary (line 390) | def write_points3D_binary(points3D, path_to_model_file):
function detect_model_format (line 409) | def detect_model_format(path, ext):
function read_model (line 419) | def read_model(path, ext=""):
function write_model (line 441) | def write_model(cameras, images, points3D, path, ext=".bin"):
function qvec2rotmat (line 453) | def qvec2rotmat(qvec):
function rotmat2qvec (line 466) | def rotmat2qvec(R):
function main (line 480) | def main():
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/selectiveColmapProcess.py
function main (line 38) | def main():
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/selective_colmap_process.py
function extract_images (line 14) | def extract_images(pathIn, pathOut, videoName, maxNumFrames = -1, resize...
function extract_images_with_name (line 56) | def extract_images_with_name(imageName, images_data, new_images_data):
function remove_lines_from_file (line 79) | def remove_lines_from_file(fname, match, nextDel=False):
function remove_video_images (line 101) | def remove_video_images(path, photoName="MG_"):
function fix_cameras (line 222) | def fix_cameras(path, photoName="MG_", sparseSubdir=""):
function extract_video_frames (line 374) | def extract_video_frames(pathIn, pathOut):
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/textureOnly.py
function main (line 36) | def main():
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/meshroomPythonScripts/ULR.py
class ULR (line 18) | class ULR(desc.CommandLineNode):
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/nvmToSIBR/main.cpp
type ColmapPreprocessArgs (line 29) | struct ColmapPreprocessArgs :
function main (line 33) | int main(const int argc, const char** argv)
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/prepareColmap4Sibr/main.cpp
type ColmapPreprocessArgs (line 29) | struct ColmapPreprocessArgs : public BasicIBRAppArgs {
function main (line 33) | int main(const int argc, const char** argv)
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/rc_tools.py
function preprocess_for_rc (line 34) | def preprocess_for_rc(path, video_name='default', do_validation_split=Tr...
function convert_sibr_mesh (line 163) | def convert_sibr_mesh(path):
function densify_mesh (line 181) | def densify_mesh(mesh_path):
function rc_to_colmap (line 195) | def rc_to_colmap(rc_path, out_path, create_colmap=False, target_width=-1):
function crop_images (line 377) | def crop_images(path_data, path_dest):
function fix_video_only (line 453) | def fix_video_only(path):
function car_data_process (line 467) | def car_data_process(path):
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/textureMesh/main.cpp
type TexturingAppArgs (line 23) | struct TexturingAppArgs : virtual BasicIBRAppArgs {
function main (line 32) | int main(int ac, char** av) {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/tonemapper/main.cpp
type TonemapperAppArgs (line 23) | struct TonemapperAppArgs : virtual AppArgs {
function tonemap (line 31) | void tonemap(const sibr::ImageRGB32F& hdrImg, sibr::ImageRGB& ldrImg, fl...
function main (line 45) | int main(int ac, char** av) {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/unwrapMesh/main.cpp
type UVMapperArgs (line 24) | struct UVMapperArgs : public AppArgs {
function main (line 32) | int main(int ac, char ** av){
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/utils/TaskPipeline.py
class TaskPipeline (line 22) | class TaskPipeline:
method __init__ (line 23) | def __init__(self, args, steps, programs):
method isExpressionValid (line 28) | def isExpressionValid(self, expression):
method runProcessSteps (line 34) | def runProcessSteps(self):
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/utils/commands.py
function getProcess (line 19) | def getProcess(programName, binaryPath = getBinariesPath()):
function getRCprocess (line 30) | def getRCprocess(binaryPath = getRCPath()):
function runCommand (line 39) | def runCommand(binary, command_args):
function getColmap (line 53) | def getColmap(colmapPath = getColmapPath()):
function getMeshlabServer (line 63) | def getMeshlabServer(meshlabPath = getMeshlabPath()):
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/utils/convert.py
function updateStringFromDict (line 17) | def updateStringFromDict(string, map, format='${%s}', fix_paths=True):
function fixMeshEol (line 28) | def fixMeshEol(meshPath, newMeshPath):
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/utils/datasets.py
class DatasetType (line 18) | class DatasetType(Enum):
function buildDatasetStructure (line 29) | def buildDatasetStructure(path, types):
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/preprocess/utils/paths.py
function getBinariesPath (line 16) | def getBinariesPath():
function getColmapPath (line 22) | def getColmapPath():
function getMeshlabPath (line 25) | def getMeshlabPath():
function getRCPath (line 28) | def getRCPath():
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/dataset_tools/scripts/processRC.py
function find_file (line 41) | def find_file(filename):
function main (line 52) | def main():
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/ulr/apps/ulr/main.cpp
function main (line 30) | int main( int ac, char** av )
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/ulr/apps/ulrv2/main.cpp
function main (line 39) | int main(int ac, char** av) {
function legacyV2main (line 170) | int legacyV2main(ULRAppArgs & myArgs)
function legacyV1main (line 339) | int legacyV1main(ULRAppArgs & myArgs)
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/ulr/renderer/Config.hpp
type sibr (line 40) | namespace sibr {
type ULRAppArgs (line 43) | struct ULRAppArgs :
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/ulr/renderer/ULRRenderer.cpp
type sibr (line 17) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/ulr/renderer/ULRRenderer.hpp
type sibr (line 23) | namespace sibr {
function RenderMaskHolder (line 27) | class SIBR_EXP_ULR_EXPORT ULRRenderer : public RenderMaskHolder
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/ulr/renderer/ULRV2Renderer.cpp
type sibr (line 19) | namespace sibr {
function CHECK_GL_ERROR (line 149) | CHECK_GL_ERROR
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/ulr/renderer/ULRV2Renderer.hpp
type sibr (line 22) | namespace sibr {
function RenderMaskHolder (line 26) | class SIBR_EXP_ULR_EXPORT ULRV2Renderer : public RenderMaskHolder
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/ulr/renderer/ULRV2View.cpp
type sibr (line 22) | namespace sibr {
type camAng (line 229) | struct camAng
method camAng (line 231) | camAng() {}
method camAng (line 232) | camAng(float a, float d, int i) : ang(a), dist(d), id(i) {}
method compare (line 235) | static bool compare(const camAng & a, const camAng & b) { return a.a...
type camDist (line 272) | struct camDist
method camDist (line 274) | camDist() {}
method camDist (line 275) | camDist(float d, int i) : dist(d), id(i) {}
method compare (line 278) | static bool compare(const camDist & a, const camDist & b) { return a...
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/ulr/renderer/ULRV2View.hpp
type sibr (line 24) | namespace sibr {
class SIBR_EXP_ULR_EXPORT (line 27) | class SIBR_EXP_ULR_EXPORT
type RenderMode (line 32) | enum class RenderMode { NORMAL = 0, ONLY_ONE_CAM = 1, LEAVE_ONE_OUT = 2 }
function altMesh (line 81) | void altMesh(std::shared_ptr<sibr::Mesh> m) { _altMesh = m; }
function doOccl (line 86) | void doOccl(bool val) { _ulr->doOccl(val); }
function altMesh (line 89) | std::shared_ptr<sibr::Mesh> altMesh() { return _altMesh; }
function inputRTs (line 100) | void inputRTs(const std::vector<std::shared_ptr<RenderTargetRGBA32F> >...
function setRenderMode (line 125) | void setRenderMode(RenderMode mode) { _renderMode = mode; }
function RenderMode (line 127) | RenderMode getRenderMode() const { return _renderMode; }
function setSingleViewId (line 132) | void setSingleViewId(int id) { _singleCamId = id; }
function getSingleViewId (line 134) | int getSingleViewId(void) const { return _singleCamId; }
function noPoissonBlend (line 139) | void noPoissonBlend(bool val) { _noPoissonBlend = val; }
function noPoissonBlend (line 141) | bool noPoissonBlend() const { return _noPoissonBlend; }
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/ulr/renderer/ULRV3Renderer.hpp
type sibr (line 24) | namespace sibr {
function RenderMaskHolderArray (line 31) | class SIBR_EXP_ULR_EXPORT ULRV3Renderer : public RenderMaskHolderArray
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/ulr/renderer/ULRV3View.hpp
type sibr (line 23) | namespace sibr {
class SIBR_EXP_ULR_EXPORT (line 29) | class SIBR_EXP_ULR_EXPORT
type RenderMode (line 34) | enum RenderMode { ALL_CAMS, ONE_CAM, LEAVE_ONE_OUT, EVERY_N_CAM }
type WeightsMode (line 37) | enum WeightsMode { ULR_W , VARIANCE_BASED_W, ULR_FAST}
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/ulr/renderer/ULRView.cpp
type sibr (line 22) | namespace sibr {
FILE: third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/projects/ulr/renderer/ULRView.hpp
type sibr (line 23) | namespace sibr {
class SIBR_EXP_ULR_EXPORT (line 26) | class SIBR_EXP_ULR_EXPORT
function altMesh (line 57) | void altMesh(std::shared_ptr<sibr::Mesh> m) { _altMesh = m; }
function doOccl (line 62) | void doOccl(bool val) { _ulr->doOccl(val); }
function altMesh (line 65) | std::shared_ptr<sibr::Mesh> altMesh() { return _altMesh; }
function setNumBlend (line 71) | void setNumBlend(short int dist, short int angle) { _numDistUlr = dist...
function inputRTs (line 76) | void inputRTs(const std::vector<std::shared_ptr<RenderTargetRGBA32F> >...
FILE: third_party/PhysGaussian/gaussian-splatting/arguments/__init__.py
class GroupParams (line 16) | class GroupParams:
class ParamGroup (line 19) | class ParamGroup:
method __init__ (line 20) | def __init__(self, parser: ArgumentParser, name : str, fill_none = Fal...
method extract (line 40) | def extract(self, args):
class ModelParams (line 47) | class ModelParams(ParamGroup):
method __init__ (line 48) | def __init__(self, parser, sentinel=False):
method extract (line 59) | def extract(self, args):
class PipelineParams (line 64) | class PipelineParams(ParamGroup):
method __init__ (line 65) | def __init__(self, parser):
class OptimizationParams (line 71) | class OptimizationParams(ParamGroup):
method __init__ (line 72) | def __init__(self, parser):
function get_combined_args (line 92) | def get_combined_args(parser : ArgumentParser):
FILE: third_party/PhysGaussian/gaussian-splatting/gaussian_renderer/__init__.py
function render (line 18) | def render(viewpoint_camera, pc : GaussianModel, pipe, bg_color : torch....
FILE: third_party/PhysGaussian/gaussian-splatting/gaussian_renderer/network_gui.py
function init (line 26) | def init(wish_host, wish_port):
function try_connect (line 34) | def try_connect():
function read (line 43) | def read():
function send (line 50) | def send(message_bytes, verify):
function receive (line 57) | def receive():
FILE: third_party/PhysGaussian/gaussian-splatting/lpipsPyTorch/__init__.py
function lpips (line 6) | def lpips(x: torch.Tensor,
FILE: third_party/PhysGaussian/gaussian-splatting/lpipsPyTorch/modules/lpips.py
class LPIPS (line 8) | class LPIPS(nn.Module):
method __init__ (line 17) | def __init__(self, net_type: str = 'alex', version: str = '0.1'):
method forward (line 30) | def forward(self, x: torch.Tensor, y: torch.Tensor):
FILE: third_party/PhysGaussian/gaussian-splatting/lpipsPyTorch/modules/networks.py
function get_network (line 12) | def get_network(net_type: str):
class LinLayers (line 23) | class LinLayers(nn.ModuleList):
method __init__ (line 24) | def __init__(self, n_channels_list: Sequence[int]):
class BaseNet (line 36) | class BaseNet(nn.Module):
method __init__ (line 37) | def __init__(self):
method set_requires_grad (line 46) | def set_requires_grad(self, state: bool):
method z_score (line 50) | def z_score(self, x: torch.Tensor):
method forward (line 53) | def forward(self, x: torch.Tensor):
class SqueezeNet (line 66) | class SqueezeNet(BaseNet):
method __init__ (line 67) | def __init__(self):
class AlexNet (line 77) | class AlexNet(BaseNet):
method __init__ (line 78) | def __init__(self):
class VGG16 (line 88) | class VGG16(BaseNet):
method __init__ (line 89) | def __init__(self):
FILE: third_party/PhysGaussian/gaussian-splatting/lpipsPyTorch/modules/utils.py
function normalize_activation (line 6) | def normalize_activation(x, eps=1e-10):
function get_state_dict (line 11) | def get_state_dict(net_type: str = 'alex', version: str = '0.1'):
FILE: third_party/PhysGaussian/gaussian-splatting/metrics.py
function readImages (line 24) | def readImages(renders_dir, gt_dir):
function evaluate (line 36) | def evaluate(model_paths):
FILE: third_party/PhysGaussian/gaussian-splatting/render.py
function render_set (line 24) | def render_set(model_path, name, iteration, views, gaussians, pipeline, ...
function render_sets (line 37) | def render_sets(dataset : ModelParams, iteration : int, pipeline : Pipel...
FILE: third_party/PhysGaussian/gaussian-splatting/scene/__init__.py
class Scene (line 21) | class Scene:
method __init__ (line 25) | def __init__(self, args : ModelParams, gaussians : GaussianModel, load...
method save (line 85) | def save(self, iteration):
method getTrainCameras (line 89) | def getTrainCameras(self, scale=1.0):
method getTestCameras (line 92) | def getTestCameras(self, scale=1.0):
FILE: third_party/PhysGaussian/gaussian-splatting/scene/cameras.py
class Camera (line 17) | class Camera(nn.Module):
method __init__ (line 18) | def __init__(self, colmap_id, R, T, FoVx, FoVy, image, gt_alpha_mask,
class MiniCam (line 59) | class MiniCam:
method __init__ (line 60) | def __init__(self, width, height, fovy, fovx, znear, zfar, world_view_...
FILE: third_party/PhysGaussian/gaussian-splatting/scene/colmap_loader.py
function qvec2rotmat (line 43) | def qvec2rotmat(qvec):
function rotmat2qvec (line 55) | def rotmat2qvec(R):
class Image (line 68) | class Image(BaseImage):
method qvec2rotmat (line 69) | def qvec2rotmat(self):
function read_next_bytes (line 72) | def read_next_bytes(fid, num_bytes, format_char_sequence, endian_charact...
function read_points3D_text (line 83) | def read_points3D_text(path):
function read_points3D_binary (line 125) | def read_points3D_binary(path_to_model_file):
function read_intrinsics_text (line 156) | def read_intrinsics_text(path):
function read_extrinsics_binary (line 180) | def read_extrinsics_binary(path_to_model_file):
function read_intrinsics_binary (line 215) | def read_intrinsics_binary(path_to_model_file):
function read_extrinsics_text (line 244) | def read_extrinsics_text(path):
function read_colmap_bin_array (line 273) | def read_colmap_bin_array(path):
FILE: third_party/PhysGaussian/gaussian-splatting/scene/dataset_readers.py
class CameraInfo (line 26) | class CameraInfo(NamedTuple):
class SceneInfo (line 38) | class SceneInfo(NamedTuple):
function getNerfppNorm (line 45) | def getNerfppNorm(cam_info):
function readColmapCameras (line 68) | def readColmapCameras(cam_extrinsics, cam_intrinsics, images_folder):
function fetchPly (line 109) | def fetchPly(path):
function storePly (line 117) | def storePly(path, xyz, rgb):
function readColmapSceneInfo (line 134) | def readColmapSceneInfo(path, images, eval, llffhold=8):
function readCamerasFromTransforms (line 181) | def readCamerasFromTransforms(path, transformsfile, white_background, ex...
function readNerfSyntheticInfo (line 227) | def readNerfSyntheticInfo(path, white_background, eval, extension=".png"):
FILE: third_party/PhysGaussian/gaussian-splatting/scene/gaussian_model.py
class GaussianModel (line 24) | class GaussianModel:
method setup_functions (line 26) | def setup_functions(self):
method __init__ (line 44) | def __init__(self, sh_degree : int):
method capture (line 61) | def capture(self):
method restore (line 77) | def restore(self, model_args, training_args):
method get_scaling (line 96) | def get_scaling(self):
method get_rotation (line 100) | def get_rotation(self):
method get_xyz (line 104) | def get_xyz(self):
method get_features (line 108) | def get_features(self):
method get_opacity (line 114) | def get_opacity(self):
method get_covariance (line 117) | def get_covariance(self, scaling_modifier = 1):
method oneupSHdegree (line 120) | def oneupSHdegree(self):
method create_from_pcd (line 124) | def create_from_pcd(self, pcd : BasicPointCloud, spatial_lr_scale : fl...
method training_setup (line 149) | def training_setup(self, training_args):
method update_learning_rate (line 169) | def update_learning_rate(self, iteration):
method construct_list_of_attributes (line 177) | def construct_list_of_attributes(self):
method save_ply (line 191) | def save_ply(self, path):
method reset_opacity (line 210) | def reset_opacity(self):
method load_ply (line 215) | def load_ply(self, path):
method replace_tensor_to_optimizer (line 262) | def replace_tensor_to_optimizer(self, tensor, name):
method _prune_optimizer (line 277) | def _prune_optimizer(self, mask):
method prune_points (line 295) | def prune_points(self, mask):
method cat_tensors_to_optimizer (line 311) | def cat_tensors_to_optimizer(self, tensors_dict):
method densification_postfix (line 333) | def densification_postfix(self, new_xyz, new_features_dc, new_features...
method densify_and_split (line 353) | def densify_and_split(self, grads, grad_threshold, scene_extent, N=2):
method densify_and_clone (line 378) | def densify_and_clone(self, grads, grad_threshold, scene_extent):
method densify_and_prune (line 393) | def densify_and_prune(self, max_grad, min_opacity, extent, max_screen_...
method add_densification_stats (line 409) | def add_densification_stats(self, viewspace_point_tensor, update_filter):
FILE: third_party/PhysGaussian/gaussian-splatting/submodules/diff-gaussian-rasterization/cuda_rasterizer/auxiliary.h
function ndc2Pix (line 41) | float ndc2Pix(float v, int S)
function getRect (line 46) | void getRect(const float2 p, int max_radius, uint2& rect_min, uint2& rec...
function float3 (line 58) | float3 transformPoint4x3(const float3& p, const float* matrix)
function float4 (line 68) | float4 transformPoint4x4(const float3& p, const float* matrix)
function float3 (line 79) | float3 transformVec4x3(const float3& p, const float* matrix)
function float3 (line 89) | float3 transformVec4x3Transpose(const float3& p, const float* matrix)
function dnormvdz (line 99) | float dnormvdz(float3 v, float3 dv)
function float3 (line 107) | float3 dnormvdv(float3 v, float3 dv)
function float4 (line 119) | float4 dnormvdv(float4 v, float4 dv)
function sigmoid (line 134) | float sigmoid(float x)
function in_frustum (line 139) | bool in_frustum(int idx,
FILE: third_party/PhysGaussian/gaussian-splatting/submodules/diff-gaussian-rasterization/cuda_rasterizer/backward.h
function namespace (line 21) | namespace BACKWARD
FILE: third_party/PhysGaussian/gaussian-splatting/submodules/diff-gaussian-rasterization/cuda_rasterizer/forward.h
function namespace (line 21) | namespace FORWARD
FILE: third_party/PhysGaussian/gaussian-splatting/submodules/diff-gaussian-rasterization/cuda_rasterizer/rasterizer.h
function namespace (line 18) | namespace CudaRasterizer
FILE: third_party/PhysGaussian/gaussian-splatting/submodules/diff-gaussian-rasterization/cuda_rasterizer/rasterizer_impl.h
function namespace (line 19) | namespace CudaRasterizer
FILE: third_party/PhysGaussian/gaussian-splatting/submodules/diff-gaussian-rasterization/diff_gaussian_rasterization/__init__.py
function cpu_deep_copy_tuple (line 17) | def cpu_deep_copy_tuple(input_tuple):
function rasterize_gaussians (line 21) | def rasterize_gaussians(
class _RasterizeGaussians (line 44) | class _RasterizeGaussians(torch.autograd.Function):
method forward (line 46) | def forward(
method backward (line 101) | def backward(ctx, grad_out_color, _):
class GaussianRasterizationSettings (line 157) | class GaussianRasterizationSettings(NamedTuple):
class GaussianRasterizer (line 171) | class GaussianRasterizer(nn.Module):
method __init__ (line 172) | def __init__(self, raster_settings):
method markVisible (line 176) | def markVisible(self, positions):
method forward (line 187) | def forward(self, means3D, means2D, opacities, shs = None, colors_prec...
FILE: third_party/PhysGaussian/gaussian-splatting/submodules/diff-gaussian-rasterization/ext.cpp
function PYBIND11_MODULE (line 15) | PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) {
FILE: third_party/PhysGaussian/gaussian-splatting/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/dynsections.js
function toggleVisibility (line 1) | function toggleVisibility(linkObj)
function updateStripes (line 22) | function updateStripes()
function toggleLevel (line 28) | function toggleLevel(level)
function toggleFolder (line 49) | function toggleFolder(id)
function toggleInherit (line 84) | function toggleInherit(id)
FILE: third_party/PhysGaussian/gaussian-splatting/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/jquery.js
function b0 (line 16) | function b0(b3,b4){return new b0.fn.init(b3,b4)}
function bw (line 16) | function bw(){if(bF.isReady){return}try{av.documentElement.doScroll("lef...
function X (line 16) | function X(e){var bv=a2[e]={},bw,bx;e=e.split(/\s+/);for(bw=0,bx=e.lengt...
function bD (line 16) | function bD(bF){return function(bG){bx[bF]=arguments.length>1?aJ.call(ar...
function bz (line 16) | function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(ar...
function a5 (line 16) | function a5(bx,bw,by){if(by===L&&bx.nodeType===1){var bv="data-"+bw.repl...
function S (line 16) | function S(bv){for(var e in bv){if(e==="data"&&b.isEmptyObject(bv[e])){c...
function bi (line 16) | function bi(by,bx,bA){var bw=bx+"defer",bv=bx+"queue",e=bx+"mark",bz=b._...
function bE (line 16) | function bE(){if(!(--bB)){e.resolveWith(bv,[bv])}}
function bk (line 16) | function bk(){return false}
function i (line 16) | function i(){return true}
function bv (line 23) | function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var...
function bN (line 23) | function bN(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var...
function C (line 23) | function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}
function aG (line 23) | function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,func...
function a (line 23) | function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.c...
function ba (line 23) | function ba(e,bv){return b.nodeName(e,"table")?(e.getElementsByTagName("...
function t (line 23) | function t(bB,bv){if(bv.nodeType!==1||!b.hasData(bB)){return}var by,bx,e...
function ai (line 23) | function ai(bv,e){var bw;if(e.nodeType!==1){return}if(e.clearAttributes)...
function bg (line 23) | function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e....
function az (line 23) | function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecke...
function E (line 23) | function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(...
function al (line 23) | function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.inne...
function bo (line 23) | function bo(e,bv){if(bv.src){b.ajax({url:bv.src,async:false,dataType:"sc...
function p (line 23) | function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,...
function f (line 23) | function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="...
function aW (line 23) | function aW(bv,bE,bz,bD,bB,bx){bB=bB||bE.dataTypes[0];bx=bx||{};bx[bB]=t...
function am (line 23) | function am(bw,bx){var bv,e,by=b.ajaxSettings.flatOptions||{};for(bv in ...
function bF (line 23) | function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}...
function v (line 23) | function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(b...
function bj (line 23) | function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseF...
function G (line 23) | function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var...
function aL (line 23) | function aL(){try{return new bb.XMLHttpRequest()}catch(bv){}}
function aj (line 23) | function aj(){try{return new bb.ActiveXObject("Microsoft.XMLHTTP")}catch...
function bv (line 23) | function bv(){if(e.queue===false){b._mark(this)}var bE=b.extend({},e),bK...
function bB (line 23) | function bB(bE,bF,bD){var bC=bF[bD];b.removeData(bE,bD,true);bC.stop(e)}
function bh (line 23) | function bh(){setTimeout(at,0);return(a4=b.now())}
function at (line 23) | function at(){a4=L}
function a0 (line 23) | function a0(bv,e){var bw={};b.each(aH.concat.apply([],aH.slice(0,e)),fun...
function bv (line 23) | function bv(bA){return e.step(bA)}
function x (line 23) | function x(bx){if(!Q[bx]){var e=av.body,bv=b("<"+bx+">").appendTo(e),bw=...
function aK (line 23) | function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.pa...
function j (line 32) | function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"paddin...
function c (line 32) | function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.pa...
function b (line 32) | function b(e){return !a(e).parents().andSelf().filter(function(){return ...
function a (line 61) | function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}
function n (line 61) | function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if...
function h (line 61) | function h(n){j.animate(g,e,d.easing,n&&function(){n.call(this,f,d)})}
function b (line 61) | function b(d){return typeof d=="object"?d:{top:d,left:d}}
function b (line 68) | function b(){var F=this;F.top="auto";F.left="auto";F.right="auto";F.bott...
function t (line 68) | function t(K,N,F){var J=null;function L(P,Q){M();if(!K.data(e)){if(!P){c...
function j (line 68) | function j(){function G(M,L,J,O,P){var K=L.split("-")[0],N=new b(),I;if(...
function x (line 68) | function x(Q){var P=new j(),O=k("#"+Q.popupId);if(O.length===0){O=k("<di...
function q (line 68) | function q(F){return window.SVGElement&&F[0] instanceof SVGElement}
function h (line 68) | function h(){if(!c.mouseTrackingActive){c.mouseTrackingActive=true;k(fun...
function i (line 68) | function i(F){c.currentX=F.pageX;c.currentY=F.pageY}
function v (line 68) | function v(F){var H=F.offset(),J=F[0].getBoundingClientRect(),I=J.right-...
function B (line 68) | function B(I){var G=I.data(y),F=I.data(o),K=I.data(l),H,J;if(G){if(k.isF...
function m (line 68) | function m(M,L,K){var G=c.scrollTop,J=c.scrollLeft,I=G+c.windowHeight,F=...
function a (line 68) | function a(G){var F=0;while(G){G&=G-1;F++}return F}
FILE: third_party/PhysGaussian/gaussian-splatting/submodules/diff-gaussian-rasterization/third_party/glm/doc/api/search/search.js
function convertToId (line 1) | function convertToId(search)
function getXPos (line 24) | function getXPos(item)
function getYPos (line 38) | function getYPos(item)
function SearchBox (line 59) | function SearchBox(name, resultsPath, inFrame, label)
function SearchResults (line 404) | function SearchResults(name)
function setKeyActions (line 709) | function setKeyActions(elem,action)
function setClassAttr (line 716) | function setClassAttr(elem,attr)
function createResults (line 722) | function createResults()
function init_search (line 777) | function init_search()
FILE: third_party/PhysGaussian/gaussian-splatting/submodules/diff-gaussian-rasterization/third_party/glm/glm/common.hpp
type glm (line 20) | namespace glm
FILE: third_party/PhysGaussian/gaussian-splatting/submodules/diff-gaussian-rasterization/third_party/glm/glm/detail/_noise.hpp
type glm (line 5) | namespace glm{
type detail (line 6) | namespace detail
function GLM_FUNC_QUALIFIER (line 9) | GLM_FUNC_QUALIFIER T mod289(T const& x)
function GLM_FUNC_QUALIFIER (line 15) | GLM_FUNC_QUALIFIER T permute(T const& x)
function GLM_FUNC_QUALIFIER (line 21) | GLM_FUNC_QUALIFIER vec<2, T, Q> permute(vec<2, T, Q> const& x)
function GLM_FUNC_QUALIFIER (line 27) | GLM_FUNC_QUALIFIER vec<3, T, Q> permute(vec<3, T, Q> const& x)
function GLM_FUNC_QUALIFIER (line 33) | GLM_FUNC_QUALIFIER vec<4, T, Q> permute(vec<4, T, Q> const& x)
function GLM_FUNC_QUALIFIER (line 39) | GLM_FUNC_QUALIFIER T taylorInvSqrt(T const& r)
function GLM_FUNC_QUALIFIER (line 45) | GLM_FUNC_QUALIFIER vec<2, T, Q> taylorInvSqrt(vec<2, T, Q> const& r)
function GLM_FUNC_QUALIFIER (line 51) | GLM_FUNC_QUALIFIER vec<3, T, Q> taylorInvSqrt(vec<3, T, Q> const& r)
function GLM_FUNC_QUALIFIER (line 57) | GLM_FUNC_QUALIFIER vec<4, T, Q> taylorInvSqrt(vec<4, T, Q> const& r)
function GLM_FUNC_QUALIFIER (line 63) | GLM_FUNC_QUALIFIER vec<2, T, Q> fade(vec<2, T, Q> const& t)
function GLM_FUNC_QUALIFIER (line 69) | GLM_FUNC_QUALIFIER vec<3, T, Q> fade(vec<3, T, Q> const& t)
function GLM_FUNC_QUALIFIER (line 75) | GLM_FUNC_QUALIFIER vec<4, T, Q> fade(vec<4, T, Q> const& t)
FILE: third_party/PhysGaussian/gaussian-splatting/submodules/diff-gaussian-rasterization/third_party/glm/glm/detail/_swizzle.hpp
type glm (line 3) | namespace glm{
type detail (line 4) | namespace detail
type _swizzle_base0 (line 8) | struct _swizzle_base0
method GLM_FUNC_QUALIFIER (line 11) | GLM_FUNC_QUALIFIER T& elem(size_t i){ return (reinterpret_cast<T*>...
method GLM_FUNC_QUALIFIER (line 12) | GLM_FUNC_QUALIFIER T const& elem(size_t i) const{ return (reinterp...
type _swizzle_base1 (line 21) | struct _swizzle_base1 : public _swizzle_base0<T, N>
type _swizzle_base1<2, T, Q, E0,E1,-1,-2, Aligned> (line 26) | struct _swizzle_base1<2, T, Q, E0,E1,-1,-2, Aligned> : public _swizz...
method GLM_FUNC_QUALIFIER (line 28) | GLM_FUNC_QUALIFIER vec<2, T, Q> operator ()() const { return vec<...
type _swizzle_base1<3, T, Q, E0,E1,E2,-1, Aligned> (line 32) | struct _swizzle_base1<3, T, Q, E0,E1,E2,-1, Aligned> : public _swizz...
method GLM_FUNC_QUALIFIER (line 34) | GLM_FUNC_QUALIFIER vec<3, T, Q> operator ()() const { return vec<...
type _swizzle_base1<4, T, Q, E0,E1,E2,E3, Aligned> (line 38) | struct _swizzle_base1<4, T, Q, E0,E1,E2,E3, Aligned> : public _swizz...
method GLM_FUNC_QUALIFIER (line 40) | GLM_FUNC_QUALIFIER vec<4, T, Q> operator ()() const { return vec<...
type _swizzle_base2 (line 55) | struct _swizzle_base2 : public _swizzle_base1<N, T, Q, E0,E1,E2,E3, ...
type op_equal (line 57) | struct op_equal
method GLM_FUNC_QUALIFIER (line 59) | GLM_FUNC_QUALIFIER void operator() (T& e, T& t) const{ e = t; }
type op_minus (line 62) | struct op_minus
method GLM_FUNC_QUALIFIER (line 64) | GLM_FUNC_QUALIFIER void operator() (T& e, T& t) const{ e -= t; }
type op_plus (line 67) | struct op_plus
method GLM_FUNC_QUALIFIER (line 69) | GLM_FUNC_QUALIFIER void operator() (T& e, T& t) const{ e += t; }
type op_mul (line 72) | struct op_mul
method GLM_FUNC_QUALIFIER (line 74) | GLM_FUNC_QUALIFIER void operator() (T& e, T& t) const{ e *= t; }
type op_div (line 77) | struct op_div
method GLM_FUNC_QUALIFIER (line 79) | GLM_FUNC_QUALIFIER void operator() (T& e, T& t) const{ e /= t; }
method GLM_FUNC_QUALIFIER (line 83) | GLM_FUNC_QUALIFIER _swizzle_base2& operator= (const T& t)
method GLM_FUNC_QUALIFIER (line 90) | GLM_FUNC_QUALIFIER _swizzle_base2& operator= (vec<N, T, Q> const& ...
method GLM_FUNC_QUALIFIER (line 96) | GLM_FUNC_QUALIFIER void operator -= (vec<N, T, Q> const& that)
method GLM_FUNC_QUALIFIER (line 101) | GLM_FUNC_QUALIFIER void operator += (vec<N, T, Q> const& that)
method GLM_FUNC_QUALIFIER (line 106) | GLM_FUNC_QUALIFIER void operator *= (vec<N, T, Q> const& that)
method GLM_FUNC_QUALIFIER (line 111) | GLM_FUNC_QUALIFIER void operator /= (vec<N, T, Q> const& that)
method GLM_FUNC_QUALIFIER (line 116) | GLM_FUNC_QUALIFIER T& operator[](size_t i)
method GLM_FUNC_QUALIFIER (line 121) | GLM_FUNC_QUALIFIER T operator[](size_t i) const
method GLM_FUNC_QUALIFIER (line 129) | GLM_FUNC_QUALIFIER void _apply_op(vec<N, T, Q> const& that, const ...
type _swizzle_base2<N, T, Q, E0,E1,E2,E3, 1> (line 144) | struct _swizzle_base2<N, T, Q, E0,E1,E2,E3, 1> : public _swizzle_bas...
type Stub (line 146) | struct Stub {}
method GLM_FUNC_QUALIFIER (line 148) | GLM_FUNC_QUALIFIER _swizzle_base2& operator= (Stub const&) { retur...
method GLM_FUNC_QUALIFIER (line 150) | GLM_FUNC_QUALIFIER T operator[] (size_t i) const
type _swizzle (line 158) | struct _swizzle : public _swizzle_base2<N, T, Q, E0, E1, E2, E3, (E0...
method GLM_FUNC_QUALIFIER (line 164) | GLM_FUNC_QUALIFIER operator vec<N, T, Q> () const { return (*this)...
FILE: third_party/PhysGaussian/gaussian-splatting/submodules/diff-gaussian-rasterization/third_party/glm/glm/detail/_vectorize.hpp
type glm (line 3) | namespace glm{
type detail (line 4) | namespace detail
type functor1 (line 7) | struct functor1{}
type functor1<vec, 1, R, T, Q> (line 10) | struct functor1<vec, 1, R, T, Q>
method call (line 12) | static vec<1, R, Q> call(R (*Func) (T x), vec<1, T, Q> const& v)
type functor1<vec, 2, R, T, Q> (line 19) | struct functor1<vec, 2, R, T, Q>
method call (line 21) | static vec<2, R, Q> call(R (*Func) (T x), vec<2, T, Q> const& v)
type functor1<vec, 3, R, T, Q> (line 28) | struct functor1<vec, 3, R, T, Q>
method call (line 30) | static vec<3, R, Q> call(R (*Func) (T x), vec<3, T, Q> const& v)
type functor1<vec, 4, R, T, Q> (line 37) | struct functor1<vec, 4, R, T, Q>
method call (line 39) | static vec<4, R, Q> call(R (*Func) (T x), vec<4, T, Q> const& v)
type functor2 (line 46) | struct functor2{}
type functor2<vec, 1, T, Q> (line 49) | struct functor2<vec, 1, T, Q>
method call (line 51) | call(T (*Func) (T x, T y), vec<1, T, Q> const& a, vec<1, T, Q> con...
type functor2<vec, 2, T, Q> (line 58) | struct functor2<vec, 2, T, Q>
method call (line 60) | call(T (*Func) (T x, T y), vec<2, T, Q> const& a, vec<2, T, Q> con...
type functor2<vec, 3, T, Q> (line 67) | struct functor2<vec, 3, T, Q>
method call (line 69) | call(T (*Func) (T x, T y), vec<3, T, Q> const& a, vec<3, T, Q> con...
type functor2<vec, 4, T, Q> (line 76) | struct functor2<vec, 4, T, Q>
method call (line 78) | call(T (*Func) (T x, T y), vec<4, T, Q> const& a, vec<4, T, Q> con...
type functor2_vec_sca (line 85) | struct functor2_vec_sca{}
type functor2_vec_sca<vec, 1, T, Q> (line 88) | struct functor2_vec_sca<vec, 1, T, Q>
method call (line 90) | call(T (*Func) (T x, T y), vec<1, T, Q> const& a, T b)
type functor2_vec_sca<vec, 2, T, Q> (line 97) | struct functor2_vec_sca<vec, 2, T, Q>
method call (line 99) | call(T (*Func) (T x, T y), vec<2, T, Q> const& a, T b)
type functor2_vec_sca<vec, 3, T, Q> (line 106) | struct functor2_vec_sca<vec, 3, T, Q>
method call (line 108) | call(T (*Func) (T x, T y), vec<3, T, Q> const& a, T b)
type functor2_vec_sca<vec, 4, T, Q> (line 115) | struct functor2_vec_sca<vec, 4, T, Q>
method call (line 117) | call(T (*Func) (T x, T y), vec<4, T, Q> const& a, T b)
type functor2_vec_int (line 124) | struct functor2_vec_int {}
type functor2_vec_int<1, T, Q> (line 127) | struct functor2_vec_int<1, T, Q>
method call (line 129) | call(int (*Func) (T x, int y), vec<1, T, Q> const& a, vec<1, int, ...
type functor2_vec_int<2, T, Q> (line 136) | struct functor2_vec_int<2, T, Q>
method call (line 138) | call(int (*Func) (T x, int y), vec<2, T, Q> const& a, vec<2, int, ...
type functor2_vec_int<3, T, Q> (line 145) | struct functor2_vec_int<3, T, Q>
method call (line 147) | call(int (*Func) (T x, int y), vec<3, T, Q> const& a, vec<3, int, ...
type functor2_vec_int<4, T, Q> (line 154) | struct functor2_vec_int<4, T, Q>
method call (line 156) | call(int (*Func) (T x, int y), vec<4, T, Q> const& a, vec<4, int, ...
FILE: third_party/PhysGaussian/gaussian-splatting/submodules/diff-gaussian-rasterization/third_party/glm/glm/detail/compute_common.hpp
type glm (line 6) | namespace glm{
type detail (line 7) | namespace detail
type compute_abs (line 10) | struct compute_abs
type compute_abs<genFIType, true> (line 14) | struct compute_abs<genFIType, true>
method genFIType (line 16) | static genFIType call(genFIType x)
type compute_abs<float, true> (line 29) | struct compute_abs<float, true>
method call (line 31) | static float call(float x)
type compute_abs<genFIType, false> (line 39) | struct compute_abs<genFIType, false>
method genFIType (line 41) | static genFIType call(genFIType x)
FILE: third_party/PhysGaussian/gaussian-splatting/submodules/diff-gaussian-rasterization/third_party/glm/glm/detail/compute_vector_relational.hpp
type glm (line 7) | namespace glm{
type detail (line 8) | namespace detail
type compute_equal (line 11) | struct compute_equal
method call (line 13) | static bool call(T a, T b)
FILE: third_party/PhysGaussian/gaussian-splatting/submodules/diff-gaussian-rasterization/third_party/glm/glm/detail/glm.cpp
type glm (line 14) | namespace glm
type vec<1, uint8, lowp> (line 17) | struct vec<1, uint8, lowp>
type vec<1, uint16, lowp> (line 18) | struct vec<1, uint16, lowp>
type vec<1, uint32, lowp> (line 19) | struct vec<1, uint32, lowp>
type vec<1, uint64, lowp> (line 20) | struct vec<1, uint64, lowp>
type vec<1, int8, lowp> (line 21) | struct vec<1, int8, lowp>
type vec<1, int16, lowp> (line 22) | struct vec<1, int16, lowp>
type vec<1, int32, lowp> (line 23) | struct vec<1, int32, lowp>
type vec<1, int64, lowp> (line 24) | struct vec<1, int64, lowp>
type vec<1, float32, lowp> (line 25) | struct vec<1, float32, lowp>
type vec<1, float64, lowp> (line 26) | struct vec<1, float64, lowp>
type vec<1, uint8, mediump> (line 28) | struct vec<1, uint8, mediump>
type vec<1, uint16, mediump> (line 29) | struct vec<1, uint16, mediump>
type vec<1, uint32, mediump> (line 30) | struct vec<1, uint32, mediump>
type vec<1, uint64, mediump> (line 31) | struct vec<1, uint64, mediump>
type vec<1, int8, mediump> (line 32) | struct vec<1, int8, mediump>
type vec<1, int16, mediump> (line 33) | struct vec<1, int16, mediump>
type vec<1, int32, mediump> (line 34) | struct vec<1, int32, mediump>
type vec<1, int64, mediump> (line 35) | struct vec<1, int64, mediump>
type vec<1, float32, mediump> (line 36) | struct vec<1, float32, mediump>
type vec<1, float64, mediump> (line 37) | struct vec<1, float64, mediump>
type vec<1, uint8, highp> (line 39) | struct vec<1, uint8, highp>
type vec<1, uint16, highp> (line 40) | struct vec<1, uint16, highp>
type vec<1, uint32, highp> (line 41) | struct vec<1, uint32, highp>
type vec<1, uint64, highp> (line 42) | struct vec<1, uint64, highp>
type vec<1, int8, highp> (line 43) | struct vec<1, int8, highp>
type vec<1, int16, highp> (line 44) | struct vec<1, int16, highp>
type vec<1, int32, highp> (line 45) | struct vec<1, int32, highp>
type vec<1, int64, highp> (line 46) | struct vec<1, int64, highp>
type vec<1, float32, highp> (line 47) | struct vec<1, float32, highp>
type vec<1, float64, highp> (line 48) | struct vec<1, float64, highp>
type vec<2, uint8, lowp> (line 51) | struct vec<2, uint8, lowp>
type vec<2, uint16, lowp> (line 52) | struct vec<2, uint16, lowp>
type vec<2, uint32, lowp> (line 53) | struct vec<2, uint32, lowp>
type vec<2, uint64, lowp> (line 54) | struct vec<2, uint64, lowp>
type vec<2, int8, lowp> (line 55) | struct vec<2, int8, lowp>
type vec<2, int16, lowp> (line 56) | struct vec<2, int16, lowp>
type vec<2, int32, lowp> (line 57) | struct vec<2, int32, lowp>
type vec<2, int64, lowp> (line 58) | struct vec<2, int64, lowp>
type vec<2, float32, lowp> (line 59) | struct vec<2, float32, lowp>
type vec<2, float64, lowp> (line 60) | struct vec<2, float64, lowp>
type vec<2, uint8, mediump> (line 62) | struct vec<2, uint8, mediump>
type vec<2, uint16, mediump> (line 63) | struct vec<2, uint16, mediump>
type vec<2, uint32, mediump> (line 64) | struct vec<2, uint32, mediump>
type vec<2, uint64, mediump> (line 65) | struct vec<2, uint64, mediump>
type vec<2, int8, mediump> (line 66) | struct vec<2, int8, mediump>
type vec<2, int16, mediump> (line 67) | struct vec<2, int16, mediump>
type vec<2, int32, mediump> (line 68) | struct vec<2, int32, mediump>
type vec<2, int64, mediump> (line 69) | struct vec<2, int64, mediump>
type vec<2, float32, mediump> (line 70) | struct vec<2, float32, mediump>
type vec<2, float64, mediump> (line 71) | struct vec<2, float64, mediump>
type vec<2, uint8, highp> (line 73) | struct vec<2, uint8, highp>
type vec<2, uint16, highp> (line 74) | struct vec<2, uint16, highp>
type vec<2, uint32, highp> (line 75) | struct vec<2, uint32, highp>
type vec<2, uint64, highp> (line 76) | struct vec<2, uint64, highp>
type vec<2, int8, highp> (line 77) | struct vec<2, int8, highp>
type vec<2, int16, highp> (line 78) | struct vec<2, int16, highp>
type vec<2, int32, highp> (line 79) | struct vec<2, int32, highp>
type vec<2, int64, highp> (line 80) | struct vec<2, int64, highp>
type vec<2, float32, highp> (line 81) | struct vec<2, float32, highp>
type vec<2, float64, highp> (line 82) | struct vec<2, float64, highp>
type vec<3, uint8, lowp> (line 85) | struct vec<3, uint8, lowp>
type vec<3, uint16, lowp> (line 86) | struct vec<3, uint16, lowp>
type vec<3, uint32, lowp> (line 87) | struct vec<3, uint32, lowp>
type vec<3, uint64, lowp> (line 88) | struct vec<3, uint64, lowp>
type vec<3, int8, lowp> (line 89) | struct vec<3, int8, lowp>
type vec<3, int16, lowp> (line 90) | struct vec<3, int16, lowp>
type vec<3, int32, lowp> (line 91) | struct vec<3, int32, lowp>
type vec<3, int64, lowp> (line 92) | struct vec<3, int64, lowp>
type vec<3, float32, lowp> (line 93) | struct vec<3, float32, lowp>
type vec<3, float64, lowp> (line 94) | struct vec<3, float64, lowp>
type vec<3, uint8, mediump> (line 96) | struct vec<3, uint8, mediump>
type vec<3, uint16, mediump> (line 97) | struct vec<3, uint16, mediump>
type vec<3, uint32, mediump> (line 98) | struct vec<3, uint32, mediump>
type vec<3, uint64, mediump> (line 99) | struct vec<3, uint64, mediump>
type vec<3, int8, mediump> (line 100) | struct vec<3, int8, mediump>
type vec<3, int16, mediump> (line 101) | struct vec<3, int16, mediump>
type vec<3, int32, mediump> (line 102) | struct vec<3, int32, mediump>
type vec<3, int64, mediump> (line 103) | struct vec<3, int64, mediump>
type vec<3, float32, mediump> (line 104) | struct vec<3, float32, mediump>
type vec<3, float64, mediump> (line 105) | struct vec<3, float64, mediump>
type vec<3, uint8, highp> (line 107) | struct vec<3, uint8, highp>
type vec<3, uint16, highp> (line 108) | struct vec<3, uint16, highp>
type vec<3, uint32, highp> (line 109) | struct vec<3, uint32, highp>
type vec<3, uint64, highp> (line 110) | struct vec<3, uint64, highp>
type vec<3, int8, highp> (line 111) | struct vec<3, int8, highp>
type vec<3, int16, highp> (line 112) | struct vec<3, int16, highp>
type vec<3, int32, highp> (line 113) | struct vec<3, int32, highp>
type vec<3, int64, highp> (line 114) | struct vec<3, int64, highp>
type vec<3, float32, highp> (line 115) | struct vec<3, float32, highp>
type vec<3, float64, highp> (line 116) | struct vec<3, float64, highp>
type vec<4, uint8, lowp> (line 119) | struct vec<4, uint8, lowp>
type vec<4, uint16, lowp> (line 120) | struct vec<4, uint16, lowp>
type vec<4, uint32, lowp> (line 121) | struct vec<4, uint32, lowp>
type vec<4, uint64, lowp> (line 122) | struct vec<4, uint64, lowp>
type vec<4, int8, lowp> (line 123) | struct vec<4, int8, lowp>
type vec<4, int16, lowp> (line 124) | struct vec<4, int16, lowp>
type vec<4, int32, lowp> (line 125) | struct vec<4, int32, lowp>
type vec<4, int64, lowp> (line 126) | struct vec<4, int64, lowp>
type vec<4, float32, lowp> (line 127) | struct vec<4, float32, lowp>
type vec<4, float64, lowp> (line 128) | struct vec<4, float64, lowp>
type vec<4, uint8, mediump> (line 130) | struct vec<4, uint8, mediump>
type vec<4, uint16, mediump> (line 131) | struct vec<4, uint16, mediump>
type vec<4, uint32, mediump> (line 132) | struct vec<4, uint32, mediump>
type vec<4, uint64, mediump> (line 133) | struct vec<4, uint64, mediump>
type vec<4, int8, mediump> (line 134) | struct vec<4, int8, mediump>
type vec<4, int16, mediump> (line 135) | struct vec<4, int16, mediump>
type vec<4, int32, mediump> (line 136) | struct vec<4, int32, mediump>
type vec<4, int64, mediump> (line 137) | struct vec<4, int64, mediump>
type vec<4, float32, mediump> (line 138) | struct vec<4, float32, mediump>
type vec<4, float64, mediump> (line 139) | struct vec<4, float64, mediump>
type vec<4, uint8, highp> (line 141) | struct vec<4, uint8, highp>
type vec<4, uint16, highp> (line 142) | struct vec<4, uint16, highp>
type vec<4, uint32, highp> (line 143) | struct vec<4, uint32, highp>
type vec<4, uint64, highp> (line 144) | struct vec<4, uint64, highp>
type vec<4, int8, highp> (line 145) | struct vec<4, int8, highp>
type vec<4, int16, highp> (line 146) | struct vec<4, int16, highp>
type vec<4, int32, highp> (line 147) | struct vec<4, int32, highp>
type vec<4, int64, highp> (line 148) | struct vec<4, int64, highp>
type vec<4, float32, highp> (line 149) | struct vec<4, float32, highp>
type vec<4, float64, highp> (line 150) | struct vec<4, float64, highp>
type mat<2, 2, float32, lowp> (line 153) | struct mat<2, 2, float32, lowp>
type mat<2, 2, float64, lowp> (line 154) | struct mat<2, 2, float64, lowp>
type mat<2, 2, float32, mediump> (line 156) | struct mat<2, 2, float32, mediump>
type mat<2, 2, float64, mediump> (line 157) | struct mat<2, 2, float64, mediump>
type mat<2, 2, float32, highp> (line 159) | struct mat<2, 2, float32, highp>
type mat<2, 2, float64, highp> (line 160) | struct mat<2, 2, float64, highp>
type mat<2, 3, float32, lowp> (line 163) | struct mat<2, 3, float32, lowp>
type mat<2, 3, float64, lowp> (line 164) | struct mat<2, 3, float64, lowp>
type mat<2, 3, float32, mediump> (line 166) | struct mat<2, 3, float32, mediump>
type mat<2, 3, float64, mediump> (line 167) | struct mat<2, 3, float64, mediump>
type mat<2, 3, float32, highp> (line 169) | struct mat<2, 3, float32, highp>
type mat<2, 3, float64, highp> (line 170) | struct mat<2, 3, float64, highp>
type mat<2, 4, float32, lowp> (line 173) | struct mat<2, 4, float32, lowp>
type mat<2, 4, float64, lowp> (line 174) | struct mat<2, 4, float64, lowp>
type mat<2, 4, float32, mediump> (line 176) | struct mat<2, 4, float32, mediump>
type mat<2, 4, float64, mediump> (line 177) | struct mat<2, 4, float64, mediump>
type mat<2, 4, float32, highp> (line 179) | struct mat<2, 4, float32, highp>
type mat<2, 4, float64, highp> (line 180) | struct mat<2, 4, float64, highp>
type mat<3, 2, float32, lowp> (line 183) | struct mat<3, 2, float32, lowp>
type mat<3, 2, float64, lowp> (line 184) | struct mat<3, 2, float64, lowp>
type mat<3, 2, float32, mediump> (line 186) | struct mat<3, 2, float32, mediump>
type mat<3, 2, float64, mediump> (line 187) | struct mat<3, 2, float64, mediump>
type mat<3, 2, float32, highp> (line 189) | struct mat<3, 2, float32, highp>
type mat<3, 2, float64, highp> (line 190) | struct mat<3, 2, float64, highp>
type mat<3, 3, float32, lowp> (line 193) | struct mat<3, 3, float32, lowp>
type mat<3, 3, float64, lowp> (line 194) | struct mat<3, 3, float64, lowp>
type mat<3, 3, float32, mediump> (line 196) | struct mat<3, 3, float32, mediump>
type mat<3, 3, float64, mediump> (line 197) | struct mat<3, 3, float64, mediump>
type mat<3, 3, float32, highp> (line 199) | struct mat<3, 3, float32, highp>
type mat<3, 3, float64, highp> (line 200) | struct mat<3, 3, float64, highp>
type mat<3, 4, float32, lowp> (line 203) | struct mat<3, 4, float32, lowp>
type mat<3, 4, float64, lowp> (line 204) | struct mat<3, 4, float64, lowp>
type mat<3, 4, float32, mediump> (line 206) | struct mat<3, 4, float32, mediump>
type mat<3, 4, float64, mediump> (line 207) | struct mat<3, 4, float64, mediump>
type mat<3, 4, float32, highp> (line 209) | struct mat<3, 4, float32, highp>
type mat<3, 4, float64, highp> (line 210) | struct mat<3, 4, float64, highp>
type mat<4, 2, float32, lowp> (line 213) | struct mat<4, 2, float32, lowp>
type mat<4, 2, float64, lowp> (line 214) | struct mat<4, 2, float64, lowp>
type mat<4, 2, float32, mediump> (line 216) | struct mat<4, 2, float32, mediump>
type mat<4, 2, float64, mediump> (line 217) | struct mat<4, 2, float64, mediump>
type mat<4, 2, float32, highp> (line 219) | struct mat<4, 2, float32, highp>
type mat<4, 2, float64, highp> (line 220) | struct mat<4, 2, float64, highp>
type mat<4, 3, float32, lowp> (line 223) | struct mat<4, 3, float32, lowp>
type mat<4, 3, float64, lowp> (line 224) | struct mat<4, 3, float64, lowp>
type mat<4, 3, float32, mediump> (line 226) | struct mat<4, 3, float32, mediump>
type mat<4, 3, float64, mediump> (line 227) | struct mat<4, 3, float64, mediump>
type mat<4, 3, float32, highp> (line 229) | struct mat<4, 3, float32, highp>
type mat<4, 3, float64, highp> (line 230) | struct mat<4, 3, float64, highp>
type mat<4, 4, float32, lowp> (line 233) | struct mat<4, 4, float32, lowp>
type mat<4, 4, float64, lowp> (line 234) | struct mat<4, 4, float64, lowp>
type mat<4, 4, float32, mediump> (line 236) | struct mat<4, 4, float32, mediump>
type mat<4, 4, float64, mediump> (line 237) | struct mat<4, 4, float64, mediump>
type mat<4, 4, float32, highp> (line 239) | struct mat<4, 4, float32, highp>
type mat<4, 4, float64, highp> (line 240) | struct mat<4, 4, float64, highp>
type qua<float32, lowp> (line 243) | struct qua<float32, lowp>
type qua<float64, lowp> (line 244) | struct qua<float64, lowp>
type qua<float32, mediump> (line 246) | struct qua<float32, mediump>
type qua<float64, mediump> (line 247) | struct qua<float64, mediump>
type qua<float32, highp> (line 249) | struct qua<float32, highp>
type qua<float64, highp> (line 250) | struct qua<float64, highp>
type tdualquat<float32, lowp> (line 253) | struct tdualquat<float32, lowp>
type tdualquat<float64, lowp> (line 254) | struct tdualquat<float64, lowp>
type tdualquat<float32, mediump> (line 256) | struct tdualquat<float32, mediump>
type tdualquat<float64, mediump> (line 257) | struct tdualquat<float64, mediump>
type tdualquat<float32, highp> (line 259) | struct tdualquat<float32, highp>
type tdualquat<float64, highp> (line 260) | struct tdualquat<float64, highp>
FILE: third_party/PhysGaussian/gaussian-splatting/submodules/diff-gaussian-rasterization/third_party/glm/glm/detail/qualifier.hpp
type glm (line 5) | namespace glm
type qualifier (line 8) | enum qualifier
type vec (line 35) | struct vec
type mat (line 36) | struct mat
type qua (line 37) | struct qua
type detail (line 56) | namespace detail
type is_aligned (line 59) | struct is_aligned
type is_aligned<glm::aligned_lowp> (line 66) | struct is_aligned<glm::aligned_lowp>
type is_aligned<glm::aligned_mediump> (line 72) | struct is_aligned<glm::aligned_mediump>
type is_aligned<glm::aligned_highp> (line 78) | struct is_aligned<glm::aligned_highp>
type storage (line 85) | struct storage
type type (line 87) | struct type {
type storage<L, T, true> (line 94) | struct storage<L, T, true>
type type (line 96) | struct alignas(L * sizeof(T)) type {
type storage<3, T, true> (line 102) | struct storage<3, T, true>
type type (line 104) | struct alignas(4 * sizeof(T)) type {
type storage<4, float, true> (line 112) | struct storage<4, float, true>
type storage<4, int, true> (line 118) | struct storage<4, int, true>
type storage<4, unsigned int, true> (line 124) | struct storage<4, unsigned int, true>
type storage<2, double, true> (line 130) | struct storage<2, double, true>
type storage<2, detail::int64, true> (line 136) | struct storage<2, detail::int64, true>
type storage<2, detail::uint64, true> (line 142) | struct storage<2, detail::uint64, true>
type storage<4, double, true> (line 149) | struct storage<4, double, true>
type storage<4, detail::int64, true> (line 157) | struct storage<4, detail::int64, true>
type storage<4, detail::uint64, true> (line 163) | struct storage<4, detail::uint64, true>
type storage<4, float, true> (line 171) | struct storage<4, float, true>
type storage<4, int, true> (line 177) | struct storage<4, int, true>
type storage<4, unsigned int, true> (line 183) | struct storage<4, unsigned int, true>
type genTypeEnum (line 189) | enum genTypeEnum
type genTypeTrait (line 197) | struct genTypeTrait
type genTypeTrait<mat<C, R, T> > (line 201) | struct genTypeTrait<mat<C, R, T> >
type init_gentype (line 207) | struct init_gentype
type init_gentype<genType, GENTYPE_QUAT> (line 212) | struct init_gentype<genType, GENTYPE_QUAT>
method genType (line 214) | static genType identity()
type init_gentype<genType, GENTYPE_MAT> (line 221) | struct init_gentype<genType, GENTYPE_MAT>
method genType (line 223) | static genType identity()
FILE: third_party/PhysGaussian/gaussian-splatting/submodules/diff-gaussian-rasterization/third_party/glm/glm/detail/setup.hpp
type glm (line 580) | namespace glm {
type std (line 581) | namespace std {
function countof (line 647) | constexpr std::size_t countof(T const (&)[N])
type detail (line 667) | namespace detail
type is_int (line 670) | struct is_int
type test (line 672) | enum test {value = 0}
type is_int<unsigned int> (line 676) | struct is_int<unsigned int>
type test (line 678) | enum test {value = ~0}
type is_int<signed int> (line 682) | struct is_int<signed int>
type test (line 684) | enum test {value = ~0}
type make_unsigned (line 744) | struct make_unsigned
type make_unsigned<char> (line 748) | struct make_unsigned<char>
type make_unsigned<signed char> (line 754) | struct make_unsigned<signed char>
type make_unsigned<short> (line 760) | struct make_unsigned<short>
type make_unsigned<int> (line 766) | struct make_unsigned<int>
type make_unsigned<long> (line 772) | struct make_unsigned<long>
type make_unsigned<int64> (line 778) | struct make_unsigned<int64>
type make_unsigned<unsigned char> (line 784) | struct make_unsigned<unsigned char>
type make_unsigned<unsigned short> (line 790) | struct make_unsigned<unsigned short>
type make_unsigned<unsigned int> (line 796) | struct make_unsigned<unsigned int>
type make_unsigned<unsigned long> (line 802) | struct make_unsigned<unsigned long>
type make_unsigned<uint64> (line 808) | struct make_unsigned<uint64>
type detail (line 699) | namespace detail
type is_int (line 670) | struct is_int
type test (line 672) | enum test {value = 0}
type is_int<unsigned int> (line 676) | struct is_int<unsigned int>
type test (line 678) | enum test {value = ~0}
type is_int<signed int> (line 682) | struct is_int<signed int>
type test (line 684) | enum test {value = ~0}
type make_unsigned (line 744) | struct make_unsigned
type make_unsigned<char> (line 748) | struct make_unsigned<char>
type make_unsigned<signed char> (line 754) | struct make_unsigned<signed char>
type make_unsigned<short> (line 760) | struct make_unsigned<short>
type make_unsigned<int> (line 766) | struct make_unsigned<int>
type make_unsigned<long> (line 772) | struct make_unsigned<long>
type make_unsigned<int64> (line 778) | struct make_unsigned<int64>
type make_unsigned<unsigned char> (line 784) | struct make_unsigned<unsigned char>
type make_unsigned<unsigned short> (line 790) | struct make_unsigned<unsigned short>
type make_unsigned<unsigned int> (line 796) | struct make_unsigned<unsigned int>
type make_unsigned<unsigned long> (line 802) | struct make_unsigned<unsigned long>
type make_unsigned<uint64> (line 808) | struct make_unsigned<uint64>
type detail (line 732) | namespace detail
type is_int (line 670) | struct is_int
type test (line 672) | enum test {value = 0}
type is_int<unsigned int> (line 676) | struct is_int<unsigned int>
type test (line 678) | enum test {value = ~0}
type is_int<signed int> (line 682) | struct is_int<signed int>
type test (line 684) | enum test {value = ~0}
type make_unsigned (line 744) | struct make_unsigned
type make_unsigned<char> (line 748) | struct make_unsigned<char>
type make_unsigned<signed char> (line 754) | struct make_unsigned<signed char>
type make_unsigned<short> (line 760) | struct make_unsigned<short>
type make_unsigned<int> (line 766) | struct make_unsigned<int>
type make_unsigned<long> (line 772) | struct make_unsigned<long>
type make_unsigned<int64> (line 778) | struct make_unsigned<int64>
type make_unsigned<unsigned char> (line 784) | struct make_unsigned<unsigned char>
type make_unsigned<unsigned short> (line 790) | struct make_unsigned<unsigned short>
type make_unsigned<unsigned int> (line 796) | struct make_unsigned<unsigned int>
type make_unsigned<unsigned long> (line 802) | struct make_unsigned<unsigned long>
type make_unsigned<uint64> (line 808) | struct make_unsigned<uint64>
type detail (line 741) | namespace detail
type is_int (line 670) | struct is_int
type test (line 672) | enum test {value = 0}
type is_int<unsigned int> (line 676) | struct is_int<unsigned int>
type test (line 678) | enum test {value = ~0}
type is_int<signed int> (line 682) | struct is_int<signed int>
type test (line 684) | enum test {value = ~0}
type make_unsigned (line 744) | struct make_unsigned
type make_unsigned<char> (line 748) | struct make_unsigned<char>
type make_unsigned<signed char> (line 754) | struct make_unsigned<signed char>
type make_unsigned<short> (line 760) | struct make_unsigned<short>
type make_unsigned<int> (line 766) | struct make_unsigned<int>
type make_unsigned<long> (line 772) | struct make_unsigned<long>
type make_unsigned<int64> (line 778) | struct make_unsigned<int64>
type make_unsigned<unsigned char> (line 784) | struct make_unsigned<unsigned char>
type make_unsigned<unsigned short> (line 790) | struct make_unsigned<unsigned short>
type make_unsigned<unsigned int> (line 796) | struct make_unsigned<unsigned int>
type make_unsigned<unsigned long> (line 802) | struct make_unsigned<unsigned long>
type make_unsigned<uint64> (line 808) | struct make_unsigned<uint64>
type glm (line 628) | namespace glm
type std (line 581) | namespace std {
function countof (line 647) | constexpr std::size_t countof(T const (&)[N])
type detail (line 667) | namespace detail
type is_int (line 670) | struct is_int
type test (line 672) | enum test {value = 0}
type is_int<unsigned int> (line 676) | struct is_int<unsigned int>
type test (line 678) | enum test {value = ~0}
type is_int<signed int> (line 682) | struct is_int<signed int>
type test (line 684) | enum test {value = ~0}
type make_unsigned (line 744) | struct make_unsigned
type make_unsigned<char> (line 748) | struct make_unsigned<char>
type make_unsigned<signed char> (line 754) | struct make_unsigned<signed char>
type make_unsigned<short> (line 760) | struct make_unsigned<short>
type make_unsigned<int> (line 766) | struct make_unsigned<int>
type make_unsigned<long> (line 772) | struct make_unsigned<long>
type make_unsigned<int64> (line 778) | struct make_unsigned<int64>
type make_unsigned<unsigned char> (line 784) | struct make_unsigned<unsigned char>
type make_unsigned<unsigned short> (line 790) | struct make_unsigned<unsigned short>
type make_unsigned<unsigned int> (line 796) | struct make_unsigned<unsigned int>
type make_unsigned<unsigned long> (line 802) | struct make_unsigned<unsigned long>
type make_unsigned<uint64> (line 808) | struct make_unsigned<uint64>
type detail (line 699) | namespace detail
type is_int (line 670) | struct is_int
type test (line 672) | enum test {value = 0}
type is_int<unsigned int> (line 676) | struct is_int<unsigned int>
type test (line 678) | enum test {value = ~0}
type is_int<signed int> (line 682) | struct is_int<signed int>
type test (line 684) | enum test {value = ~0}
type make_unsigned (line 744) | struct make_unsigned
type make_unsigned<char> (line 748) | struct make_unsigned<char>
type make_unsigned<signed char> (line 754) | struct make_unsigned<signed char>
type make_unsigned<short> (line 760) | struct make_unsigned<short>
type make_unsigned<int> (line 766) | struct make_unsigned<int>
type make_unsigned<long> (line 772) | struct make_unsigned<long>
type make_unsigned<int64> (line 778) | struct make_unsigned<int64>
type make_unsigned<unsigned char> (line 784) | struct make_unsigned<unsigned char>
type make_unsigned<unsigned short> (line 790) | struct make_unsigned<unsigned short>
type make_unsigned<unsigned int> (line 796) | struct make_unsigned<unsigned int>
type make_unsigned<unsigned long> (line 802) | struct make_unsigned<unsigned long>
type make_unsigned<uint64> (line 808) | struct make_unsigned<uint64>
type detail (line 732) | namespace detail
type is_int (line 670) | struct is_int
type test (line 672) | enum test {value = 0}
type is_int<unsigned int> (line 676) | struct is_int<unsigned int>
type test (line 678) | enum test {value = ~0}
type is_int<signed int> (line 682) | struct is_int<signed int>
type test (line 684) | enum test {value = ~0}
type make_unsigned (line 744) | struct make_unsigned
type make_unsigned<char> (line 748) |
Copy disabled (too large)
Download .json
Condensed preview — 2335 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (33,416K chars).
[
{
"path": ".gitignore",
"chars": 643,
"preview": ".DS_Store\n__pycache__\n# **render_output/\n# **.tar.xz\n# **outputs/\n# **.zip\n# **BlenderNeRF/\n# **slurm_outs/\n# **slurm_sc"
},
{
"path": "LICENSE",
"chars": 1070,
"preview": "MIT License\n\nCopyright (c) 2023 edward1997104\n\nPermission is hereby granted, free of charge, to any person obtaining a c"
},
{
"path": "README.md",
"chars": 13628,
"preview": "<div align=\"center\">\n <br>\n <br>\n <h1>Pixie: Physics from Pixels</h1>\n</div>\n\n<p align=\"center\">\n <a href=\"https://p"
},
{
"path": "config/config.yaml",
"chars": 671,
"preview": "defaults:\n - _self_\n - paths: default\n - data_rendering: default\n - output_rendering: default\n - training_3d: defau"
},
{
"path": "config/data_curation/default.yaml",
"chars": 2497,
"preview": "# Data Curation Configuration\n# Configuration for objaverse object selection and categorization\n\n# Object selection para"
},
{
"path": "config/data_rendering/default.yaml",
"chars": 158,
"preview": "# Blender rendering parameters\nnum_images: 200\ncamera_dist_min: 1.2\ncamera_dist_max: 1.8\ntransparent_bg: true\nscene_scal"
},
{
"path": "config/mapping/default.yaml",
"chars": 616,
"preview": "\n# Input paths\npred_path: null # Path to prediction numpy array (required)\nmask_path: null # Path to mask numpy array "
},
{
"path": "config/obj_ids_metadata.json",
"chars": 2082199,
"preview": "{\n \"003ebdf86df345d39dc166563229fb85\": {\n \"obj_class\": \"soda_cans\",\n \"vlm_filtering\": {\n \"is_appropriate\": t"
},
{
"path": "config/output_rendering/default.yaml",
"chars": 1248,
"preview": "render:\n - nerf\n - gs\n - blender_glb\n - blender_gs\n\nnerf_render:\n split: test\n rendered_output_names: rgb\n\nblender"
},
{
"path": "config/paths/default.yaml",
"chars": 2763,
"preview": "# Base paths\n# null -> use current directory\n# project_root: null ## for current directory like config\nbase_path: null #"
},
{
"path": "config/physics/default.yaml",
"chars": 432,
"preview": "# Physics simulation parameters\nrender_img: true\ncompile_video: true\ndebug: false\nwhite_bg: true # Default, can be over"
},
{
"path": "config/segmentation/default.yaml",
"chars": 1670,
"preview": "# VLM segmentation parameters\nvlm:\n use_spatial_smoothing: false\n overwrite: true\n \n # VLM labeling configuration\n "
},
{
"path": "config/training/default.yaml",
"chars": 4114,
"preview": "\n# Shared configuration parameters (consistent across normalization, training, inference)\nenforce_mask_consistency: true"
},
{
"path": "config/training_3d/default.yaml",
"chars": 309,
"preview": "# NeRF training parameters\nnerf:\n method: \"f3rm\"\n max_iterations: 5_000\n disable_scene_contraction: true\n save_only_"
},
{
"path": "config/voxelization/default.yaml",
"chars": 620,
"preview": "# Voxel grid parameters\ngrid_size: 64\nvoxel_size: null # Auto-calculated as 1.0 / grid_size\ngray_threshold: 0.05\n\n# Sce"
},
{
"path": "data_curation/cat_dict.json",
"chars": 6701,
"preview": "{\n \"tree\": [\n \"tree\",\n \"ficus\",\n \"fern\",\n \"oak tree\",\n \"pine tree\",\n \"everg"
},
{
"path": "data_curation/download_objaverse.py",
"chars": 2475,
"preview": "import multiprocessing\nimport objaverse\nimport subprocess\nimport glob\nimport pickle\nimport os\nimport hydra\nfrom omegacon"
},
{
"path": "data_curation/manual_data_filtering_correction.py",
"chars": 10606,
"preview": "import streamlit as st\nimport json\nimport os\nimport glob\nimport math\nfrom PIL import Image\nimport io\nimport hydra\nfrom o"
},
{
"path": "data_curation/manual_sim_validation.py",
"chars": 7889,
"preview": "import streamlit as st\nimport os\nimport math\nimport random\nimport hydra\nfrom omegaconf import DictConfig\nfrom pixie.util"
},
{
"path": "data_curation/objaverse_selection.py",
"chars": 3334,
"preview": "import objaverse\nfrom sentence_transformers import SentenceTransformer, util\nimport torch\nimport pickle \nimport json\nimp"
},
{
"path": "data_curation/render_blender.py",
"chars": 24636,
"preview": "import argparse, sys, os, math, re\nimport bpy\nfrom mathutils import Vector, Matrix\nimport mathutils\nimport numpy as np\ni"
},
{
"path": "data_curation/render_objaverse_classes.py",
"chars": 2732,
"preview": "import os\nimport glob\nfrom concurrent.futures import ProcessPoolExecutor\nfrom tqdm import tqdm\nimport hydra\nfrom omegaco"
},
{
"path": "data_readme.md",
"chars": 4072,
"preview": "# PixieVerse Data README\n\nThis file documents the dataset directory rooted at `paths.base_path` (Hydra config).\nBy defau"
},
{
"path": "docs/Cochin_Bold/readme.html",
"chars": 4623,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\""
},
{
"path": "nbs/pixie.ipynb",
"chars": 2128591,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"code\",\n \"execution_count\": 1,\n \"id\": \"8743506e\",\n \"metadata\": {},\n \"outputs\":"
},
{
"path": "nbs/real_scene.ipynb",
"chars": 2844601,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"code\",\n \"execution_count\": 1,\n \"id\": \"e8182c7d\",\n \"metadata\": {},\n \"outputs\":"
},
{
"path": "normalization_stats/material_statistics.json",
"chars": 1567,
"preview": "{\"dataset_info\": {\"total_objects\": 1577, \"failed_objects\": 0, \"total_voxels\": 413401088}, \"material_distribution\": {\"-1\""
},
{
"path": "normalization_stats/normalization_ranges.yaml",
"chars": 373,
"preview": "{\"density_min\": 1.7031893730163574, \"density_max\": 3.871432304382324, \"E_min\": 3.0183002948760986, \"E_max\": 10.881680488"
},
{
"path": "pipeline.py",
"chars": 18540,
"preview": "import time\nimport os\nimport shutil\nimport logging\nfrom pathlib import Path\nfrom typing import Optional, Tuple\n\n\nimport "
},
{
"path": "pixie/__init__.py",
"chars": 1,
"preview": " "
},
{
"path": "pixie/blender/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "pixie/blender/apply_feature_colors.py",
"chars": 57828,
"preview": "#!/usr/bin/env python\n\nfrom __future__ import annotations\n\nimport argparse, os, sys\nfrom pathlib import Path\nfrom typing"
},
{
"path": "pixie/blender/generate_blendernerf_data.py",
"chars": 15851,
"preview": "import argparse\nimport math\nimport os\nimport random\nimport sys\nimport time\nimport urllib.request\nfrom typing import Tupl"
},
{
"path": "pixie/blender/render_glb.py",
"chars": 14501,
"preview": "import bpy\nimport os\nimport sys\nimport argparse\nfrom mathutils import Vector, Matrix\nfrom pathlib import Path\nimport jso"
},
{
"path": "pixie/blender/render_gs.py",
"chars": 25464,
"preview": "from __future__ import annotations\nimport argparse, json, os, sys, math\nfrom pathlib import Path\nimport bpy\nfrom mathuti"
},
{
"path": "pixie/metrics.py",
"chars": 16447,
"preview": "import os\nimport numpy as np\nfrom typing import List, Optional\nfrom omegaconf import DictConfig\nfrom .utils import load_"
},
{
"path": "pixie/training_utils.py",
"chars": 10070,
"preview": "\"\"\"\nShared training utilities for Wavelet-Generation training scripts.\nThis module contains common functions used across"
},
{
"path": "pixie/utils.py",
"chars": 31570,
"preview": "import os\nimport sys\nimport argparse\nimport logging\nimport json\nimport shutil\nimport objaverse\nfrom PIL import Image\nfro"
},
{
"path": "pixie/viz_utils.py",
"chars": 23817,
"preview": "import matplotlib.pyplot as plt\nfrom matplotlib.patches import Patch\nfrom matplotlib import cm\nfrom matplotlib import co"
},
{
"path": "pixie/vlm_labeler/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "pixie/vlm_labeler/vlm_data_filtering.py",
"chars": 11982,
"preview": "import os\nimport glob\nimport json\nfrom concurrent.futures import ProcessPoolExecutor\nfrom typing import Dict, Tuple, Opt"
},
{
"path": "pixie/vlm_labeler/vlm_parse_seg_critic.py",
"chars": 4262,
"preview": "import os\nimport argparse\nimport glob\nimport os.path as osp\nfrom vlmx.utils import save_json, load_json\nfrom vlmx.agent "
},
{
"path": "pixie/vlm_labeler/vlm_phys_judge.py",
"chars": 7650,
"preview": "import os\nimport argparse\nimport logging\nfrom typing import List\nfrom vlmx.agent import Agent, AgentConfig\nfrom vlmx.uti"
},
{
"path": "pixie/vlm_labeler/vlm_phys_sampler.py",
"chars": 7042,
"preview": "import os\nimport argparse\nimport glob\nimport os.path as osp\nfrom vlmx.utils import save_json, load_json\nfrom vlmx.agent "
},
{
"path": "pixie/vlm_labeler/vlm_seg.py",
"chars": 3272,
"preview": "import os\nimport argparse\nimport glob\nimport os.path as osp\nfrom vlmx.utils import save_json, load_json\nfrom vlmx.agent "
},
{
"path": "pixie/vlm_labeler/vlm_seg_class_instruction.py",
"chars": 19837,
"preview": "import json\nimport textwrap\nimport os\nimport sys\nphysgaussian_path = os.path.join(os.path.dirname(__file__), \"..\", \"..\","
},
{
"path": "pixie/vlm_labeler/vlm_seg_critic.py",
"chars": 8840,
"preview": "import os\nimport argparse\nimport glob\nimport os.path as osp\nfrom vlmx.utils import save_json, load_json\nfrom vlmx.agent "
},
{
"path": "pixie/vlm_labeler/vlm_viz_seg_candidates.py",
"chars": 4013,
"preview": "import argparse\nimport os\nimport glob\nimport json\nfrom pixie.utils import str2bool\nfrom vlmx.utils import load_json\nfrom"
},
{
"path": "pixie/voxel/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "pixie/voxel/map_pred_to_coords.py",
"chars": 13364,
"preview": "import numpy as np\nimport argparse\nimport os\nfrom plyfile import PlyData, PlyElement\nimport json\nfrom pathlib import Pat"
},
{
"path": "pixie/voxel/segmentation.py",
"chars": 28802,
"preview": "import sys\nimport torch\nimport numpy as np\nfrom typing import Tuple, Dict, List\nimport trimesh\nfrom f3rm.features.clip i"
},
{
"path": "pixie/voxel/viz_segmentation.py",
"chars": 8262,
"preview": "from pixie.voxel.segmentation import *\nfrom pixie.utils import *\nimport matplotlib.pyplot as plt\nfrom vlmx.utils import "
},
{
"path": "pixie/voxel/voxelize.py",
"chars": 18900,
"preview": "import argparse\nimport logging\nimport os\nimport numpy as np\nimport open3d as o3d\nimport torch\nfrom pathlib import Path\nf"
},
{
"path": "render.py",
"chars": 12097,
"preview": "import time\nimport os\nimport logging\nimport shutil\nimport glob\nfrom pathlib import Path\nfrom typing import Optional\n\nimp"
},
{
"path": "scripts/download_data.py",
"chars": 3803,
"preview": "#!/usr/bin/env python3\n\"\"\"\nDownload PixieVerse data from Hugging Face.\n\"\"\"\n\nimport argparse\nimport fnmatch\nfrom pathlib "
},
{
"path": "scripts/download_models.py",
"chars": 2537,
"preview": "#!/usr/bin/env python3\n\"\"\"\nDownload model-related directories from a Hugging Face dataset repo.\n\"\"\"\n\nimport argparse\nfro"
},
{
"path": "scripts/upload_data.py",
"chars": 21302,
"preview": "#!/usr/bin/env python3\n\"\"\"\nUpload PixieVerse data (survivor objects only) to Hugging Face datasets.\n\nSupports two modes:"
},
{
"path": "scripts/upload_models.py",
"chars": 3579,
"preview": "#!/usr/bin/env python3\n\"\"\"\nUpload model-related directories to a Hugging Face dataset repo.\n\"\"\"\n\nimport argparse\nimport "
},
{
"path": "setup.py",
"chars": 936,
"preview": "from setuptools import setup\nfrom setuptools import setup, find_packages\n\n\nINSTALL_REQUIRES = [\n \"objaverse\",\n \"se"
},
{
"path": "third_party/PhysGaussian/.gitignore",
"chars": 53,
"preview": "data\n.vscode\noutput\n*.ply\n*.pyc\n*.png\n*.jpg\nmodel\nlog"
},
{
"path": "third_party/PhysGaussian/.gitmodules",
"chars": 121,
"preview": "[submodule \"gaussian-splatting\"]\n\tpath = gaussian-splatting\n\turl = https://github.com/graphdeco-inria/gaussian-splatting"
},
{
"path": "third_party/PhysGaussian/config/objaverse/custom_flowers_config.json",
"chars": 1031,
"preview": "{\n \"opacity_threshold\": 0.02,\n \"rotation_degree\": [\n 0.0\n ],\n \"rotation_axis\": [\n 0\n ],\n "
},
{
"path": "third_party/PhysGaussian/config/objaverse/custom_fruit_config.json",
"chars": 1361,
"preview": "{\n \"opacity_threshold\": 0.02,\n \"rotation_degree\": [\n 45.0,\n 6.5\n ],\n \"rotation_axis\": [\n "
},
{
"path": "third_party/PhysGaussian/config/objaverse/custom_grass_config.json",
"chars": 1387,
"preview": "{\n \"opacity_threshold\": 0.02,\n \"rotation_degree\": [\n 0.0\n ],\n \"rotation_axis\": [\n 0\n ],\n "
},
{
"path": "third_party/PhysGaussian/config/objaverse/custom_jello_block_config.json",
"chars": 1188,
"preview": "{\n \"opacity_threshold\": 0.02,\n \"rotation_degree\": [\n 0\n ],\n \"rotation_axis\": [\n 0\n ],\n \""
},
{
"path": "third_party/PhysGaussian/config/objaverse/custom_jelly_block_config.json",
"chars": 1188,
"preview": "{\n \"opacity_threshold\": 0.02,\n \"rotation_degree\": [\n 0\n ],\n \"rotation_axis\": [\n 0\n ],\n \""
},
{
"path": "third_party/PhysGaussian/config/objaverse/custom_metal_config.json",
"chars": 1300,
"preview": "{\n \"opacity_threshold\": 0.02,\n \"rotation_degree\": [\n 0\n ],\n \"rotation_axis\": [\n 0\n ],\n \""
},
{
"path": "third_party/PhysGaussian/config/objaverse/custom_metal_crates_config.json",
"chars": 1325,
"preview": "{\n \"opacity_threshold\": 0.02,\n \"rotation_degree\": [\n 0\n ],\n \"rotation_axis\": [\n 0\n ],\n \""
},
{
"path": "third_party/PhysGaussian/config/objaverse/custom_mud_config.json",
"chars": 881,
"preview": "{\n \"opacity_threshold\": 0.02,\n \"rotation_degree\": [\n 0\n ],\n \"rotation_axis\": [\n 0\n ],\n \""
},
{
"path": "third_party/PhysGaussian/config/objaverse/custom_rocks_config.json",
"chars": 1347,
"preview": "{\n \"opacity_threshold\": 0.02,\n \"rotation_degree\": [\n 0\n ],\n \"rotation_axis\": [\n 0\n ],\n \""
},
{
"path": "third_party/PhysGaussian/config/objaverse/custom_rubber_ducks_and_toys_config.json",
"chars": 865,
"preview": "{\n \"opacity_threshold\": 0.02,\n \"rotation_degree\": [\n 0\n ],\n \"rotation_axis\": [\n 0\n ],\n \""
},
{
"path": "third_party/PhysGaussian/config/objaverse/custom_sand_config.json",
"chars": 1657,
"preview": "{\n \"opacity_threshold\": 0.02,\n \"rotation_degree\": [\n 0.0\n ],\n \"rotation_axis\": [\n 0\n ],\n "
},
{
"path": "third_party/PhysGaussian/config/objaverse/custom_shrubs_config.json",
"chars": 1387,
"preview": "{\n \"opacity_threshold\": 0.02,\n \"rotation_degree\": [\n 0.0\n ],\n \"rotation_axis\": [\n 0\n ],\n "
},
{
"path": "third_party/PhysGaussian/config/objaverse/custom_snow_and_mud_config.json",
"chars": 845,
"preview": "{\n \"opacity_threshold\": 0.02,\n \"rotation_degree\": [\n 0\n ],\n \"rotation_axis\": [\n 0\n ],\n \""
},
{
"path": "third_party/PhysGaussian/config/objaverse/custom_snow_config.json",
"chars": 881,
"preview": "{\n \"opacity_threshold\": 0.02,\n \"rotation_degree\": [\n 0\n ],\n \"rotation_axis\": [\n 0\n ],\n \""
},
{
"path": "third_party/PhysGaussian/config/objaverse/custom_soda_cans_config.json",
"chars": 1701,
"preview": "{\n \"opacity_threshold\": 0.02,\n \"rotation_degree\": [\n 0\n ],\n \"rotation_axis\": [\n 0\n ],\n \""
},
{
"path": "third_party/PhysGaussian/config/objaverse/custom_sport_balls_config.json",
"chars": 865,
"preview": "{\n \"opacity_threshold\": 0.02,\n \"rotation_degree\": [\n 0\n ],\n \"rotation_axis\": [\n 0\n ],\n \""
},
{
"path": "third_party/PhysGaussian/config/objaverse/custom_tree_config.json",
"chars": 1028,
"preview": "{\n \"opacity_threshold\": 0.02,\n \"rotation_degree\": [\n 0.0\n ],\n \"rotation_axis\": [\n 0\n ],\n "
},
{
"path": "third_party/PhysGaussian/config/objaverse/custom_water-like_bodies_config.json",
"chars": 1658,
"preview": "{\n \"opacity_threshold\": 0.02,\n \"rotation_degree\": [\n 0.0\n ],\n \"rotation_axis\": [\n 0\n ],\n "
},
{
"path": "third_party/PhysGaussian/config/real_scene/custom_bonsai_config.json",
"chars": 1265,
"preview": "{\n \"opacity_threshold\": 0.05,\n \"rotation_degree\": [\n -135\n ],\n \"rotation_axis\": [\n 0\n ],\n "
},
{
"path": "third_party/PhysGaussian/config/real_scene/custom_bouquet_config.json",
"chars": 1319,
"preview": "{\n \"opacity_threshold\": 0.05,\n \"rotation_degree\": [\n 0 \n ],\n \"rotation_axis\": [\n 0\n ],\n \""
},
{
"path": "third_party/PhysGaussian/config/real_scene/custom_burger_config.json",
"chars": 1319,
"preview": "{\n \"opacity_threshold\": 0.05,\n \"rotation_degree\": [\n 0 \n ],\n \"rotation_axis\": [\n 0\n ],\n \""
},
{
"path": "third_party/PhysGaussian/config/real_scene/custom_vasedeck_config.json",
"chars": 1258,
"preview": "{\n \"opacity_threshold\": 0.02,\n \"rotation_degree\": [\n 135.0\n ],\n \"rotation_axis\": [\n 0\n ],\n "
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/.gitignore",
"chars": 115,
"preview": "*.pyc\n.vscode\noutput\nbuild\ndiff_rasterization/diff_rast.egg-info\ndiff_rasterization/dist\ntensorboard_3d\nscreenshots"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/.gitmodules",
"chars": 387,
"preview": "[submodule \"submodules/simple-knn\"]\n\tpath = submodules/simple-knn\n\turl = https://gitlab.inria.fr/bkerbl/simple-knn.git\n["
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/LICENSE.md",
"chars": 4662,
"preview": "Gaussian-Splatting License \n=========================== \n\n**Inria** and **the Max Planck Institut for Informatik (MPII"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/README.md",
"chars": 33291,
"preview": "# 3D Gaussian Splatting for Real-Time Radiance Field Rendering\nBernhard Kerbl*, Georgios Kopanas*, Thomas Leimkühler, Ge"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/.gitignore",
"chars": 574,
"preview": "extlibs/\r\nbuild/\r\ninstall/\r\nsrc/projects/*\r\ncmake-gui.exe.stackdump\r\n__pycache__/\r\n\r\n# emacs garbage\r\n\\#*\r\n.\\#*\r\n\r\n# vim"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/CMakeLists.txt",
"chars": 9472,
"preview": "# Copyright (C) 2020, Inria\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\n# All rights reserved.\n# \n# This"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/LICENSE.md",
"chars": 4214,
"preview": "SIBR License \n============ \n\n**Inria** and **UCA** hold all the ownership rights on the *Software* named **sibr-core**"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/README.md",
"chars": 5672,
"preview": "# SIBR Core\n\n**SIBR** is a System for Image-Based Rendering. \nIt is built around the *sibr-core* in this repo and sever"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/cmake/linux/MSVCsetUserCommand.cmake",
"chars": 5890,
"preview": "# Copyright (C) 2020, Inria\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\n# All rights reserved.\n# \n# This"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/cmake/linux/Modules/FindASSIMP.cmake",
"chars": 3364,
"preview": "# Copyright (C) 2020, Inria\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\n# All rights reserved.\n# \n# This"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/cmake/linux/Modules/FindEGL.cmake",
"chars": 5664,
"preview": "#.rst:\n# FindEGL\n# -------\n#\n# Try to find EGL.\n#\n# This will define the following variables:\n#\n# ``EGL_FOUND``\n# Tr"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/cmake/linux/Modules/FindEmbree.cmake",
"chars": 2704,
"preview": "# Copyright (C) 2020, Inria\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\n# All rights reserved.\n# \n# This"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/cmake/linux/Modules/FindFFMPEG.cmake",
"chars": 3296,
"preview": "# Copyright (C) 2020, Inria\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\n# All rights reserved.\n# \n# This"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/cmake/linux/Modules/FindGLFW.cmake",
"chars": 3317,
"preview": "##=============================================================================\n##\n## Copyright (c) Kitware, Inc.\n## A"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/cmake/linux/Win3rdParty.cmake",
"chars": 17700,
"preview": "# Copyright (C) 2020, Inria\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\n# All rights reserved.\n# \n# This"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/cmake/linux/cmake_policies.cmake",
"chars": 457,
"preview": "# Copyright (C) 2020, Inria\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\n# All rights reserved.\n# \n# This"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/cmake/linux/dependencies.cmake",
"chars": 13802,
"preview": "# Copyright (C) 2020, Inria\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\n# All rights reserved.\n# \n# This"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/cmake/linux/downloadAndExtractZipFile.cmake",
"chars": 9400,
"preview": "# Copyright (C) 2020, Inria\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\n# All rights reserved.\n# \n# This"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/cmake/linux/git_describe.cmake",
"chars": 3601,
"preview": "# Copyright (C) 2020, Inria\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\n# All rights reserved.\n# \n# This"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/cmake/linux/include_once.cmake",
"chars": 807,
"preview": "# Copyright (C) 2020, Inria\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\n# All rights reserved.\n# \n# This"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/cmake/linux/install_runtime.cmake",
"chars": 39158,
"preview": "# Copyright (C) 2020, Inria\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\n# All rights reserved.\n# \n# This"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/cmake/linux/parse_arguments_multi.cmake",
"chars": 14804,
"preview": "# Copyright (C) 2020, Inria\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\n# All rights reserved.\n# \n# This"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/cmake/linux/sibr_library.cmake",
"chars": 7298,
"preview": "# Copyright (C) 2020, Inria\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\n# All rights reserved.\n# \n# This"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/cmake/windows/MSVCsetUserCommand.cmake",
"chars": 5890,
"preview": "# Copyright (C) 2020, Inria\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\n# All rights reserved.\n# \n# This"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/cmake/windows/Modules/FindASSIMP.cmake",
"chars": 2995,
"preview": "# Copyright (C) 2020, Inria\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\n# All rights reserved.\n# \n# This"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/cmake/windows/Modules/FindEmbree.cmake",
"chars": 2705,
"preview": "# Copyright (C) 2020, Inria\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\n# All rights reserved.\n# \n# This"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/cmake/windows/Modules/FindFFmpeg.cmake",
"chars": 3178,
"preview": "# Copyright (C) 2020, Inria\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\n# All rights reserved.\n# \n# This"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/cmake/windows/Win3rdParty.cmake",
"chars": 17700,
"preview": "# Copyright (C) 2020, Inria\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\n# All rights reserved.\n# \n# This"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/cmake/windows/cmake_policies.cmake",
"chars": 457,
"preview": "# Copyright (C) 2020, Inria\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\n# All rights reserved.\n# \n# This"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/cmake/windows/dependencies.cmake",
"chars": 12589,
"preview": "# Copyright (C) 2020, Inria\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\n# All rights reserved.\n# \n# This"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/cmake/windows/downloadAndExtractZipFile.cmake",
"chars": 9400,
"preview": "# Copyright (C) 2020, Inria\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\n# All rights reserved.\n# \n# This"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/cmake/windows/git_describe.cmake",
"chars": 3601,
"preview": "# Copyright (C) 2020, Inria\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\n# All rights reserved.\n# \n# This"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/cmake/windows/include_once.cmake",
"chars": 807,
"preview": "# Copyright (C) 2020, Inria\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\n# All rights reserved.\n# \n# This"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/cmake/windows/install_runtime.cmake",
"chars": 38746,
"preview": "# Copyright (C) 2020, Inria\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\n# All rights reserved.\n# \n# This"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/cmake/windows/parse_arguments_multi.cmake",
"chars": 14804,
"preview": "# Copyright (C) 2020, Inria\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\n# All rights reserved.\n# \n# This"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/cmake/windows/sibr_library.cmake",
"chars": 7102,
"preview": "# Copyright (C) 2020, Inria\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\n# All rights reserved.\n# \n# This"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/docs/CMakeLists.txt",
"chars": 3864,
"preview": "# Copyright (C) 2020, Inria\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\n# All rights reserved.\n# \n# This"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/docs/doxyfile.in",
"chars": 115487,
"preview": "# Doxyfile 1.8.20\r\n\r\n# This file describes the settings to be used by the documentation system\r\n# doxygen (www.doxygen.o"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/docs/doxygen_prebuild.cmake.in",
"chars": 1349,
"preview": "set(SIBR_PROJECTS_SAMPLES_SUBPAGE_REF \"@SIBR_PROJECTS_SAMPLES_SUBPAGE_REF@\")\nset(SIBR_PROJECTS_OURS_SUBPAGE_REF \""
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/docs/layout.xml.in",
"chars": 7936,
"preview": "<doxygenlayout version=\"1.0\">\n <!-- Layout definition for the navigation index -->\n <navindex>\n <tab type=\"mainpage"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/docs/pages/1_Getting_Started.dox",
"chars": 15570,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/docs/pages/2_Projects.dox",
"chars": 349,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/docs/pages/2_Projects.dox.in",
"chars": 2642,
"preview": "/*!\n@page projects Projects\n\n@section sibr_projects_about What are projects ?\n\nResearch algorithms and toolboxes have be"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/docs/pages/3_Tutorials.dox",
"chars": 511,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/docs/pages/4_Architecture.dox",
"chars": 3104,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/docs/pages/Tutorials/How to generate your dataset/How_to_create_dataset_from_colmap.dox",
"chars": 1180,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/docs/pages/Tutorials/How to generate your dataset/How_to_create_dataset_from_realitycapture.dox",
"chars": 4629,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/docs/pages/Tutorials/How to setup your own project/Configuring_your_project.dox",
"chars": 8159,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/docs/pages/Tutorials/How to setup your own project/Creating_your_library.dox",
"chars": 1524,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/docs/pages/Tutorials/How to setup your own project/Documenting_a_project.dox",
"chars": 2816,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/docs/pages/Tutorials/How to setup your own project/Project_structure.dox",
"chars": 1561,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/docs/pages/Tutorials/How_to_generate_your_dataset.dox",
"chars": 8820,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/docs/pages/Tutorials/How_to_setup_your_own_project.dox",
"chars": 495,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/docs/pages/Tutorials/Paths_and_cameras.dox",
"chars": 3369,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/docs/pages/Tutorials/Useful_sibr_elements.dox",
"chars": 8067,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/CMakeLists.txt",
"chars": 6856,
"preview": "# Copyright (C) 2020, Inria\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\n# All rights reserved.\n# \n# This"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/CMakeLists.txt",
"chars": 1761,
"preview": "# Copyright (C) 2020, Inria\r\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\r\n# All rights reserved.\r\n# \r\n# "
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Camera.cpp",
"chars": 4459,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Camera.hpp",
"chars": 13007,
"preview": "/*\r\n * Copyright (C) 2020, Inria\r\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\r\n * All rights reserved.\r"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Config.hpp",
"chars": 2855,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Frustum.cpp",
"chars": 2617,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Frustum.hpp",
"chars": 1799,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/GPUQuery.cpp",
"chars": 1642,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/GPUQuery.hpp",
"chars": 2458,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/GUI.cpp",
"chars": 15436,
"preview": "/*\r\n * Copyright (C) 2020, Inria\r\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\r\n * All rights reserved.\r"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/GUI.hpp",
"chars": 8473,
"preview": "/*\r\n * Copyright (C) 2020, Inria\r\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\r\n * All rights reserved.\r"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Image.cpp",
"chars": 11729,
"preview": "/*\r\n * Copyright (C) 2020, Inria\r\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\r\n * All rights reserved.\r"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Image.hpp",
"chars": 45012,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Input.cpp",
"chars": 1966,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Input.hpp",
"chars": 12664,
"preview": "/*\r\n * Copyright (C) 2020, Inria\r\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\r\n * All rights reserved.\r"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/MaterialMesh.cpp",
"chars": 54949,
"preview": "/*\r\n * Copyright (C) 2020, Inria\r\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\r\n * All rights reserved.\r"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/MaterialMesh.hpp",
"chars": 23625,
"preview": "/*\r\n * Copyright (C) 2020, Inria\r\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\r\n * All rights reserved.\r"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Mesh.cpp",
"chars": 67971,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Mesh.hpp",
"chars": 20484,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/MeshBufferGL.cpp",
"chars": 9798,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/MeshBufferGL.hpp",
"chars": 4711,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/RenderTarget.cpp",
"chars": 1081,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/RenderTarget.hpp",
"chars": 22699,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/RenderUtility.cpp",
"chars": 9048,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/RenderUtility.hpp",
"chars": 1869,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Shader.cpp",
"chars": 6938,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Shader.hpp",
"chars": 11021,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Shader.inl",
"chars": 3637,
"preview": "\nnamespace sibr\n{\n\tvoid GLShader::authorize(void) const\n\t{\n\t\tif (!m_Shader) {\n\t\t\tstd::string message = \"sibr::GLShader \""
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Texture.cpp",
"chars": 4025,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Texture.hpp",
"chars": 53575,
"preview": "/*\r\n * Copyright (C) 2020, Inria\r\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\r\n * All rights reserved.\r"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Types.hpp",
"chars": 17778,
"preview": "/*\r\n * Copyright (C) 2020, Inria\r\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\r\n * All rights reserved.\r"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Utils.cpp",
"chars": 2649,
"preview": "/*\r\n * Copyright (C) 2020, Inria\r\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\r\n * All rights reserved.\r"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Utils.hpp",
"chars": 4458,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Viewport.cpp",
"chars": 2157,
"preview": "/*\r\n * Copyright (C) 2020, Inria\r\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\r\n * All rights reserved.\r"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Viewport.hpp",
"chars": 6396,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Window.cpp",
"chars": 16183,
"preview": "/*\r\n * Copyright (C) 2020, Inria\r\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\r\n * All rights reserved.\r"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/Window.hpp",
"chars": 8415,
"preview": "/*\r\n * Copyright (C) 2020, Inria\r\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\r\n * All rights reserved.\r"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/resources/imgui_default.ini",
"chars": 43,
"preview": "[Window]\nPos=60,60\nSize=400,400\nCollapsed=0"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/graphics/sibr_graphics.dox",
"chars": 407,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/imgproc/CMakeLists.txt",
"chars": 1570,
"preview": "# Copyright (C) 2020, Inria\r\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\r\n# All rights reserved.\r\n# \r\n# "
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/imgproc/Config.hpp",
"chars": 990,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/imgproc/CropScaleImageUtility.cpp",
"chars": 2975,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/imgproc/CropScaleImageUtility.hpp",
"chars": 2555,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/imgproc/DistordCropUtility.cpp",
"chars": 11741,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/imgproc/DistordCropUtility.hpp",
"chars": 7018,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/imgproc/MRFSolver.cpp",
"chars": 9057,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/imgproc/MRFSolver.h",
"chars": 5016,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/imgproc/MeshTexturing.cpp",
"chars": 8194,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/imgproc/MeshTexturing.hpp",
"chars": 5397,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/imgproc/PoissonReconstruction.cpp",
"chars": 9009,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/imgproc/PoissonReconstruction.hpp",
"chars": 3614,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/imgproc/sibr_imgproc.dox",
"chars": 402,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/raycaster/CMakeLists.txt",
"chars": 1309,
"preview": "# Copyright (C) 2020, Inria\r\n# GRAPHDECO research group, https://team.inria.fr/graphdeco\r\n# All rights reserved.\r\n# \r\n# "
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/raycaster/CameraRaycaster.cpp",
"chars": 7761,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/raycaster/CameraRaycaster.hpp",
"chars": 6074,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/raycaster/Config.hpp",
"chars": 882,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/raycaster/Intersector2D.cpp",
"chars": 6137,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/raycaster/Intersector2D.h",
"chars": 4619,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/raycaster/KdTree.hpp",
"chars": 5197,
"preview": "/*\r\n * Copyright (C) 2020, Inria\r\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\r\n * All rights reserved.\r"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/raycaster/PlaneEstimator.cpp",
"chars": 10551,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/raycaster/PlaneEstimator.hpp",
"chars": 4443,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
},
{
"path": "third_party/PhysGaussian/gaussian-splatting/SIBR_viewers/src/core/raycaster/Ray.cpp",
"chars": 1222,
"preview": "/*\n * Copyright (C) 2020, Inria\n * GRAPHDECO research group, https://team.inria.fr/graphdeco\n * All rights reserved.\n *\n"
}
]
// ... and 2135 more files (download for full content)
About this extraction
This page contains the full source code of the vlongle/pixie GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 2335 files (30.1 MB), approximately 8.1M tokens, and a symbol index with 6851 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.