Commit Graph

397 Commits

Author SHA1 Message Date
Takahito Tejima
dd8cc1a3b7 improve ptex guttering. 2013-10-15 17:47:58 -07:00
Takahito Tejima
72eb4750a9 Ptex loader : Add memory usage limiting. Clean code styles. 2013-10-07 19:05:19 -07:00
Takahito Tejima
f26c457bac Add fractional partitioning, normal derivatives computation into hlsl shaders. 2013-10-07 19:02:41 -07:00
Manuel Kraemer
2b8b0205ba Fix a minor osdutil build warning (seen with gcc 4.8.1) 2013-10-06 14:42:16 -07:00
Takahito Tejima
ff65a3efb8 Add a DX11 version of ptex mipmap loader 2013-10-04 18:27:06 -07:00
Takahito Tejima
d8defd42d3 Fix patch parambuffer generation in OsdD3D11DrawContext. Also fixes hlsl shader bug. 2013-10-04 18:26:22 -07:00
Takahito Tejima
28356dae40 Optimize a bit of ptex mipmap lookup. 2013-10-04 18:23:20 -07:00
manuelk
8c12f84a72 Fix build symbol conflict in Far
Override the destructors of the Hbr rotation operators to force the compiler to
inline them (they are no-op's)

fixes #229
2013-10-04 17:06:23 -07:00
David G Yu
e977614461 Adjusted include order for clKernelBundle.cpp
Avoids GL declaration conflicts w/ OpenCL on OS X
2013-09-28 10:39:24 -07:00
manuelk
a5b40969ec Release 2.3.0 2013-09-27 13:30:49 -07:00
manuelk
c637a1f912 Update release notes 2013-09-27 13:27:08 -07:00
manuelk
3ae50d1c50 Amending Apache license language & file headers.
New text:

     Copyright 2013 Pixar

     Licensed under the Apache License, Version 2.0 (the "Apache License")
     with the following modification; you may not use this file except in
     compliance with the Apache License and the following modification to it:
     Section 6. Trademarks. is deleted and replaced with:

     6. Trademarks. This License does not grant permission to use the trade
        names, trademarks, service marks, or product names of the Licensor
        and its affiliates, except as required to comply with Section 4(c) of
        the License and to reproduce the content of the NOTICE file.

     You may obtain a copy of the Apache License at

         http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the Apache License with the above modification is
     distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
     KIND, either express or implied. See the Apache License for the specific
     language governing permissions and limitations under the Apache License.
2013-09-26 12:04:57 -07:00
Takahito Tejima
d44724c5b7 Fix a bug of bad fvar splicing for loop surface. 2013-09-23 14:18:43 -07:00
Takahito Tejima
c018aa1fc6 fix the file permission on osd/ptexMipmapTextureLoader.cpp 2013-09-23 13:22:09 -07:00
Takahito Tejima
52a0224d05 Add face varying macros for loop subdivision 2013-09-23 12:52:27 -07:00
Takahito Tejima
173dc4d33b Add an error check on updating cuda buffer. 2013-09-23 09:06:22 -07:00
Takahito Tejima
c2e0d06f56 Second derivatives computation, fix tangent/bitangent length 2013-09-20 18:23:28 -07:00
Takahito Tejima
d4579a8f85 Add a new ptex mipmap loader. very slow... 2013-09-20 18:22:09 -07:00
manuelk
924d994fdd Fix CMake executable macro
- Added a macro for non-cuda / non-glfw executables to add proper dependencies for ICC
- Switched various examples & regressions
2013-09-16 18:16:28 -07:00
Nathan Litke
cf34b6ead9 Fixed clKernelBundle.cpp to build on Android. 2013-09-16 13:37:25 -07:00
Manuel Kraemer
35a6a4afaf Remove some cast warnings that are triggered in gcc 4.7 (seen in Fedora 18)
fixes #223
2013-09-13 23:00:23 -07:00
Manuel Kraemer
cf61fbc08a Fix Doxygen comments 2013-09-13 09:28:20 -07:00
manuelk
a8a4b6d5cb Fix incorrect bilinear limit tangents in FarStencilTablesFactory
Compensate for the CCW edge rotation when iterating the half-edge cycle
of the face.

fixes #220
2013-09-12 11:57:46 -07:00
manuelk
44df7603bd Release 2.2.0 2013-09-11 18:41:41 -07:00
manuelk
7d4999c46e Adding support for subdivision stencils.
- Adding FarStencilTables and FarStencilTablesFactory classes
- Adding Osd EvalStencil context & controllers for CPU, OMP and TBB backends
- Adding the code example glStencilViewer
- Adding reST documentation
- Changing version to 2.2.0_dev
- Fix HbrMesh::Unrefine function
- Fix "CanEval" function in OsdVertexBufferDescriptor

Note 0: there is no stencil support for hierarchical edits

Note 1: there is no support for face-varying data stencils yet

Note 2: the current stencil factory is lazy but the caching system is not re-entrant
2013-09-11 16:05:14 -07:00
Takahito Tejima
a907450229 Adding null checks 2013-09-05 13:09:54 -07:00
manuelk
2f8ba5b7e7 Fix cpuEvalLimitController crash bug
Properly check that derivative data is bound before passing pointers to the kernels.

fixes #218
2013-09-05 10:48:46 -07:00
Takahito Tejima
0f6f0b8148 Fixed invalid initialization of glslTransformFeedback kernel. 2013-09-04 10:41:23 -07:00
manuelk
0e05915c86 Release 2.1.0 2013-09-03 15:51:29 -07:00
manuelk
e05e46f070 Modify CMake to name and sym-link DSO's based on Linux ABI versioning spec.
Fixes #209
2013-09-03 15:38:24 -07:00
Takahito Tejima
3755603b36 Fix error handling in OsdUtilMeshBatch when failed to create vertex buffers. 2013-09-03 15:13:00 -07:00
Takahito Tejima
c2d04c05c6 FarMultiMesh can splice uniform and adaptive meshes together. 2013-08-28 17:25:41 -07:00
Takahito Tejima
f1a1dbba3d Removed unnecessary cudaThreadSynchronize calls. 2013-08-28 17:11:45 -07:00
Takahito Tejima
9c6d963d38 use osd/opengl.h 2013-08-28 17:11:45 -07:00
Takahito Tejima
69b82a3832 Fix an uninitialized variable bug on multi mesh splicing. 2013-08-28 16:36:06 -07:00
manuelk
d57df0eae0 Enable TBB for Linux builds
- Fix FindTBB.cmake
- Add TBB logic to various CMakeLists
- Update documentation
2013-08-15 16:11:33 -07:00
manuelk
d28dad10e5 Update TBB C&C's with Sheng's (shengfuintel) latest code
Git cherry-picking of the original pull request missed a few changes to these files.

Thanks again to Sheng for this most excellent contribution !
2013-08-15 15:24:42 -07:00
manuelk
22b1cddfc9 Protect Intel icc specific pragmas behind #define's 2013-08-15 15:23:12 -07:00
manuelk
b81d159b91 Enabling Intel's C++ Studio XE icc compiler in Linux
- Add a ICC_LOCATION option to CMake configuration
- Fix icc dependencies
- Add documentation
2013-08-15 15:21:00 -07:00
manuelk
b227443390 Fix compiler warnings in osd/ptexTextureLoader caused by incorrect const declarations 2013-08-15 10:32:08 -07:00
Manuel Kraemer
1ee304a6f3 Merge pull request #214 from shengfuintel/dev
Dev
2013-08-15 10:17:19 -07:00
David G Yu
6f8bfdfcbf Fixed implicit int to float warnings in xform feedback kernel 2013-08-15 10:06:16 +01:00
Sheng Fu
7fac2935fa Optimize CPU kernel 2013-08-14 16:41:35 -07:00
Sheng Fu
f2baa81249 Changed license header 2013-08-14 10:45:23 -07:00
Sheng Fu
7aa2d3009e initial checking in TBB kernel. 2013-08-14 10:43:48 -07:00
manuelk
5fc10338df Add OsdMesh constructor with FarMesh * as input
This allows client code to own the FarMesFactory if necessary.
2013-08-08 13:11:16 -07:00
manuelk
75cef11cfa Release 2.0.1 2013-08-07 19:35:10 -07:00
Manuel Kraemer
9ad7a1ab2e Merge pull request #207 from davvid/header-paths
Looks like this is working - we will have to adjust some internal code when switching to this version, but this makes packaging much easier.

Thank you very much for this contribution !
2013-08-07 11:36:23 -07:00
David G Yu
7fdd82ba76 A few build fixes for Android and iOS 2013-08-07 11:16:00 -07:00
David Aguilar
fc1efa5153 cmake: use ${CMAKE_INCDIR_BASE} instead of hard-coding "include" 2013-08-07 10:56:39 -07:00
manuelk
8b7ebc29a5 fix permissions on multiMeshFactory.h 2013-07-31 10:17:16 -07:00
manuelk
695b09a169 fix incorrect transition pattern 3 in GLSL / HLSL shaders
some patch rotations need to be fixed

fixes #200
2013-07-30 14:16:39 -07:00
manuelk
cd17c87cb1 fixing CMake build to not link GPU-based libraries into libosdCPU
fixes #198
2013-07-26 14:07:14 -07:00
manuelk
20ca6c9b52 Adding some comments for FarPatchTables::GetFaceVertices and GetNumFaces
fixes #195
2013-07-26 10:38:49 -07:00
takahito-tejima
dd91b2de8c Fix some portability issues on OSX. (GLEW will be used if exists) 2013-07-18 19:49:00 -07:00
manuelk
bc43ad4395 Release 2.0.0 2013-07-18 15:50:23 -07:00
Takahito Tejima
51a45b598d Updating EULA 2013-07-18 14:19:50 -07:00
Takahito Tejima
6dd0031710 Fix mistakenly checked in file 2013-07-18 14:14:07 -07:00
Takahito Tejima
a13c0565e4 Renamed texture buffers and uniforms
g_VertexBuffer -> OsdVertexBuffer
g_ValenceBuffer -> OsdValenceBuffer
g_QuadOffsetBuffer -> OsdQuadOffsetBuffer
g_ptexIndicesBuffer -> OsdPatchParamBuffer
g_uvFVarBuffer -> OsdFVarDataBuffer
LevelBase -> PrimitiveIdBase
2013-07-18 12:57:26 -07:00
manuelk
845a036693 make copy constructors private for HbrHalfedge and HbrFVarData
fixes #194
2013-07-18 09:07:28 -07:00
manuelk
500defee4c - adding new build flag options (NO_LIB, NO_CUDA...)
- move python build section into the python directory (cleaning up)

- fix some broken dependencies

- remove the public_headers targets if doxygen was not found

TODO :
- fix MSVC targets for public headers (wbn if MSVC didn't require the pro version
  in order to support solution folders)
- fix osd_regression to not build if -DNO_LIB is present (ie. fix the broken dependency)
2013-07-11 18:55:17 -07:00
manuelk
12d67bfbcb - fixing comments in Far for better Doxygen readability
(first pass - more work needs to be done)
2013-07-10 18:51:43 -07:00
takahito-tejima
5fe71a18d1 Fix a texture buffer binding bug 2013-07-10 16:06:34 -07:00
manuelk
2cb6119560 fix MSVC debug crash
uniform mode : check actual fvarwidth instead of requireFVarData
(same pattern as face-varying)

fixes #191
2013-07-10 15:46:16 -07:00
manuelk
7b36b4feed fix incorrect patch generation for patches with 2 non-consecutive boundary edges
add catmark_flap2 shape & baseline to regression suite

fixes #188
2013-07-08 18:13:44 -07:00
Takahito Tejima
de3e706379 Potential fix for the shader compilation problem.
Replace face varying computation functions with equivalent macros
to avoid gl_PrimitiveID undefined error.
2013-07-08 16:16:28 -07:00
manuelk
0e047f7bbf Release 1.2.4 2013-07-08 13:27:20 -07:00
manuelk
36236a4143 fix doxygen comment in osd/cpuVertexBuffer.h 2013-07-08 13:18:56 -07:00
manuelk
9712b44239 Documentation build modifications:
- add macro "_add_doxy_headers" in order to track all header files elligible for
  doxygen documenation. This captures public header files that would otherwise be
  excluded from installation because they are not supported by the OS. Private
  header files remain excluded though.

- add custom targets and commands so that documentation build produces functioning
  RST and Doxygen documentation both in the build and install stages

- switched to Doxygen 1.8 (because markdown will make in-lined documentation easier)

- added build switches to disable examples, regression and python-SWIG targets

- fixed doxygen link in the nav bar

- modified python html processing tool to match Cmake changes
2013-07-05 15:36:54 -07:00
manuelk
efb1a5fe44 fix doxygen warning from comments in d3d11ComputeContext.h and d3d11DrawContext.h
fixes #138
2013-07-05 15:35:06 -07:00
Manuel Kraemer
665805a88a fix some doxygen comments in FarPatchParam
replacing ASCII formatting which breaks with an HTML table (markdown would be nice but not until doxy 1.9)

fixes #138
2013-07-04 19:19:52 -07:00
Takahito Tejima
e21f7d98ca Remove debugging remnant. 2013-07-03 13:53:15 -07:00
Takahito Tejima
2b4dd1cb0a Add convenient functions to compute face varying attributes.
closes #171
2013-07-03 12:08:10 -07:00
Takahito Tejima
00c0863830 Fix msvc warning 2013-07-02 11:20:21 -07:00
Takahito Tejima
33e0d6e42d Add varying buffer interface to OsdUtilMeshBatch.
Update glBatchViewer for varying/facevarying color display
2013-07-02 11:18:06 -07:00
Takahito Tejima
f2d66d5fbb Fix FarMultiMeshFactory to splice fvardata table 2013-07-02 11:16:59 -07:00
David G Yu
1b6026a1a2 A few minor changes to sync up GLSL and HLSL 2013-07-02 10:06:24 -07:00
David G Yu
84de67295c Unified HLSL Gregory patch shaders 2013-07-02 00:26:09 -07:00
David G Yu
838e43fed1 True up the HLSL Gregory patch shader source
Mostly just whitespace changes and variable renaming.
2013-07-01 22:54:44 -07:00
David G Yu
6b7a41d4db Unified GLSL Gregory patch shaders 2013-07-01 11:58:28 -07:00
David G Yu
03b5b329d3 True up the GLSL Gregory patch shader source
Mostly just whitespace changes and variable renaming.
2013-07-01 11:47:21 -07:00
Takahito Tejima
b9086b4686 Fix OsdGLSLTransformFeedbackComputeContext to bind vertex/varying buffer correctly.
Closes #186
2013-06-28 16:09:04 -07:00
David G Yu
d2abf61c56 Added adaptive tess of user varying values
This isn't necessarily a final design, but
it gets enough of the pieces in place to move
forward.
2013-06-28 14:05:47 -07:00
manuelk
61c71c77c0 fix ComputeContext functions that copy subdivision table data from possibly empty STL vectors
fixes #185
2013-06-28 13:53:14 -07:00
David G Yu
15b467dda9 Fixed preprocessor syntax for shader portability 2013-06-28 10:10:25 -07:00
David G Yu
8fae6511f7 Continued bicubic patch shader cleanup
Removed superfluous vertex and fragment/pixel shaders
2013-06-27 17:26:22 -07:00
David G Yu
b5d182b7be Add fractional spacing for boundary gregory 2013-06-27 17:08:19 -07:00
Takahito Tejima
184e90f9a1 Add fractional spacing mode for patch rendering. 2013-06-27 13:34:25 -07:00
Takahito Tejima
59cdf85a5b Merge branch 'dev' of https://github.com/PixarAnimationStudios/OpenSubdiv into dev 2013-06-27 12:58:22 -07:00
Takahito Tejima
e030157f73 Add varying buffer handling to OsdMesh.
Fix a bug that breaks varying interpolation on cuda kernel
Clean up glViewer with some new functions : varying color, screen space lod, patch culling
2013-06-27 12:57:21 -07:00
manuelk
aababd42a6 fix build warnigns (oddly, gcc shows nothing, despite having -Wall...)
fixes #184
2013-06-27 10:11:47 -07:00
Takahito Tejima
11b644a06e Fix a indexing bug in hierarchical edit kernel of Cuda, GLSLcompute and GLSLTransformFeedback
Closes #183
2013-06-26 16:10:26 -07:00
David G Yu
7d16bffccb Continued cleanup of OpenGL dependencies 2013-06-26 00:52:57 -07:00
manuelk
dc81d98246 fix FarPatchTables class nesting for LLVM-based compilers (Clang / ICC).
fixes #172
2013-06-24 16:59:49 -07:00
David G Yu
09f6f9e2d5 Fixed num verts tested for patch frustum culling 2013-06-24 12:43:02 -07:00
David G Yu
9bab9185ab Partial cleanup of bicubic patch shader source
- Added OSD_ prefix to preprocessor symbols
- Adjusted transition sub-patch parameterization to be
  consistent with non-transition patches
- Unified BSpline shader code
- Removed duplicate Boundary, Corner, and Transition shader source
- Fixed a few discrepancies in the remaining duplicate code paths
2013-06-24 12:03:57 -07:00
Takahito Tejima
4148655197 correct indentation. 2013-06-20 00:12:33 -07:00
Takahito Tejima
bbb23c3f0f Fix FarVertexEditTablesFactory to partition vertexEdit batch correctly.
fixes #148
2013-06-20 00:05:44 -07:00
manuelk
f973356783 fix limitEval dropping non-quads
FarPatchMap was not creating root-level leaf-nodes in the quad-tree for non-quad faces.

fixes #180
2013-06-19 17:45:22 -07:00
manuelk
f91ac77711 Fix Gregory patches for bad heptagon geo.
Gregory patch shaders rely on a correct estimate of the maximum valence of the vertices in the mesh.

In the current feature adaptive analysis, we stop at level 1, the center vertex of the heptagon is
never traversed, and its high valence is therefore not recorded. The fix is to take advantage of the
first pass and use the number of vertices in the coarse faces to catch those high-sided non-quads that
would generate high valence vertices that may not be revisited in the second pass.
2013-06-19 17:34:20 -07:00