スポンサーリンク
vtkPolyDataMapper2D,vtkTextureActor2Dを使うとカメラの影響を受けなくなるのでスクリーンを画面に貼り付けるような用途に使える。
あと座標指定がピクセルになる。
// テクスチャオブジェクト作成 /////////////// vtkNew<vtkTexture> texture; // 画像データ作成 /////////////////////////// std::vector<unsigned char> pixels = MakeCheckerRGBA(256, 256, 32); // 画像データをvtkImageDataに変換 /////////// vtkSmartPointer<vtkImageData> imgdata = MakeImageDataFromBuffer(pixels.data(), 256, 256, 4); // テクスチャに画像データをセット /////////// SetTextureImage(texture, imgdata); // ポリゴン作成 ///////////////////////////// auto poly_quad = MakeScreenAlignedQuad(200, 200); // ポリゴンサイズをピクセル指定で作成 // 2Dマッパ & アクタ vtkNew<vtkPolyDataMapper2D> mapper2d; mapper2d->SetInputData(poly_quad); vtkNew<vtkTexturedActor2D> actor2d; actor2d->SetMapper(mapper2d); actor2d->SetPosition(0, 0); // 画面上の配置(左下オフセット) actor2d->SetTexture(texture); renderer->AddActor(actor2d);
