Add ray and shape.

Signed-off-by: CyberZHG <cyberzhg@gmail.com>