Commit Graph

2290 Commits

Author SHA1 Message Date
Mark Kim
bb7fe4ad8e It's possible that the length of shader compiler message to be less than
or equal to zero. If we don't check for that, it'll spit out garbage.
2016-09-15 13:55:16 -04:00
Mark Kim
ecf57f8f31 need glewInit. 2016-09-14 11:25:03 -04:00
Mark Kim
c216c98c57 Merge branch 'umaster' 2016-09-14 10:39:52 -04:00
Mark Kim
fbaee11da9 Demo.cxx: MapperRayTracer is no longer a templated class.
UnitTestMapperEGL.cxx: MapperGL is no longer a templated class.
UnitTestMapperGLFW.cxx: strmp needs cstring
rendering/CMakeLists.txt: need to append egl_sources to sources.
2016-09-14 10:33:51 -04:00
Mark Kim
f293c5a0bc Merge branch 'glut-unittest' 2016-09-14 09:19:57 -04:00
Dave Pugmire
36be354980 Merge branch 'glut-rendertest' into 'master'
Add glut rendering unittest.

Make the GLFW package variables advanced, and add it to the configure components.
Modify the other examples that use GLUT to use the configure components command.

See merge request !546
2016-09-13 14:20:04 -04:00
Kenneth Moreland
5d223aaba7 Merge branch 'test-build-libraries' into 'master'
Test build library fixes

Some minor changes to how the libraries for test builds are created
to improve the build system.

See merge request !550
2016-09-12 17:20:59 -04:00
Kenneth Moreland
9fcfc0e6a1 Send test builds to their own directory
Send the libraries created for test builds to their own directory so as
to not polute the directory with useful libraries.
2016-09-12 13:33:23 -06:00
Kenneth Moreland
990ba6bfd2 Make test build libraries static
The test builds are created by making some library targets for libraries
with nothing useful. (The intention is to test a build of the code, not
use the built code.) To prevent linking issues, each test build defines
a function named Test_Build_For_<headername>.

However, when BUILD_SHARED_LIBS was on for windows, it never actually
exported anything because dlls need a __declspec(dllexport) on it. Thus,
nothing was exported from the library, and that could cause issues with
the build system (e.g. https://public.kitware.com/Bug/view.php?
id=15885). To get around the issue, always compile the test build
libraries as static.
2016-09-12 13:24:21 -06:00
Kenneth Moreland
fe91ba1d3d Merge branch 'remove-boost-shared-ptr-rendering-lib' into 'master'
Remove boost::shared_ptr from rendering library

The remove boost::shared_ptr and the rendering library branches where
developed simultaneously, and thus some of the rendering library
implementation was using boost::shared_ptr like the old code. Bring up
to date with the rest of VTK-m by using std::shared_ptr instead.

See merge request !549
2016-09-12 14:50:19 -04:00
Kenneth Moreland
5455608c69 Remove boost::shared_ptr from rendering library
The remove boost::shared_ptr and the rendering library branches where
developed simultaneously, and thus some of the rendering library
implementation was using boost::shared_ptr like the old code. Bring up
to date with the rest of VTK-m by using std::shared_ptr instead.
2016-09-12 11:08:06 -06:00
Robert Maynard
0846d2c890 Merge topic 'use_host_compiler_to_detect_cuda'
8810d3db Use the CUDA_HOST_COMPILER when running VTKm_CUDA_Architecture native check

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !545
2016-09-12 10:30:05 -04:00
Robert Maynard
8810d3db3d Use the CUDA_HOST_COMPILER when running VTKm_CUDA_Architecture native check 2016-09-12 09:07:36 -04:00
Kenneth Moreland
8e845d6933 Merge branch 'rendering-library' into 'master'
Rendering library

Pull the majority of the implementation of the rendering
package into a library for better compile performance.

See merge request !527
2016-09-09 16:28:09 -04:00
Kenneth Moreland
68559d130a Merge branch 'autoload-base-component' into 'master'
Always load "Base" component in find_package

A big part of the VTK-m find_package configuration is a set of
components that load different parts of VTK-m's configuration. If you
load none of the components, you do not actually get enough to compile
any part of VTK-m, which is confusing. To get around this, always load
the "Base" component.

