Commit Graph

790 Commits

Author SHA1 Message Date
Matt Larsen
458be65e9b fix logic error 2020-02-17 19:06:28 -08:00
Matt Larsen
b4b7519584 let there be scalar things 2020-02-17 19:00:09 -08:00
Matt Larsen
1fc064dcf8 create scalar renderer 2020-02-09 08:57:32 -08:00
mclarsen
9e77a8b4cd add files for a scalar renderer 2020-02-07 20:30:55 -08:00
mclarsen
d4305c0435 remove unused variable 2020-02-07 15:16:09 -08:00
James
6162fdc591 Moving new test code to the Testing.h header. 2020-01-08 14:32:15 -05:00
James
9d7fc3e6aa Merge branch 'Enhance-Testing-With-Data-From-Files' of https://gitlab.kitware.com/jameskress/vtk-m into Enhance-Testing-With-Data-From-Files 2020-01-08 09:34:42 -05:00
James
10d9f89258 Making the test data path available via a static function call. 2020-01-07 15:56:00 -05:00
James
743094ffc9 Adding parser for arguments. 2019-12-17 11:07:47 -05:00
James
7e3178ffe4 Starting to add data directory to unit tests. 2019-12-10 13:56:31 -05:00
Kenneth Moreland
d5fe4046c5 Remove instances of ListTag in favor of List 2019-12-06 21:32:36 -07:00
Kenneth Moreland
92db376236 Convert uses of ListTagBase to List 2019-12-06 15:37:46 -07:00
Kenneth Moreland
cd302effb3 Update lists in TypeListTag.h
A new header named TypeList.h and the type lists have been redefined in
this new file. All the types have been renamed from `TypeListTag*` to
`TypeList*`. TypeListTag.h has been gutted to provide deprecated
versions of the old type list names.

There were also some other type lists that were changed from using the
old `ListTagBase` to the new `List`.
2019-12-05 11:05:19 -07:00
mclarsen
c021ef1887 remove serial only timers to avoid warnings 2019-11-25 08:38:36 -08:00
Allison Vacanti
3886b7dfb8 Refactor CellSetExplicit to remove NumIndices.
See #408 for details.
2019-09-30 12:27:13 -04:00
Robert Maynard
3b89bc0db2 CellSet classes don't require a name 2019-09-02 10:39:58 -04:00
Robert Maynard
89fa2c0293 Remove multiple vtkm::cont::CellSet from vtkm::cont::DataSet
By removing the ability to have multiple CellSets in a DataSet
we can simplify the following things:

  - Cell Fields now don't require a CellSet name when being constructed
  - Filters don't need to manage what the active cellset is
2019-09-02 09:04:51 -04:00
Robert Maynard
031407443d Provide simplified way to construct point and cell fields 2019-08-15 11:03:41 -04:00
Allison Vacanti
5db762ee71 Refactor topology mappings to clarify meaning.
The `From` and `To` nomenclature for topology mapping has been confusing for
both users and developers, especially at lower levels where the intention of
mapping attributes from one element to another is easily conflated with the
concept of mapping indices (which maps in the exact opposite direction).

These identifiers have been renamed to `VisitTopology` and `IncidentTopology`
to clarify the direction of the mapping. The order in which these template
parameters are specified for `WorkletMapTopology` have also been reversed,
since eventually there may be more than one `IncidentTopology`, and having
`IncidentTopology` at the end will allow us to replace it with a variadic
template parameter pack in the future.

