VTK v6 migration

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

VTK v6 migration

David Doria
Hi all,

Is there a plan for transitioning to VTK v6? I migrated all of my
personal code this morning and it was very easy. Here are the only
things that have changed:
http://vtk.org/Wiki/VTK/VTK6/Migration/WikiExamples#Improve

PCL does not currently compile against VTK v6 because of these changes.

David
_______________________________________________
PCL-developers mailing list
[hidden email]
http://pointclouds.org/mailman/listinfo/pcl-developers
http://pointclouds.org
Reply | Threaded
Open this post in threaded view
|

Re: VTK v6 migration

Radu B. Rusu
Administrator
David,

Can we transition in a way where we preserve backwards compatibility with VTK5, or do we have to typedef our code?

Cheers,
Radu.
--
http://pointclouds.org

On 03/12/2012 08:49 AM, David Doria wrote:

> Hi all,
>
> Is there a plan for transitioning to VTK v6? I migrated all of my
> personal code this morning and it was very easy. Here are the only
> things that have changed:
> http://vtk.org/Wiki/VTK/VTK6/Migration/WikiExamples#Improve
>
> PCL does not currently compile against VTK v6 because of these changes.
>
> David
> _______________________________________________
> PCL-developers mailing list
> [hidden email]
> http://pointclouds.org/mailman/listinfo/pcl-developers
> http://pointclouds.org
_______________________________________________
PCL-developers mailing list
[hidden email]
http://pointclouds.org/mailman/listinfo/pcl-developers
http://pointclouds.org
Reply | Threaded
Open this post in threaded view
|

Re: VTK v6 migration

David Doria
On Mon, Mar 12, 2012 at 12:44 PM, Radu B. Rusu <[hidden email]> wrote:
> David,
>
> Can we transition in a way where we preserve backwards compatibility with VTK5, or do we have to typedef our code?
>
> Cheers,
> Radu.

I'm not sure what you mean by 'typdef', because no types have changed,
just function names. To preserve v5 compatibility I think you'd need
lovely conditionals like:

#if VTK_MAJOR_VERSION <= 5
  sourceMapper->SetInputConnection(source->GetProducerPort());
#else
  sourceMapper->SetInputData(source);
#endif

David
_______________________________________________
PCL-developers mailing list
[hidden email]
http://pointclouds.org/mailman/listinfo/pcl-developers
http://pointclouds.org
Reply | Threaded
Open this post in threaded view
|

Re: VTK v6 migration

Radu B. Rusu
Administrator

On 03/12/2012 09:47 AM, David Doria wrote:

> On Mon, Mar 12, 2012 at 12:44 PM, Radu B. Rusu <[hidden email]> wrote:
>> David,
>>
>> Can we transition in a way where we preserve backwards compatibility with VTK5, or do we have to typedef our code?
>>
>> Cheers,
>> Radu.
>
> I'm not sure what you mean by 'typdef', because no types have changed,
> just function names. To preserve v5 compatibility I think you'd need
> lovely conditionals like:
>
> #if VTK_MAJOR_VERSION <= 5
>   sourceMapper->SetInputConnection(source->GetProducerPort());
> #else
>   sourceMapper->SetInputData(source);
> #endif

Got it, ok. How large are the anticipated changes? I assume that we'll have to carry this with us for a little bit until
VTK6 gets distributed around in all the platforms that we care about.

Justin has expressed interest in helping maintain pcl_visualization, so I'll defer to him :)

Cheers,
Radu.
--
http://pointclouds.org

_______________________________________________
PCL-developers mailing list
[hidden email]
http://pointclouds.org/mailman/listinfo/pcl-developers
http://pointclouds.org
Reply | Threaded
Open this post in threaded view
|

Re: VTK v6 migration

Bill Lorensen
The changes are substantial, especially regarding the pipeline. If you
are just a user of VTK, the changes are manageable and code can be
compatible with both VTK5 and VTK6. If your code base includes your
own filters, the changes are more challenging.

We recently updated the VTK WIki Examples:
http://www.vtk.org/Wiki/VTK/Examples to work with both VTK5 and VTK6.

Here is a summary of that conversion:
http://vtk.org/Wiki/VTK/VTK6/Migration/WikiExamples