See merge request !541
2016-09-09 16:01:49 -04:00
Kenneth Moreland
e6686e8be7 Merge branch 'master' into rendering-library 2016-09-09 13:59:15 -06:00
Robert Maynard
0d55568ddb Merge topic 'correct_bad_compile_def'
08eb3a95 Correct a bad target_compile_definitions line in examples/demo

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !547
2016-09-09 15:42:13 -04:00
Dave Pugmire
ffd2d0eac6 Add glut rendering unittest.
Make the GLFW package variables advanced, and add it to the configure components.
Modify the other examples that use GLUT to use the configure components command.
2016-09-09 15:33:34 -04:00
Robert Maynard
08eb3a957b Correct a bad target_compile_definitions line in examples/demo 2016-09-09 15:19:17 -04:00
Robert Maynard
d4d5e43ebc Merge topic 'gcc_5_boost_concept_assert_fix'
4f65da41 Remove usage of BOOST_CONCEPT_CHECK.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !543
2016-09-09 14:30:58 -04:00
Robert Maynard
4f65da41b9 Remove usage of BOOST_CONCEPT_CHECK.
Instead manually verify the iterator type ourselves inside CopyInto.
2016-09-09 09:43:09 -04:00
Robert Maynard
783867eeb0 Merge topic 'switch_boost_random_over_to_cxx11'
c2769b81 Move over from boost/random to c++11 random.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !542
2016-09-09 08:16:25 -04:00
Kenneth Moreland
77ecfbeb78 Explicitly implement constructors and destructors
The clang compiler was running into linker errors constructors of
classes with virtual methods that were inline and destructors that were
not declared at all. In this case, the compiler was not creating
everything needed by a virtual table and the link died.
2016-09-08 17:08:17 -06:00
Kenneth Moreland
e931aac26b Separate arguments for target_compile_options
The target_compile_options expects the arguments to be in a CMake list.
However, the variables used to hold CMake lists are space separated to
be just put in a command line. Thus, call separate_arguments on the
string before using it.
2016-09-08 16:34:04 -06:00
Kenneth Moreland
0bcac3eb5d Remove "export" from virtual ArrayHandle destructor
One of the dashboards is complaining about the destructor implementation
not being used in a particular test build. I suspect it is because the
export macro has an inline, so I am trying removing it.
2016-09-08 16:06:09 -06:00
Robert Maynard
c2769b81e6 Move over from boost/random to c++11 random. 2016-09-08 17:10:39 -04:00
Kenneth Moreland
bd1f33dd9e Revert change in use of target_link_libraries signature
We moved to using the more modern signature of target_link_libraries,
but on some platforms this causes a configuration error. The issue is
that cuda_add_library internally uses target_link_libraries with the old
signature, and CMake does not allow us to use both signatures on the
same target.
2016-09-08 09:43:47 -06:00
Kenneth Moreland
5c1352872a Remove VTKm_BUILD_SHARED_LIBS from Configure.h
It is not really necessary.
2016-09-08 07:58:04 -06:00
Kenneth Moreland
3dae95f22a Update to newer CMake function interfaces
Per suggestions from Rob Maynard.
2016-09-07 16:48:17 -06:00
Kenneth Moreland
434f54195a Fix issue where exports failed when no libraries
Currently, the only library created is for the rendering package. If
VTKm_BUILD_RENDERING is off, then no libraries are created. If no
libraries are created, then there is nothing that declares a VTKmTargets
export. If there is nothing that creates a VTKmTargets export, the
export command fails.

