1. 12 Sep, 2016 1 commit
    • Haocheng LIU's avatar
      Rewrite all public&private dependency in module.cmake file · 6e113ad4
      Haocheng LIU authored
      The current dependency relationship in vtk is unclear and misleading.
      This MR tries to rewrite them based on header files inclusion of headers
      and source files in each module. Corner cases are considered and
      modules are sorted in alphabetical order to facilitate future reference.
      See details in my gitlab python based script project. In future we can continue
      using this script to clean the VTK Dependency easily from
      time to time.
      6e113ad4
  2. 08 Mar, 2016 1 commit
  3. 06 Jan, 2016 1 commit
  4. 21 Dec, 2015 1 commit
  5. 26 Oct, 2015 1 commit
  6. 23 Oct, 2015 1 commit
  7. 08 Sep, 2015 1 commit
    • Dan Lipsa's avatar
      BUG: OSMESA configuration flags can cause link errors. · 3b6810ff
      Dan Lipsa authored
      This fixes:
         VTK_OPENGL_HAS_OSMESA on
         VTK_USE_X             on
         caused link errors in Rendering/OpenGL as some of the cxx
         files contained code ifdef using VTK_OPENGL_HAS_OSMESA instead of
         VTK_USE_OSMESA
      
      In the past, one could link against both MESA and OSMESA and use OSMESA only
      for off-screen rendering. In recent versions of MESA this is not the case anymore.
      3b6810ff
  8. 31 Aug, 2015 1 commit
    • Dan Lipsa's avatar
      COMP: Add logic to selectively use OpenGL or OSMesa. · f09903e4
      Dan Lipsa authored
      Use vtkOpenGL.cmake to decide to use (LINK_PRIVATE) OpenGL or Offscreen Mesa.
      OpenGL is now LINK_PRIVATE, so additional libraries and tests need to include OpenGL.
      Include the following in your CMakeLists.txt:
      
      include(vtkOpenGL)
      vtk_opengl_link(${module})
      
      for every ${module} that uses OpenGL. This takes care of include directories and
      linking of proper libraries.
      f09903e4
  9. 09 Apr, 2015 1 commit
    • David C. Lonie's avatar
      Remove the RenderingFreeTypeOpenGL module. · 4f7460a5
      David C. Lonie authored
      This is not supported by the new OpenGL2 backend, and doesn't support
      new text features, like MathText, FontConfig, or custom font files.
      
      It only implements vtkTextMapper, which now will use a texture-based
      implementation, similar to vtkTextActor and friends.
      4f7460a5
  10. 11 Dec, 2014 1 commit
    • Cory Quammen's avatar
      Handle coloring by field data · a07731a2
      Cory Quammen authored
      Some level of support was previously available for coloring by field
      data, but this was restricted to drawing triangle strips. This patch
      adds another mode to coloring by field data that enables coloring the
      entire data set by a particular tuple in the field data. The field
      data tuple gets mapped through the color map, and that color is used
      to color the entire data set. The default behavior for triangle strips
      is retained by setting this tuple index to -1, the default value.
      
      The motivation for this change is to make it possible to color blocks
      in a multi-block dataset according to a value in that block's field
      data array, e.g., an initial condition, block ID, etc. Vector values
      (arrays with more than one component) are fully supported.
      
      Several other improvements were also made:
      
      - Added test for existing capability of coloring by field data.
      
      - Added test for coloring by tuple of field data.
      
      - Modified vtkMapper::GetScalarModeAsString() to return
        string for field data scalar mode.
      
      - Fixed vtkDataSetSurfaceFilter::UnstructuredGridExecute(...) and
        vtkUnstructuredGridGeometryFilter::RequestData(...)
        to pass field data through to output
      
      Change-Id: I0d97e84ec77e7ea01ca1b1350acce73cb6c4c15b
      a07731a2
  11. 24 Sep, 2014 1 commit
    • Dave DeMarle's avatar
      Add render mode in which values are drawn as recoverable 24bit colors. · f8c5c678
      Dave DeMarle authored
      With this you can pick an array component and draw that directly
      on the screen. Afterward, if you know the min and max, you read pixel
      values back and get a hold of the value at each pixel.
      
      TODO:
      * Lots of type conversion here, and in the end only using 24 bits
      of resolution. When and if we need more accuracy, flesh out
      the extensible conversion operator part.
      * Surface selection is based on the same concept (ident buffer)
      but that was written before VTK has extensible rendering (painters
      and passes). Eventually selection should be reimplemented to use
      this.
      * Would be great to demonstrate render into background followed by
      mouse overs.
      
      Change-Id: I44608759278c37c8250f957d596f3f4149382bbb
      f8c5c678
  12. 22 Jul, 2014 1 commit
    • Utkarsh Ayachit's avatar
      BUG #14828: Keep surface color from interacting with scalar color. · daf8c6e7
      Utkarsh Ayachit authored
      When using scalar coloring, if vtkScalarsToColorsPainter decided to use
      a texture for mapping the scalars to colors, we ended up with the
      surface color bleeding through the texture. This commit ensures that
      such bleeding is avoided.
      
      We don't simply use glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE,
      GL_REPLACE), since that results in the diffuse highlights being lost.
      By enabling GL_COLOR_MATERIAL and calling glColor3f(1,1,1), we follow
      the same lighting/coloring path as we would when not using the texture
      for scalar coloring.
      
      Change-Id: I9c4db15dd0db699d5d045fa7ae27696d18828988
      daf8c6e7
  13. 18 Jun, 2014 2 commits
  14. 30 May, 2014 1 commit
  15. 16 Apr, 2014 2 commits
  16. 26 Mar, 2014 1 commit
    • David Gobbi's avatar
      Fix cell picker for images with negative spacing. · 8eb00d2f
      David Gobbi authored
      If the spacing of the image data was negative in any of the three
      dimensions, it resulted in a failed bounding box test for the image
      in the vtkCellPicker.  This patch adds a check for negative spacing.
      
      Change-Id: Ia6b7c31fa78988900ce2e68f0ee8cd9bc8ecbf8d
      8eb00d2f
  17. 28 Jan, 2014 1 commit
    • Utkarsh Ayachit's avatar
      Deprecate vtkOpenGLPolyDataMapper. · 2bc3308b
      Utkarsh Ayachit authored
      Deprecated vtkOpenGLPolyDataMapper. Added it to the coverage exclude list. Also
      removed a test TestOpenGLPolyDataMapper since vtkOpenGLPolyDataMapper is
      deprecated anyways.
      
      Change-Id: I087eaf21b8cff22d1184b5725b72158a54f6a65e
      2bc3308b
  18. 15 Jan, 2014 1 commit
    • Berk Geveci's avatar
      Removed priority based streaming and fast path. · 575ebda2
      Berk Geveci authored
      Removed priority based streaming and fast path codes in
      preparation for future refactoring. These were polluting core
      classes despite having a small user base. In the future, they
      may be refactored into the appropriate subclasses and "plugins".
      
      Change-Id: I54562546688c6de468b0068e9b6c65e49c5ec269
      575ebda2
  19. 22 Nov, 2013 1 commit
    • Dan Lipsa's avatar
      Remove VTK_USE_DISPLAY from CMakeLists, cxx and h.in files. · 358a5887
      Dan Lipsa authored
      This variable is not set anywhere, only tested. Additional tests
      are included because of this change : tcl:squadViewer,
      cxx:RenderNonFinite, SurfacePlusEdges, TestLabelPlacementMapper
      
      Change-Id: I1ffa1462d6fb4aed3fb0ee60ec94ffae93b48fe0
      358a5887
  20. 30 Sep, 2013 1 commit
    • Marcus D. Hanwell's avatar
      Made the Filters modules a private dependency · 3c67759b
      Marcus D. Hanwell authored
      This makes the vtkFilters* modules a private dependency of the
      vtkRenderingCore library, and fixes any issues introduced in other
      modules that implicitly relied on these modules.
      
      Change-Id: I2421aa54fc5b9132e0b91ae404263c6f663822f2
      3c67759b
  21. 25 Sep, 2013 1 commit
    • Marcus D. Hanwell's avatar
      Removed the XML shaders and associated classes · 67cb974b
      Marcus D. Hanwell authored
      These have not been used in quite some time, add dependencies on XML
      in the core rendering API and have been superseded by their sequels.
      
      Disabled GenericVertexAttributes tests for now due to use of XML
      shader API, along with the materials object example.
      
      Change-Id: I3c57c46b1d3cc7f550bd30e1abcd6e5d87347d36
      67cb974b
  22. 13 Sep, 2013 1 commit
    • Burlen Loring's avatar
      Surface LIC : parallelization & fine tuning features · ad4dddfc
      Burlen Loring authored
      * Parallelization:
      Support for Multiblock datasets and MPI parallel usage. Three compositing
      strategies are provided, with a heuristic to automatically make a reasonable
      selection between them. [1] INPLACE, [2] INPLACE_DISJOINT, [3] BALANCED.
      The inplace strategy processes data where it falls given its parallel domain
      decomposition and projection to the screen. For simple surfaces such as
      slices where ranks/blocks data does not overlap in screen space this is the
      most efficient approach. However where ranks/blocks data have large amount
      of screen space overlap, this approach has high communication/compositing
      and overhead and a large amount of redundant computation that's discarded.
      The inplace-disjoint strategy was designed to address these issues. It
      leaves data inplace as much as possible but will assign pixels to ranks
      uniquely eliminating redundant computation. The communication costs are
      the same as the inplace strategy however they are split into two temporally
      disjoint parts with computation in between which tends to reduce congestion
      and contention. The balanced strategy divides the screen into equally sized
      disjoint regions and assigns each rank a region. This strategy can suffer
      from load balancing issues, and because no account is made of the initial
      data distribution it may have higher communication/compositing costs than
      the others. The parallel implementations have been tested with IceT in
      ParaView. The compositors uses non-blocking mpi communications, MPI
      subarrays for describing non-contoguous memory extents, and communicates
      efficiently by pasing mpi gpu mapped memory via extensions made to
      vtkPixelBufferObject. An object factory is used to override the serial
      objects with their parallel counterparts  when the parallel module is
      linked.
      
      * Contrast and Color Contrast Enhancement:
      The new contrast enhancement feature increases both dynamic range contrast
      while preserving patterns in the LIC. Contrast enhancment is implemented using
      histogram stretching. The color contrast enhancement is made in HSL space on
      the L channel to minimize color distortions. During the "enhanced" LIC mode
      contrast enhancement is also applied after the first pass of LIC compution.
      This helps strengthen streaking patterns.
      
      * Enhanced scalar color shading:
      A new mode has been added to the shader that shades surface geometry combining
      both LIC and scalar colors. The new shader produces bright colors without
      diminishing the visibility of the LIC by multiplying colored lit surface with
      computed LIC texture. The original blending implementation is left in place
      as it works well in many situations.
      
      * Noise texture customization:
      A new noise texture generator has been added to improve control over "streaking"
      in the convolved texture. The noise textures produced are fully customizable over
      9 degrees of freedom. [1] Noise distribution (Gaussian, Uniform, Perlin); [2] Noise
      texture size [3] Noise grain size [4,5] Min/max noise values [6] Number of noise
      levels; [7] Impulse noise probability; [8] Impulse noise background color; [9]
      Noise generator seed
      
      * Fragment masking controls:
      The new fragment masking provides controls over the color and intensity of masked
      fragments and their blending with scalars. Fragments are masked by threshold |V|<t,
      where t is a user specified threshold value, and V are mask vectors. Masking vectors
      can be optionally projected onto the surface or passed through un-modified so that
      threshold is provided in the original vector units and matches scalar color shading.
      
      * Vector Normalization Control:
      The new vector normalization control lets the user turn on and off normalization
      in the integrator. Disabling normalization can help highlight relative strengths
      in strongly varying regions of a flow field by making the amount of smoothing that
      occurs during convolution proportional to the flow strength.
      
      * Antialiasing:
      An optional anti-aliasing stage was added. In some cases the CE and EE stages
      produce streaks with sharp jagged transitions from black to white. The AA stage
      can be used to soften the result and smooth sharp transitions.
      
      * Optimizations:
      The implementation has been split into 8 major steps with the result of each stage
      cached in a texture.[1] Vector projection and lighting calculation; [2] Gather;
      [3] Compositingand guard pixel generation; [4] LIC Computation; [5] Scatter;
      [6] Scalar coloring; [7] Color contrast enhance; [8] Depth test. During user
      interaction stages that do not have modfied paramters or input data can be skiped
      using the cahced result instead.  This can save large amount of time for expensive
      operations such as projecting vectors, computing the LIC etc. Classes
      were added to simplify monitoring of various system paramters that would trigger
      an update, such as changes to lights, modelview or projection matrices, background
      color, etc. A new framebuffer object has been introduced, designed specifically
      for efficient buffer ping-pong, as well as efficiency improvements for setting
      shader unfiorms on inner parts of buffer ping-pong loops.
      
      * Porting and Testing:
      The code has been ported to Apple + ATI systems, and to OS Mesa with the gallium
      llvmpipe state tracker. A number of ctests have been introduced to excersize the
      new features. Parallel features have testing coverage in ParaView.
      
      Change-Id: I26f90a4e1e4e204289d38993d1e32fe5493b7a0d
      ad4dddfc
  23. 19 Aug, 2013 1 commit
    • Brad King's avatar
      COMP: Cleanup CMP0022 and CMP0023 warnings · ed6c07d0
      Brad King authored
      CMake 2.8.12 introduces policies CMP0022 and CMP0023 that trigger
      warnings in some of VTK's CMake code.  Fix them as follows.  The result
      is a cleaner and more explicit link specification anyway.
      
      CMP0022 warns when we set the LINK_INTERFACE_LIBRARIES property directly
      without also setting the newly introduced INTERFACE_LINK_LIBRARIES
      property directly.  Simply drop these settings because they are achieved
      already by use of the keyword-based target_link_libraries signature.
      
      CMP0023 warns when we use both the plain and keyword signatures of the
      target_link_libraries command for a single target.  The module macros
      use the keyword signature (LINK_PUBLIC/LINK_PRIVATE), so any direct
      calls to the plain target_link_libraries signature are doing "private"
      linking.  Add the LINK_PRIVATE keyword to such calls to make this
      explicit and avoid the warning.
      
      Change-Id: I1e5bf687733e3f19462da698c0d5e3899439bf02
      ed6c07d0
  24. 13 Aug, 2013 1 commit
  25. 16 Jul, 2013 1 commit
    • Utkarsh Ayachit's avatar
      Increasing timeout for test. · 4b20f9b1
      Utkarsh Ayachit authored
      With additional OpenGL checks, vtkRenderingOpenGLCxx-TestTextureSize  now takes
      longer than 90s on certain machines (dash3). Increasing the timeout to 300s
      which is typical for dashboards.
      
      Change-Id: Iac4f5ff3f9eb22d3af1caf7507a162c7fa6cce05
      4b20f9b1
  26. 11 Jun, 2013 1 commit
  27. 04 Jun, 2013 1 commit
    • Brad King's avatar
      Convert VTKData test inputs to ExternalData content links · 3797f83d
      Brad King authored
      Add to the Testing/Data directory ExternalData content links mirroring
      the content and layout we use from the VTKData/Data directory.
      
      Add a CMake/vtkLegacyData.cmake module, included from CMakeLists.txt and
      Testing/External/CMakeLists.txt, to call ExternalData_Expand_Arguments
      for all data directories added from VTKData/Data.  This will bulk-fetch
      all test input data currently used by tests of any module, enabled or
      not.  We can make the DATA{} references more granular later.
      
      Add a VTK_TEST_DATA_DIR variable to refer to the directory we tell the
      ExternalData module to populate the real data files.  Replace references
      to VTK_DATA_ROOT in test command lines (after -D) with references to
      VTK_TEST_DATA_DIR.  Drop the VTK_DATA_ROOT CMake option and stop using
      the VTKData repository.
      
      Remove the TESTING_DATA option from the vtk_add_test_cxx API and remove
      the VTK_DATA_ROOT option from the vtk_add_test_mpi API since all test
      input data are now handled t...
      3797f83d
  28. 31 May, 2013 1 commit
  29. 17 May, 2013 1 commit
  30. 14 May, 2013 2 commits
    • Brad King's avatar
      Mark non-baseline tests with NO_VALID option · 050fd10e
      Brad King authored
      Tell calls to vtk_add_test_(cxx|python|tcl) explicitly when there is no
      valid baseline image to avoid passing -V unnecessarily.
      
      Change-Id: Ibe5aecdfa076446ddda0b95e814483eb6622af73
      050fd10e
    • Brad King's avatar
      Use vtk_add_test_cxx function · 5b018861
      Brad King authored
      Refactor */*/Testing/Cxx/CMakeLists.txt to use the vtk_add_test_cxx
      function instead of direct add_test calls.
      
      Change-Id: I73dee627fa87a399c48b409af046b116fc75a0fd
      5b018861
  31. 02 May, 2013 1 commit
    • Kyle Lutz's avatar
      Refactoring code to set color/opacity/visibility for blocks. · 52fd8ad8
      Kyle Lutz authored
      This commit refactors some of the code added in recent weeks to add ability for
      users to set display paramaters for blocks within a composite dataset. This
      commit additionally adds support for changing block opacity.
      
      Blocks colors/opacities can also be overridden when using scalar coloring.
      The only issue is when depth-peeling gets used. In that case, point-data coloring
      with texture (i.e. using interpolate scalars before mapping) results in color
      bleeds. We need to dig into the depth peeling code to address that issue.
      
      Change-Id: I2c86912b45bc0516dc4dc726df9448e0569c8312
      52fd8ad8
  32. 24 Apr, 2013 1 commit
    • Yumin Yuan's avatar
      Added polygon selection to hardware selector. · 962324b7
      Yumin Yuan authored
      A new Interaction style is added, and the hardware selector is
      modifed to handle polygon selection. This new type of selection,
      like the rubber band selection, is also based on pixel buffer.
      
      Change-Id: Ic886670fb8cf1bb4a6471b239d8767c03cfea2dc
      962324b7
  33. 27 Feb, 2013 1 commit
  34. 22 Feb, 2013 1 commit
    • Bill Lorensen's avatar
      COMP: Restore TestOffAxisStereo on Mac · fc3db726
      Bill Lorensen authored
      The TestOffAxisStereo test was recently removed from Mac builds
      because of multi-month, recurring failures. In a recent topic,
      http://review.source.kitware.com/#/t/2193/ Aashish fixed issues with
      WindowToImageFilter that prevented some stereo tests from getting
      proper test images. This ended up TestOffAxisStereo which were also
      fixed.
      
      Change-Id: I6916219969520c688acdad3831ec8ecd96c224f7
      fc3db726
  35. 13 Feb, 2013 1 commit
    • Bill Lorensen's avatar
      ENH: CXX tests should not fail if VTK_DATA_ROOT is missing. · eb4be53c
      Bill Lorensen authored
      The vtkTestingInteractor was trying to run regression tests even if
      VTK_DATA_ROOT was not defined.
      
      Many Testing/Cxx CMakeLists.txt files tried to run tests that required
      input data, even though VTK_DATA_ROOT was not defined.
      
      Subsequent topics will address Tcl and Python tests.
      
      Change-Id: Iabf242f9f498ce044948ca1d4a29378b76ceb21d
      eb4be53c
  36. 08 Feb, 2013 1 commit
    • Bill Lorensen's avatar
      COMP: Adjust timeouts for long running tests · 45ed86e5
      Bill Lorensen authored
      Some tests require more than the 21 seconds allocated to cdash@home
      gerrit machines. The timeout was adjusted to accommodate the maximum
      run time over all vtk dashboard machines.
      
      Change-Id: Ibdbe17427bb7cb43f1e9d81ac0fe904b097f4f50
      45ed86e5
  37. 02 Feb, 2013 1 commit