Commit Graph

119 Commits

Author SHA1 Message Date
George ElKoura
92341f7c1e Prefix OpenSubdiv CMake macros
This fixes issue #1157 by adding "osd" as a prefix to public macros.
2019-08-17 16:44:30 -07:00
George ElKoura
45a03a460b Turn on C++11 in clang when building with Metal
The example code that uses Metal forces C++11 features, therefore
we have to turn it on clang so that we can enable the building of
compatible code that can be used by Metal and GL at the same time.
2019-03-09 11:42:45 -08:00
George ElKoura
08c04c9a61 Turn off CUDA deprecation warnings until addressed
As mentioned in issue #997, OpenSubdiv still uses CUDA functionality
that is being deprecated.  When warnings are treated as errors, this
can make OpenSubdiv fail to compile.  For now, we turn off these
deprecation warnings until we can address them.
2019-03-01 22:40:26 -08:00
barry
c424594625 Major step towards consistent use of include paths in source files:
- changed the main OPENSUBDIV_INCLUDE_DIR to exclude ./opensubdiv
    - updated CMakeLists.txt files in non-examples to use only this path
    - updated CMakeLists.txt files in examples to append ./opensubdiv to path
    - updated source in regression/common to use #include <opensubdiv/...>
    - updated source in examples/common to use #include <opensubdiv/...>
    - deferred source in examples to be updated on a case-by-case basis
2018-10-09 10:51:31 -07:00
David G Yu
3e640239f7 Added build options: NO_GLFW NO_GLFW_X11 2017-07-28 11:28:07 -07:00
Michael Harris
30cd2df37c Added Metal support 2017-04-19 16:49:53 -07:00
Takahito Tejima
044b25e818 Merge pull request #918 from davidgyu/dev_fix_spelling_731
Fixed spelling errors and typos in comments
2017-01-26 13:18:01 -08:00
Mike Erwin
0beb654f0b spelling
Noticed a few typos when browsing comments. Proceeded with a "manual
spell check", reading all comments and tweaking spelling, grammar,
punctuation.

Didn't bother with Hbr library.

Comments only, no functional changes.
2017-01-11 12:40:49 -08:00
Thomas Thomassen
cd6cedc1ac Added option to build using MSVC with static CRT. 2017-01-10 15:42:59 -08:00
Jeremy Cowles
ff380188e6 WIN32 Glew fixes to CMakeLists.txt
Previously, glew was forced to static linkage on windows, even when
dynamic Glew libraries were linked which would result in linker errors.

In this change, static glew libraries are detected by looking for the "s"
suffix convention on the library (though, maybe this should be handled in
the FindGlew module).
2017-01-06 09:52:19 -08:00
Nicholas Yue
1f6dc6c949 Fix find_package for zlib which requires all upper case ZLIB 2016-10-13 19:59:22 -07:00
David G Yu
838fce27ab Exposed control for Gregory derivative weight eval
The symbol OPENSUBDIV_GREGORY_EVAL_TRUE_DERIVATIVES
determines the method used to compute derivative weights
for Gregory basis patches.

Setting this symbol during CMake configuration (and
hence during C++ and shader compilation) will enable
the use of true derivative weights.

The default behavior is to use a simpler approximation
for consistency with earlier releases.
2016-10-11 18:50:25 -07:00
David G Yu
c824dc34e0 Fixed CUDA build with newer SDKs
Recent CUDA SDKs no longer support the "compute_11"
gpu architecture. We now fallback to "compute_20"
instead for newer SDK versions. Additionally, this
behavior can be overriden using the new CMake list
variable OSD_CUDA_NVCC_FLAGS so that it is easier
for clients to target newer architectures and specify
additional arguments.
2016-09-29 21:04:42 -07:00
David G Yu
8babf1e12b Removed mayaPolySmooth example
Also removed the remaining Maya dependencies. These
were most useful during the early days of OpenSubdiv.
Now OpenSubdiv has been integrated directly into Maya
and these examples serve little purpose.
2016-09-06 17:08:05 -07:00
George ElKoura
d856975ef3 No longer use CMAKE_SOURCE_DIR and CMAKE_BINARY_DIR
As mentioned in issue #814, avoiding the use of CMAKE_SOURCE_DIR makes it easier to integrate OpenSubdiv as a submodule in other projects.

