Mulinjushi commited on
Commit
33a8126
·
0 Parent(s):

first commit

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +2 -0
  2. Fast3Dcache +1 -0
  3. app.py +76 -0
  4. example_image/17.png +3 -0
  5. example_image/6.png +3 -0
  6. example_image/9.png +3 -0
  7. example_image/gou.png +3 -0
  8. example_image/typical_building_colorful_cottage.png +3 -0
  9. example_image/typical_creature_dragon.png +3 -0
  10. example_image/typical_creature_elephant.png +3 -0
  11. example_image/typical_creature_furry.png +3 -0
  12. example_image/typical_creature_quadruped.png +3 -0
  13. example_image/typical_creature_robot_crab.png +3 -0
  14. example_image/typical_creature_robot_dinosour.png +3 -0
  15. example_image/typical_creature_rock_monster.png +3 -0
  16. example_image/typical_humanoid_block_robot.png +3 -0
  17. example_image/typical_humanoid_dragonborn.png +3 -0
  18. example_image/typical_humanoid_dwarf.png +3 -0
  19. example_image/typical_humanoid_goblin.png +3 -0
  20. example_image/typical_humanoid_mech.png +3 -0
  21. example_image/typical_misc_crate.png +3 -0
  22. example_image/typical_misc_fireplace.png +3 -0
  23. example_image/typical_misc_lantern.png +3 -0
  24. example_image/typical_misc_magicbook.png +3 -0
  25. example_image/typical_misc_mailbox.png +3 -0
  26. example_image/typical_misc_monster_chest.png +3 -0
  27. example_image/typical_misc_phonograph.png +3 -0
  28. example_image/typical_misc_portal2.png +3 -0
  29. example_image/typical_misc_telephone.png +3 -0
  30. example_image/typical_misc_television.png +3 -0
  31. example_image/typical_misc_workbench.png +3 -0
  32. example_image/typical_vehicle_biplane.png +3 -0
  33. example_image/typical_vehicle_bulldozer.png +3 -0
  34. example_image/typical_vehicle_cart.png +3 -0
  35. example_image/typical_vehicle_excavator.png +3 -0
  36. example_image/typical_vehicle_helicopter.png +3 -0
  37. example_image/typical_vehicle_locomotive.png +3 -0
  38. example_image/typical_vehicle_pirate_ship.png +3 -0
  39. example_image/weatherworn_misc_paper_machine3.png +3 -0
  40. f3c/17_demo_trellis.glb +3 -0
  41. f3c/6_demo_trellis.glb +3 -0
  42. f3c/9_demo_trellis.glb +3 -0
  43. f3c/gou_demo_trellis.glb +3 -0
  44. f3c/typical_building_colorful_cottage_demo_trellis.glb +3 -0
  45. f3c/typical_creature_dragon_demo_trellis.glb +3 -0
  46. f3c/typical_creature_elephant_demo_trellis.glb +3 -0
  47. f3c/typical_creature_furry_demo_trellis.glb +3 -0
  48. f3c/typical_creature_quadruped_demo_trellis.glb +3 -0
  49. f3c/typical_creature_robot_crab_demo_trellis.glb +3 -0
  50. f3c/typical_creature_robot_dinosour_demo_trellis.glb +3 -0
