Spaces:
Running on Zero
Running on Zero
File size: 1,554 Bytes
49d36c0 | 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 40 41 42 43 44 | # SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
import numpy as np
from tqdm import tqdm
from gem.utils.vis.renderer import Renderer
def simple_render_mesh(render_dict):
"""Render an camera-space mesh, blank background"""
width, height, focal_length = render_dict["whf"]
faces = render_dict["faces"]
verts = render_dict["verts"]
renderer = Renderer(width, height, focal_length, device="cuda", faces=faces)
outputs = []
for i in tqdm(range(len(verts)), desc="Rendering"):
img = renderer.render_mesh(verts[i].cuda(), colors=[0.8, 0.8, 0.8])
outputs.append(img)
outputs = np.stack(outputs, axis=0)
return outputs
def simple_render_mesh_background(render_dict, VI=50, colors=None):
"""Render an camera-space mesh, blank background"""
if colors is None:
colors = [0.8, 0.8, 0.8]
K = render_dict["K"]
faces = render_dict["faces"]
verts = render_dict["verts"]
background = render_dict["background"]
N_frames = len(verts)
if len(background.shape) == 3:
background = [background] * N_frames
height, width = background[0].shape[:2]
renderer = Renderer(width, height, device="cuda", faces=faces, K=K)
outputs = []
for i in tqdm(range(len(verts)), desc="Rendering"):
img = renderer.render_mesh(verts[i].cuda(), colors=colors, background=background[i], VI=VI)
outputs.append(img)
outputs = np.stack(outputs, axis=0)
return outputs
|