Skip to content

Latest commit

 

History

History
40 lines (27 loc) · 1021 Bytes

readme.md

File metadata and controls

40 lines (27 loc) · 1021 Bytes

Ray Casting Mesh

A CUDA Mesh RayTracer with BVH acceleration. Copy from here, add face_id of mesh as output.

Install

git clone https://github.com/Gorilla-Lab-SCUT/raycastmesh
cd raycastmesh
pip install .

Usage

Example code:

import numpy as np
import trimesh

import torch
import raycastmesh

# build BVH from mesh
mesh = trimesh.load('example.ply')
RT = raycastmesh.RayTracer(mesh.vertices, mesh.faces) # build with numpy.ndarray

# get rays
rays_o, rays_d = get_ray(pose, intrinsics, H, W) # [N, 3], [N, 3], query with torch.Tensor (on cuda)

# query ray-mesh intersection
intersections, face_normals, depth, face_ids = RT.trace(rays_o, rays_d) # [N, 3], [N, 3], [N,], [N,]

Acknowledgement