1. 09 Apr, 2015 2 commits
    • David C. Lonie's avatar
      Update baselines. · 1942a721
      David C. Lonie authored
      1942a721
    • 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
  2. 16 Mar, 2015 1 commit
  3. 03 Feb, 2015 1 commit
  4. 11 Dec, 2014 2 commits
    • 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
    • Sean McBride's avatar
      Unified mixed unsigned char/int usage to bool · b54bce1d
      Sean McBride authored
      Fixes -Wconversion warnings that pointed out the mixed use of
      unsigned char and int in these APIs.
      
      Switched to bool since the comments describe it as a 'flag'
      
      This is an API change, but shouldn't cause much trouble I hope.
      
      Change-Id: I0ded5ea638c646f9e5c7aa792fe93784cb9025b4
      b54bce1d
  5. 04 Nov, 2014 1 commit
    • Dave DeMarle's avatar
      fix a bug in value painting for cell arrays · 78108633
      Dave DeMarle authored
      I wasn't rendering the correct values because I didn't have the right
      ids. With small data the cellarray and polydata indices happened to
      be the same. In general they won't be.
      
      Change-Id: Id1186c8fab3b0ba0ff2e640a6fd3d6075f690516
      78108633
  6. 29 Oct, 2014 2 commits
    • Ken Martin's avatar
      Restore file that was accidentally changed · 4362136d
      Ken Martin authored
      Change-Id: I262b5e05433c1677c5c8fc5e14aaabc07ec0d68c
      4362136d
    • Ken Martin's avatar
      Get render passes working in OpenGL2 · f15f4bfe
      Ken Martin authored
      Add in a bunch of render pass classes that were previously removed.
      At the same time get the GaussianBlurPass and SobelGradientMagnitude
      classes to work with the new backend.
      This code now exercises a few methods that previously were not
      previously exercised. As such I made some significant changes to those
      methods to make them fit in better with the new architecture.
      
      In the process of testing I did find a calculation error in the old
      code related to cmoputing camera angles. I fixed this issue in both the
      old and new rendering backend.
      
      The tests for these passes were modified to not use the DepthPeelingPass
      as that pass has not been converted yet.
      
      Change-Id: Ie40231385291aa06848034460817b171e60f7a53
      f15f4bfe
  7. 01 Oct, 2014 1 commit
  8. 25 Sep, 2014 1 commit
  9. 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
  10. 22 Jul, 2014 2 commits
    • Sean McBride's avatar
      Changed public API of vtkGPUInfo to return vtkTypeUInt64 for memory sizes. · 7399f6db
      Sean McBride authored
      It previously used vtkIdType which could be 32 bit even on 64 bit systems.
      Fixes overflow in the case of 32 bit vtkIdType and GPUs with more
      than 2 GiB of memory.
      
      Also changed "MB" to "MiB" in test output, since it's base 2.
      
      Change-Id: I23ba36647596cc49e3a65fab5784e18c021070e1
      7399f6db
    • 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
  11. 18 Jun, 2014 2 commits
  12. 06 Jun, 2014 1 commit
  13. 30 May, 2014 1 commit
  14. 16 May, 2014 1 commit
  15. 14 May, 2014 2 commits
  16. 02 May, 2014 1 commit
    • David Gobbi's avatar
      Add SetSlabModeToSum() to vtkImageResliceMapper. · 048419fb
      David Gobbi authored
      This change allows vtkImageResliceMapper to produce images that look
      like digitally reconstructed radiographs.  It required a new property
      to be added to vtkImageReslice, called ScalarScale, so that the output
      intensity can be appropriately scaled to the slab thickness, which is
      specified in physical units of distance (typically millimeters).  An
      existing test was modified in order to test this new feature.
      
      A ScalarShift property was also added for symmetry with ScalarScale,
      plus an OutputScalarType property so that vtkImageReslice can output a
      different scalar type than its input (useful for avoiding overflow with
      SetSlabModeToSum()).
      
      This change also fixes a performance issue that was introduced in August
      2011 when the SetInterpolator() method was added: that change caused the
      scalar conversion to always clamp to the limits of the output type, even
      when clamping was unecessary.  Now, clamping is only done when needed.
      
      Change-Id: I5e55db509e8ec537632a7a7e063a3bc0c50d9d20
      048419fb
  17. 16 Apr, 2014 4 commits
  18. 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
  19. 17 Mar, 2014 1 commit
  20. 24 Feb, 2014 1 commit
    • Sankhesh Jhaveri's avatar
      ENH: Enable selection of translucent geometry · 4724a470
      Sankhesh Jhaveri authored
      vtkHardwareSelector was skipping all translucent geometry and selecting only
      opaque geometry. This change enables selection of translucent as well as opaque
      geometry. Totally transparent (opacity = 0.0) is skipped.
      This change fixes ParaView issue 14412
      
      Change-Id: Ic8ead1534b4f24695e5138fc8207250f25450508
      4724a470
  21. 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
  22. 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
  23. 09 Jan, 2014 1 commit
  24. 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
  25. 13 Nov, 2013 1 commit
  26. 10 Nov, 2013 2 commits
  27. 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
  28. 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
  29. 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
  30. 01 Sep, 2013 1 commit