Commit Graph

548 Commits

Author SHA1 Message Date
mclarsen
b03fec9a31 bvh device adpater banishment 2019-02-25 15:27:42 -08:00
mclarsen
8a38717c38 have make_shared call default constructor 2019-02-22 08:49:42 -08:00
mclarsen
3fae21fa7d no pointers 2019-02-22 08:22:29 -08:00
mclarsen
4cd4637c18 ray tracing now using shared pointers for intersectors 2019-02-22 08:06:04 -08:00
Haocheng LIU
d195240165 Refactor View class and fix its memory leak 2019-02-11 16:32:27 -05:00
Haocheng LIU
415252c662 Introduce asynchronous and device independent timer
The timer class now is asynchronous and device independent. it's using an
similiar API as vtkOpenGLRenderTimer with Start(), Stop(), Reset(), Ready(),
and GetElapsedTime() function. For convenience and backward compability, Each
Start() function call will call Reset() internally and each GetElapsedTime()
function call will call Stop() function if it hasn't been called yet for keeping
backward compatibility purpose.

Bascially it can be used in two modes:

* Create a Timer without any device info. vtkm::cont::Timer time;

  * It would enable timers for all enabled devices on the machine. Users can get a
specific elapsed time by passing a device id into the GetElapsedtime function.
If no device is provided, it would pick the maximum of all timer results - the
logic behind this decision is that if cuda is disabled, openmp, serial and tbb
roughly give the same results; if cuda is enabled it's safe to return the
maximum elapsed time since users are more interested in the device execution
time rather than the kernal launch time. The Ready function can be handy here
to query the status of the timer.

* Create a Timer with a device id. vtkm::cont::Timer time((vtkm::cont::DeviceAdapterTagCuda()));

  * It works as the old timer that times for a specific device id.
2019-02-05 12:01:56 -05:00
Robert Maynard
c501500e1d Install missing headers found by VTKmCheckSourceInInstall 2019-01-29 14:46:27 -05:00
Kenneth Moreland
887f79c6f4 Make a vtkm_worklet library
This is a library that contains parts of worklets that can be
precompiled into a library.

