[vtkusers] Rasterized output with vtkGL2PSExporter

Dan Lipsa dan.lipsa at kitware.com
Fri Jun 15 08:59:59 EDT 2018


Context2D should support vtkPolyData. See the following commit.

commit 1469ea5dcb33d69710ed4099789ebc0fa2bcdf57

Author: Alvaro Sanchez <alvaro.sanchez at kitware.com>

Date:   Mon Oct 17 19:00:43 2016 -0400


    Added support for vtkPolyData in vtkContext2D.



    vtkContext2D takes a new type of item which directly draws a 2D mesh

    represented by a vtkPolyData object. Internally, vtkContextDevice2D
makes

    the API calls necessary to draw the internal primitives of vtkPolyData.

    Added a test demonstrating the use of vtkPolyDataItem.



    Added interaction and batched primitives for drawing.



    vtkInteractiveArea derives from vtkContextArea and implements basic
interaction

    (zoom and panning). Currently, two types of vtkPolyData primitives are
supported,

    Lines and Polygons. Lines are batched and drawn using
ContextDevice2D::DrawLines.

    Polygons are first decomposed into a set of triangles and then drawn
using

    ContextDevice2D::CoreDrawTriangles. Primitives are colored per vertex.



    Suppressed run-time warning.



    Setting the current renderer in the interactor style. Removed

    unecessary initializations.



    Using defined symbolic names for scalar modes.


On Fri, Jun 15, 2018 at 5:02 AM Roman Hiestand <roman.hiestand at fluxim.com>
wrote:

> Dan,
>
> Thank you for the information! I assume there is no mapper from
> vtkPolyData to vtkContext2D? At least I didn't find one.
> Migrating our code to vtkContext2D would be too tedious, so for now we
> stick to the current solution. If we need a better SVG/PDF output, we will
> use either Qt or a specialized library like cairo.
>
> Regards
> Roman
>
>
> On Thu, Jun 14, 2018 at 5:39 PM, Dan Lipsa <dan.lipsa at kitware.com> wrote:
>
>> Roman,
>> For the new OpenGL2 backend only 2D polygon data drawn within a
>> vtkContext2D can be exported as vector data in a PDF or SVG. This is
>> because GL2PS uses a feature removed from recent OpenGL versions
>> (glFeedbackBuffer). So, if exporting vector data is important to your
>> application you'll have to port it to draw everything inside a vtkContext2D
>> class. We are currently doing this port for the cdat.
>>
>>
>> On Thu, Jun 14, 2018 at 11:16 AM Roman Hiestand <
>> roman.hiestand at fluxim.com> wrote:
>>
>>> Hello
>>>
>>> Since upgrading to VTK 8.1.1 and using the OpenGL2 backend I have
>>> noticed that when exporting to vector graphics formats such as PDF and SVG
>>> using vtkGL2PSExporter a large part of the scene is rasterized.
>>> I have a 2D scene with a vtkPolyDataMapper and some axis
>>> (vtkCubeAxesActor2D), the camera is set to parallel projection.
>>> When I try to export the scene to PDF or SVG using vtkGL2PSExporter the
>>> vtkPolyData is rasterized, while the axis (including labels etc) is
>>> exported in vector graphics.
>>>
>>> I tried fiddling around with the parameters of vtkGL2PSExporter, but I
>>> wasn't able to achieve all-vector-graphics like with VTK 8.0 and (old)
>>> OpenGL backend.
>>>
>>> Has anyone a clue how to create a non-rasterized output? When debugging
>>> the code, I saw that vtkGL2PSExporter rasterizes the background, but why is
>>> the vtkPolyDataMapper considered to be background?
>>>
>>> I also tried exporting the same vtkPolyData with ParaView (5.5.1 64bit
>>> Windows) to PDF or SVG, and I have the same effect there, the polydata is
>>> rasterized.
>>>
>>> Regards
>>> Roman
>>>
>>>
>>> _______________________________________________
>>> 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:
>>> https://public.kitware.com/mailman/listinfo/vtkusers
>>>
>>
>
>
> --
>
> Fluxim AG
> Roman Hiestand
> Katharina-Sulzer-Platz 2
> 8406 Winterthur
> Switzerland
>
>
> www.fluxim.com
> Email: roman.hiestand at fluxim.com
> Phone: +41 44 500 4770
> Fax: +41 44 500 4779
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://public.kitware.com/pipermail/vtkusers/attachments/20180615/b7a6a416/attachment.html>


More information about the vtkusers mailing list