.gitattributes ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ *.glb filter=lfs diff=lfs merge=lfs -text
2
+ *.png filter=lfs diff=lfs merge=lfs -text
Fast3Dcache ADDED
@@ -0,0 +1 @@
 
 
1
+ Subproject commit 3058f3a0ef34bdce59626572b99aef556500f07e
app.py ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import os
3
+
4
+ # 1. 定义文件夹路径
5
+ IMG_DIR = "example_image" # 你的图片文件夹名
6
+ MODEL_DIR = "f3c" # 你的模型文件夹名
7
+
8
+ # 2. 自动扫描并匹配文件
9
+ examples = []
10
+
11
+ # 检查文件夹是否存在,避免报错
12
+ if os.path.exists(IMG_DIR) and os.path.exists(MODEL_DIR):
13
+ # 获取所有 png 图片
14
+ image_files = sorted([f for f in os.listdir(IMG_DIR) if f.endswith('.png')])
15
+
16
+ for img_file in image_files:
17
+ # 获取不带后缀的文件名 (例如 "6" 或 "typical_creature_dragon")
18
+ base_name = os.path.splitext(img_file)[0]
19
+
20
+ # 构造对应的 GLB 文件名:规则是 "文件名_demo_trellis.glb"
21
+ expected_glb_name = f"{base_name}_demo_trellis.glb"
22
+
23
+ # 拼接完整路径
24
+ img_path = os.path.join(IMG_DIR, img_file)
25
+ glb_path = os.path.join(MODEL_DIR, expected_glb_name)
26
+
27
+ # 关键步骤:只有当对应的 3D 文件确实存在时,才添加到展示列表
28
+ if os.path.exists(glb_path):
29
+ examples.append({
30
+ "image": img_path,
31
+ "model": glb_path,
32
+ "label": base_name # 图片下方的文字标签
33
+ })
34
+ else:
35
+ # 如果没找到对应的模型,可以在后台打印一下,方便排查
36
+ print(f"⚠️ 未找到匹配模型: 图片 {img_file} -> 缺少 {expected_glb_name}")
37
+
38
+ print(f"✅ 成功加载了 {len(examples)} 组数据")
39
+
40
+ # 3. 定义点击事件:返回对应的模型路径
41
+ def display_model(evt: gr.SelectData):
42
+ if evt.index < len(examples):
43
+ return examples[evt.index]["model"]
44
+ return None
45
+
46
+ # 4. 构建界面
47
+ with gr.Blocks(title="3D Model Viewer") as demo:
48
+ gr.Markdown("## 3D Accelerated Instances Showcase")
49
+ gr.Markdown(f"点击左侧图片,右侧查看 3D 效果。共加载 {len(examples)} 个实例。")
50
+
51
+ with gr.Row():
52
+ # 左侧:图片画廊
53
+ with gr.Column(scale=1):
54
+ gallery = gr.Gallery(
55
+ value=[item["image"] for item in examples],
56
+ label="Instance Gallery",
57
+ columns=3, # 一行显示3张图
58
+ height=800, # 设置高度,图片多时会出现滚动条
59
+ object_fit="contain",
60
+ allow_preview=False # 禁止点击放大图片
61
+ )
62
+
63
+ # 右侧:3D 展示区
64
+ with gr.Column(scale=2):
65
+ model_3d = gr.Model3D(
66
+ clear_color=[0.2, 0.2, 0.2, 1.0], # 深灰色背景,看模型更清晰
67
+ label="3D Interactive View",
68
+ camera_position=(0, 0, 2.5) # 调整相机距离
69
+ )
70
+
71
+ # 绑定交互
72
+ gallery.select(fn=display_model, outputs=model_3d)
73
+
74
+ # 启动
75
+ if __name__ == "__main__":
76
+ demo.launch()
example_image/17.png ADDED

Git LFS Details

  • SHA256: 4de91821f1e3d7db6834ba679aa1b7f78c7a52f5ce9c2cd0c44ccbf6d649bb7d
  • Pointer size: 131 Bytes
  • Size of remote file: 603 kB
example_image/6.png ADDED

Git LFS Details

  • SHA256: 7c5472bb12b775c18b37fcb889069915943c4b6122fda668d3a1df8003e9e5da
  • Pointer size: 132 Bytes
  • Size of remote file: 1.99 MB
example_image/9.png ADDED

Git LFS Details

  • SHA256: c22e9e601fead00398634e083e2ed1e90d0c60f459757ae19f5909f3ee5481aa
  • Pointer size: 132 Bytes
  • Size of remote file: 1.03 MB
example_image/gou.png ADDED

Git LFS Details

  • SHA256: 9ae71e62d5893669426d94226fe376f4bc4269dfdb83a465e0510b6d8002deb5
  • Pointer size: 131 Bytes
  • Size of remote file: 809 kB
example_image/typical_building_colorful_cottage.png ADDED

Git LFS Details

  • SHA256: 687305b4e35da759692be0de614d728583a2a9cd2fd3a55593fa753e567d0d47
  • Pointer size: 131 Bytes
  • Size of remote file: 609 kB
example_image/typical_creature_dragon.png ADDED

Git LFS Details

  • SHA256: 0e8d6720dfa1e7b332b76e897e617b7f0863187f30879451b4724f482c84185a
  • Pointer size: 131 Bytes
  • Size of remote file: 564 kB
example_image/typical_creature_elephant.png ADDED

Git LFS Details

  • SHA256: 86a171e37a3d781e7215977f565cd63e813341c1f89e2c586fa61937e4ed6916
  • Pointer size: 131 Bytes
  • Size of remote file: 482 kB
example_image/typical_creature_furry.png ADDED

Git LFS Details

  • SHA256: 5b5445b8f1996cf6d72497b2d7564c656f4048e6c1fa626fd7bb3ee582fee671
  • Pointer size: 131 Bytes
  • Size of remote file: 648 kB
example_image/typical_creature_quadruped.png ADDED

Git LFS Details

  • SHA256: 7469f43f58389adec101e9685f60188bd4e7fbede77eef975102f6a8865bc786
  • Pointer size: 131 Bytes
  • Size of remote file: 685 kB
example_image/typical_creature_robot_crab.png ADDED

