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

Function loadTransform

kernels/common/rtcore.cpp:1408–1439  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1406 }
1407
1408 AffineSpace3fa loadTransform(RTCFormat format, const float* xfm)
1409 {
1410 AffineSpace3fa space = one;
1411 switch (format)
1412 {
1413 case RTC_FORMAT_FLOAT3X4_ROW_MAJOR:
1414 space = AffineSpace3fa(Vec3fa(xfm[ 0], xfm[ 4], xfm[ 8]),
1415 Vec3fa(xfm[ 1], xfm[ 5], xfm[ 9]),
1416 Vec3fa(xfm[ 2], xfm[ 6], xfm[10]),
1417 Vec3fa(xfm[ 3], xfm[ 7], xfm[11]));
1418 break;
1419
1420 case RTC_FORMAT_FLOAT3X4_COLUMN_MAJOR:
1421 space = AffineSpace3fa(Vec3fa(xfm[ 0], xfm[ 1], xfm[ 2]),
1422 Vec3fa(xfm[ 3], xfm[ 4], xfm[ 5]),
1423 Vec3fa(xfm[ 6], xfm[ 7], xfm[ 8]),
1424 Vec3fa(xfm[ 9], xfm[10], xfm[11]));
1425 break;
1426
1427 case RTC_FORMAT_FLOAT4X4_COLUMN_MAJOR:
1428 space = AffineSpace3fa(Vec3fa(xfm[ 0], xfm[ 1], xfm[ 2]),
1429 Vec3fa(xfm[ 4], xfm[ 5], xfm[ 6]),
1430 Vec3fa(xfm[ 8], xfm[ 9], xfm[10]),
1431 Vec3fa(xfm[12], xfm[13], xfm[14]));
1432 break;
1433
1434 default:
1435 throw_RTCError(RTC_ERROR_INVALID_OPERATION, "invalid matrix format");
1436 break;
1437 }
1438 return space;
1439 }
1440
1441RTC_API void rtcSetGeometryTransform(RTCGeometry hgeometry, unsigned int timeStep, RTCFormat format, const void* xfm)
1442 {

Callers 1

rtcSetGeometryTransformFunction · 0.85

Calls 1

Vec3faClass · 0.50

Tested by

no test coverage detected