Currently, this library contains the implementation of ScatterCounting.
2019-01-23 17:09:15 -07:00
Robert Maynard
d6f66d17a3 Testing run methods now take argc/argv to init logging/runtime device
`vtkm::cont::testing` now initializes with logging enabled and support
for device being passed on the command line, `vtkm::testing` only
enables logging.
2019-01-17 13:16:27 -06:00
Haocheng LIU
2f20549b4b Merge rendering testing executables to a shared library
This commit allows rendering testing executables to select the device at runtime.
2019-01-14 14:20:00 -05:00
Kenneth Moreland
b2e20bf90e Fix issues from removing field type templates
The script fixed up most of the issues. However, there were some
instances that the script was not able to pick up on. There were
also some instances that still needed a means to select types.
2019-01-11 12:23:19 -07:00
Kenneth Moreland
2e426ad547 Run the update-control-signature-tags.sh script 2019-01-11 12:23:10 -07:00
Robert Maynard
f848bc3541 Correct warnings from switch statements with no case labels. 2019-01-10 15:16:53 -05:00
Robert Maynard
90bca8a53f Remove unnecessary constructor from IntersectionPointMap 2019-01-10 09:25:27 -05:00
Robert Maynard
0a40c620ac Rename ArrayHandleVariant to VariantArrayHandle. 2018-12-27 14:35:56 -05:00
Robert Maynard
09383ceb52 Update vtkm/rendering to work with vtkm::cont::ArrayHandleVariant 2018-12-27 14:35:56 -05:00
Robert Maynard
65b019d443 raytracing intersector kernels use FieldOut where appropriate.
Previously a couple used FieldInOut when they only needed FieldOut,
this can help performance if the input is not already on the device
2018-12-27 13:19:40 -05:00
Robert Maynard
7ba3c66727 Make sure rendering builds Actor with cuda as it calls worklets 2018-12-27 13:19:40 -05:00
Robert Maynard
36100311d0 BoundingVolumeHierarchy now uses Invoker to simplify worklet dispatching 2018-12-27 13:19:40 -05:00
Robert Maynard
fcced13475 Correct maybe-uninitialized warnings found from examples 2018-12-27 10:10:36 -05:00
mclarsen
8829004772 removing matrix inverse because of false negatives 2018-12-18 15:49:41 -08:00
larsen30@llnl.gov
361c5695bc adjusing ray start 2018-12-02 19:14:27 -08:00
Robert Maynard
b922851bf2 Correct rendering warning of a 64bit to 32bit conversion 2018-11-19 14:20:45 -05:00
Matt Larsen
27d7162b1e Merge topic 'partial_composites'
fd4ff8c1f adding files patch forgot
e03703578 removing unused variable
5a1685d8a updates to the connectivity tracer

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1447
2018-10-31 11:40:29 -04:00
Robert Maynard
169ca722b3 Redesign vtkm::cont::ColorTable to work with separable compilation. 2018-10-31 08:18:08 -04:00
Matt Larsen
fd4ff8c1f3 adding files patch forgot 2018-10-30 08:18:56 -07:00
Matt Larsen
e037035780 removing unused variable 2018-10-30 08:09:11 -07:00
Matt Larsen
5a1685d8aa updates to the connectivity tracer 2018-10-30 07:46:42 -07:00
Robert Maynard
184bdf9d60 Test rendering with OpenMP 2018-10-24 15:39:54 -04:00
Robert Maynard
9403bac1f6 VTK-m device side math functions need to use the vtkm:: wrappers 2018-10-18 13:57:53 -04:00
Robert Maynard
96ba37d16b Merge topic 'make_more_arrays_constexpr'
5c5ca3ad9 Mark more data arrays as constexpr instead of just const.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Matt Larsen <mlarsen@cs.uoregon.edu>
Merge-request: !1423
2018-10-08 08:38:23 -04:00
Robert Maynard
5c5ca3ad9e Mark more data arrays as constexpr instead of just const. 2018-10-05 14:52:55 -04:00
luz.paz
d5beb69ec1 Misc. typos
Found via `codespell`
2018-10-04 10:30:33 -04:00
mclarsen
795aee6fc7 correcting error when building a BVH with a single primitive 2018-09-25 19:27:12 -07:00
mclarsen
09ed5871b6 adding switch for ray tracer shadning 2018-09-25 11:31:37 -07:00
mclarsen
bc4d034f8f fixing compositing error 2018-09-25 09:59:59 -07:00
mclarsen
3ec577f4cd fixing debug prints and removing commented out code 2018-09-20 08:13:15 -07:00
mclarsen
44feb92066 removing print statements 2018-09-13 09:18:18 -07:00
mclarsen
09b880aeb9 fixing shadow variable caused by bad conflict resolution 2018-09-12 19:46:07 -07:00
mclarsen
0e7e51a1ce resolving merge conflict 2018-09-12 18:58:33 -07:00
mclarsen
0b99ff5796 adding doxygen comments to new rendering 2018-09-12 07:41:37 -07:00
mclarsen
9751eed4f9 adding more missing files 2018-09-10 20:27:34 -07:00
mclarsen
20c5c97cd2 adding missing files 2018-09-10 20:00:04 -07:00
mclarsen
6362978ab2 adding more ray tracing files 2018-09-10 19:56:57 -07:00
mclarsen
1c2f78ca92 refactoring ray tracing 2018-09-10 19:25:42 -07:00
Kenneth Moreland
62d3b9f4fb Correct warning about potential divide by zero
I'm not sure why this warning suddenly popped up, but this was an easy
fix.
2018-09-05 15:28:26 -06:00
Kenneth Moreland
d879188de0 Make DispatcherBase invoke using a TryExecute
Rather than force all dispatchers to be templated on a device adapter,
instead use a TryExecute internally within the invoke to select a device
adapter.

Because this removes the need to declare a device when invoking a
worklet, this commit also removes the need to declare a device in
several other areas of the code.
2018-08-29 19:18:54 -07:00
Robert Maynard
61c2cac35c MapperGL uses new ColorTable PrepareForExecution. 2018-08-28 16:29:31 -07:00
mclarsen
bed31eb80f turning off debug prints 2018-08-26 20:06:14 -07:00
mclarsen
93175fecdc fixing ray resize with composite vector 2018-08-22 19:59:42 -07:00