Fixes #814.
2016-07-08 22:45:33 -07:00
David G. Yu
cf0c75cc4f iso-646 fix remove obsolete compiler defines
Fixes #779
2016-07-07 12:31:48 -07:00
Thomas Thomassen
aa0599b4bc Merge branch 'dev'
Conflicts:
	opensubdiv/far/patchTableFactory.cpp
2016-06-24 23:30:44 +02:00
George ElKoura
923d60ca74 Use cmake's folder feature on platforms that support it.
We now make use of folders where they are supported.  In particular, on Visual Studio, this produces much nicer solutions to navigate.
2016-06-09 17:04:26 -07:00
Thomas Thomassen
c422a79031 Rename and, or and not to &&, || and ! to address compilers that don't support them out of the box without extra headers. 2016-02-21 15:47:11 +01:00
manuelk
4926fd2c3e Ptex fixes:
- fix build compiling & linking to accomodate recent code churn in Ptex
- fix FindPTex.cmake module to correctly extract version number
- fix dxPtexViewer & glPtexViewer source to compile with new Ptex namespace changes
- add alpha channel padding function to ptexMipmapLoader as a workaround to the absence of 3-channel DXGI formats
- mirror ptex memory limit function from glPtexViewer to dxPtexViewer
2016-02-19 16:58:56 -08:00
manuelk
423d7eff79 Comment out CMake logic that attempts to copy glfw3 dll's, which fails in some cases.
Fixes #774
2016-01-13 11:47:24 -08:00
manuelk
6a19a2aeec Make sure Windows DLL dependencies exist before trying to copy them (some may be static libs)
Fixes #768
2015-12-18 15:12:15 -08:00
David G Yu
e897a1c0e5 Merge pull request #702 from daz3d/cmake_error_on_no_gpu
Fixes cmake projects for non-gpu use case
2015-08-04 08:00:58 -07:00
Takahito Tejima
e84acde258 cmakefile: degrade the gcc version error to warning. 2015-07-30 10:24:25 -07:00
Takahito Tejima
8a8771c97d Revert "Add ISPC limit surface evaluation" 2015-07-20 17:13:51 -07:00
Sheng Fu
d3f8725e79 Add ISPC limit surface evaluation 2015-07-20 14:12:11 -07:00
Christopher Jones
87dc09e769 Fix cmake projects to not require GLFW when NO_OPENGL provided and not build gpu lib if not needed. 2015-07-15 23:55:14 -06:00
Takahito Tejima
5c54962d3b Improve OpenCL/DX interop configuration
build osd and examples with DX/CL interop only of cmake finds
cl_d3d11.h or cl_d3d11_ext.h.
2015-06-02 16:20:59 -07:00
Takahito Tejima
89dcea57c2 Fix CMakeLists: make project-relative include path overridable
All examples, regression tests and tutorials directly looked into
opensubdiv source directory to grab the header files. This is somewhat
convenient during development but they can mistakenly access private
header files.

With this change, when OPENSUBDIV_INCLUDE_DIR is given to cmake,
it will be used as an include search path to build examples etc.
Otherwise it follows the same behavior as before.