Git LFS Details

  • SHA256: d7e716abe8f8895080f562d1dc26b14fa0e20a05aa5beb2770c6fb3b87b3476a
  • Pointer size: 131 Bytes
  • Size of remote file: 594 kB
example_image/typical_creature_robot_dinosour.png ADDED

Git LFS Details

  • SHA256: d0986f29557a6fddf9b52b5251a6b6103728c61e201b1cfad1e709b090b72f56
  • Pointer size: 131 Bytes
  • Size of remote file: 632 kB
example_image/typical_creature_rock_monster.png ADDED

Git LFS Details

  • SHA256: e29458a6110bee8374c0d4d12471e7167a6c1c98c18f6e2d7ff4f5f0ca3fa01b
  • Pointer size: 131 Bytes
  • Size of remote file: 648 kB
example_image/typical_humanoid_block_robot.png ADDED

Git LFS Details

  • SHA256: 3a0acbb532668e1bf35f3eef5bcbfdd094c22219ef2d837fa01ccf51cce75ca3
  • Pointer size: 131 Bytes
  • Size of remote file: 441 kB
example_image/typical_humanoid_dragonborn.png ADDED

Git LFS Details

  • SHA256: 5d7c547909a6c12da55dbab1c1c98181ff09e58c9ba943682ca105e71be9548e
  • Pointer size: 131 Bytes
  • Size of remote file: 481 kB
example_image/typical_humanoid_dwarf.png ADDED

Git LFS Details

  • SHA256: a4a7c157d5d8071128c27594e45a7a03e5113b3333b7f1c5ff1379481e3e0264
  • Pointer size: 131 Bytes
  • Size of remote file: 498 kB
example_image/typical_humanoid_goblin.png ADDED

Git LFS Details

  • SHA256: 2b0e9a04ae3e7bef44b7180a70306f95374b60727ffa0f6f01fd6c746595cd77
  • Pointer size: 131 Bytes
  • Size of remote file: 496 kB
example_image/typical_humanoid_mech.png ADDED

Git LFS Details

  • SHA256: a244ec54b7984e646e54d433de6897657081dd5b9cd5ccd3d865328d813beb49
  • Pointer size: 131 Bytes
  • Size of remote file: 850 kB
example_image/typical_misc_crate.png ADDED

Git LFS Details

  • SHA256: 59fd9884301faca93265166d90078e8c31e76c7f93524b1db31975df4b450748
  • Pointer size: 131 Bytes
  • Size of remote file: 642 kB
example_image/typical_misc_fireplace.png ADDED

Git LFS Details

  • SHA256: 2288c034603e289192d63cbc73565107caefd99e81c4b7afa2983c8b13e34440
  • Pointer size: 131 Bytes
  • Size of remote file: 558 kB
example_image/typical_misc_lantern.png ADDED

Git LFS Details

  • SHA256: e17bd83adf433ebfca17abd220097b2b7f08affc649518bd7822e03797e83d41
  • Pointer size: 131 Bytes
  • Size of remote file: 300 kB
example_image/typical_misc_magicbook.png ADDED

Git LFS Details

  • SHA256: aff9c14589c340e31b61bf82e4506d77d72c511e741260fa1e600cefa4e103e6
  • Pointer size: 131 Bytes
  • Size of remote file: 496 kB
example_image/typical_misc_mailbox.png ADDED

Git LFS Details

  • SHA256: 01e86a5d68edafb7e11d7a86f7e8081f5ed1b02578198a3271554c5fb8fb9fcf
  • Pointer size: 131 Bytes
  • Size of remote file: 631 kB
example_image/typical_misc_monster_chest.png ADDED

Git LFS Details

  • SHA256: c57a598e842225a31b9770bf3bbb9ae86197ec57d0c2883caf8cb5eed4908fbc
  • Pointer size: 131 Bytes
  • Size of remote file: 690 kB
example_image/typical_misc_phonograph.png ADDED

Git LFS Details

  • SHA256: 14fff9a27ea769d3ca711e9ff55ab3d9385486a5e8b99117f506df326a0a357e
  • Pointer size: 131 Bytes
  • Size of remote file: 517 kB
example_image/typical_misc_portal2.png ADDED

Git LFS Details

  • SHA256: 57aab2bba56bc946523a3fca77ca70651a4ad8c6fbf1b91a1a824418df48faae
  • Pointer size: 131 Bytes
  • Size of remote file: 386 kB
example_image/typical_misc_telephone.png ADDED

Git LFS Details

  • SHA256: 00048be46234a2709c12614b04cbad61c6e3c7e63c2a4ef33d999185f5393e36
  • Pointer size: 131 Bytes
  • Size of remote file: 648 kB
example_image/typical_misc_television.png ADDED

Git LFS Details

  • SHA256: 6a1947b737398bf535ec212668a4d78cd38fe84cf9da1ccd6c0c0d838337755e
  • Pointer size: 131 Bytes
  • Size of remote file: 627 kB
