Path: blob/master/thirdparty/embree/kernels/common/acceln.h
9905 views
// Copyright 2009-2021 Intel Corporation1// SPDX-License-Identifier: Apache-2.023#pragma once45#include "accel.h"67namespace embree8{9/*! merges N acceleration structures together, by processing them in order */10class AccelN : public Accel11{12public:13AccelN ();14~AccelN();1516public:17void accels_add(Accel* accel);18void accels_init();1920public:21static bool pointQuery (Accel::Intersectors* This, PointQuery* query, PointQueryContext* context);2223public:24static void intersect (Accel::Intersectors* This, RTCRayHit& ray, RayQueryContext* context);25static void intersect4 (const void* valid, Accel::Intersectors* This, RTCRayHit4& ray, RayQueryContext* context);26static void intersect8 (const void* valid, Accel::Intersectors* This, RTCRayHit8& ray, RayQueryContext* context);27static void intersect16 (const void* valid, Accel::Intersectors* This, RTCRayHit16& ray, RayQueryContext* context);2829public:30static void occluded (Accel::Intersectors* This, RTCRay& ray, RayQueryContext* context);31static void occluded4 (const void* valid, Accel::Intersectors* This, RTCRay4& ray, RayQueryContext* context);32static void occluded8 (const void* valid, Accel::Intersectors* This, RTCRay8& ray, RayQueryContext* context);33static void occluded16 (const void* valid, Accel::Intersectors* This, RTCRay16& ray, RayQueryContext* context);3435public:36void accels_print(size_t ident);37void accels_immutable();38void accels_build ();39void accels_select(bool filter);40void accels_deleteGeometry(size_t geomID);41void accels_clear ();4243public:44std::vector<Accel*> accels;45};46}474849