diff --git a/README.md b/README.md index e2b6cc2..8ae7260 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,7 @@ - **Preview 3DGS and 3D Mesh**: 3D Visualization inside ComfyUI: - Using [gsplat.js](https://github.com/huggingface/gsplat.js/tree/main) and [three.js](https://github.com/mrdoob/three.js/tree/dev) for 3DGS & 3D Mesh visualization respectively + - Custumizable background base on JS library: [mdbassit/Coloris](https://github.com/mdbassit/Coloris) @@ -64,7 +65,8 @@ - **Gaussian Splatting Orbit Renderer** - Render 3DGS to images sequences or video, given a 3DGS file and camera poses generated by **Stack Orbit Camera Poses** node -- Bake Multi-View images into UVTexture of given 3D mesh using [Nvdiffrast](https://github.com/NVlabs/nvdiffrast), supports: +- **Multi-View images to UVTexture** + - Bake Multi-View images into UVTexture of given 3D mesh using [Nvdiffrast](https://github.com/NVlabs/nvdiffrast), supports: - Export to .obj, .ply, .glb - **NeuS** @@ -81,6 +83,9 @@ - **Switch Axis for 3DGS & 3D Mesh** - Since different algorithms likely use different coordinate system, so the ability to re-mapping the axis of coordinate is crucial for passing generated result between differnt nodes. +- **[Customizable system config file](configs/system.conf)** + - Custom clients IP address + ## Roadmap: - [x] Add DMTet algorithm to allow conversion from points cloud(Gaussian/.ply) to mesh (.obj, .ply, .glb) @@ -92,16 +97,17 @@ - [x] Integrate [LGM: Large Multi-View Gaussian Model for High-Resolution 3D Content Creation](https://me.kiui.moe/lgm/) -- [ ] Add a general SDS/ISM Optimization algorithm to allow training 3D representations with diffusion model, *The real fun starts here* ;) - - Need to do some in-depth research on Interval Score Matching (ISM), since math behind it makes perfect sense and also there are so many ways we could improve upon the result obtained from [LucidDreamer](https://github.com/EnVision-Research/LucidDreamer) +- [ ] Add camera pose estimation from raw multi-views images -- [ ] Improve 3DGS to Mesh conversion algorithms: +- [ ] Add & Improve a few best MVS algorithms (e.g instant-ngp, NeuS2, GaussianPro, etc.) + +- [ ] Improve 3DGS/Nerf to Mesh conversion algorithms: - Support to training DMTet with images(RGB, Alpha, Normal Map) - Find better methods to converts 3DGS or Points Cloud to Mesh (Normal maps reconstruction maybe?) -- [ ] Add Structure from motion (SfM) initialization for 3DGS (Better first guess -> Faster convergence & Better result) - -- [ ] Add a few best Nerf algorithms (No idea yet, [instant-ngp](https://github.com/NVlabs/instant-ngp) maybe?) +- Add a general SDS/ISM Optimization algorithm to allow training 3D representations with diffusion model + - Need to do some in-depth research on Interval Score Matching (ISM), since math behind it makes perfect sense and also there are so many ways we could improve upon the result obtained from [LucidDreamer](https://github.com/EnVision-Research/LucidDreamer) + - On Hold since runtime cost to generate an is too big (3+hours for an average RTX GPU like 3080) ## Install: diff --git a/__init__.py b/__init__.py index f1bb8d3..408354f 100644 --- a/__init__.py +++ b/__init__.py @@ -1,6 +1,7 @@ import os import sys import folder_paths as comfy_paths +from pyhocon import ConfigFactory ROOT_PATH = os.path.join(comfy_paths.get_folder_paths("custom_nodes")[0], "ComfyUI-3D-Pack") sys.path.append(ROOT_PATH) @@ -9,7 +10,16 @@ import shutil import __main__ import importlib import inspect -from .webserver.server import server +from .webserver.server import server, set_web_conf + +conf_path = os.path.join(ROOT_PATH, "configs/system.conf") +# Configuration +f = open(conf_path) +conf_text = f.read() +f.close() +sys_conf = ConfigFactory.parse_string(conf_text) + +set_web_conf(sys_conf['web']) NODE_CLASS_MAPPINGS = {} NODE_DISPLAY_NAME_MAPPINGS = {} diff --git a/configs/system.conf b/configs/system.conf new file mode 100644 index 0000000..65b7cf3 --- /dev/null +++ b/configs/system.conf @@ -0,0 +1,6 @@ +web{ + clients_ip = [ + 127.0.0.1, + 0.0.0.0 + ] +} diff --git a/web/html/gsVisualizer.html b/web/html/gsVisualizer.html index e6f49f7..b121d1e 100644 --- a/web/html/gsVisualizer.html +++ b/web/html/gsVisualizer.html @@ -4,19 +4,20 @@ - + +
-