   args.primIDs = primID_in;
   args.u = u_in;
   args.v = v_in;
-  args.numUVs = numUVs_in;
-  args.buffer = buffer_in;
+  args.N = numUVs_in;
+  args.bufferType = buffer_in;
+  args.bufferSlot = /* FIXME: put buffer slot here */;
   args.P = P_o;
   args.dPdu = dPdu_o;
   args.dPdv = dPdv_o;
   args.ddPdudu = ddPdudu_o;
   args.ddPdvdv = ddPdvdv_o;
   args.ddPdudv = ddPdudv_o;
-  args.numFloats = numFloats_in;
+  args.valueCount = numFloats_in;
   rtcInterpolateN(&args)
 }
 }@@
 
-
+@@{
+rtcDeleteGeometry(EXPR scene,EXPR geomID)
+=>
+rtcReleaseGeometry(rtcGetGeometry(scene,geomID))
+}@@
 
 ////////////////////////////////////////////////////////////////////////////////////////
 // rtcore_geometry_user.h

rtcOccludedNp(scene,context,&ray,N);
}@@


////////////////////////////////////////////////////////////////////////////////////////
// geometries

  uniform unsigned int primID_in = args->primID;
}@@

@@{
rtcNewUserGeometry
=>