Be aware that VTK6 is very new and it may be some time before a
release. For example, VTK6 will also undergo a substantial change to
accommodate modularization. Also, the API may have additional changes
before the release.

On Mon, Mar 12, 2012 at 9:56 AM, Radu B. Rusu <[hidden email]> wrote:

>
> On 03/12/2012 09:47 AM, David Doria wrote:
>> On Mon, Mar 12, 2012 at 12:44 PM, Radu B. Rusu <[hidden email]> wrote:
>>> David,
>>>
>>> Can we transition in a way where we preserve backwards compatibility with VTK5, or do we have to typedef our code?
>>>
>>> Cheers,
>>> Radu.
>>
>> I'm not sure what you mean by 'typdef', because no types have changed,
>> just function names. To preserve v5 compatibility I think you'd need
>> lovely conditionals like:
>>
>> #if VTK_MAJOR_VERSION <= 5
>>   sourceMapper->SetInputConnection(source->GetProducerPort());
>> #else
>>   sourceMapper->SetInputData(source);
>> #endif
>
> Got it, ok. How large are the anticipated changes? I assume that we'll have to carry this with us for a little bit until
> VTK6 gets distributed around in all the platforms that we care about.
>
> Justin has expressed interest in helping maintain pcl_visualization, so I'll defer to him :)
>
> Cheers,
> Radu.
> --
> http://pointclouds.org
>
> _______________________________________________
> PCL-developers mailing list
> [hidden email]
> http://pointclouds.org/mailman/listinfo/pcl-developers
> http://pointclouds.org



--
Unpaid intern in BillsBasement at noware dot com
_______________________________________________
PCL-developers mailing list
[hidden email]
http://pointclouds.org/mailman/listinfo/pcl-developers
http://pointclouds.org
Reply | Threaded
Open this post in threaded view
|

Re: VTK v6 migration

Radu B. Rusu
Administrator
Bill,

Thanks for the heads up. It wouldn't be a bad idea to start integrating it in trunk, just so we get to see how things
are going to look like. That would also give valuable feedback back to our colleagues at Kitware regarding potential
bugs or parts of the code which are not optimized yet, etc.

Does anyone want to look over pcl_visualization and start laying a roadmap on how these changes will affect our current
code?

Personally I hope that we can get to the point where we push all our ideas and changes upstream to VTK in terms of VBOs,
GLSL, and other acronyms that Justin keeps on using in conversations with me ;) -- so that the entire larger
visualization community benefits from it. Maybe VTK6 is the best engine for driving that forward?

Cheers,
Radu.
--
http://pointclouds.org

On 03/12/2012 11:58 AM, Bill Lorensen wrote:

> The changes are substantial, especially regarding the pipeline. If you
> are just a user of VTK, the changes are manageable and code can be
> compatible with both VTK5 and VTK6. If your code base includes your
> own filters, the changes are more challenging.
>
> We recently updated the VTK WIki Examples:
> http://www.vtk.org/Wiki/VTK/Examples to work with both VTK5 and VTK6.
>
> Here is a summary of that conversion:
> http://vtk.org/Wiki/VTK/VTK6/Migration/WikiExamples
>
> Be aware that VTK6 is very new and it may be some time before a
> release. For example, VTK6 will also undergo a substantial change to
> accommodate modularization. Also, the API may have additional changes
> before the release.
>
> On Mon, Mar 12, 2012 at 9:56 AM, Radu B. Rusu <[hidden email]> wrote:
>>
>> On 03/12/2012 09:47 AM, David Doria wrote:
>>> On Mon, Mar 12, 2012 at 12:44 PM, Radu B. Rusu <[hidden email]> wrote:
>>>> David,
>>>>
>>>> Can we transition in a way where we preserve backwards compatibility with VTK5, or do we have to typedef our code?
>>>>
>>>> Cheers,
>>>> Radu.
>>>
>>> I'm not sure what you mean by 'typdef', because no types have changed,
>>> just function names. To preserve v5 compatibility I think you'd need
>>> lovely conditionals like:
>>>
>>> #if VTK_MAJOR_VERSION <= 5
>>>   sourceMapper->SetInputConnection(source->GetProducerPort());
>>> #else
>>>   sourceMapper->SetInputData(source);
>>> #endif
>>
>> Got it, ok. How large are the anticipated changes? I assume that we'll have to carry this with us for a little bit until
>> VTK6 gets distributed around in all the platforms that we care about.
>>
>> Justin has expressed interest in helping maintain pcl_visualization, so I'll defer to him :)
>>
>> Cheers,
>> Radu.
>> --
>> http://pointclouds.org
>>
>> _______________________________________________
>> PCL-developers mailing list
>> [hidden email]
>> http://pointclouds.org/mailman/listinfo/pcl-developers
>> http://pointclouds.org
>
>
>
_______________________________________________
PCL-developers mailing list
[hidden email]
http://pointclouds.org/mailman/listinfo/pcl-developers
http://pointclouds.org
Reply | Threaded
Open this post in threaded view
|

