rendering-in-cgi/Framework/external/embree/kernels/common/scene_user_geometry.cpp
2024-04-23 10:14:24 +02:00

46 lines
1.2 KiB
C++

// Copyright 2009-2021 Intel Corporation
// SPDX-License-Identifier: Apache-2.0
#include "scene_user_geometry.h"
#include "scene.h"
namespace embree
{
#if defined(EMBREE_LOWEST_ISA)
UserGeometry::UserGeometry (Device* device, unsigned int items, unsigned int numTimeSteps)
: AccelSet(device,Geometry::GTY_USER_GEOMETRY,items,numTimeSteps) {}
void UserGeometry::addElementsToCount (GeometryCounts & counts) const
{
if (numTimeSteps == 1) counts.numUserGeometries += numPrimitives;
else counts.numMBUserGeometries += numPrimitives;
}
void UserGeometry::setMask (unsigned mask)
{
this->mask = mask;
Geometry::update();
}
void UserGeometry::setBoundsFunction (RTCBoundsFunction bounds, void* userPtr) {
this->boundsFunc = bounds;
}
void UserGeometry::setIntersectFunctionN (RTCIntersectFunctionN intersect) {
intersectorN.intersect = intersect;
}
void UserGeometry::setOccludedFunctionN (RTCOccludedFunctionN occluded) {
intersectorN.occluded = occluded;
}
#endif
namespace isa
{
UserGeometry* createUserGeometry(Device* device) {
return new UserGeometryISA(device);
}
}
}