Aaarg!!!! I can't even find a way to query whether an export is valid
(in the same way you can query whether a target exists). I added a
global variable that recorded whether vtkm_library added a library
(where things are added to the VTKmTargets export). The export command
is called if any libraries were created, a stub is created and installed
otherwise.
2016-09-07 16:48:15 -06:00
Kenneth Moreland
74aeeaa66b Add target exports to installed files
This makes it much easier for dependent CMake projects to find the VTK-m
libraries.
2016-09-07 16:48:13 -06:00
Kenneth Moreland
52838e9ed2 Make font factory arrays static for faster compilation
I noticed that Visual Studio was taking an insane amount of time to
compile BitmapFontFactory.cxx (~20 minutes). Following some suggestions
on stackoverflow (http://stackoverflow.com/questions/7893850/long-
compile-times-in-visual-c-2010-with-large-static-arrays) I changed the
arrays to be static const (something that is more viable when compiling
a library instead of header-only). The compile after this changes seems
basically immediate now.
2016-09-07 16:48:11 -06:00
Kenneth Moreland
7e0ec48cab Enable building shared libraries 2016-09-07 16:48:09 -06:00
Kenneth Moreland
17194ff3a6 Update OSMesa test for new rendering class interfaces 2016-09-07 16:48:07 -06:00
Kenneth Moreland
0dab3f2adf Fix warning about precision conversion 2016-09-07 16:48:05 -06:00
Kenneth Moreland
22c6741152 Add View to rendering library
To get rid of some templates, I added the ability to create new
instances of mappers and canvases without knowing their type.
2016-09-07 16:48:04 -06:00
Kenneth Moreland
26671e9fd6 Add WorldAnnotator to rendering library 2016-09-07 16:48:01 -06:00
Kenneth Moreland
219d6c02a1 Add TextureGL to rendering library
Also hide internals and other GL-ness from the interface.
2016-09-07 16:48:00 -06:00
Kenneth Moreland
c446f1bc7a Add TextAnnotation to rendering library
Also made the TextAnnotation classes conform better to VTK-m coding
style. Specifically, changed the order of words in subclass names (e.g.
TextAnnotationBillboard instead of BillboardTextAnnotation) and broke
out each subclass into its own header/source files.
2016-09-07 16:47:58 -06:00
Kenneth Moreland
d4afc12add Add Actor and Scene to rendering library
Also took away some unnecessary templates.
2016-09-07 16:47:56 -06:00
Kenneth Moreland
05fe2a0619 Allow sources to be declared in parent directory
A recent change to the rendering library has a source code in the
internal subdirectory references from the rendering directory. This
makes sense as we want all the components (whether externally visible or
not) to be in the same library. However this broke the SourceInBuild
tests as the source code was technically not referenced from the
CMakeLists.txt in the same directory.

Anticipating that this could be a common occurance, I modified the test
to also check the CMakeLists.txt in the parent directory.
2016-09-07 16:47:54 -06:00
Kenneth Moreland
668f93a66b Move Mappers to rendering library
Also changed the mappers to not be templated on the device adapter.
Instead, use TryExecute to determine the device adapter at runtime.
2016-09-07 16:47:52 -06:00
Kenneth Moreland
111850ef08 Use TryExecute within the rendeirng library
When things in the rendering library need to execute things in parallel
(outside of another rendering library like OpenGL) it should run it on
available parallel devices. This means using TryExecute to attempt on
whatever devices may be available. It also means that some of the
sources must be compiled with CUDA's nvcc. To enable this, made a code
wrapping mechanism to compile within a .cu file.
2016-09-07 16:47:50 -06:00
Kenneth Moreland
d8ca9f0125 Add ColorBarAnnotation and ColorTable to rendering library 2016-09-07 16:47:48 -06:00
Kenneth Moreland
1073fdede1 Move Canvas classes to rendering library 2016-09-07 16:47:46 -06:00
Kenneth Moreland
e20648b845 Add Camera code to rendering library 2016-09-07 16:47:44 -06:00
Kenneth Moreland
2c34c1ac9d Move BitmapFont code to library 2016-09-07 16:47:42 -06:00
Kenneth Moreland
07df53d7d1 Move AxisAnnotation classes to rendering library 2016-09-07 16:47:40 -06:00
Kenneth Moreland
0c8919dc6a Add VTKM_OVERRIDE macro
This is using the C++11 override keyword to make the compiler check to
ensure that we are correctly overriding virtual methods when we mean to.
Currently this will not compile without C++11. However, we are planning
on moving to C++11 very soon, and we can fix the macro if we don't.
2016-09-07 16:47:39 -06:00
Kenneth Moreland
2ea00d28f0 Examples that use Rendering now need to configure Rendering 2016-09-07 16:47:37 -06:00