elrawy's picture
Create app.py
848be30 verified
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()