[vtkusers] vtkWindowToImageFilter - black image

Kinde Mekuria kindemekuria at gmail.com
Wed Jun 10 06:43:09 EDT 2015


I have used this code and worked form me (VTK 6.1, in Visual Studio
2010 MFC single dialog project)

Resetting camera may bring hidden sane to visible range...

 vtkSmartPointer<vtkRenderWindow> renderWindow;
vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor;

 .......

 vtkTest->firstRenderer->ResetCameraClippingRange();
 vtkTest->secondRenderer->ResetCamera();
 vtkTest->renderWindowInteractor->Render();

 ......

 vtkSmartPointer<vtkWindowToImageFilter> windowToImageFilter;
 windowToImageFilter=vtkSmartPointer<vtkWindowToImageFilter>::New();
 windowToImageFilter->SetInput(renderWindow);
 windowToImageFilter->ReadFrontBufferOff();
 windowToImageFilter->SetViewport(0.0, 0.0, 0.5, 1.0);
//Because I have used 2 renderers per rendering window
 windowToImageFilter->Update();
 vtkImageData* image=windowToImageFilter->GetOutput();



On Wed, Jun 10, 2015 at 7:27 AM, Fredrik <frejon at gmail.com> wrote:

> Thanks for the reply Miroslav. I get an immediate Fatal Crash when I add a
> renderWindow.render() line.
>
>
> # A fatal error has been detected by the Java Runtime Environment:
> #
> #  SIGSEGV (0xb) at pc=0x000000012f4b8979, pid=42597, tid=54087
> #
> # JRE version: Java(TM) SE Runtime Environment (8.0_45-b14) (build
> 1.8.0_45-b14)
> # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.45-b02 mixed mode
> bsd-amd64 compressed oops)
> # Problematic frame:
> # C  [libvtkRenderingOpenGL.jnilib+0x179979]  vtkUpload3D<unsigned
> char>::Upload(void*, unsigned char*, unsigned int*, int, long long*, int,
> int*)+0x149
>
> full crash report here: http://pastebin.com/bvfxB3er
>
> Which is interesting, I can ask the JOGLVisPanel itself to render
> flawlessly, but not the vtkRenderWindow contained therein.
> I can't really make sense of the error report. If anyone could take pity
> on my plight and help me I'd be most appreciative. I'm suspecting some kind
> of JOGL/VTK/Mac problem. If it's any help, I'm debugging code that used to
> work years ago under JDK 6 and older versions of VTK.
>
> // Fredrik
>
>
> 2015-06-09 19:43 GMT+02:00 Miroslav Drahos <mdrahos at thinksurgical.com>:
>
>> Frederik,
>> you should call vtkRenderWindow::Render() before updating the pipeline.
>> This is what has worked for me reliably:
>>
>>   VTK_CREATE(vtkWindowToImageFilter, w2i);
>>   w2i->SetInput(rw);
>>   w2i->ReadFrontBufferOff();
>>   rw->Render();
>>   w2i->Modified();  // See doc
>> http://www.vtk.org/doc/nightly/html/classvtkWindowToImageFilter.html#details
>>
>>   VTK_CREATE(vtkPNGWriter, writer);
>>   writer->SetFileName(fname.c_str());
>>   writer->SetInputConnection(w2i->GetOutputPort());
>>   writer->Write();
>>
>> where VTK_CREATE is a widely used macro:
>>
>> #define VTK_CREATE(type, name) vtkSmartPointer<type> name =
>> vtkSmartPointer<type>::New();
>>
>> HTH,
>> Miro
>>
>> ________________________________________
>> From: vtkusers [vtkusers-bounces at vtk.org] On Behalf Of Fredrik [
>> frejon at gmail.com]
>> Sent: Tuesday, June 09, 2015 8:55 AM
>> To: Scott Wittenburg
>> Cc: vtkusers at public.kitware.com
>> Subject: Re: [vtkusers] vtkWindowToImageFilter - black image
>>
>> Hi Scott, thanks for the reply. Unfortunately it didn't help. I think I
>> remember some other thread with the "ShouldRerender" flag, but I think that
>> mentioned it should be windowToImageFilter.ShouldRerenderOff();
>> , not on. I tried both anyway, but no change
>>
>> All the best,
>> Fredrik
>>
>> 2015-06-09 17:33 GMT+02:00 Scott Wittenburg <scott.wittenburg at kitware.com
>> <mailto:scott.wittenburg at kitware.com>>:
>> Hi Frederik,
>>
>>    I believe I have encountered this before.  What solved it for me was
>> turning on the "ShouldRerender" flag in addition to what you have set.
>> Something like:
>>
>> windowToImageFilter.ShouldRerenderOn();
>>
>> could possibly help.
>>
>> Cheers,
>> Scott
>>
>>
>>
>> On Tue, Jun 9, 2015 at 9:02 AM, Fredrik <frejon at gmail.com<mailto:
>> frejon at gmail.com>> wrote:
>> Hello. There are several threads on this topic, and the few I see, the
>> proposed solutions are not enough or the thread is left unresolved. see
>> this:
>>
>> http://public.kitware.com/pipermail/vtkusers/2014-October/085358.html
>> http://public.kitware.com/pipermail/vtkusers/2014-October/085294.html
>>
>> I still am unable to generate anything else than a black image.
>> I'm on the latest VTK, under Mac OS X 10.10.  I also tried offscreen
>> rendering, but no luck.
>>
>> Hours of googling and testing solutions have proven unsuccessful, I'd
>> really appreciate if anyone could help me.
>>
>> here's a snippet of my code if you think it'll help
>>
>>         tempFile = "xyz.bmp";
>>         // write to temporary bmp file
>>         vtkBMPWriter writer = new vtkBMPWriter();
>>         vtkWindowToImageFilter windowToImageFilter = new
>> vtkWindowToImageFilter();
>>         windowToImageFilter.ReadFrontBufferOff();
>>         windowToImageFilter.SetMagnification(1);
>>         windowToImageFilter.SetInput(renderWindow);
>>         windowToImageFilter.SetInputBufferTypeToRGBA();
>>         windowToImageFilter.ReadFrontBufferOff();
>>
>>         windowToImageFilter.Update();
>>
>>         windowToImageFilter.ReadFrontBufferOff();
>>         writer.SetInputConnection(windowToImageFilter.GetOutputPort());
>>         writer.SetFileName(tempFile);
>>         writer.Write();
>>
>>
>>
>> Kind Regards, Fredrik
>>
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> Powered by www.kitware.com<http://www.kitware.com>
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the VTK FAQ at:
>> http://www.vtk.org/Wiki/VTK_FAQ
>>
>> Search the list archives at: http://markmail.org/search/?q=vtkusers
>>
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/vtkusers
>>
>>
>>
>>
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the VTK FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
>
> Search the list archives at: http://markmail.org/search/?q=vtkusers
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/vtkusers
>
>


-- 
kinde mekuria
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20150610/bfcf4420/attachment.html>


More information about the vtkusers mailing list