我正在使用 NVIDIA 的 OptiX 光线追踪引擎。
我想知道如何在渲染期间转换 GeometryGroup(或其实例)的位置。
从示例中,我看到了如何翻译整个场景(使用中间按钮)。但我想翻译一个模型/几何组。
我正在使用 NVIDIA 的 OptiX 光线追踪引擎。
我想知道如何在渲染期间转换 GeometryGroup(或其实例)的位置。
从示例中,我看到了如何翻译整个场景(使用中间按钮)。但我想翻译一个模型/几何组。
我最终完成了这段代码,它翻译了第一个几何模型:
void updateObjectPos(float dX, float dY, float dZ)
{
// we have only one group - the main group whose childs are instances of Transform
// mainGroup is an instance of Group
Transform t = mainGroup->getChild<Transform>(0);
float m[16];
t->getMatrix(false, m, NULL);
m[3] += dX;
m[7] += dY;
m[11]+= dZ;
t->setMatrix(false, m, NULL);
// mark dirty so that the acceleration structure gets rebuilt
mainGroup->getAcceleration()->markDirty();
}