Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,5 +1,4 @@
|
|
| 1 |
import gradio as gr
|
| 2 |
-
import base64
|
| 3 |
from PIL import ImageColor
|
| 4 |
from pathlib import Path
|
| 5 |
import bpy
|
|
@@ -38,6 +37,7 @@ def generate(
|
|
| 38 |
camera_X,
|
| 39 |
camera_Y,
|
| 40 |
camera_Z,
|
|
|
|
| 41 |
torus_X,
|
| 42 |
torus_Y,
|
| 43 |
torus_Z,
|
|
@@ -117,14 +117,15 @@ def generate(
|
|
| 117 |
camera = bpy.data.objects["Camera"]
|
| 118 |
camera.location = (camera_X, camera_Y, camera_Z)
|
| 119 |
camera.data.dof.use_dof = True
|
| 120 |
-
camera.data.dof.focus_distance =
|
| 121 |
camera.data.dof.aperture_fstop = 4
|
|
|
|
| 122 |
|
| 123 |
# Render
|
| 124 |
with tempfile.NamedTemporaryFile(suffix=".JPEG", delete=False) as f:
|
| 125 |
|
| 126 |
-
bpy.context.scene.render.resolution_y =
|
| 127 |
-
bpy.context.scene.render.resolution_x =
|
| 128 |
bpy.context.scene.render.image_settings.file_format = "JPEG"
|
| 129 |
bpy.context.scene.render.filepath = f.name
|
| 130 |
|
|
@@ -160,6 +161,7 @@ with gr.Blocks() as demo:
|
|
| 160 |
torus_X = gr.Slider(minimum=-pi, maximum=pi, value=0, label="Torus φ")
|
| 161 |
torus_Y = gr.Slider(minimum=-pi, maximum=pi, value=-3, label="Torus θ")
|
| 162 |
torus_Z = gr.Slider(minimum=-pi, maximum=pi, value=1.5, label="Torus ψ")
|
|
|
|
| 163 |
camera_X = gr.Slider(minimum=-100, maximum=100, value=5, label="Camera X")
|
| 164 |
camera_Y = gr.Slider(minimum=-100, maximum=100, value=-3, label="Camera Y")
|
| 165 |
camera_Z = gr.Slider(minimum=-100, maximum=100, value=4, label="Camera Z")
|
|
@@ -176,6 +178,7 @@ with gr.Blocks() as demo:
|
|
| 176 |
camera_X,
|
| 177 |
camera_Y,
|
| 178 |
camera_Z,
|
|
|
|
| 179 |
torus_X,
|
| 180 |
torus_Y,
|
| 181 |
torus_Z,
|
|
@@ -184,4 +187,4 @@ with gr.Blocks() as demo:
|
|
| 184 |
)
|
| 185 |
|
| 186 |
demo.queue()
|
| 187 |
-
demo.launch(debug=True, inline=True)
|
|
|
|
| 1 |
import gradio as gr
|
|
|
|
| 2 |
from PIL import ImageColor
|
| 3 |
from pathlib import Path
|
| 4 |
import bpy
|
|
|
|
| 37 |
camera_X,
|
| 38 |
camera_Y,
|
| 39 |
camera_Z,
|
| 40 |
+
fov,
|
| 41 |
torus_X,
|
| 42 |
torus_Y,
|
| 43 |
torus_Z,
|
|
|
|
| 117 |
camera = bpy.data.objects["Camera"]
|
| 118 |
camera.location = (camera_X, camera_Y, camera_Z)
|
| 119 |
camera.data.dof.use_dof = True
|
| 120 |
+
camera.data.dof.focus_distance = fov
|
| 121 |
camera.data.dof.aperture_fstop = 4
|
| 122 |
+
camera.data.type = 'PERSP'
|
| 123 |
|
| 124 |
# Render
|
| 125 |
with tempfile.NamedTemporaryFile(suffix=".JPEG", delete=False) as f:
|
| 126 |
|
| 127 |
+
bpy.context.scene.render.resolution_y = 288
|
| 128 |
+
bpy.context.scene.render.resolution_x = 512
|
| 129 |
bpy.context.scene.render.image_settings.file_format = "JPEG"
|
| 130 |
bpy.context.scene.render.filepath = f.name
|
| 131 |
|
|
|
|
| 161 |
torus_X = gr.Slider(minimum=-pi, maximum=pi, value=0, label="Torus φ")
|
| 162 |
torus_Y = gr.Slider(minimum=-pi, maximum=pi, value=-3, label="Torus θ")
|
| 163 |
torus_Z = gr.Slider(minimum=-pi, maximum=pi, value=1.5, label="Torus ψ")
|
| 164 |
+
fov = gr.Slider(minimum=-100, maximum=100, value=5, label="FOV")
|
| 165 |
camera_X = gr.Slider(minimum=-100, maximum=100, value=5, label="Camera X")
|
| 166 |
camera_Y = gr.Slider(minimum=-100, maximum=100, value=-3, label="Camera Y")
|
| 167 |
camera_Z = gr.Slider(minimum=-100, maximum=100, value=4, label="Camera Z")
|
|
|
|
| 178 |
camera_X,
|
| 179 |
camera_Y,
|
| 180 |
camera_Z,
|
| 181 |
+
fov,
|
| 182 |
torus_X,
|
| 183 |
torus_Y,
|
| 184 |
torus_Z,
|
|
|
|
| 187 |
)
|
| 188 |
|
| 189 |
demo.queue()
|
| 190 |
+
demo.launch(debug=True, inline=True)
|