d3c83053f2
- CMakeLists.txt - app.md - appicon.ico - backend/ - main.cpp Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.6 KiB
2.6 KiB
name, lang, domain, description, tags, icon, uses_functions, uses_types, framework, entry_point, dir_path, repo_url
| name | lang | domain | description | tags | icon | uses_functions | uses_types | framework | entry_point | dir_path | repo_url | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| image_to_3d_studio | cpp | gfx | Image to 3D studio: imagen origen + POST a backend Python (TripoSR/Hunyuan3D/Trellis) y guarda mesh GLB. |
|
|
|
imgui | main.cpp | projects/imagegen/apps/image_to_3d_studio | https://gitea.organic-machine.com/dataforge/image_to_3d_studio |
image_to_3d_studio
UI ImGui que envia una imagen al backend Python (FastAPI) y guarda el
mesh GLB resultante en local_files/cache/. Despachador soporta varios
modelos image-to-3D detras del mismo endpoint:
- TripoSR (MIT, ~0.5 s, ~6 GB VRAM) — backend listo.
- Hunyuan3D-2 (Tencent Community, mejor textura) — stub.
- Trellis (Microsoft MIT, mesh/3DGS/NeRF) — stub.
Viewer GLB integrado: panel Viewer 3D carga el mesh con gltf_load_mesh,
lo sube a GPU y lo renderiza con mesh_viewer (orbit camera + FBO con depth).
Drag = rotar, rueda = zoom, "Reset cam" recentra, checkbox wireframe. Auto-carga
el mesh al terminar Generate; tambien boton "View 3D" en el panel Output.
Arquitectura
image_to_3d_studio (C++ ImGui)
── multipart POST /generate ──▶ backend FastAPI 127.0.0.1:8600
dispatcher → backends/<id>.py
◀── bytes GLB ──
guarda en <exe>/local_files/cache/<model>_<hash>.glb
Build
cd cpp && cmake --build build --target image_to_3d_studio -j
Run
# 1) backend Python (otra terminal)
projects/imagegen/apps/image_to_3d_studio/backend/run.sh
# 2) app C++
./cpp/build/image_to_3d_studio
Estado
- Notebook
projects/imagegen/analysis/spike_image_to_3d/notebooks/01_panorama_image_to_3d.ipynb— panorama + tabla comparativa. - Notebook
02_smoke_triposr.ipynb— smoke end-to-end. - Backend
backend/server.py— dispatcher, TripoSR funcional, Hunyuan3D-2 + Trellis = stubs501 Not Implemented. - App C++ — Input/Models/Output paneles + POST + cache. Sin viewer GLB todavia.