Also replaces include references to the files in regression dir
to be relative, and cleanups some copy-paste patterns.
2015-05-28 17:32:33 -07:00
David G. Yu
421e60f8c5 A couple more DX / OpenCL changes for AMD 2015-04-30 10:01:01 -07:00
Takahito Tejima
9316852e69 use OPENSUBDIV_HAS_DX11SDK
replace OPENSUBDIV_HAS_DX of the previous change with
OPENSUBDIV_HAS_DX11SDK since we already have that.
2015-04-29 17:06:42 -07:00
Takahito Tejima
dcb022e1db Fix DX-OpenCL/CUDA interop.
- resolves DX-CL interop functions in Osd::ClD3D11VertexBuffer.
- enable CL kernels in DX build.
- more cleanup in test harnesses, adding D3D11 initializations into DeviceContext.
- add new defines OPENSUBDIV_HAS_OPENGL and OPENSUBDIV_HAS_DX for convenience.
2015-04-29 11:51:12 -07:00
Takahito Tejima
2a543ee9a8 Travis CI configuration
add NO_GLTESTS option to cmake.
2015-04-28 14:44:07 -07:00
George ElKoura
8456c703fa Minor fixes to building docs and doc links.
- Upped minimum required version of docutils from 0.6 to 0.9.
- Fixed link to pygments in build documentation
- Fixed link to doxygen in build documentation
2015-04-24 19:16:34 -07:00
Takahito Tejima
6e6e8040b7 CMakeLists: add enable_testing/add_test 2015-04-16 10:52:08 -07:00
manuelk
35c927209e Improving ICC CMake hints
fixes #396
2015-02-12 10:57:04 -08:00
Christoph Kubisch
222f95d6c3 build option to disable DX on windows 2015-01-27 16:15:36 -08:00
manuelk
7ac73157f4 Bump gcc version requirement to 4.8 : upcoming changes run into compiler bugs with older gcc versions 2014-09-24 14:47:57 -07:00
manuelk
c399655dcc Landing 3.0.0.alpha
Sync'ing the 'dev' branch with the 'feature_3.0dev' branch at commit 68c6d11fc36761ae1a5e6cdc3457be16f2e9704a

The branch 'feature_3.0dev' is now locked and preserved for historical purposes.
2014-09-05 15:07:46 -07:00
Nathan Litke
0128417447 Allow NEON to be disabled on Android. Works similar to GCD on Mac OS X. 2014-08-07 13:10:54 -07:00
Rachid El Guerrab
035e58f44a Added subdivision kernels for ARM NEON
* assembler kernels are based on the C implementation in neonKernel.cpp
* enable assembler kernel functions in neonComputeController.cpp with #define USE_ASM_KERNELS 1
2014-08-05 22:09:12 -07:00
David G. Yu
ccdffb5855 Fixed cmake diagnostic messsage. 2014-06-23 22:14:57 -07:00
Sergey Sharybin
7b5a25f63d Fix compilation error with CLEW enabled
For some reason it compiled fine on the desktop but
compilation on laptop requires explicit linking against
dl library.
2014-05-25 04:42:04 +02:00
Sergey Sharybin
6ef232c95a Integrate CLEW into osd library and examples
If the system has CLEW installed (which is detected by recently
added FindCLEW routines) then OpenSubduv would be compiled against
this library.

It makes binaries and libraries more portable across the systems,
so it's possible to run the same binary on systems with and without
OpenCL SDK installed.

The most annoying part of the change is updating examples to load
OpenCL libraries, but ideally code around controllers and interface
creation is to be de-duplicated anyway.

Based on the pull request #303 from Martijn Berger
2014-05-22 09:10:59 +02:00
Sergey Sharybin
753397cbc5 Fix real stupid copy-paste typo from a while ago 2014-05-20 23:36:45 +02:00
Manuel Kraemer
97461ea722 Don't show warnings when OpenCL component is disabled 2014-05-17 12:50:51 -07:00
Sergey Sharybin
5cafd6c40e Make PTex support optional
Basically makes configuration log much cleaner on systems
where PTex is not installed.
2014-05-17 12:46:39 -07:00
Sergey Sharybin
575cb30e54 Document NO_MAYA command line option
If was used in CMake but was never documented.
2014-05-17 12:45:37 -07:00
Sergey Sharybin
28e3431aa9 Add an option to disable OpenCL
It's not always wanted to compile OpenSubdiv with OpenCL
support when the SDK is installed on the builder machine.
2014-05-17 12:43:25 -07:00
Sergey Sharybin
fddddbc80d Add command line option to CMake's options
It solves the issues when one generated makefiles with
some of the custom command line options passed to CMake
and then modified the CMake file. This used to forget
about settings passed via command line.

Now it's no longer required to re-run CMake with all
custom options every time CMakeLists.txt files are
modified.
2014-05-17 12:40:58 -07:00