example_image/typical_misc_workbench.png ADDED

Git LFS Details

  • SHA256: a6d9ed4d005a5253b8571fd976b0d102e293512d7b5a8ed5e3f7f17c5f4e19da
  • Pointer size: 131 Bytes
  • Size of remote file: 463 kB
example_image/typical_vehicle_biplane.png ADDED

Git LFS Details

  • SHA256: c73e98112eb603b4ba635b8965cad7807d0588f083811bc2faa0c7ab9668a65a
  • Pointer size: 131 Bytes
  • Size of remote file: 574 kB
example_image/typical_vehicle_bulldozer.png ADDED

Git LFS Details

  • SHA256: 23d821b4daea61cbea28cc6ddd3ae46712514dfcdff995c2664f5a70d21f4ef3
  • Pointer size: 131 Bytes
  • Size of remote file: 693 kB
example_image/typical_vehicle_cart.png ADDED

Git LFS Details

  • SHA256: b72c04a2aa5cf57717c05151a2982d6dc31afde130d5e830adf37a84a70616cb
  • Pointer size: 131 Bytes
  • Size of remote file: 693 kB
example_image/typical_vehicle_excavator.png ADDED

Git LFS Details

  • SHA256: 27a418853eefa197f1e10ed944a7bb071413fd2bc1681804ee773a6ce3799c52
  • Pointer size: 131 Bytes
  • Size of remote file: 712 kB
example_image/typical_vehicle_helicopter.png ADDED

Git LFS Details

  • SHA256: 7f1a1b37bc52417c0e1048927a30bf3a52dde81345f90114040608186196ffe7
  • Pointer size: 131 Bytes
  • Size of remote file: 353 kB
example_image/typical_vehicle_locomotive.png ADDED

Git LFS Details

  • SHA256: 67d5124e7069b133dc0aaa16047a52c6dc1d7c2a4e4510ffd3235fe95597fbef
  • Pointer size: 131 Bytes
  • Size of remote file: 806 kB
example_image/typical_vehicle_pirate_ship.png ADDED

Git LFS Details

  • SHA256: 8926ec7c9f36a52e3bf1ca4e8cfc75d297da934fe7c0e8d7a73f0d35a5ef38ad
  • Pointer size: 131 Bytes
  • Size of remote file: 611 kB
example_image/weatherworn_misc_paper_machine3.png ADDED

Git LFS Details

  • SHA256: 3c6fbf47ed53ffad1a3027f72bf0806c238682c7bf7604b8770aef428906d33b
  • Pointer size: 131 Bytes
  • Size of remote file: 502 kB
f3c/17_demo_trellis.glb ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0f6fe85f5566ee80f459d92357637be0183a34fc1ae11f529817f369218c5e2c
3
+ size 1798944
f3c/6_demo_trellis.glb ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:131dc9b4549f5c62c4369afc43b142c9c5e296686eb1585e691463f42e4f5605
3
+ size 2477868
f3c/9_demo_trellis.glb ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bf79395048f5e5d5a6033ef9212610eefb2eed713b4d44ed25d62ed5519a27f6
3
+ size 1959704
f3c/gou_demo_trellis.glb ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6d977272fd6f4e8678eb4bd9cc18d6a65fc19a80c3d5383625c14a2ac3c1d4b2
3
+ size 2122956
f3c/typical_building_colorful_cottage_demo_trellis.glb ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3b9c8dc1e74f22c256d9004fb48d848236c92ecfc99ffbec41aa19ef2a6f7179
3
+ size 3032008
f3c/typical_creature_dragon_demo_trellis.glb ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:187bcd1605d5c4fb5cf82599d3c7acf4e95f5c976aaee19651284b903eff2efe
3
+ size 1797040
f3c/typical_creature_elephant_demo_trellis.glb ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:25c6beb802db4dbea68ba9a2005a37b823e5ae84afc46b44642852b3bb74e080
3
+ size 2075016
f3c/typical_creature_furry_demo_trellis.glb ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0dd1f347afe0670068c8a947e70b6ee5bfc3b8f465a789bba2089710ad9dfced
3
+ size 1839928
f3c/typical_creature_quadruped_demo_trellis.glb ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:11ecc328b7dff5813908eebe951da6090ca839abcd3c5d7cbcffc0c561931d33
3
+ size 3168544
f3c/typical_creature_robot_crab_demo_trellis.glb ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cebdb89255c746d5e57c15369c7953326b78e42bd3e99d50b05bc74446ac60e3
3
+ size 2813972
f3c/typical_creature_robot_dinosour_demo_trellis.glb ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1eaf1efa8b85b7d3a1620f55a6011ca0d56b7f4dfbe19204258a29525eac19a2
3
+ size 1865552