2012-04-17 2 views
0

나는 코드가이 같은 것입니다 :RGB 이미지 :: 뷰어

osgViewer::Viewer viewer; 
viewer.setSceneData(scene); 
viewer.setCameraManipulator(tracker.get()); 
viewer.setUpViewInWindow(10,10,1024,768,0); 
viewer.realize(); 

이제,이 뷰어 개체는 나에게 내가 원하는 차량 모델, 지형 등이 포함 된 장면의보기를 제공 데이터가 장면에 쓰여지는 방법에 관계없이이 뷰어에서 RGB 이미지를 가져올 수 있습니다.

본질적으로 어떤 데이터가 장면에 기록되는지 이전 정보가없는 뷰어의 RGB 이미지가 필요합니다. 뷰어가 1024 * 768 창에 무언가를 표시하는 경우이를 RGB 이미지로 원합니다.

답변

1

정확하게 이해하면 osg::ScreenCaptureHandler이 청구서에 꼭 맞아야합니다. include/osgViewer에있는 ViewerEventHandlers 헤더의 일부입니다.

키 누를 때 현재보기의 이미지를 캡처하고 저장하는 간단한 이벤트 핸들러입니다. 이것을 사용하거나 원하는대로 변형 할 수 있습니다.

+0

안녕하세요, 실제로 파일로 저장하고 싶지 않습니다. 키 스트로크없이 처리를 위해 사용하고 싶습니다. 뷰어 출력물을 얻으려는 생각에 뷰어 출력의 키포인트 생성과 같은 이미지 처리 (RGB 형식)가 필요합니다. 따라서 키 입력을 기다릴 수는 없습니다. 프레임 버퍼에 fps 캡처 만 할 수 있습니다. –

+1

그런 다음 원하는대로 수정하십시오. 이벤트를 사용하여 어떤 수정을 가해서 트리거 할 수 있습니다. 결과 osg :: Image를 반드시 파일에 저장할 필요는 없습니다. – Bart