Re: VTK v6 migration

Marcus D. Hanwell
Radu,

Thanks for CCing me, we have been working hard on getting these
changes merged and documenting them. It would of course be extremely
valuable to gain feedback from the PCL community. There are quite a
few of us wanting to improve the rendering in VTK to take full
advantage of modern GL features such as VBOs and GLSL (already used in
several rendering types).

The work in VES has already explored a new way of rendering, and
modularization makes it much more manageable to implement experimental
backends that can be included without forcing everyone to move a the
same time. The work Bill is doing with the examples should help people
to see a conversion path. I merged several branches today that removed
a large amount of deprecated legacy API and classes too.

Thanks,

Marcus

On Mon, Mar 12, 2012 at 3:04 PM, Radu B. Rusu <[hidden email]> wrote:

> Bill,
>
> Thanks for the heads up. It wouldn't be a bad idea to start integrating it in trunk, just so we get to see how things
> are going to look like. That would also give valuable feedback back to our colleagues at Kitware regarding potential
> bugs or parts of the code which are not optimized yet, etc.
>
> Does anyone want to look over pcl_visualization and start laying a roadmap on how these changes will affect our current
> code?
>
> Personally I hope that we can get to the point where we push all our ideas and changes upstream to VTK in terms of VBOs,
> GLSL, and other acronyms that Justin keeps on using in conversations with me ;) -- so that the entire larger
> visualization community benefits from it. Maybe VTK6 is the best engine for driving that forward?
>
> Cheers,
> Radu.
> --
> http://pointclouds.org
>
> On 03/12/2012 11:58 AM, Bill Lorensen wrote:
>> The changes are substantial, especially regarding the pipeline. If you
>> are just a user of VTK, the changes are manageable and code can be
>> compatible with both VTK5 and VTK6. If your code base includes your
>> own filters, the changes are more challenging.
>>
>> We recently updated the VTK WIki Examples:
>> http://www.vtk.org/Wiki/VTK/Examples to work with both VTK5 and VTK6.
>>
>> Here is a summary of that conversion:
>> http://vtk.org/Wiki/VTK/VTK6/Migration/WikiExamples
>>
>> Be aware that VTK6 is very new and it may be some time before a
>> release. For example, VTK6 will also undergo a substantial change to
>> accommodate modularization. Also, the API may have additional changes
>> before the release.
>>
>> On Mon, Mar 12, 2012 at 9:56 AM, Radu B. Rusu <[hidden email]> wrote:
>>>
>>> On 03/12/2012 09:47 AM, David Doria wrote:
>>>> On Mon, Mar 12, 2012 at 12:44 PM, Radu B. Rusu <[hidden email]> wrote:
>>>>> David,
>>>>>
>>>>> Can we transition in a way where we preserve backwards compatibility with VTK5, or do we have to typedef our code?
>>>>>
>>>>> Cheers,
>>>>> Radu.
>>>>
>>>> I'm not sure what you mean by 'typdef', because no types have changed,
>>>> just function names. To preserve v5 compatibility I think you'd need
>>>> lovely conditionals like:
>>>>
>>>> #if VTK_MAJOR_VERSION <= 5
>>>>   sourceMapper->SetInputConnection(source->GetProducerPort());
>>>> #else
>>>>   sourceMapper->SetInputData(source);
>>>> #endif
>>>
>>> Got it, ok. How large are the anticipated changes? I assume that we'll have to carry this with us for a little bit until
>>> VTK6 gets distributed around in all the platforms that we care about.
>>>
>>> Justin has expressed interest in helping maintain pcl_visualization, so I'll defer to him :)
>>>
>>> Cheers,
>>> Radu.
>>> --
>>> http://pointclouds.org
>>>
>>> _______________________________________________
>>> PCL-developers mailing list
>>> [hidden email]
>>> http://pointclouds.org/mailman/listinfo/pcl-developers
>>> http://pointclouds.org
>>
>>
>>
_______________________________________________
PCL-developers mailing list
[hidden email]
http://pointclouds.org/mailman/listinfo/pcl-developers
http://pointclouds.org
Reply | Threaded
Open this post in threaded view
|

