1. 27 Jun, 2013 1 commit
  2. 17 Oct, 2012 1 commit
    • Utkarsh Ayachit's avatar
      Cleaned up API to control ordered compositing process order. · ceb22b45
      Utkarsh Ayachit authored
      When ordered compositing is enabled, ParaView determines the process order by
      partitioning the data using PKdTree. However, in some cases, like when volume
      rendering image-data, we need to override the partitioning using the partitions
      from the image data itself. This commit cleans up the API for proving such
      information to the view from a representation. In past it was tightly coupled
      with vtkImageData producer. This change makes it possible to just pass the
      meta-data about extent-translator to use, origin, spacing, extents etc. to
      generate the partitioning. This will make it possible for non-image data
      representations to provide this meta-data without having to create a
      vtkImageData.
      
      This removes obsolete vtkBSPCutsGenerator. Also vtkKdTreeManager now always
      regenerates the KdTree. The checks to avoid regenerating unless the input
      changed have been removed.
      
      Change-Id: I469f54ba931fd64f66097d0ea579e9d8652d9bfc
      ceb22b45
  3. 16 Oct, 2012 2 commits
    • Utkarsh Ayachit's avatar
      Fixed warnings. · 469e20a1
      Utkarsh Ayachit authored
      Change-Id: Iacd01dec15644152eb9d0ff26963b34e798846b3
      469e20a1
    • Utkarsh Ayachit's avatar
      Fixed BUG #13525. Avoid rendering pipeline resets when playing animation. · 07671104
      Utkarsh Ayachit authored
      When playing animation, display lists are always discarded even if pipeline data
      didn't change with time. Although the geometry filter and the vtkPVCacheKeeper
      in vtkGeometryRepresentation didn't re-execute, the data was still treated as
      modified. This was due to the logic in vtkPVDataDeliveryManager::SetPiece(). The
      code was implemented to look at the DataTime provided by the pipeline. That was
      done so that we could detect the change in data object when representation type
      changes. However, the same can be done simply by comparing the data-object
      pointer. Doing that addresses this bug as well.
      
      Note however, in client-server mode, we still would force delivery for all
      representations when time changes irrespective of whether the data really
      changed.
      
      Change-Id: I1b41778a5e3fcfa041ff48860c5311245a5182a7
      07671104
  4. 25 Sep, 2012 2 commits
  5. 22 Sep, 2012 3 commits
    • Utkarsh Ayachit's avatar
      Cleaning up unused code. · 8359c178
      Utkarsh Ayachit authored
      Cleaning up unused code in vtkPVDataDeliveryManager. That logic has now moved to
      the representations themselves.
      8359c178
    • Utkarsh Ayachit's avatar
      Adding support for streaming in client/server configurations. · f8e2dbff
      Utkarsh Ayachit authored
      "AMR Blocks" streaming now works in client-server with local or remote
      rendering. This updates the logic for delivering streamed pieces to rendering
      nodes. Although both remote/local rendering are supported for streaming, if the
      rendering mode is changed in between, the streaming is not restarted (currently)
      and hence the blocks already delivered will not be available on the other
      processes.
      
      Tile display configuration also works.
      f8e2dbff
    • Utkarsh Ayachit's avatar
      Refactors AMR streaming framework. · 52c7392f
      Utkarsh Ayachit authored
      This commit refactors AMR streaming framework and add support for a mechanism
      for streaming composite datasets in general. To try out amr streaming, run all
      executables with "--enable-streaming" flag and open an AMR Flash or Enzo dataset
      and render as "AMR Blocks" or "Volume" (currently, only works in builtin mode,
      but will be supported in other modes soon).
      
      vtkAMROutlineRepresentation is a example class that demonstrates how a
      representation can leverage the streaming capabailities provided by
      vtkPVRenderView.
      
      vtkPVRenderView adds support to two new passes: REQUEST_STREAMING_UPDATE() and
      REQUEST_PROCESS_STREAMED_PIECE().  REQUEST_STREAMING_UPDATE() is a view pass in
      which the representations can update their data pipelines to request a certain
      "piece" of the data. REQUEST_PROCESS_STREAMED_PIECE() is called on
      representations to handle a "piece" just received by the process. This
      separation makes it possible for representations to be agnostic of where the
      data is processed and where it is rendered. It's the reposibility of the view
      (vtkPVDataDeliveryManager in particular) to deliver the data to the
      rendering nodes.
      
      vtkPVDataDeliveryManager doesn't currently support data delivery for streamed
      pieces, however. That's on the TODO list.
      52c7392f
  6. 27 Aug, 2012 1 commit
  7. 28 Jun, 2012 1 commit
  8. 06 Jun, 2012 1 commit
    • Utkarsh Ayachit's avatar
      Fixing Streaming-Delivery after view refactor. · 515827f6
      Utkarsh Ayachit authored
      vtkPVDataDeliveryManager's internal were changed as we were cleaning up the code
      so that all ParaView use-cases work with the new delivery mechanism. Fixing
      StreamingDeliver() to work after those changes. AMR streaming volume rendering
      now works again when streaming is enabled.
      515827f6
  9. 28 May, 2012 3 commits
  10. 25 May, 2012 1 commit
    • Utkarsh Ayachit's avatar
      Fixed Slice representation in client-server modes. · 41b198fe
      Utkarsh Ayachit authored
      vtkPVDataDeliveryManager was ending up not requesting new data when slice
      parameters were changed. This happened because the mtime we used in
      vtkPVDataDeliveryManager used the data-time, which clearly didn't change on the
      client after every update. Since vtkPVDataDeliveryManager::SetPiece() uses the
      executive's data-time to check if data was really updated, we shouldn't use the
      data mtime in vtkPVDataDeliveryManager's SetDataObject() call.
      41b198fe
  11. 20 May, 2012 1 commit
    • Utkarsh Ayachit's avatar
      Cleaned up ordered compositing code. · d2fe1dd8
      Utkarsh Ayachit authored
      * Reintroduced support for generating kdtree using image data extents.
      * Restructured code to ensure redistribution happens correctly for every render.
        The previous implementation required that the client triggered the
        redistribution in Delivery() call which was not possible esp. as
        representations were added/removed (since Delivery() is only called when data
        really needs to be delivered which is not the case when representations are
        removed).
      d2fe1dd8
  12. 19 May, 2012 1 commit
    • Utkarsh Ayachit's avatar
      Refactoring surface-selection mechanism. · ef2cf1ae
      Utkarsh Ayachit authored
      * Surface selection now works in local-rendering mode (as well as remote
        rendering mode). It expects the vtkPVGeometryFilter to generate process ids
        (vtkProcessId) array in parallel. When present, it is used to determine the
        process id.
      * Selection rendering passes now render the "original ids" rather than the
        point/cell ids. Thus representations no longer need to "convert" selection.
        They just need to ensure that they render the correct ids in the selection
        rendering passes.
      
      This makes it possible to determine the "selection" directly on the client.
      Thus, we no longer need to gather the selection from the server side.
      ef2cf1ae
  13. 18 May, 2012 15 commits