Objective

The objective of this challenge is to evaluate the candidate's ability to implement a Bounding Volume Hierarchy (BVH) for efficient spatial partitioning and a ray tracer for rendering using Babylon.js, TypeScript, and GLSL/WGSL. This involves creating and optimizing data structures and algorithms to enhance the rendering performance and quality of a 3D scene.

Challenge Description

You are tasked with implementing a BVH (Bounding Volume Hierarchy) for efficient spatial partitioning and a ray tracer for realistic rendering of a 3D scene. The goal is to optimize the performance of ray tracing by using the BVH structure to minimize the number of ray-primitive intersection tests.

Technical Requirements

  1. Setup and Environment
  2. Bounding Volume Hierarchy (BVH)
  3. Ray Tracer
  4. Scene and Objects
  5. Performance Metrics
  6. Documentation
  7. Submission Requirements

Evaluation Criteria

  1. Technical Proficiency
  2. Code Quality
  3. Performance Improvement
  4. Documentation and Presentation

Challenge Implementation Steps

  1. Initial Setup
  2. Implement BVH