Re: VTK v6 migration

David Doria
In reply to this post by Bill Lorensen
On Mon, Mar 12, 2012 at 2:58 PM, Bill Lorensen <[hidden email]> wrote:

> The changes are substantial, especially regarding the pipeline. If you
> are just a user of VTK, the changes are manageable and code can be
> compatible with both VTK5 and VTK6. If your code base includes your
> own filters, the changes are more challenging.
>
> We recently updated the VTK WIki Examples:
> http://www.vtk.org/Wiki/VTK/Examples to work with both VTK5 and VTK6.
>
> Here is a summary of that conversion:
> http://vtk.org/Wiki/VTK/VTK6/Migration/WikiExamples
>
> Be aware that VTK6 is very new and it may be some time before a
> release. For example, VTK6 will also undergo a substantial change to
> accommodate modularization. Also, the API may have additional changes
> before the release.

Is there a migration guide for filter internals yet?

David
_______________________________________________
PCL-developers mailing list
[hidden email]
http://pointclouds.org/mailman/listinfo/pcl-developers
http://pointclouds.org
Reply | Threaded
Open this post in threaded view
|

Re: VTK v6 migration

Radu B. Rusu
Administrator
In reply to this post by Marcus D. Hanwell
Marcus,


On 03/12/2012 12:11 PM, Marcus D. Hanwell wrote:
> Radu,
>
> Thanks for CCing me, we have been working hard on getting these
> changes merged and documenting them. It would of course be extremely
> valuable to gain feedback from the PCL community. There are quite a
> few of us wanting to improve the rendering in VTK to take full
> advantage of modern GL features such as VBOs and GLSL (already used in
> several rendering types).

Fantastic! Justin will be really happy to hear that it's possible to implement these new features. He has been raving
about them, and we recently talked about a post on vtk-users@ that was recommending users to implement their own mappers
to get that sort of behavior.

> The work in VES has already explored a new way of rendering, and
> modularization makes it much more manageable to implement experimental
> backends that can be included without forcing everyone to move a the
> same time. The work Bill is doing with the examples should help people
> to see a conversion path. I merged several branches today that removed
> a large amount of deprecated legacy API and classes too.

Awesome, thanks for all your efforts Marcus (& colleagues :) !

Cheers,
Radu.
--
http://pointclouds.org
_______________________________________________
PCL-developers mailing list
[hidden email]
http://pointclouds.org/mailman/listinfo/pcl-developers
http://pointclouds.org
Reply | Threaded
Open this post in threaded view
|

Re: VTK v6 migration

Bill Lorensen
In reply to this post by David Doria
David,

There is a document but I can't find it on the wiki. Post your
question to the vtk developer's list.

Bill

On Mon, Mar 12, 2012 at 12:17 PM, David Doria <[hidden email]> wrote:

> On Mon, Mar 12, 2012 at 2:58 PM, Bill Lorensen <[hidden email]> wrote:
>> The changes are substantial, especially regarding the pipeline. If you
>> are just a user of VTK, the changes are manageable and code can be
>> compatible with both VTK5 and VTK6. If your code base includes your
>> own filters, the changes are more challenging.
>>
>> We recently updated the VTK WIki Examples:
>> http://www.vtk.org/Wiki/VTK/Examples to work with both VTK5 and VTK6.
>>
>> Here is a summary of that conversion:
>> http://vtk.org/Wiki/VTK/VTK6/Migration/WikiExamples
>>
>> Be aware that VTK6 is very new and it may be some time before a
>> release. For example, VTK6 will also undergo a substantial change to
>> accommodate modularization. Also, the API may have additional changes
>> before the release.
>
> Is there a migration guide for filter internals yet?
>
> David



