1. 程式人生 > >【影象處理】VTK二維影象標記bug修正

【影象處理】VTK二維影象標記bug修正

遊戲或者CAD軟體中,我們常常在目標旁邊顯示一個始終面向使用者的二維影象,來表示某些特定標識。VTK使用vtkFollower 來實現這個功能,然而VTK7.1及以下版本發生bug,表現為使用vtkFollower之後,二維影象無法渲染,只顯示一個純白色的矩形框。
解決方法必須得用bing或者谷和諧哥才能搜尋到,原帖網址在:http://vtk.1045678.n5.nabble.com/possible-bug-in-vtk-7-1-OpenGL2-td5739717.html。這裡VTK負責人表示vtkFollower的cxx原始檔的Render函式漏寫了一段程式碼:

/* render the texture */
if (this->Texture) { this->Texture->Render(ren); //沒有渲染二維貼圖的程式碼 }

好在解決方法相對比較簡單,在上述程式碼處新增一行程式碼:

/* render the texture */
  if (this->Texture)
  {
    this->Texture->Render(ren);
  }
  this->Device->SetTexture(this->GetTexture());//需要新增的新程式碼

然後重新編譯vtk工程檔案,生成lib檔案,放入自己的工程專案中,即可實現始終面向使用者的二維影象標記。