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();
}