--
Unpaid intern in BillsBasement at noware dot com
_______________________________________________
PCL-developers mailing list
[hidden email]
http://pointclouds.org/mailman/listinfo/pcl-developers
http://pointclouds.org
Reply | Threaded
Open this post in threaded view
|

VTK v6 migration

Justin Rosen
Haha,

Wouldn't say I was raving about 'em Radu :P. anyway, since weve got a small forum here I might as well drop the bomb. Marcus, does VTK currently support vbos and glsl shaders?  You said there are some renderers already setup for this. Would you mind pointing us/me to these classes and or example code?  Is there any kind of roadmap for the addition of the modern gl features?

Thanks!
Justin



On Monday, March 12, 2012, Bill Lorensen <[hidden email]> wrote:
> David,
>
> There is a document but I can't find it on the wiki. Post your
> question to the vtk developer's list.
>
> Bill
>
> On Mon, Mar 12, 2012 at 12:17 PM, David Doria <[hidden email]> wrote:
>> On Mon, Mar 12, 2012 at 2:58 PM, Bill Lorensen <[hidden email]> wrote:
>>> The changes are substantial, especially regarding the pipeline. If you
>>> are just a user of VTK, the changes are manageable and code can be
>>> compatible with both VTK5 and VTK6. If your code base includes your
>>> own filters, the changes are more challenging.
>>>
>>> We recently updated the VTK WIki Examples:
>>> http://www.vtk.org/Wiki/VTK/Examples to work with both VTK5 and VTK6.
>>>
>>> Here is a summary of that conversion:
>>> http://vtk.org/Wiki/VTK/VTK6/Migration/WikiExamples
>>>
>>> Be aware that VTK6 is very new and it may be some time before a
>>> release. For example, VTK6 will also undergo a substantial change to
>>> accommodate modularization. Also, the API may have additional changes
>>> before the release.
>>
>> Is there a migration guide for filter internals yet?
>>
>> David
>
>
>
> --
> Unpaid intern in BillsBasement at noware dot com
> _______________________________________________
> PCL-developers mailing list
> [hidden email]
> http://pointclouds.org/mailman/listinfo/pcl-developers
> http://pointclouds.org
>

--
Sent from my iPhone

_______________________________________________
PCL-developers mailing list
[hidden email]
http://pointclouds.org/mailman/listinfo/pcl-developers
http://pointclouds.org
Reply | Threaded
Open this post in threaded view
|

Re: VTK v6 migration

Marcus D. Hanwell
On Mon, Mar 12, 2012 at 11:53 PM, Justin Rosen <[hidden email]> wrote:
> Haha,
>
> Wouldn't say I was raving about 'em Radu :P. anyway, since weve got a small
> forum here I might as well drop the bomb. Marcus, does VTK currently support
> vbos and glsl shaders?  You said there are some renderers already setup for
> this. Would you mind pointing us/me to these classes and or example code?
>  Is there any kind of roadmap for the addition of the modern gl features?

I see my sentence was perhaps poorly structured - what I intended to
state was that some of our rendering is using GLSL, such as the GPU
volume renderer classes, and some of the render passes. We use display
lists in several places, but VTK master does not currently offer any
support for VBOs.

The VES library (targeting Android and iOS with GL ES 2.0) is using
VBOs for some of the rendering. There are classes like
vtkFrameBufferObject that offer access to FBOs, and vtkGLSLShader for
shaders. ParaView also has a point sprite plugin that uses GLSL to
render point sprites for various geometric primitives too - I am
looking at this for approaches to efficiently render molecular
structure.

I am working on the completion of modularization right now, but am
hoping to merge in some preliminary VBO support to see how it performs
in the charting framework. What specific features are you most
interested in? In the short term custom mappers could be a good way to
explore some of these optimizations.

