2011-01-06 10 views
2

저는 QGraphicsView을 사용하여 2D 이미지를 표시하고 일부 3D 객체를 표시하기 위해 별도의 QGLWidget 창이 있습니다. 저는 3D 오브젝트의 회전을 기반으로`QGraphicsView '에 표시된 이미지를 동적으로 변경하고 있습니다. Maya 2009 screenshot http://www.boulevard-creation.com/images/2008/11/maya2009png.pngQGraphicsView 상단의 투명한 QGLWidget

그것을인가 :

나는 2D 이미지의 상단에 반투명 3D 오브젝트를 렌더링하고 싶은는 마야 2009와 같은 뭔가 할 (뷰포트의 오른쪽 상단에있는 큐브를 통지)하는 데 사용 현재 위젯으로이 작업을 수행 할 수 있습니까? 그렇지 않다면 어떻게 할 수 있습니까?

내가 생각할 수있는 한 가지 옵션은 QGLWidget의 모든 것을 렌더링하고 2D 이미지를 배경 평면에 텍스처로 표시하는 것일 수 있지만 약간 고통 스럽습니다.

답변

2

나는 방법을 발견하지만, 아주 느린 : 당신은 단순히 이상의 QGraphicsItem::setOpacity() 설정할 수 있습니다이

scene->addPixmap(glWidget->renderPixmap());

투명성처럼 QGraphicsScene에 다른 QGraphicsItem를 추가 할 수 있습니다.

QPixelBuffer을 사용하는 것이 더 빠를 수 있어야하지만 아직 제대로 렌더링하지 못했습니다.

+0

를 참조하십시오. 이것이 너에게 느린 이유 다. –