MCPcopy Create free account
hub / github.com/RenderKit/embree / createInstance

Function createInstance

tutorials/closest_point/closest_point_device.cpp:195–216  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

193}
194
195Instance* createInstance (RTCScene scene, RTCScene object, int userID, const Vec3fa& lower, const Vec3fa& upper)
196{
197 Instance* instance = (Instance*) alignedMalloc(sizeof(Instance),16);
198 instance->object = object;
199 instance->userID = userID;
200 instance->lower = lower;
201 instance->upper = upper;
202 instance->local2world.l.vx = Vec3fa(1,0,0);
203 instance->local2world.l.vy = Vec3fa(0,1,0);
204 instance->local2world.l.vz = Vec3fa(0,0,1);
205 instance->local2world.p = Vec3fa(0,0,0);
206 instance->geometry = rtcNewGeometry(g_device, RTC_GEOMETRY_TYPE_USER);
207 rtcSetGeometryUserPrimitiveCount(instance->geometry,1);
208 rtcSetGeometryUserData(instance->geometry,instance);
209 rtcSetGeometryBoundsFunction(instance->geometry,instanceBoundsFunc,nullptr);
210 rtcSetGeometryIntersectFunction(instance->geometry,instanceIntersectFunc);
211 rtcSetGeometryPointQueryFunction(instance->geometry,instanceClosestPointFunc);
212 rtcCommitGeometry(instance->geometry);
213 rtcAttachGeometry(scene,instance->geometry);
214 rtcReleaseGeometry(instance->geometry);
215 return instance;
216}
217
218void updateInstance (RTCScene scene, Instance* instance)
219{

Callers

nothing calls this directly

Calls 10

alignedMallocFunction · 0.85
rtcSetGeometryUserDataFunction · 0.85
rtcCommitGeometryFunction · 0.85
rtcAttachGeometryFunction · 0.85
rtcReleaseGeometryFunction · 0.85
Vec3faClass · 0.50

Tested by

no test coverage detected