0

我正在使用 NVIDIA 的 OptiX 光线追踪引擎。

我想知道如何在渲染期间转换 GeometryGroup(或其实例)的位置。

从示例中,我看到了如何翻译整个场景(使用中间按钮)。但我想翻译一个模型/几何组。

4

1 回答 1

3

我最终完成了这段代码,它翻译了第一个几何模型:

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();
}
于 2012-12-02T19:10:27.703 回答