File size: 1,130 Bytes
848be30
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import gradio as gr

# Create a list of the .ply files you plan to upload
available_models = [
    "scene_one.ply", 
    "scene_two.ply"
]

def load_model(model_name):
    return model_name

with gr.Blocks() as demo:
    gr.Markdown("# Opacity-Gradient Driven Density Control")
    gr.Markdown("Select a pre-trained scene to view the compact 3D Gaussian Splats generated by the opacity gradient method.")
    
    with gr.Row():
        with gr.Column(scale=1):
            model_dropdown = gr.Dropdown(
                choices=available_models, 
                value=available_models[0], 
                label="Select Scene"
            )
        with gr.Column(scale=3):
            # Gradio natively supports rendering .ply files here
            viewer = gr.Model3D(
                value=available_models[0],
                clear_color=(0, 0, 0, 0),
                label="3D Viewer"
            )
            
    # Update the 3D viewer when a new scene is selected
    model_dropdown.change(
        fn=load_model,
        inputs=model_dropdown,
        outputs=viewer
    )

if __name__ == "__main__":
    demo.launch()