This work is not currently funded, which means that we cannot dedicate
the time we would like to working on this. Please remember these are
my thoughts and opinions, they may or may not agree with the wider VTK
community and ARB. I could take questions (and Bill is on the ARB and
has worked on VTK for many more years than I).

Marcus

>
> On Monday, March 12, 2012, Bill Lorensen <[hidden email]> wrote:
>> David,
>>
>> There is a document but I can't find it on the wiki. Post your
>> question to the vtk developer's list.
>>
>> Bill
>>
>> On Mon, Mar 12, 2012 at 12:17 PM, David Doria <[hidden email]>
>> wrote:
>>> On Mon, Mar 12, 2012 at 2:58 PM, Bill Lorensen <[hidden email]>
>>> wrote:
>>>> The changes are substantial, especially regarding the pipeline. If you
>>>> are just a user of VTK, the changes are manageable and code can be
>>>> compatible with both VTK5 and VTK6. If your code base includes your
>>>> own filters, the changes are more challenging.
>>>>
>>>> We recently updated the VTK WIki Examples:
>>>> http://www.vtk.org/Wiki/VTK/Examples to work with both VTK5 and VTK6.
>>>>
>>>> Here is a summary of that conversion:
>>>> http://vtk.org/Wiki/VTK/VTK6/Migration/WikiExamples
>>>>
>>>> Be aware that VTK6 is very new and it may be some time before a
>>>> release. For example, VTK6 will also undergo a substantial change to
>>>> accommodate modularization. Also, the API may have additional changes
>>>> before the release.
>>>
>>> Is there a migration guide for filter internals yet?
>>>
>>> David
_______________________________________________
PCL-developers mailing list
[hidden email]
http://pointclouds.org/mailman/listinfo/pcl-developers
http://pointclouds.org
Reply | Threaded
Open this post in threaded view
|

Re: VTK v6 migration

Justin Rosen
Hi Marcus,

Thanks for this!  Sounds like there's some work to be done in terms of wrapping the more modern gl features.  You mentioned you'll be merging in some preliminary VBO support, what's your time frame on this?  This week, this month, within three, ... ?  There's a possibility that PCL could help out in helping integrate this into VTK.  I'm currently on the TRCS code sprint helping develop our visualization tools further.

The features I'm interested in could be considered fairly basic.  For the most part we're just rendering points.  I have working code that uses OpenGL 2.0 (Mac OS X) and extensions with VBOs and GLSL vertex, fragment and geometry shaders.  I can send you code offline line if that'll help.  The code uses pointcloud2 PCL/ROS data structures with vbos and glsl.

Rendering molecular structures, have you ever heard of The Molecularium?  or Molecules to the Max?

Radu speaks very highly of you, hopefully I'll get the opportunity to work with you in the future.

Thanks again.
Justin


On Mon, Mar 12, 2012 at 9:12 PM, Marcus D. Hanwell <[hidden email]> wrote:
On Mon, Mar 12, 2012 at 11:53 PM, Justin Rosen <[hidden email]> wrote:
> Haha,
>
> Wouldn't say I was raving about 'em Radu :P. anyway, since weve got a small
> forum here I might as well drop the bomb. Marcus, does VTK currently support
> vbos and glsl shaders?  You said there are some renderers already setup for
> this. Would you mind pointing us/me to these classes and or example code?
>  Is there any kind of roadmap for the addition of the modern gl features?

I see my sentence was perhaps poorly structured - what I intended to
state was that some of our rendering is using GLSL, such as the GPU
volume renderer classes, and some of the render passes. We use display
lists in several places, but VTK master does not currently offer any
support for VBOs.

The VES library (targeting Android and iOS with GL ES 2.0) is using
VBOs for some of the rendering. There are classes like
vtkFrameBufferObject that offer access to FBOs, and vtkGLSLShader for
shaders. ParaView also has a point sprite plugin that uses GLSL to
render point sprites for various geometric primitives too - I am
looking at this for approaches to efficiently render molecular
structure.

I am working on the completion of modularization right now, but am
hoping to merge in some preliminary VBO support to see how it performs
in the charting framework. What specific features are you most
interested in? In the short term custom mappers could be a good way to
explore some of these optimizations.

