Re: How to preserve objects size when moving camera
Aron Helser via vtkusers <[email protected]>
| Newsgroups | gmane.comp.lib.vtk.user |
|---|---|
| Message-ID | <CAF2skS5UNANw9vjm-i55oT1G_3BL4QR6j1JpMPZYCYj9cgz+kg@mail.gmail.com> |
You could probably do what you want by drawing points using a custom shader to create different shapes. Something like this: https://stackoverflow.com/questions/27098315/render-large-circular-points-in-modern-opengl I'm not sure how to do this in VTK, however. On Fri, Dec 14, 2018 at 12:08 PM Andrey Ivanov <[email protected]> wrote: > I forgot to mention that I am already working with orthogonal projection. > The problem is not with preserving shapes and avoiding perspective > deformations. I would like to fix screen size of objects, so when I > increase height and width of camera frustum they will occupy the same > number of pixels. > > Best regards, > Andrey Ivanov > > > On Fri, 14 Dec 2018 at 19:41, David E DeMarle <[email protected]> > wrote: > >> Will turning off perspective do what you want? >> >> https://www.vtk.org/doc/nightly/html/classvtkCamera.html#a5b0e647798e7f45d358d8039ff41b378 >> void vtkCamera::SetParallelProjection(vtkTypeBool >> <https://www.vtk.org/doc/nightly/html/vtkABI_8h.html#a663dee2c85b2a185fb34cb877d5208da> >> flag) >> >> David E DeMarle >> Kitware, Inc. >> Principal Engineer >> 21 Corporate Drive >> Clifton Park, NY 12065-8662 >> Phone: 518-881-4909 >> >> >> On Fri, Dec 14, 2018 at 10:55 AM Andrey Ivanov < >> [email protected]> wrote: >> >>> Hello! >>> >>> I am trying to draw a lot of objects with the same shape for CAD system. >>> Let it be stars or circles for example. >>> The number of such circles can be about 1000-10000. >>> I would like to *preserve their size* when moving the camera, scaling >>> frustrum and changing distance to objects. >>> >>> For now I found two approaches: >>> >>> 1. Use vtkDistanceToCamera >>> An example from >>> https://lorensen.github.io/VTKExamples/site/Cxx/Visualization/DistanceToCamera/ >>> is great >>> for low number of objects, however when their numer grows, the interface >>> starts to freeze due to >>> rescaling of shapes on each interaction with camera. >>> >>> 2. Use points (squares with width equal to 4 pixels). >>> It works fast and points size is fixed, but I would like to have more >>> complex shapes, like triangles and circles. >>> >>> >>> Is there another approach to solve this problem? It seems that with pure >>> OpenGL this can be implemented rather efficiently, >>> so I am looking for a way to do it in VTK. >>> >>> Best regards, >>> Andrey Ivanov >>> _______________________________________________ >>> 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 >>> >> _______________________________________________ > 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 > _______________________________________________ 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