我正在做一个 vtk 程序,因为我需要使用 vtk 将窗口坐标映射到对象坐标
我有OpenGL代码:
winX = 0.2;//some float values
winY = 0.43;//some float values
double posX, posY, posZ;
glGetDoublev( GL_MODELVIEW_MATRIX, modelview );
glGetDoublev( GL_PROJECTION_MATRIX, projection );
glGetIntegerv( GL_VIEWPORT, viewport );
glReadPixels(winX, winY, 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT, &winZ)
gluUnProject(winX, winY, winZ, modelview, projection, viewport, &posX, &posY, &posZ);
我不知道如何使用 vtk 来做到这一点?任何帮助将不胜感激。我也用谷歌搜索并找到了一个解决方案来获取这样的模型视图矩阵
renderWindow->GetRenderers()->GetFirstRenderer()->GetActiveCamera()->GetViewTransformMatrix();
但我不知道如何将窗口坐标映射到 vtk 中的对象坐标