[vtk-developers] Volume won't show on Win7/Intel HD4600 with QVTKOpenGLWidget in 8.0.0.rc1

Elvis Stansvik elvis.stansvik at orexplore.com
Tue May 30 10:08:16 EDT 2017


2017-05-30 16:01 GMT+02:00 Andras Lasso <lasso at queensu.ca>:
> If you need to build Qt on Windows, you may find Jc's qt-easy-build script useful (https://github.com/jcfr/qt-easy-build). You download the qt-easy-build repository and copy-paste a single line in a terminal window.

Ah, thanks for the pointer.

I'm sure I'd manage a manual build, though it was a while since I did one.

It's just that I like running the pre-built ones since I they receive
the widest testing.

But if there's really no way around it, I'll probably do a build.

Would be really nice if this was fixed in Qt though. I hope that the
Qt devs will see it as a problem and rethink.

Ken: You said you could reproduce in PV on your 4600, do you know if
there's a PV bug report about it? Maybe it helps to link that in the
Qt bug report, to give it some more weight.

Elvis

>
> Andras
>
> -----Original Message-----
> From: vtk-developers [mailto:vtk-developers-bounces at vtk.org] On Behalf Of Elvis Stansvik
> Sent: Tuesday, May 30, 2017 8:51 AM
> To: Ken Martin <ken.martin at kitware.com>
> Cc: vtkdev <vtk-developers at vtk.org>
> Subject: Re: [vtk-developers] Volume won't show on Win7/Intel HD4600 with QVTKOpenGLWidget in 8.0.0.rc1
>
> 2017-05-30 14:50 GMT+02:00 Elvis Stansvik <elvis.stansvik at orexplore.com>:
>> 2017-05-26 14:35 GMT+02:00 Ken Martin <ken.martin at kitware.com>:
>>> If you have a build of QT I think you could change
>>>
>>> https://github.com/qt/qtbase/blob/dev/src/plugins/platforms/windows/q
>>> windowsglcontext.cpp#L730
>>>
>>> const int requestedVersion = qMin((format.majorVersion() << 8) +
>>> format.minorVersion(), staticContext.defaultFormat.version);
>>>
>>> to be
>>>
>>> const int requestedVersion = (format.majorVersion() << 8) +
>>> format.minorVersion());
>>>
>>> and it would fix it for VTK/ParaView. Not sure if it has any other
>>> consequences for Qt or if it would hit some different issue though.
>>> Qt on windows does some tricky stuff to support OpenGL/Angle/ES2.
>>>
>>
>> Today I tried first updating the Intel driver from 9.18.10.3272 (which
>> the laptop came preinstalled with) to 10.18.10.4425, which is the
>> latest vendor:ified version from Lenovo for this laptop (Thinkpad
>> E540), but it didn't change anything.
>>
>> I then tried uninstalling the Lenovo one, to let me install the
>> generic driver from Intel. The Intel driver update utility offered up
>> 15.something, but in the end 10.18.14.4578 was what I got. And no
>> luck, still the problem with volumes silently not showing up.
>>
>> So if your analysis is correct Ben, which it probably is, it's a real
>
> s/Ben/Ken/
>
>> PITA since it means I'll have to patch and build Qt to get our program
>> to work on these Intel laptops running Windows.
>>
>> Anyone know if there's anything VTK or our application could do to
>> work around this bad logic in the Qt context initialization? It would
>> be a lot less trouble to re-build VTK, since I'm already building that
>> (naturally).
>>
>> Elvis
>>
>>>
>>>
>>> On Fri, May 26, 2017 at 4:32 AM, Elvis Stansvik
>>> <elvis.stansvik at orexplore.com> wrote:
>>>>
>>>> 2017-05-26 2:24 GMT+02:00 Ken Martin <ken.martin at kitware.com>:
>>>> > I can reproduce this issue with PV 5.4 on my 4600 system. 99% sure
>>>> > it is a Qt bug we already bumped into with Mesa. They have what
>>>> > looks to me like some odd bad logic on windows for creating a
>>>> > context where they will not give you a core context later than the
>>>> > latest compatibility context they can get. For some vendors that
>>>> > is fine but for others they only offer Comp contexts up to 2.1 or
>>>> > 3.0 but not 3.2. So while the driver may support OpenGL 4 in Core
>>>> > mode, Qt restricts you to 3.0.  I suspect if they fixed that the
>>>> > issue would go away. I believe Ben filed a bug report with them
>>>> > (Qt) when he bumped into this when using Mesa on Windows.
>>>>
>>>> Ah yes, that could definitely be it. I found Ben's bug:
>>>>
>>>>     https://bugreports.qt.io/browse/QTBUG-60742
>>>>
>>>> The affected version is listed as 5.8.0, but I'm having trouble on
>>>> 5.6.2, so I guess the bad logic is there as well.
>>>>
>>>> So let's hope for a fix in Qt then. But in the meantime, is there
>>>> anything you can think if that I could do to work around it? I
>>>> really want our application to work on these kinds of machines (the
>>>> one I have was picked as a sort of a baseline for us wrt to requirements).
>>>>
>>>> In the bug report Ben mentions hacking around it with
>>>> MESA_GL_VERSION_OVERRIDE, but that obviously doesn't apply when not
>>>> using Mesa.
>>>>
>>>> Elvis
>>>>
>>>> >
>>>> >
>>>> > On Thu, May 25, 2017 at 7:44 PM, Elvis Stansvik
>>>> > <elvis.stansvik at orexplore.com> wrote:
>>>> >>
>>>> >> 2017-05-25 23:37 GMT+02:00 David Cole <DLRdave at aol.com>:
>>>> >> > Yes, I ran it both ways.
>>>> >> >
>>>> >> > It works when run without the argument in the plain VTK render
>>>> >> > window, and it is broken (shows nothing) when run with an
>>>> >> > argument.
>>>> >>
>>>> >> Alright, that's good. Then we're seeing the same thing.
>>>> >>
>>>> >> > Seems like it's definitely related to older Intel drivers on Windows.
>>>> >>
>>>> >> Yes, probably.
>>>> >>
>>>> >> > Not sure if there is an updated driver available for my machine.
>>>> >> > Hesitant to try changing/updating it for other reasons, and
>>>> >> > sorry, can't sacrifice this machine's current state for the
>>>> >> > purpose of testing this out...
>>>> >>
>>>> >> No worries, I'm free to do as I please with the one I have, so
>>>> >> I'll do some experimenting with different drivers when I'm back on Monday.
>>>> >>
>>>> >> Thanks to everyone trying this out.
>>>> >>
>>>> >> Elvis
>>>> >>
>>>> >> >
>>>> >> >
>>>> >> > D
>>>> >> >
>>>> >> >
>>>> >> >
>>>> >> > On Thu, May 25, 2017 at 5:11 PM, Elvis Stansvik
>>>> >> > <elvis.stansvik at orexplore.com> wrote:
>>>> >> >> 2017-05-25 20:35 GMT+02:00 Elvis Stansvik
>>>> >> >> <elvis.stansvik at orexplore.com>:
>>>> >> >>> 2017-05-25 18:14 GMT+02:00 David Cole <DLRdave at aol.com>:
>>>> >> >>>> Fails for me, too, on a 3.5 year old Dell XPS laptop,
>>>> >> >>>> Windows 8.1, with an Intel HD Graphics 4000 running driver
>>>> >> >>>> version 10.18.10.3316.
>>>> >> >>>> I
>>>> >> >>>> get your TestCase app window with nothing but an empty
>>>> >> >>>> (white) client region.
>>>> >> >>>>
>>>> >> >>>> An app we have built against VTK 6.2-ish with the old OpenGL
>>>> >> >>>> using VolumeSmartMapper works fine on this very same machine.
>>>> >> >>>>
>>>> >> >>>> Another data point...
>>>> >> >>
>>>> >> >> Just one more thing David, did you try also running the
>>>> >> >> example without any argument on this machine? (That would make
>>>> >> >> it use a regular vtkRenderWindow/vtkRenderWindowInteractor).
>>>> >> >> It would be interesting to know if the volume shows up then.
>>>> >> >> That would confirm that the machine can show volumes using VTK
>>>> >> >> 8+OpenGL2 backend, just not with QVTKOpenGLWidget, so would
>>>> >> >> strengthen my theory that it has something to do with the new QVTKOpenGLWidget.
>>>> >> >>
>>>> >> >> Elvis
>>>> >> >>
>>>> >> >>>
>>>> >> >>> Finally a reproduction, I was beginning to despair :) Thanks
>>>> >> >>> a lot David.
>>>> >> >>>
>>>> >> >>> And just to make sure, Aron, did you run the test case as
>>>> >> >>> "TestCase 1", with a parameter? That's the crucial thing, as
>>>> >> >>> otherwise it'll just use a regular
>>>> >> >>> vtkRenderWindow/vtkRenderWindowInteractor (not QVTKOpenGLWidget), and not exhibit the problem.
>>>> >> >>>
>>>> >> >>> Elvis
>>>> >> >>>
>>>> >> >>>>
>>>> >> >>>>
>>>> >> >>>> D
>>>> >> >>>>
>>>> >> >>>>
>>>> >> >>>>
>>>> >> >>>>
>>>> >> >>>> On Thu, May 25, 2017 at 11:02 AM, Elvis Stansvik
>>>> >> >>>> <elvis.stansvik at orexplore.com> wrote:
>>>> >> >>>>> 2017-05-25 16:22 GMT+02:00 Aron Helser <aron.helser at kitware.com>:
>>>> >> >>>>>> Hi Elvis,
>>>> >> >>>>>> I've got a Win10 laptop (dell precision 5510), with an
>>>> >> >>>>>> Optimus setup - both intel and nvidia graphics.
>>>> >> >>>>>> With your test case, I'm able to see the volume running
>>>> >> >>>>>> either with Intel or nVidia, so it doesn't repro for me.
>>>> >> >>>>>> I've got Intel HD530 graphics, with driver version
>>>> >> >>>>>> 21.20.16.4627 Sorry, Aron
>>>> >> >>>>>
>>>> >> >>>>> Alright, bugger. Thanks for testing though!
>>>> >> >>>>>
>>>> >> >>>>> I won't be at the office until Monday again, but when I'm
>>>> >> >>>>> back I'll try experimenting with different driver versions.
>>>> >> >>>>>
>>>> >> >>>>> Elvis
>>>> >> >>>>>
>>>> >> >>>>>>
>>>> >> >>>>>> On Wed, May 24, 2017 at 5:02 PM, Elvis Stansvik
>>>> >> >>>>>> <elvis.stansvik at orexplore.com> wrote:
>>>> >> >>>>>>>
>>>> >> >>>>>>> 2017-05-24 22:49 GMT+02:00 Elvis Stansvik
>>>> >> >>>>>>> <elvis.stansvik at orexplore.com>:
>>>> >> >>>>>>> > 2017-05-24 22:20 GMT+02:00 Sankhesh Jhaveri
>>>> >> >>>>>>> > <sankhesh.jhaveri at kitware.com>:
>>>> >> >>>>>>> >> Hi Elvis,
>>>> >> >>>>>>> >>
>>>> >> >>>>>>> >> Unfortunately, I wasn’t able to reproduce this issue.
>>>> >> >>>>>>> >> :(
>>>> >> >>>>>>> >>
>>>> >> >>>>>>> >> I don’t have a Windows machine with an Intel graphics
>>>> >> >>>>>>> >> card but tried ParaView on a couple of se Windows
>>>> >> >>>>>>> >> machines as well as a Mac (with an Intel HD5600).
>>>> >> >>>>>>> >> Worked fine.
>>>> >> >>>>>>> >
>>>> >> >>>>>>> > Alright. Call for help then: Anyone else have a Windows
>>>> >> >>>>>>> > 7 machine with Intel graphics? Would be great if
>>>> >> >>>>>>> > someone could reproduce.
>>>> >> >>>>>>>
>>>> >> >>>>>>> Forgot to say: Thanks a lot for trying to reproduce Sankhesh.
>>>> >> >>>>>>>
>>>> >> >>>>>>> I've now put up the compiled self-contained test case here:
>>>> >> >>>>>>>
>>>> >> >>>>>>>     http://dose.se/~estan/voltestcase-inst.zip (18 MB)
>>>> >> >>>>>>>
>>>> >> >>>>>>> If anyone with Windows (preferably Windows 7 if possible)
>>>> >> >>>>>>> + Intel graphics could try running this test case with
>>>> >> >>>>>>> "TestCase 1" and see if the volume shows up, that would
>>>> >> >>>>>>> be great.
>>>> >> >>>>>>>
>>>> >> >>>>>>> (Running the test case with argc > 2 will make it use
>>>> >> >>>>>>> QVTKOpenGLWidget, and is where I'm having trouble).
>>>> >> >>>>>>>
>>>> >> >>>>>>> Elvis
>>>> >> >>>>>>>
>>>> >> >>>>>>> >
>>>> >> >>>>>>> > I could put up my build of the test case as a
>>>> >> >>>>>>> > self-contained .zip, to make it easy to test.
>>>> >> >>>>>>> >
>>>> >> >>>>>>> >>
>>>> >> >>>>>>> >> At this point, I am inclined to think that the
>>>> >> >>>>>>> >> graphics drivers on your Windows machine may need
>>>> >> >>>>>>> >> updating.
>>>> >> >>>>>>> >
>>>> >> >>>>>>> > Hm, but it works fine if I don't use QVTKOpenGLWidget,
>>>> >> >>>>>>> > and just use a plain vtkRenderWindow +
>>>> >> >>>>>>> > vtkRenderWindowInteractor. Wouldn't that suggest that
>>>> >> >>>>>>> > the drivers are capable enough, and that the problem is
>>>> >> >>>>>>> > somehow in QVTKOpenGLWidget (or QOpenGLWidget)?
>>>> >> >>>>>>> >
>>>> >> >>>>>>> > Elvis
>>>> >> >>>>>>> >
>>>> >> >>>>>>> >>
>>>> >> >>>>>>> >>
>>>> >> >>>>>>> >> On Wed, May 24, 2017 at 12:16 PM Sankhesh Jhaveri
>>>> >> >>>>>>> >> <sankhesh.jhaveri at kitware.com> wrote:
>>>> >> >>>>>>> >>>
>>>> >> >>>>>>> >>> Okay thanks.
>>>> >> >>>>>>> >>>
>>>> >> >>>>>>> >>> I’ll take a look.
>>>> >> >>>>>>> >>>
>>>> >> >>>>>>> >>>
>>>> >> >>>>>>> >>> On Wed, May 24, 2017 at 8:18 AM Elvis Stansvik
>>>> >> >>>>>>> >>> <elvis.stansvik at orexplore.com> wrote:
>>>> >> >>>>>>> >>>>
>>>> >> >>>>>>> >>>> 2017-05-23 15:41 GMT+02:00 Sankhesh Jhaveri
>>>> >> >>>>>>> >>>> <sankhesh.jhaveri at kitware.com>:
>>>> >> >>>>>>> >>>> > Hi Elvis,
>>>> >> >>>>>>> >>>> >
>>>> >> >>>>>>> >>>> > Could you try downloading the ParaView nightly
>>>> >> >>>>>>> >>>> > binary and test volume rendering there? You can
>>>> >> >>>>>>> >>>> > use the wavelet source for a test dataset.
>>>> >> >>>>>>> >>>> > ParaView
>>>> >> >>>>>>> >>>> > uses the QVTKOpenGLWidget and it would be a good
>>>> >> >>>>>>> >>>> > test before diving into the code.
>>>> >> >>>>>>> >>>>
>>>> >> >>>>>>> >>>> I tried the wavelet example with Paraview
>>>> >> >>>>>>> >>>> 5.4.0-RC1-125-g435b603 64-bit, and the problem is
>>>> >> >>>>>>> >>>> the same as in my minimal test case. The volume
>>>> >> >>>>>>> >>>> won't show up.
>>>> >> >>>>>>> >>>>
>>>> >> >>>>>>> >>>> It does show up if I switch to the software based
>>>> >> >>>>>>> >>>> ray cast mapper (but not with GPU or smart, which I
>>>> >> >>>>>>> >>>> guess both result in the GPU one being used).
>>>> >> >>>>>>> >>>>
>>>> >> >>>>>>> >>>> Please tell me if there's anything else I can do to
>>>> >> >>>>>>> >>>> help debugging.
>>>> >> >>>>>>> >>>> There are no errors printed when I run my test case.
>>>> >> >>>>>>> >>>>
>>>> >> >>>>>>> >>>> Elvis
>>>> >> >>>>>>> >>>>
>>>> >> >>>>>>> >>>> >
>>>> >> >>>>>>> >>>> > Thanks,
>>>> >> >>>>>>> >>>> > Sankhesh
>>>> >> >>>>>>> >>>> >
>>>> >> >>>>>>> >>>> >
>>>> >> >>>>>>> >>>> > On Tue, May 23, 2017 at 6:50 AM Elvis Stansvik
>>>> >> >>>>>>> >>>> > <elvis.stansvik at orexplore.com> wrote:
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> Hi all,
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> In porting to QVTKOpenGLWidget, I can't get
>>>> >> >>>>>>> >>>> >> volumes rendered using vtkGPUVolumeRayCastMapper
>>>> >> >>>>>>> >>>> >> to show up on Windows 7, Intel graphics (HD
>>>> >> >>>>>>> >>>> >> 4600). They show up fine on Linux. They also show
>>>> >> >>>>>>> >>>> >> up fine on Windows 7 if using a plain VTK render
>>>> >> >>>>>>> >>>> >> window. I've tried turning off multisampling with
>>>> >> >>>>>>> >>>> >> setSamples(0) on the default QSurfaceFormat.
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> The below test case illustrates the issue. See
>>>> >> >>>>>>> >>>> >> the attached screenshots from running "TestCase"
>>>> >> >>>>>>> >>>> >> (left) and "TestCase 1"
>>>> >> >>>>>>> >>>> >> (right).
>>>> >> >>>>>>> >>>> >> The former uses a plain render window while the
>>>> >> >>>>>>> >>>> >> latter uses the new QVTKOpenGLWidget. Notice how
>>>> >> >>>>>>> >>>> >> in the Windows 7 screenshot, the plain VTK
>>>> >> >>>>>>> >>>> >> rendering works fine, but the QVTKOpenGLWidget
>>>> >> >>>>>>> >>>> >> one is not showing the volume.
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> Versions used:
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> Kubuntu Linux 16.04 VTK 8.0.0.rc1, OpenGL2 Qt
>>>> >> >>>>>>> >>>> >> 5.5.1
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> Windows 7
>>>> >> >>>>>>> >>>> >> VTK 8.0.0.rc1, OpenGL2 Qt 5.6.2
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> Any ideas what the problem might be?
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> I can provide a standalone .zip distribution of
>>>> >> >>>>>>> >>>> >> my build of the test case if you want.
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> Note that this issue is orthogonal to the alpha
>>>> >> >>>>>>> >>>> >> issue I reported and got solved in my other
>>>> >> >>>>>>> >>>> >> thread.
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> Many thanks in advance, Elvis
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> main.cpp:
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> #include <algorithm>
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> #include <vtkColorTransferFunction.h>
>>>> >> >>>>>>> >>>> >> #include <vtkGenericOpenGLRenderWindow.h>
>>>> >> >>>>>>> >>>> >> #include <vtkGPUVolumeRayCastMapper.h>
>>>> >> >>>>>>> >>>> >> #include <vtkImageData.h>
>>>> >> >>>>>>> >>>> >> #include <vtkNew.h>
>>>> >> >>>>>>> >>>> >> #include <vtkPiecewiseFunction.h>
>>>> >> >>>>>>> >>>> >> #include <vtkProperty.h>
>>>> >> >>>>>>> >>>> >> #include <vtkRenderer.h>
>>>> >> >>>>>>> >>>> >> #include <vtkRenderWindow.h>
>>>> >> >>>>>>> >>>> >> #include <vtkRenderWindowInteractor.h>
>>>> >> >>>>>>> >>>> >> #include <vtkVolume.h>
>>>> >> >>>>>>> >>>> >> #include <vtkVolumeProperty.h>
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> #include <QVTKOpenGLWidget.h>
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> #include <QApplication>
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> int main(int argc, char *argv[])
>>>> >> >>>>>>> >>>> >> {
>>>> >> >>>>>>> >>>> >>     auto defaultFormat =
>>>> >> >>>>>>> >>>> >> QVTKOpenGLWidget::defaultFormat();
>>>> >> >>>>>>> >>>> >>     defaultFormat.setSamples(0);
>>>> >> >>>>>>> >>>> >>     QSurfaceFormat::setDefaultFormat(defaultFormat);
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >>     QApplication app(argc, argv);
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >>     // Set up volume rendering
>>>> >> >>>>>>> >>>> >>     vtkNew<vtkColorTransferFunction> colorFunction;
>>>> >> >>>>>>> >>>> >>     colorFunction->AddRGBPoint(0.0, 0.0, 0.0, 0.0);
>>>> >> >>>>>>> >>>> >>     colorFunction->AddRGBPoint(1.0, 0.0, 0.0, 0.0);
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >>     vtkNew<vtkPiecewiseFunction> opacityFunction;
>>>> >> >>>>>>> >>>> >>     opacityFunction->AddPoint(0.0, 0.0);
>>>> >> >>>>>>> >>>> >>     opacityFunction->AddPoint(1.0, 1.0);
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >>     vtkNew<vtkImageData> imageData;
>>>> >> >>>>>>> >>>> >>     imageData->SetExtent(0, 200, 0, 200, 0, 200);
>>>> >> >>>>>>> >>>> >>     imageData->AllocateScalars(VTK_FLOAT, 1);
>>>> >> >>>>>>> >>>> >>     std::fill_n(static_cast<float
>>>> >> >>>>>>> >>>> >> *>(imageData->GetScalarPointer()),
>>>> >> >>>>>>> >>>> >> 8000000, 0.01);
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >>     vtkNew<vtkGPUVolumeRayCastMapper> volumeMapper;
>>>> >> >>>>>>> >>>> >>     volumeMapper->SetInputData(imageData.Get());
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >>     vtkNew<vtkVolumeProperty> volumeProperty;
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> volumeProperty->SetScalarOpacity(opacityFunction.Get());
>>>> >> >>>>>>> >>>> >>     volumeProperty->SetColor(colorFunction.Get());
>>>> >> >>>>>>> >>>> >>     volumeProperty->ShadeOff();
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >>     vtkNew<vtkVolume> volume;
>>>> >> >>>>>>> >>>> >>     volume->SetMapper(volumeMapper.Get());
>>>> >> >>>>>>> >>>> >>     volume->SetProperty(volumeProperty.Get());
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >>     vtkNew<vtkRenderer> renderer;
>>>> >> >>>>>>> >>>> >>     renderer->AddVolume(volume.Get());
>>>> >> >>>>>>> >>>> >>     renderer->SetBackground(1.0, 1.0, 1.0);
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >>     if (argc > 1) {
>>>> >> >>>>>>> >>>> >>         // Render with QVTKOpenGLWidget
>>>> >> >>>>>>> >>>> >>         vtkNew<vtkGenericOpenGLRenderWindow> window;
>>>> >> >>>>>>> >>>> >>         window->AddRenderer(renderer.Get());
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >>         auto widget = new QVTKOpenGLWidget();
>>>> >> >>>>>>> >>>> >>         widget->SetRenderWindow(window.Get());
>>>> >> >>>>>>> >>>> >>         widget->show();
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >>         return app.exec();
>>>> >> >>>>>>> >>>> >>     } else {
>>>> >> >>>>>>> >>>> >>         // Render with "plain" render window /
>>>> >> >>>>>>> >>>> >> interactor
>>>> >> >>>>>>> >>>> >>         vtkNew<vtkRenderWindow> window;
>>>> >> >>>>>>> >>>> >>         window->AddRenderer(renderer.Get());
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >>         vtkNew<vtkRenderWindowInteractor> interactor;
>>>> >> >>>>>>> >>>> >>         interactor->SetRenderWindow(window.Get());
>>>> >> >>>>>>> >>>> >>         interactor->Start();
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >>         return 0;
>>>> >> >>>>>>> >>>> >>     }
>>>> >> >>>>>>> >>>> >> }
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> CMakeLists.txt:
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> cmake_minimum_required(VERSION 3.1)
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> project(TestCase)
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> find_package(VTK 8.0 COMPONENTS
>>>> >> >>>>>>> >>>> >>     vtkCommonCore
>>>> >> >>>>>>> >>>> >>     vtkCommonDataModel
>>>> >> >>>>>>> >>>> >>     vtkCommonExecutionModel
>>>> >> >>>>>>> >>>> >>     vtkCommonMath
>>>> >> >>>>>>> >>>> >>     vtkFiltersSources
>>>> >> >>>>>>> >>>> >>     vtkGUISupportQt
>>>> >> >>>>>>> >>>> >>     vtkInteractionStyle
>>>> >> >>>>>>> >>>> >>     vtkRenderingCore
>>>> >> >>>>>>> >>>> >>     vtkRenderingOpenGL2
>>>> >> >>>>>>> >>>> >>     vtkRenderingVolume
>>>> >> >>>>>>> >>>> >>     vtkRenderingVolumeOpenGL2
>>>> >> >>>>>>> >>>> >>     REQUIRED
>>>> >> >>>>>>> >>>> >> )
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> find_package(Qt5Widgets REQUIRED)
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> add_executable(TestCase main.cpp)
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> target_link_libraries(TestCase PUBLIC
>>>> >> >>>>>>> >>>> >>     vtkCommonCore
>>>> >> >>>>>>> >>>> >>     vtkCommonDataModel
>>>> >> >>>>>>> >>>> >>     vtkCommonExecutionModel
>>>> >> >>>>>>> >>>> >>     vtkCommonMath
>>>> >> >>>>>>> >>>> >>     vtkFiltersSources
>>>> >> >>>>>>> >>>> >>     vtkGUISupportQt
>>>> >> >>>>>>> >>>> >>     vtkInteractionStyle
>>>> >> >>>>>>> >>>> >>     vtkRenderingCore
>>>> >> >>>>>>> >>>> >>     vtkRenderingOpenGL2
>>>> >> >>>>>>> >>>> >>     vtkRenderingVolume
>>>> >> >>>>>>> >>>> >>     vtkRenderingVolumeOpenGL2
>>>> >> >>>>>>> >>>> >>     Qt5::Widgets
>>>> >> >>>>>>> >>>> >> )
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> target_include_directories(TestCase PUBLIC
>>>> >> >>>>>>> >>>> >>     ${VTK_INCLUDE_DIRS}
>>>> >> >>>>>>> >>>> >> )
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> target_compile_definitions(TestCase PUBLIC
>>>> >> >>>>>>> >>>> >>     ${VTK_DEFINITIONS}
>>>> >> >>>>>>> >>>> >> )
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> set_target_properties(TestCase PROPERTIES
>>>> >> >>>>>>> >>>> >>     CXX_STANDARD 14
>>>> >> >>>>>>> >>>> >>     CXX_STANDARD_REQUIRED ON
>>>> >> >>>>>>> >>>> >> )
>>>> >> >>>>>>> >>>> >> _______________________________________________
>>>> >> >>>>>>> >>>> >> Powered by www.kitware.com
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> Visit other Kitware open-source projects at
>>>> >> >>>>>>> >>>> >> http://www.kitware.com/opensource/opensource.html
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> Search the list archives at:
>>>> >> >>>>>>> >>>> >> http://markmail.org/search/?q=vtk-developers
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> Follow this link to subscribe/unsubscribe:
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> >> http://public.kitware.com/mailman/listinfo/vtk-developers
>>>> >> >>>>>>> >>>> >>
>>>> >> >>>>>>> >>>> > --
>>>> >> >>>>>>> >>>> >
>>>> >> >>>>>>> >>>> > Sankhesh Jhaveri
>>>> >> >>>>>>> >>>> >
>>>> >> >>>>>>> >>>> > Sr. Research & Development Engineer | Kitware | (518)
>>>> >> >>>>>>> >>>> > 881-4417
>>>> >> >>>>>>> >>>
>>>> >> >>>>>>> >>> --
>>>> >> >>>>>>> >>>
>>>> >> >>>>>>> >>> Sankhesh Jhaveri
>>>> >> >>>>>>> >>>
>>>> >> >>>>>>> >>> Sr. Research & Development Engineer | Kitware | (518)
>>>> >> >>>>>>> >>> 881-4417
>>>> >> >>>>>>> >>
>>>> >> >>>>>>> >> --
>>>> >> >>>>>>> >>
>>>> >> >>>>>>> >> Sankhesh Jhaveri
>>>> >> >>>>>>> >>
>>>> >> >>>>>>> >> Sr. Research & Development Engineer | Kitware | (518)
>>>> >> >>>>>>> >> 881-4417
>>>> >> >>>>>>> _______________________________________________
>>>> >> >>>>>>> Powered by www.kitware.com
>>>> >> >>>>>>>
>>>> >> >>>>>>> Visit other Kitware open-source projects at
>>>> >> >>>>>>> http://www.kitware.com/opensource/opensource.html
>>>> >> >>>>>>>
>>>> >> >>>>>>> Search the list archives at:
>>>> >> >>>>>>> http://markmail.org/search/?q=vtk-developers
>>>> >> >>>>>>>
>>>> >> >>>>>>> Follow this link to subscribe/unsubscribe:
>>>> >> >>>>>>> http://public.kitware.com/mailman/listinfo/vtk-developers
>>>> >> >>>>>>>
>>>> >> >>>>>>
>>>> >> >>>>> _______________________________________________
>>>> >> >>>>> Powered by www.kitware.com
>>>> >> >>>>>
>>>> >> >>>>> Visit other Kitware open-source projects at
>>>> >> >>>>> http://www.kitware.com/opensource/opensource.html
>>>> >> >>>>>
>>>> >> >>>>> Search the list archives at:
>>>> >> >>>>> http://markmail.org/search/?q=vtk-developers
>>>> >> >>>>>
>>>> >> >>>>> Follow this link to subscribe/unsubscribe:
>>>> >> >>>>> http://public.kitware.com/mailman/listinfo/vtk-developers
>>>> >> >>>>>
>>>> >> _______________________________________________
>>>> >> Powered by www.kitware.com
>>>> >>
>>>> >> Visit other Kitware open-source projects at
>>>> >> http://www.kitware.com/opensource/opensource.html
>>>> >>
>>>> >> Search the list archives at:
>>>> >> http://markmail.org/search/?q=vtk-developers
>>>> >>
>>>> >> Follow this link to subscribe/unsubscribe:
>>>> >> http://public.kitware.com/mailman/listinfo/vtk-developers
>>>> >>
>>>> >
>>>> >
>>>> >
>>>> > --
>>>> > Ken Martin PhD
>>>> > Distinguished Engineer
>>>> > Kitware Inc.
>>>> > 28 Corporate Drive
>>>> > Clifton Park NY 12065
>>>> >
>>>> > This communication, including all attachments, contains confidential and
>>>> > legally privileged information, and it is intended only for the use of
>>>> > the
>>>> > addressee.  Access to this email by anyone else is unauthorized. If you
>>>> > are
>>>> > not the intended recipient, any disclosure, copying, distribution or any
>>>> > action taken in reliance on it is prohibited and may be unlawful. If you
>>>> > received this communication in error please notify us immediately and
>>>> > destroy the original message.  Thank you.
>>>
>>>
>>>
>>>
>>> --
>>> Ken Martin PhD
>>> Distinguished Engineer
>>> Kitware Inc.
>>> 28 Corporate Drive
>>> Clifton Park NY 12065
>>>
>>> This communication, including all attachments, contains confidential and
>>> legally privileged information, and it is intended only for the use of the
>>> addressee.  Access to this email by anyone else is unauthorized. If you are
>>> not the intended recipient, any disclosure, copying, distribution or any
>>> action taken in reliance on it is prohibited and may be unlawful. If you
>>> received this communication in error please notify us immediately and
>>> destroy the original message.  Thank you.
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Search the list archives at: http://markmail.org/search/?q=vtk-developers
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/vtk-developers
>


More information about the vtk-developers mailing list