package geometry.scene;

import basics.math.algebra.Ray;
import renderer.mesh.Mesh;

import java.util.Optional;

/**
 * Planned:
 * - brute force
 * - spatial grid
 * - bvh
 *
 */
public interface AccelerationStructure {

    Optional<Hit> intersect(Ray ray);

    void addMesh(Mesh mesh);

    void removeMesh(Mesh mesh);
}