This work is not currently funded, which means that we cannot dedicate
the time we would like to working on this. Please remember these are
my thoughts and opinions, they may or may not agree with the wider VTK
community and ARB. I could take questions (and Bill is on the ARB and
has worked on VTK for many more years than I).

Marcus
>
> On Monday, March 12, 2012, Bill Lorensen <[hidden email]> wrote:
>> David,
>>
>> There is a document but I can't find it on the wiki. Post your
>> question to the vtk developer's list.
>>
>> Bill
>>
>> On Mon, Mar 12, 2012 at 12:17 PM, David Doria <[hidden email]>
>> wrote:
>>> On Mon, Mar 12, 2012 at 2:58 PM, Bill Lorensen <[hidden email]>
>>> wrote:
>>>> The changes are substantial, especially regarding the pipeline. If you
>>>> are just a user of VTK, the changes are manageable and code can be
>>>> compatible with both VTK5 and VTK6. If your code base includes your
>>>> own filters, the changes are more challenging.
>>>>
>>>> We recently updated the VTK WIki Examples:
>>>> http://www.vtk.org/Wiki/VTK/Examples to work with both VTK5 and VTK6.
>>>>
>>>> Here is a summary of that conversion:
>>>> http://vtk.org/Wiki/VTK/VTK6/Migration/WikiExamples
>>>>
>>>> Be aware that VTK6 is very new and it may be some time before a
>>>> release. For example, VTK6 will also undergo a substantial change to
>>>> accommodate modularization. Also, the API may have additional changes
>>>> before the release.
>>>
>>> Is there a migration guide for filter internals yet?
>>>
>>> David
_______________________________________________
PCL-developers mailing list
[hidden email]
http://pointclouds.org/mailman/listinfo/pcl-developers
http://pointclouds.org


_______________________________________________
PCL-developers mailing list
[hidden email]
http://pointclouds.org/mailman/listinfo/pcl-developers
http://pointclouds.org
Reply | Threaded
Open this post in threaded view
|

Re: VTK v6 migration

Marcus D. Hanwell
Hi Justin,

On Tue, Mar 13, 2012 at 12:50 AM, Justin Rosen <[hidden email]> wrote:
> Hi Marcus,
>
> Thanks for this!  Sounds like there's some work to be done in terms of
> wrapping the more modern gl features.  You mentioned you'll be merging in
> some preliminary VBO support, what's your time frame on this?  This week,
> this month, within three, ... ?  There's a possibility that PCL could help
> out in helping integrate this into VTK.  I'm currently on the TRCS code
> sprint helping develop our visualization tools further.

I am aiming to get something in over the next month or two, but it
would be experimental. If all you want is point clouds with some GLSL
I feel like that is something that would be easy to target, and I have
similar goals with some of our work. It would be great to have a
second user of the API early on.
>
> The features I'm interested in could be considered fairly basic.  For the
> most part we're just rendering points.  I have working code that uses OpenGL
> 2.0 (Mac OS X) and extensions with VBOs and GLSL vertex, fragment and
> geometry shaders.  I can send you code offline line if that'll help.  The
> code uses pointcloud2 PCL/ROS data structures with vbos and glsl.

It would be good to see what you are targeting, an example I had
forgotten about  was VTK/Charts/Testing/Cxx/TestGLSL.cxx which uses
GLSL but no VBOs. VES has been through quite a few changes, but we
definitely had a path in there that was using VBOs and because it is
GLES2 code it has to use shaders.
>
> Rendering molecular structures, have you ever heard of The Molecularium?  or
> Molecules to the Max?

I hadn't - thanks for pointing this out. RPI is just down the road, I
will make a point of learning more about this.
>
> Radu speaks very highly of you, hopefully I'll get the opportunity to work
> with you in the future.
>
There is some time juggling, but I think point clouds could be
accelerated within VTK very effectively across all the major
platforms. After talking with Radu it was one of the things I was
thinking would be great to try as I think the performance gains would
be worth it.

I encourage PCL developers to look at VTK 6 as it evolves, as Bill
said there are some big changes coming. I think the modular build
system will allow us to be more flexible and experiment a little more
with acceleration without affecting some of the old code using the
fixed GL pipeline. Right now I am very focused on getting the modular
build system finished and in a state where we can merge to master so
that it can receive more attention and testing.

