MCPcopy Create free account
hub / github.com/JasonLSC/GSCodec_Studio / viewer_render_fn

Function viewer_render_fn

examples/simple_viewer.py:162–195  ·  view source on GitHub ↗
(camera_state: nerfview.CameraState, img_wh: Tuple[int, int])

Source from the content-addressed store, hash-verified

160 # register and open viewer
161 @torch.no_grad()
162 def viewer_render_fn(camera_state: nerfview.CameraState, img_wh: Tuple[int, int]):
163 width, height = img_wh
164 c2w = camera_state.c2w
165 K = camera_state.get_K(img_wh)
166 c2w = torch.from_numpy(c2w).float().to(device)
167 K = torch.from_numpy(K).float().to(device)
168 viewmat = c2w.inverse()
169
170 if args.backend == "gsplat":
171 rasterization_fn = rasterization
172 elif args.backend == "inria":
173 from gsplat import rasterization_inria_wrapper
174
175 rasterization_fn = rasterization_inria_wrapper
176 else:
177 raise ValueError
178
179 render_colors, render_alphas, meta = rasterization_fn(
180 means, # [N, 3]
181 quats, # [N, 4]
182 scales, # [N, 3]
183 opacities, # [N]
184 colors, # [N, S, 3]
185 viewmat[None], # [1, 4, 4]
186 K[None], # [1, 3, 3]
187 width,
188 height,
189 sh_degree=sh_degree,
190 render_mode="RGB",
191 # this is to speedup large-scale rendering by skipping far-away Gaussians.
192 radius_clip=3,
193 )
194 render_rgbs = render_colors[0, ..., 0:3].cpu().numpy()
195 return render_rgbs
196
197 server = viser.ViserServer(port=args.port, verbose=False)
198 _ = nerfview.Viewer(

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected