Files
image_to_3d_studio/app.md
T
egutierrez d3c83053f2 chore: auto-commit (5 archivos)
- CMakeLists.txt
- app.md
- appicon.ico
- backend/
- main.cpp

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-30 17:28:48 +02:00

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.
imagegen
3d
mesh
viewer
imgui
phosphor accent
cube-transparent #0ea5e9
http_request_cpp_core
gl_texture_load_cpp_gfx
gltf_load_mesh_cpp_gfx
mesh_gpu_cpp_gfx
mesh_viewer_cpp_viz
orbit_camera_cpp_core
gl_framebuffer_cpp_gfx
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 = stubs 501 Not Implemented.
  • App C++ — Input/Models/Output paneles + POST + cache. Sin viewer GLB todavia.