Thanks,

Marcus

>
> On Mon, Mar 12, 2012 at 9:12 PM, Marcus D. Hanwell
> <[hidden email]> wrote:
>>
>> On Mon, Mar 12, 2012 at 11:53 PM, Justin Rosen <[hidden email]>
>> wrote:
>> > Haha,
>> >
>> > Wouldn't say I was raving about 'em Radu :P. anyway, since weve got a
>> > small
>> > forum here I might as well drop the bomb. Marcus, does VTK currently
>> > support
>> > vbos and glsl shaders?  You said there are some renderers already setup
>> > for
>> > this. Would you mind pointing us/me to these classes and or example
>> > code?
>> >  Is there any kind of roadmap for the addition of the modern gl
>> > features?
>>
>> I see my sentence was perhaps poorly structured - what I intended to
>> state was that some of our rendering is using GLSL, such as the GPU
>> volume renderer classes, and some of the render passes. We use display
>> lists in several places, but VTK master does not currently offer any
>> support for VBOs.
>>
>> The VES library (targeting Android and iOS with GL ES 2.0) is using
>> VBOs for some of the rendering. There are classes like
>> vtkFrameBufferObject that offer access to FBOs, and vtkGLSLShader for
>> shaders. ParaView also has a point sprite plugin that uses GLSL to
>> render point sprites for various geometric primitives too - I am
>> looking at this for approaches to efficiently render molecular
>> structure.
>>
>> I am working on the completion of modularization right now, but am
>> hoping to merge in some preliminary VBO support to see how it performs
>> in the charting framework. What specific features are you most
>> interested in? In the short term custom mappers could be a good way to
>> explore some of these optimizations.
>>
>> This work is not currently funded, which means that we cannot dedicate
>> the time we would like to working on this. Please remember these are
>> my thoughts and opinions, they may or may not agree with the wider VTK
>> community and ARB. I could take questions (and Bill is on the ARB and
>> has worked on VTK for many more years than I).
>>
>> Marcus
>> >
>> > On Monday, March 12, 2012, Bill Lorensen <[hidden email]>
>> > wrote:
>> >> David,
>> >>
>> >> There is a document but I can't find it on the wiki. Post your
>> >> question to the vtk developer's list.
>> >>
>> >> Bill
>> >>
>> >> On Mon, Mar 12, 2012 at 12:17 PM, David Doria <[hidden email]>
>> >> wrote:
>> >>> On Mon, Mar 12, 2012 at 2:58 PM, Bill Lorensen
>> >>> <[hidden email]>
>> >>> wrote:
>> >>>> The changes are substantial, especially regarding the pipeline. If
>> >>>> you
>> >>>> are just a user of VTK, the changes are manageable and code can be
>> >>>> compatible with both VTK5 and VTK6. If your code base includes your
>> >>>> own filters, the changes are more challenging.
>> >>>>
>> >>>> We recently updated the VTK WIki Examples:
>> >>>> http://www.vtk.org/Wiki/VTK/Examples to work with both VTK5 and VTK6.
>> >>>>
>> >>>> Here is a summary of that conversion:
>> >>>> http://vtk.org/Wiki/VTK/VTK6/Migration/WikiExamples
>> >>>>
>> >>>> Be aware that VTK6 is very new and it may be some time before a
>> >>>> release. For example, VTK6 will also undergo a substantial change to
>> >>>> accommodate modularization. Also, the API may have additional changes
>> >>>> before the release.
>> >>>
>> >>> Is there a migration guide for filter internals yet?
>> >>>
>> >>> David
>> _______________________________________________
>> PCL-developers mailing list
>> [hidden email]
>> http://pointclouds.org/mailman/listinfo/pcl-developers
>> http://pointclouds.org
>
>
>
> _______________________________________________
> PCL-developers mailing list
> [hidden email]
> http://pointclouds.org/mailman/listinfo/pcl-developers
> http://pointclouds.org
_______________________________________________
PCL-developers mailing list
[hidden email]
http://pointclouds.org/mailman/listinfo/pcl-developers
http://pointclouds.org