@@ -57,15 +57,17 @@ void Camera::commit()
5757 embreeGeometry = rtcNewGeometry (
5858 getISPCDevice ().getEmbreeDevice (), RTC_GEOMETRY_TYPE_INSTANCE);
5959 embreeScene = rtcNewScene (getISPCDevice ().getEmbreeDevice ());
60+ rtcSetGeometryInstancedScene (embreeGeometry, embreeScene); // dummy
6061 rtcAttachGeometryByID (embreeScene, embreeGeometry, 0 );
6162 }
6263
6364 motionTransform.setEmbreeTransform (embreeGeometry);
65+ rtcCommitScene (embreeScene);
66+ getSh ()->traversable = rtcGetSceneTraversable (embreeScene);
6467
6568 if (shutter.lower == shutter.upper || !motionTransform.motionBlur ) {
6669 // directly interpolate to single shutter time
67- rtcGetGeometryTransformFromScene (embreeScene,
68- 0 ,
70+ rtcGetGeometryTransform (embreeGeometry,
6971 shutter.lower ,
7072 RTC_FORMAT_FLOAT3X4_COLUMN_MAJOR,
7173 &motionTransform.transform );
@@ -76,8 +78,7 @@ void Camera::commit()
7678 if (motionTransform.motionBlur ) {
7779 // use main direction at center of shutter time
7880 affine3f middleTransform;
79- rtcGetGeometryTransformFromScene (embreeScene,
80- 0 ,
81+ rtcGetGeometryTransform (embreeGeometry,
8182 shutter.center (),
8283 RTC_FORMAT_FLOAT3X4_COLUMN_MAJOR,
8384 &middleTransform);
@@ -109,7 +110,6 @@ void Camera::commit()
109110 getSh ()->subImage .upper = imageEnd;
110111 getSh ()->shutter = shutter;
111112 getSh ()->motionBlur = motionTransform.motionBlur ;
112- getSh ()->scene = embreeScene;
113113 getSh ()->globalShutter = shutterType == OSP_SHUTTER_GLOBAL;
114114 getSh ()->rollingShutterHorizontal = (shutterType == OSP_SHUTTER_ROLLING_RIGHT
115115 || shutterType == OSP_SHUTTER_ROLLING_LEFT);
0 commit comments