Other implementation details supporting these worklets, include `Fetch` tags,
`Connectivity` classes, and methods on the various `CellSet` classes (such as
`PrepareForInput` have also reversed their template arguments. These will need
to be cautiously updated.

The convenience implementations of `WorkletMapTopology` have been renamed for
clarity as follows:

```
WorkletMapPointToCell --> WorkletVisitCellsWithPoints
WorkletMapCellToPoint --> WorkletVisitPointsWithCells
```

The `ControlSignature` tags have been renamed as follows:

```
FieldInTo --> FieldInVisit
FieldInFrom --> FieldInMap
FromCount --> IncidentElementCount
FromIndices --> IncidentElementIndices
```
2019-08-06 11:27:26 -04:00
Robert Maynard
2eeeafc1f5 Merge topic 'move_invoker_to_cont'
7e04b0511 Move Invoker into vtkm/cont

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !1745
2019-08-01 12:36:00 -04:00
Robert Maynard
7e04b0511f Move Invoker into vtkm/cont
The Invoker is a control side object that handles the construction
of the relevant worklet dispatcher. Moving it to control makes it
obvious that it isn't an algorithm itself but a way to launch
worklets.
2019-08-01 12:34:27 -04:00
Kenneth Moreland
0be50c119d Update VTK-m code to use new Vec aliases
Should make the code easier to read.
2019-07-31 12:55:40 -06:00
Robert Maynard
46a1df6c18 DecodePNG uses the namespaced lodepng from thirdparty/ 2019-07-17 14:21:33 -04:00
Robert Maynard
e934e2273c vtkm_library WRAP_FOR_CUDA renamed to clarify the intent of the property
We want the option name to be clear that it might be applicable for
more than just CUDA. If VTK-m ever supported something like SYCL
it would not be clear that those sources should go in `WRAP_FOR_CUDA`.
2019-07-09 13:04:07 -04:00
Mark Kim
cffd3873fc Merge branch 'advdatamodel' 2019-06-20 22:20:44 -04:00
Mark Kim
6e1d3a84f0 First Extrude commit.
how did any of this work?

match other CellSet file layouts.

???

compile in CUDA.

unit tests.

also only serial.

make error message accurate

Well, this compiles and works now.

Did it ever?

use CellShapeTagGeneric

UnitTest matches previous changes.

whoops

Fix linking problems.

Need the same interface

as other ThreadIndices.

add filter test

okay, let's try duplicating CellSetStructure.

okay

inching...

change to wedge in CellSetListTag

Means changing these to support it.

switch back to wedge from generic

compiles and runs

remove ExtrudedType

need vtkm_worklet

vtkm_worklet needs to be included

fix segment count for wedge specialization

need to actually save the index

for the other constructor.

specialize on Explicit

clean up warning

angled brackets not quotes.

formatting
2019-06-20 22:17:24 -04:00
Robert Maynard
23aeff054e vtkm_rendering now uses vtkm/thirdparty/lodepng
Previously it used a version of the decode routines from lodepng
inside the decode functionality.
2019-06-19 14:39:46 -04:00
Robert Maynard
fa03dc664a ScopedRuntimeDeviceTracker requires a device to execute on when constructed.
To simplify using the ScopedRuntimeDeviceTracker it now takes the
device id you want to run on during construction.
2019-05-21 11:17:37 -04:00
Robert Maynard
e9482018ee ScopedRuntimeDeviceTracker has the same API as RuntimeDeviceTracker 2019-05-15 17:26:31 -04:00
Robert Maynard
674fe1fbf2 StealArray now returns the array and free function as a Pair.
This helps reduces bugs when the callers ask to steal arrays
without getting the free function, or ask for the free function
after stealing the array.
2019-05-01 09:42:57 -04:00
Robert Maynard
ff687016ee For VTK-m libs all includes of DeviceAdapterTagCuda happen from cuda files
It is very easy to cause ODR violations with DeviceAdapterTagCuda.
If you include that header from a C++ file and a CUDA file inside
the same program we an ODR violation. The reasons is that the C++
versions will say the tag is invalid, and the CUDA will say the
tag is valid.

The solution to this is that any compilation unit that includes
DeviceAdapterTagCuda from a version of VTK-m that has CUDA enabled
must be invoked by the cuda compiler.
2019-04-22 10:39:54 -04:00
nadavi
fbcea82e78 conslidate the license statement 2019-04-17 10:57:13 -06:00
Robert Maynard
ff30684c8e Removes the default device macros from VTK-m
Fixes #116
2019-04-15 08:15:36 -04:00
Kenneth Moreland
04254dbd25 Merge topic 'specialize-worklet-for-device'
4e34feecb Add ability to specialize worklet for device

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !1608
2019-04-02 12:08:01 -04:00
Kenneth Moreland
4e34feecb4 Add ability to specialize worklet for device
This adds an ExecutionSignature tag named Device that passes the
DeviceAdapterTag as an argument to the worklet's operator(). This allows
worklets to specialize their code based on the device.
2019-04-01 10:01:54 -06:00
Robert Maynard
18ff6681fb Less vtkm_cont cxx files bring in the cuda device
When you have CUDA enabled we need to make sure that all worklet
launches come from a cuda file otherwise we will generate ODR
violations.
2019-04-01 08:21:07 -04:00
Robert Maynard
ae11e115a0 RuntimeDeviceTracker: Remove Global from names 2019-03-22 08:53:26 -07:00
Matt Larsen
cbe9b261ed Merge topic 'fix/rendering_ctable_sampling'
82e230093 forcing serial sample again
b509081a9 Just disable CUDA for ctable sampling
cc20f8019 forcing color table sampling to be serial inside rendering lib

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1580
2019-03-15 18:31:14 -04:00
Sujin Philip
d4e1c18254 Update existing code to use the new functions 2019-03-15 13:28:55 -04:00
mclarsen
82e2300934 forcing serial sample again 2019-03-15 10:08:43 -07:00
mclarsen
b509081a9d Just disable CUDA for ctable sampling 2019-03-14 13:57:17 -07:00
mclarsen
cc20f80196 forcing color table sampling to be serial inside rendering lib 2019-03-14 13:28:13 -07:00
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
luz.paz
7f9b54a31a Misc. typos
Found via `codespell -q 3`
2018-08-07 17:50:41 -04:00
mclarsen
e42ea9e830 fixing bvh warning with gcc8 2018-07-30 12:56:12 -07:00
mclarsen
a07ca2efcc add RunTriangulator to device sources so it can run with cuda 2018-07-23 19:54:10 -07:00
Kenneth Moreland
b4bfb95131 Merge topic 'atomic-array-device-execution'
96ae94420 Simplified execution object creation for atomic array
0bd197af9 moved TwoLevelUniformGridExecutionObject to vtkm/exec/internal
6ce895be8 simplified how atomic arrays create execution objects
f1ee5b92a fix a rebase error
25d140361 fix bad rabse for wireframer
f892695f1 fixing so wierd merging issue
9bb00ec66 moved the execution object for TwoLevelUniform grid to vrkm::exec
db1c9bfee Change the namespacing of atomic array
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1243
2018-07-18 18:08:05 -04:00
Robert Maynard
bf49575e00 Remove unneeded typeinfo includes 2018-07-17 11:41:53 -04:00
Matthew Letter
f1ee5b92ae fix a rebase error
there was an error rabasing on master that removed these lines of code this commit fixes that error
2018-07-09 14:23:09 -06:00
Matthew Letter
25d1403615 fix bad rabse for wireframer
applied master to wireframmer and applied my changes back over it to fix a possible bad rebase
2018-07-03 15:52:53 -06:00
Matthew Letter
db1c9bfeee Change the namespacing of atomic array
moved the execution object to vtkm::exec and AtomicArray to vtkm::cont
2018-07-02 16:25:48 -06:00
Matthew Letter
6b9cb536a8 added new lines at the end of bot recommended files 2018-07-02 16:21:00 -06:00
Matthew Letter
3c9e7f049f updated Atomic array to use new excution object paradigm 2018-07-02 16:21:00 -06:00
luz.paz
940c891886 Misc. typos
Found via `codespell` and `grep`
more typos

includes source typo change and a typo that needs further review
follow-up typos


Follow-up typos


Revert a commit
2018-06-14 16:49:11 -04:00
mclarsen
2780bf4d37 removing extra ; 2018-06-06 15:17:25 -07:00
mclarsen
75f911cf77 Fixing default sample distance 2018-06-06 15:08:11 -07:00
Allison Vacanti
ec0791e941 Add a swap implementation that works on all backend.
Calling std::swap isn't legal from CUDA code, but the new vtkm::Swap
method is safe. It currently does a naive swap when compiling CUDA
code, and falls back to an ADL swap
2018-06-01 14:13:46 -04:00
Allison Vacanti
d833d9285f Merge topic 'openmp'
183bcf109 Add initial version of an OpenMP backend.
7b5ad3e80 Expand device scheduler test to check for overlap.
e621b6ba3 Generalize the TBB radix sort implementation.
d60278434 Specialize swap for ArrayPortalValueReference types.
761f8986f Cache inputs to SSI::Unique benchmark.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1099
2018-05-31 16:49:15 -04:00
Allison Vacanti
183bcf109a Add initial version of an OpenMP backend. 2018-05-31 16:47:48 -04:00
Haocheng LIU
3700897af6 Supress declaration warning in VolumeRendererStructured 2018-05-31 09:27:49 -04:00
Allison Vacanti
93506d25e2 Change function signatures to use 'using' aliases.
Also cleaned up some lingering type typedefs.
2018-05-25 17:18:41 -04:00
Allison Vacanti
cf358bdc84 Ensure that LinearBVH template codes are exported on all compilers. 2018-05-24 15:48:09 -04:00
Haocheng LIU
5c797169ec Use the strong typed enums for vtkm::cont::Field
Since Field association is used either when creating or working
with 'vtkm::cont::Field', it's put in the class itself.
2018-05-22 11:44:51 -04:00
Haocheng LIU
fae8409c9c Add float version operations for vtkm::Math Pi()
This commit also removes the old static_cast<vtkm::float32>vtkm::Pi() usages and
fix serveral conversion warnings.
2018-05-21 10:58:15 -04:00
David Thompson
1cf1ca7141 Merge topic 'cell-measure'
00c7905a Rename `vtkm::dot()` to `vtkm::Dot()`.
dd7c17f7 Compute cell measures (arc length, area, volume).

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1203
2018-05-17 11:02:34 -04:00
David Thompson
00c7905afb Rename vtkm::dot() to vtkm::Dot().
This keeps the old name around but prepares it for removal
in the next release.
2018-05-17 08:51:01 -04:00
Allison Vacanti
c3c8d0fd70 Refactor ArrayHandleCompositeVector to simplify usage and impl.
- Use tao::tuple instead of FunctionInterface to hold array/portal
  collections.
- Type signatures are simplified. Now just use:
  - ArrayHandleCompositeVector<ArrayT1, ArrayT2, ...>
  - make_ArrayHandleCompositeVector(array1, array2, ...)
  instead of relying on helper structs to determine types.
- No longer support component selection from an input array. All
  input arrays must have the same ValueType (See ArrayHandleSwizzle
  and ArrayHandleExtractComponent as the replacements for these
  usecases.
2018-05-16 11:45:12 -04:00
Kenneth Moreland
0753131a04 Replace ExecutionObjectFactoryBase with ExecutionObjectBase
While making changes to how execution objects work, we had agreed to
name the base object ExecutionObjectBase instead of its original name of
ExecutionObjectFactoryBase. Somehow that change did not make it through.
2018-05-10 17:53:39 -06:00
Kenneth Moreland
b71416606b Merge topic 'fix-aspect-projections'
0da55730 Fix scaling of x/y field of views
39b347db Fix raytrace using wrong fov with standard camera

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1185
2018-05-09 16:02:40 -04:00
Robert Maynard
62c7b745df VTK-m MortonCodes on GCC 7 was generating maybe-uninitialized warnings.
The id4 while always valid is constructed using a lookup table and the
compiler can't see if that will always be a valid vec 4.
2018-05-08 15:45:38 -04:00
Kenneth Moreland
0da5573085 Fix scaling of x/y field of views
Prevously, the x field of view was computed by scaling the y field of
view by the aspect ratio of the canvas. However, this is wrong because
the field of view angles do not scale linearly with the aspect ratio.
Fix this issue by using trig functions to convert the angle to distance,
scale the distance, and then convert back to angle.
2018-05-07 18:40:45 -06:00
Kenneth Moreland
39b347dbd0 Fix raytrace using wrong fov with standard camera
The raytracing code has its own version of camera that maintains two
field of view (fov) parameters: one for the x direction and one for the
y. The standard vtkm::rendering::Camera contains only one fov. As is
consistent with OpenGL's gluPerspective and VTK's camera, the fov is
specified in the y direction. However, the raytracing code was
incorrectly using it in the x direction. That caused it to do a weird
rescaling when the aspect ratio was not 1.
2018-05-07 18:03:03 -06:00
Robert Maynard
fb0da7f2de Allow vtkm_find_gl CMake function to be used no matter vtk-m settings
Previously vtkm_find_gl was only usable when rendering was enabled.
This is problematic as examples would use vtkm_find_gl even if
they didn't use vtkm rendering library.
2018-05-04 15:01:06 -04:00
Matthew Letter
5d1e8cccb4 corrected logical error in texture2d and cleaned up particles.h
cleaned up a logic error texture2d and cleaned how the constructor for execution object was being called. Also, went and cleaned up how the execution object was being created for particle to align it with the same method for creating the execution object.
2018-05-03 14:45:22 -06:00
Matthew Letter
7eb3556491 Created an execution object for Texture2D
abstracted out the execution object from the execution object factory and removed the device template from the factory.
2018-05-03 14:45:22 -06:00
Matthew Letter
af250acbfc added PrepareForExecution to compile code base
added prepare for execution function to all the execution object factories that did not have it implemented to compile the code base
2018-05-03 14:45:22 -06:00
Matthew Letter
7e5a55881b changes typechecks for execution objects
In order to make the change from the current way execution obejcts are utilized to the new proposed executionObjectFactory process type checks now has to look for the new execution object factory class to check against.
2018-05-03 14:45:21 -06:00
Kenneth Moreland
edc4c85fd9 Move Scatter from Worklet to Dispatcher
Previously, when a Worklet needed a scatter, the scatter object was
stored in the Worklet object. That was problematic because that means
the Scatter, which is a control object, was shoved into the execution
environment.

To prevent that, move the Scatter into the Dispatcher object. The
worklet still declares a ScatterType alias, but no longer has a
GetScatter method. Instead, the Dispatcher now takes a Scatter object in
its constructor. If using the default scatter (ScatterIdentity), the
default constructor is used. If using another type of Scatter that
requires data to set up its state, then the caller of the worklet needs
to provide that to the dispatcher. For convenience, worklets are
encouraged to have a MakeScatter method to help construct a proper
scatter object.
2018-04-27 00:43:51 -04:00
Robert Maynard
4b9a8143c8 Correct 'may be used uninitialized in this function' warnings in wavelets 2018-04-24 13:27:51 -04:00
Robert Maynard
ebf96077fd Correct casting warnings found inside vtkm_rendering 2018-04-24 13:00:33 -04:00
James
a79b4c2ff2 Removing move command to remove warnings. 2018-04-10 10:27:12 -04:00
James
02a67d64bf Merge remote-tracking branch 'upstream/master' into rendering-label-leak 2018-04-09 14:11:43 -04:00
James
3bab4087dc Adding delete and assignment oeprators to annotations. 2018-04-09 14:09:52 -04:00
James
e3ccd7f86c Adding previous cmake fix. 2018-04-09 14:04:52 -04:00
Robert Maynard
84311a2453 Merge branch 'master' into cmake_refactor 2018-04-05 10:18:36 -04:00
James
9f32bbe0a7 Merge branch 'rendering-label-leak' of https://gitlab.kitware.com/jameskress/vtk-m into rendering-label-leak 2018-04-03 09:26:53 -04:00
James
7906e89ed4 Updating leak fix to use uniq_ptr. 2018-04-03 09:26:00 -04:00
Kenneth Moreland
a3b2c3931d Remove default constructor for ColorTable
The problem is that there is no good "default" constructor for
ColorTable. The previous default constructor created an empty color
table, but that would be confusing if someone actually tried to use it.
We could set ot to the default preset, but the default preset uses the
diverging color map, which could foul people up if they actually want to
edit or create their own color map. Instead, force the declaration of
ColorTable to indicate what you plan to do with it.
2018-04-02 11:44:17 -06:00
James Kress
b92c4801c8 Update CMakeLists.txt 2018-04-02 09:43:39 -04:00
James
70c50f72e5 Fixing mem leak with rendering annotations. 2018-04-02 09:38:22 -04:00
James
12dd2be12b Updating to master 2018-04-02 09:24:50 -04:00
Robert Maynard
8808b41fbd Merge branch 'master' into vtk-m-cmake_refactor 2018-03-29 22:51:26 -04:00
Kenneth Moreland
90b925ba6d Fix off-by-one-overrun of color table map array
The display of a color bar in an OpenGL canvas had an array overrun.
This method first used ColorTable to create an array of colors. It then
used the array to look up values for polygons that make up the color
bar. However, each polygon used indices i and i+1, and on the last value
the i+1 looked pass the end of the array. This fixes the problem by
adding one more value to the color array generated.
2018-03-29 14:19:22 -06:00
Robert Maynard
944bc3c0d6 Introduce vtkm::cont::ColorTable replacing vtkm::rendering::ColorTable
The new and improved vtkm::cont::ColorTable provides a more feature complete
color table implementation that is modeled after
vtkDiscretizableColorTransferFunction. This class therefore supports different
color spaces ( rgb, lab, hsv, diverging ) and supports execution across all
device adapters.
2018-03-28 16:11:23 -04:00
Kenneth Moreland
1fe7869211 Resurrect function to get face indices
Due to recent changes to remove static arrays that are not supported on
some devices, the function to return all the local point indices on a
face was removed. That left no way to get the structure of cell faces
short of pulling an internal data structure.

This change resurrects a function to get point indices for a face. The
interface for this method has necessarily changed, so I also changed the
corresponding function for getting edge indices.
2018-03-22 22:37:33 -06:00
Kenneth Moreland
6a6ac7cd82 Change filter to pass all fields by default
You can still select independent fields with a FieldSelection object if
desired.
2018-03-21 12:43:11 -06:00
Utkarsh Ayachit
9cf5be2f8e Make Result constructor as explicit.
This avoid accidental conversions from DataSet to Result in return
values. This exposed several issues with filters and their tests. Fixed
those as well.
2018-03-13 13:54:21 -04:00
Robert Maynard
e35eec4a92 Merge topic 'virtual_coordinate_system_workarounds'
cbadd3e6 Make CoordinateSystem not fail on CUDA

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Acked-by: Matt Larsen <mlarsen@cs.uoregon.edu>
Merge-request: !1108
2018-03-13 08:31:53 -04:00
Robert Maynard
cbadd3e67e Make CoordinateSystem not fail on CUDA 2018-03-10 16:38:41 -05:00
Robert Maynard
7c54125b66 Switch over from static const to static constexpr where possible. 2018-03-10 11:39:58 -05:00
Robert Maynard
601a839d5d VTK-m uses static const/constexpr when supported ( so not on cuda 7.5 )
These changes now allow VTK-m to compile on CUDA 7.5 by using const arrays,
when compiling with CUDA 8+ support we upgrade to static const arrays, and
lastly when CUDA is disabled we fully elevate to static constexpr.
2018-02-26 16:41:29 -05:00
Robert Maynard
ee69c7a4b7 Remove VS2013 workarounds from VTK-m. 2018-02-23 15:39:39 -05:00
Robert Maynard
e630ac5aa4 Merge branch 'master' into vtk-m-cmake_refactor 2018-02-23 14:52:00 -05:00
luz.paz
9b4306187c Follow-up typo 2018-02-12 20:48:57 -05:00
luz.paz
366377ad64 fixed revision 2018-02-09 15:00:44 -05:00
luz.paz
1e69b1a053 Follow-up misc. typos
Found via `codespell -q 3`
2018-02-09 15:00:44 -05:00
Robert Maynard
022c987182 Correct warnings and errors found with MSVC2017+CUDA9 2018-01-31 15:58:45 -05:00
Matt Larsen
d476adf1f6 fixing issue with volume renderer where initial samples were outside the cell set 2018-01-30 14:46:34 -08:00
Robert Maynard
82dfc0e690 correct shadow warning in ConnectivityTracer 2018-01-30 08:49:49 -05:00
luz.paz
45239449a6 More typos
these need a little  more review.
2018-01-30 06:51:47 -05:00
luz.paz
80b11afa24 Misc. typos
Found via `codespell -q 3` via downstream VTK
2018-01-30 06:51:47 -05:00
Matt Larsen
cee6e243fb Merge topic 'annotations_enhancement'
c6565cde correcting compile error with CanvasGL
c57fad48 Depth no considered with annotations. Fix for volume renderer. Consistent color blending.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1068
2018-01-29 19:40:50 -05:00
Matt Larsen
c6565cdecb correcting compile error with CanvasGL 2018-01-29 13:41:06 -08:00
Matt Larsen
c57fad48ee Depth no considered with annotations. Fix for volume renderer. Consistent color blending. 2018-01-29 11:39:21 -08:00
Sujin Philip
b5f71644fe Add IsType to ArrayHandleVirtualCoordinates
Makes the interface compatible with DynamicArrayHandle.
2018-01-25 11:02:52 -05:00
Matt Larsen
dd3901094d Merge topic 'colorbar_enhancement'
b420a4b3 fixing typo
2bb64e65 fixing opacity for veritical bar
80081f2a adding finer grain control over color bar and scalar field label

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1063
2018-01-23 15:42:22 -05:00
Matt Larsen
b420a4b3d2 fixing typo 2018-01-18 15:01:15 -08:00
Matt Larsen
2bb64e6598 fixing opacity for veritical bar 2018-01-18 14:57:40 -08:00
Matt Larsen
80081f2a1b adding finer grain control over color bar and scalar field label 2018-01-18 13:21:39 -08:00
Ben Boeckel
9ce4bfe5af cmake: allow embedded vtk-m to not use cache variables
Projects might want to force these without giving users the indication
that their choices actually matter.
2018-01-17 10:23:15 -05:00
Robert Maynard
4f239ed3b9 Correct casting warnings found with new cmake code 2018-01-16 15:42:36 -05:00
Robert Maynard
0660c67fef Merge branch 'master' into vtk-m-cmake_refactor 2018-01-16 15:42:28 -05:00
Robert Maynard
5ecf2d1187 vtkm::rendering has more compilation units to help out 32bit compilers
Visual Studio default toolset uses 32bit executables for compiling which
means that if it uses more than 4GB of memory per instance it crashes.
By moving the ConnectivityTracer into a separate compilation unit we
can help out the compiler.

This also improved compilation times and library size:

Old:
build time (j8): 48.62 real
lib size: 6.2MB

New:
build time (j8): 41.31 real
lib size: 5.0MB
2018-01-16 10:20:15 -05:00
Sujin Philip
70fcd1d1cc Update CoordinateSystem to use the Virtual Array 2018-01-10 10:19:19 -05:00
Robert Maynard
5e1f7c60ad VTKm_INSTALL_ONLY_LIBRARIES allows installation of only vtk-m libs 2018-01-08 14:00:58 -05:00
Robert Maynard
37a2359c70 Refactor the rendering context flags to not be a combo box.
This way in the future it is easier to make currently mutually exclusive
compile options be all enabled at the same time.
2018-01-08 14:00:57 -05:00
Robert Maynard
a81919999a Merge topic 'vtkm_host_device_warnings'
93bc0198 Suppress false positive warnings about calling host device functions.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !1042
2018-01-02 14:10:54 -05:00
Robert Maynard
93bc0198fe Suppress false positive warnings about calling host device functions. 2018-01-02 10:40:49 -05:00
Sujin Philip
6b19031200 Cleanup includes of ExecutionWholeArray.h 2018-01-02 10:30:16 -05:00
Sujin Philip
3e10b504e6 Replace ExecutionWholeArray with WholeArray 2018-01-02 10:30:16 -05:00
Robert Maynard
24e57556e6 Merge branch 'master' into vtk-m-cmake_refactor
Includes updating to cleanup benchmark code and handle the new MPI option
2017-12-28 14:23:21 -05:00
Sujin Philip
96c22747d5 Merge topic 'fix-field-api'
334262db Fix Field constructors

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1035
2017-12-21 14:51:52 -05:00
Sujin Philip
334262db16 Fix Field constructors
1. Add option to copy user supplied array in make_ArrayHandle.
2. Replace Field constructors that take user supplied arrays with make_Field.
3. Replace CoordinateSystem constructors that take user supplied arrays with
   make_CoordinateSystem.
2017-12-21 12:48:15 -05:00
Matt Larsen
83e51cf42e creating ray tracing benchmark 2017-12-20 14:22:52 -08:00
Matthew Letter
4b058229ce Merge branch 'master' into cmake_refactor 2017-12-08 09:51:48 -07:00
Sujin Philip
91f26844a6 Merge topic 'remove-VTKM_EXEC_CONSTANT'
e28309f0 Remove VTKM_EXEC_CONSTANT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !1015
2017-12-06 11:50:55 -05:00
Matt Larsen
39abcb99c3 fixing compile errors 2017-12-05 13:26:45 -08:00
Sujin Philip
e28309f09b Remove VTKM_EXEC_CONSTANT
If a global static array is declared with VTKM_EXEC_CONSTANT and the code
is compiled by nvcc (for multibackend code) then the array is only accesible
on the GPU. If for some reason a worklet fails on the cuda backend and it is
re-executed on any of the CPU backends, it will continue to fail.

We couldn't find a simple way to declare the array once and have it available
on both CPU and GPU. The approach we are using here is to declare the arrays
as static inside some "Get" function which is marked as VTKM_EXEC_CONT.
2017-12-05 13:49:55 -05:00
Matt Larsen
655412fca3 adding support for log plots with the wireframer 2017-12-05 10:00:27 -08:00
Matt Larsen
1d58eeaa9e Merge topic 'annotation_color'
6d616309 let there be foreground color

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1013
2017-12-05 00:13:07 -05:00
Matt Larsen
6d61630928 let there be foreground color 2017-12-04 20:46:38 -08:00
Matt Larsen
17f4e1b51a avoiding zero directions 2017-12-03 09:38:53 -08:00
Matthew Letter
26b7951336 changing default beckend to None
this was discussed in our weekly meeting as the default backend
2017-11-29 16:04:43 -07:00
Matthew Letter
fac43bd812 Merge branch 'master' into cmake_refactor 2017-11-28 13:36:02 -07:00
Robert Maynard
2467411ecc Merge topic 'variadic_CastAndCall_and_TryExecute'
203205a1 TryExecute RuntimeDeviceTracker can't be a const ref anymore.
dfb9cc62 Allow users to pass multiple arguments to TryExecute
5384305d Update tests and a single worklet to verify new CastAndCall works
2ff14a81 Allow users to pass multiple arguments to CastAndCall

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1005
2017-11-13 17:56:20 -05:00
Matt Larsen
56f302d0a9 fixing axis ticks 2017-11-13 08:34:05 -08:00
Robert Maynard
203205a171 TryExecute RuntimeDeviceTracker can't be a const ref anymore.
Previously we allowed a const ref as we would make a copy, this only works
as it relies on  RuntimeDeviceTracker implementing state through a shared_ptr.
Instead if we require modifiable types only we can make TryExecute more
efficient and clearer on what it does.
2017-11-10 10:02:45 -05:00
Matt Larsen
a704e39989 Merge topic 'visit_changes'
f6ead29c Removing a debug variable that was causing cuda to crash
565e69c5 Merge branch 'master' into visit_changes
81afcb62 further removing debug statements
a3bf1b26 Merge branch 'master' of https://gitlab.kitware.com/mclarsen/vtk-m into visit_changes
fdd5d1c8 removing debug statements
e60e330c Merge branch 'connectivity_tracer_additions' into visit_changes
2cb26b2d something
0bea9ce9 tracking path lengths if present
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !992
2017-11-02 14:17:01 -04:00
mclarsen
f6ead29cea Removing a debug variable that was causing cuda to crash 2017-11-02 08:13:54 -07:00
Robert Maynard
e49f27a3ac Remove all uses of VTKM_OVERRIDE at instead just use override.
Since VTK-m now requires C++11 it is safe to remove our custom defines
and move to using the keyword directly.
2017-11-02 09:18:15 -04:00
Matt Larsen
565e69c578 Merge branch 'master' into visit_changes 2017-11-01 15:20:47 -07:00
Matt Larsen
81afcb62ba further removing debug statements 2017-11-01 14:41:51 -07:00
Matt Larsen
a3bf1b261e Merge branch 'master' of https://gitlab.kitware.com/mclarsen/vtk-m into visit_changes 2017-11-01 14:02:15 -07:00
Matt Larsen
fdd5d1c8e5 removing debug statements 2017-11-01 14:00:38 -07:00
Robert Maynard
ed8f4111ef Update all the code to work with CMake 3.3
Obviously this does mean that CUDA is not supported with 3.3.
2017-10-27 15:30:14 -04:00
Robert Maynard
3ded554831 Extend the CMake rewrite to include vtkm_rendering 2017-10-27 15:29:58 -04:00
mclarsen
f473974310 Fixing error with uninitialized variable 2017-10-26 14:17:49 -07:00
Matt Larsen
aeeb954fd0 correcting typo 2017-10-26 08:38:21 -07:00
Matt Larsen
46f58dffc6 fixing various warnings 2017-10-26 08:36:27 -07:00
Matt Larsen
14b7789fd6 fixing ambiguous min max call 2017-10-26 08:32:06 -07:00
Matt Larsen
450033110c Merge remote-tracking branch 'upstream/master' into support_2D_and_1D_plots 2017-10-26 08:10:50 -07:00
Matt Larsen
7325508093 removing debug statements 2017-10-26 08:01:00 -07:00
Matt Larsen
035814a4a7 adding 2d ortho support to ray tracing and updating WireFramer to support 2d lines and 1D line plots 2017-10-26 07:58:02 -07:00
Sujin Philip
d6ce8000f4 Workaround an Intel compiler bug
Fixes a linker error about not finding 'LinearBVH::ConstructOnDevice'
2017-10-16 12:17:04 -04:00
Sujin Philip
9e0650adf2 Update Newton's Method to return solution status 2017-10-10 14:01:41 -04:00
Matt Larsen
e60e330c57 Merge branch 'connectivity_tracer_additions' into visit_changes 2017-10-10 07:39:53 -07:00
mclarsen
2cb26b2de6 something 2017-10-10 07:32:32 -07:00
Matt Larsen
2326dca0a2 simplify triangulator 2017-10-06 16:08:29 -07:00
Kenneth Moreland
2625ae7866 Update VTK-m source to use new ArrayCopy functionality 2017-09-25 16:54:46 -06:00
Robert Maynard
fe8b75f7bf Consistenly use nullptr in vtk-m. 2017-09-25 09:57:23 -04:00
Matt Larsen
83165f0cde Merge topic 'concrete-canvas'
b5bfa1ed More copyright header fixes
e6c204ac Fix copyright header merge issues
495adacc Merge branch 'master' into concrete-canvas
dc0e3d51 Enhances colorbar with translucent indicator for alpha values
28c1bc65 Draws world annotations before scene render
53fb679e Adds explicit inline for `Texture2DSampler`
a32e46df Removes storage tag template parameter
30925774 Remove `typename` keyword from explicit specializations
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !934
2017-09-23 11:48:12 -04:00
Manish Mathai
b5bfa1edff More copyright header fixes 2017-09-22 16:10:33 -07:00
Manish Mathai
e6c204ac67 Fix copyright header merge issues 2017-09-22 15:31:27 -07:00
Robert Maynard
311618a15f Enable highest level of warnings(W4) under MSVC
This will make VTK-m warning level match the one used by VTK. This commit
also resolves the first round of warnings that W4 exposes.
2017-09-22 13:04:28 -04:00
Manish Mathai
495adacc38 Merge branch 'master' into concrete-canvas 2017-09-22 09:32:21 -07:00
Manish Mathai
dc0e3d51f6 Enhances colorbar with translucent indicator for alpha values 2017-09-21 16:20:54 -07:00
Manish Mathai
28c1bc65d7 Draws world annotations before scene render
This reordering of draw calls is to ensure that volume renderer does not
clobber the annotations.
2017-09-21 16:08:56 -07:00
Kenneth Moreland
c3a3184d51 Update copyright for Sandia
Sandia National Laboratories recently changed management from the
Sandia Corporation to the National Technology & Engineering Solutions
of Sandia, LLC (NTESS). The copyright statements need to be updated
accordingly.
2017-09-20 15:33:44 -06:00
Manish Mathai
53fb679e91 Adds explicit inline for Texture2DSampler 2017-09-20 13:55:18 -07:00
Manish Mathai
a32e46df7c Removes storage tag template parameter 2017-09-20 13:50:46 -07:00
Manish Mathai
3092577440 Remove typename keyword from explicit specializations 2017-09-19 14:31:35 -07:00
Manish Mathai
2f7988adc2 Merge branch 'master' into concrete-canvas 2017-09-19 10:01:38 -07:00
Manish Mathai
4058626e51 Fixes warnings 2017-09-18 15:18:33 -07:00
Manish Mathai
7a39002522 Removes font management from WorldAnnotator and relies on Canvas 2017-09-18 14:41:28 -07:00
Manish Mathai
6a3229779f Move the Canvas state to an internals class
This is to maintain compability with future minor releases
2017-09-17 20:40:24 -07:00
Manish Mathai
8b88a043e4 Adds text rendering and line rendering to WorldAnnotator 2017-09-17 15:10:40 -07:00
Manish Mathai
3e5878394e Extract canvas's line rendering to LineRenderer
This allows for the line rendering to be shared for other use cases like
`WorldAnnotator`
2017-09-14 09:40:23 -07:00
Manish Mathai
3051d88de0 Adds text rendering to Canvas. 2017-09-13 13:42:11 -07:00
Matt Larsen
0bea9ce9d9 tracking path lengths if present 2017-09-08 13:22:54 -07:00
Matt Larsen
50956b8074 fixing triangulator and adding a fast path for 3D structured cell sets 2017-09-04 08:17:01 -07:00
Manish Mathai
e9c4e0056c Implements Canvas::AddColorBar 2017-08-31 15:12:08 -07:00
Manish Mathai
3440f74c45 Removes warnings about unsed parameters 2017-08-31 10:50:28 -07:00
Manish Mathai
7f18d17d24 Converts Canvas to a concrete implementation.
This commit converts `Canvas` from an abstract class to a concrete
class by converting the pure virtual methods to empty/default
implementations. It provides an implementation for `Canvas::AddLine`
using Bresenham's line drawing algorithm.
2017-08-31 10:40:30 -07:00
Matt Larsen
107b2c487c Merge topic 'wireframe-fixes'
bbf84c11 Clear framebuffer to black instead of white.
3210e502 Adds an small Z offset to the wireframe edges to solve z-fights

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !907
2017-08-30 09:34:20 -04:00
Manish Mathai
bbf84c11d8 Clear framebuffer to black instead of white.
This change updates the framebuffer clear logic, relying on the canvas
to blend with the background instead of eagerly doing it at the start.
2017-08-29 15:03:00 -07:00
Manish Mathai
3210e50209 Adds an small Z offset to the wireframe edges to solve z-fights
This commit solved z-fighting issues with two changes:
- A small offset, proportional to distance between near and far planes, is
applied in camera space to the edges.
- The minimum screenspace offset is increased as well for the same reason.
A new test case is added for uniform grids.
Additionally, the line plotting algorithm is changed to round off the
edge endpoints to fill in empty pixels seen on uniform grids.
2017-08-29 14:55:24 -07:00
Matt Larsen
d55c9afd3e fixing cell indices for volume renderer cell locator 2017-08-29 08:54:52 -07:00
Matt Larsen
aba568768c adding conn fix 2017-08-27 12:16:20 -07:00
Matt Larsen
93aa64109f Merge topic 'line_rendering'
8e0a0308 Handles the case when the passed canvas has rendered data.
b727377f Refactoring
44357d51 Apply external faces filter on cellset before wireframing
7e95269c Refactoring wireframing code
5738e895 Wireframe rendering
657b0b94 Applies `clang-format` and minor refactoring
af2acc57 Implements a simple line renderer using Xialin Wu's algorithm

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Matt Larsen <mlarsen@cs.uoregon.edu>
Merge-request: !895
2017-08-24 15:49:14 -04:00
Manish Mathai
8e0a0308f0 Handles the case when the passed canvas has rendered data.
This change adds a option via `SetIsOverlay` which causes the
`MapperWireframer` to use the existing depth buffer instead of
generating a new one.
This change refactors the line color blending to
retain the alpha value separately instead of pre-multiplying it.
2017-08-23 14:51:05 -07:00
Manish Mathai
b727377fd5 Refactoring 2017-08-21 18:21:44 -07:00