Commit Graph

984 Commits

Author SHA1 Message Date
Manuel Kraemer
a9fb44a14a Merge pull request #332 from Nazg-Gul/dev
Support different subdivision schemes for OsdUtilMesh
2014-07-04 08:25:27 -07:00
Sergey Sharybin
6e3bad7224 Make C-API evaluator aware of different subdivisions
This makes it possible to use use bilinear subdivisions which
corresponds to Blender's simple subdivisions.

Most of the changes doesn't break any existing API because of
using default values. it's only C-API function which now expects
an extra argument.

This doesn't entirely work because it uses adaptive evaluator
which gives some unwanted curvatures when using bilinear scheme.
2014-07-04 21:23:50 +06:00
Sergey Sharybin
4a8bd50633 Support different subdivision schemes for OsdUtilMesh
Basically title says it all, now it's possible to pass
subdivision scheme to the OsdUtilMesh::Initialize().

It's a last argument with default to CATMARK so it doesn't
break existing code.
2014-07-04 17:28:18 +06:00
Manuel Kraemer
fc048bfb63 Merge pull request #331 from Nazg-Gul/dev
Fix mismatch in declaration and usage of OsdCudaComputeRestrictedVertexA
2014-07-03 09:51:25 -07:00
Sergey Sharybin
1ebf2449dd Fix mismatch in declaration and usage of OsdCudaComputeRestrictedVertexA
Unused argument `pass` was defined in the CUDA kernel and it was never
passed to this function from the C++ code. This argument is also wasn't
used by the function itself.
2014-07-03 16:54:15 +06:00
Manuel Kraemer
e3a19b25d8 Merge pull request #330 from Nazg-Gul/dev
Fix crashes when using rather low-end cards like Intel ones
2014-07-02 10:12:34 -07:00
Sergey Sharybin
7ac06db165 Fix crashes when using rather low-end cards like Intel ones
Solved by checking on run-time whether texture buffer objects
are supported.

When building with GLEW library doing compile-time check is
not enough, because actual information about existing features
is only known on runtime.

This only makes ti so CPU backend works, GLSL backends still
requires some work if we want them to make working. Not sure
it worth doing this now.
2014-07-02 22:17:58 +06:00
Manuel Kraemer
25b655e777 Merge pull request #329 from nathan-at-digitalfish/fix_osd_mesh
Fixed omissions in osd/mesh.h
2014-06-27 07:15:30 -07:00
Manuel Kraemer
87d9b2814b Merge pull request #328 from nathan-at-digitalfish/fix_compare_vertices
Fix for FarCatmarkSubdivisionTablesFactory::CompareVertices function
2014-06-27 07:14:13 -07:00
Nathan Litke
e4d7f3d495 Fixed omissions in osd/mesh.h.
* added `OsdMeshInterface::GetFarMesh` and `OsdMesh::GetFarMesh` to match `OsdGLMesh` and `OsdD3D11Mesh`
* added `interleaved` argument to `OsdMesh::Refine` to match `OsdMeshInterface::Refine`
2014-06-27 02:15:27 -07:00
Nathan Litke
8af05a57c5 Fixed a bug in the vertex order for restricted Catmark vertex-vertex kernel batches. 2014-06-27 02:09:03 -07:00
Nicholas Yue
4d36cf8c3c Fix duplicate variables with identical name 2014-06-25 14:52:33 -07:00
Manuel Kraemer
8e7d79c4ae Merge pull request #326 from nathan-at-digitalfish/fix_style
Style fixes
2014-06-25 11:58:12 -07:00
Nathan Litke
7763ffcb3d Style fixes for changes from v2_5_0..ad84f06. 2014-06-25 11:16:36 -07:00
Manuel Kraemer
ad84f06c60 Merge pull request #320 from nathan-at-digitalfish/new_vertex_vertex_kernels
Added the CATMARK_RESTRICTED_VERT_VERTEX_A, CATMARK_RESTRICTED_VERT_VERT...
2014-06-25 10:52:08 -07:00
Manuel Kraemer
e46e804131 Merge pull request #323 from nathan-at-digitalfish/fix_create_cl_buffer
Fix for createCLBuffer
2014-06-24 12:38:06 -07:00
Nathan Litke
299966fd5c Fixed an error in createCLBuffer that occurs when the buffer size is zero. 2014-06-24 12:14:41 -07:00
Nathan Litke
73c29a0002 Fixed an error in createCLBuffer that occurs when the buffer size is zero. 2014-06-24 12:12:00 -07:00
Manuel Kraemer
0c6c17e4bb Merge pull request #322 from nathan-at-digitalfish/fix_edge_vertex_kernel_batch
Fix for edge-vertex kernel batch
2014-06-24 12:01:32 -07:00
Nathan Litke
5d00c37637 Fixed a bug in the creation of an edge-vertex kernel batch. 2014-06-24 11:58:12 -07:00
Nathan Litke
a23c8e05bd Fixed a bug in the creation of an edge-vertex kernel batch. 2014-06-24 11:55:25 -07:00
David G. Yu
ccdffb5855 Fixed cmake diagnostic messsage. 2014-06-23 22:14:57 -07:00
David G. Yu
54207ce79b Fixed build errors. 2014-06-23 22:07:50 -07:00
Nathan Litke
b7a763853c Added the CATMARK_RESTRICTED_VERT_VERTEX_A, CATMARK_RESTRICTED_VERT_VERTEX_B1, and CATMARK_RESTRICTED_VERT_VERTEX_B2 kernels which compute vertices resulting from the refinement of a smooth or (fully) sharp vertex.
* CATMARK_RESTRICTED_VERT_VERTEX_A handles k_Crease and k_Corner rules
* CATMARK_RESTRICTED_VERT_VERTEX_B1 handles regular k_Smooth and k_Dart rules
* CATMARK_RESTRICTED_VERT_VERTEX_B2 handles irregular k_Smooth and k_Dart rules
2014-06-23 15:59:43 -07:00
Manuel Kraemer
af3424e1da Merge pull request #310 from nathan-at-digitalfish/new_edge_vertex_kernel
New edge vertex kernel
2014-06-23 15:05:49 -07:00
Nathan Litke
634187f6c5 Fixed a bug in the CUDA kernel. 2014-06-23 14:49:10 -07:00
manuelk
1f2c16fd3f Merge branch 'release/v2_5_1' into dev 2014-06-19 15:59:24 -07:00
manuelk
23c488b4cf Release 2.5.1 2014-06-19 15:58:46 -07:00
manuelk
9f38860806 Update release notes for release 2.5.1 2014-06-19 15:51:44 -07:00
manuelk
2a181b166a Fix bilinear stencil tangent computions
- fix a couple of sneaky typos in the FarstencilTablesFactory

fixes #319
2014-06-19 11:34:08 -07:00
Nathan Litke
c6dcd30785 Fixed a bug in FarCatmarkSubdivisionTablesFactory introduced in a082ed3. 2014-06-16 12:41:21 -07:00
gelder
3bd2c0aef6 Fixes to boundary interpolation in osdutil. 2014-06-16 12:37:06 -07:00
Manuel Kraemer
50fb54a787 Merge pull request #318 from nathan-at-digitalfish/fix_direct_compute
Fix for DirectCompute tri-quad face-vertex kernel
2014-06-10 22:13:11 -07:00
Nathan Litke
a082ed39f4 Added an argument to FarMeshFactory that indicates which kernel types are supported by the controller. 2014-06-10 16:12:53 -07:00
Nathan Litke
7fcfd237f4 Fixed an error in the DirectCompute shader. This resolves https://github.com/PixarAnimationStudios/OpenSubdiv/issues/313. 2014-06-10 13:40:12 -07:00
Nathan Litke
a6e179367b Fixed an error in the DirectCompute shader. This resolves https://github.com/PixarAnimationStudios/OpenSubdiv/issues/313. 2014-06-09 19:43:02 -07:00
Nathan Litke
94c2a4293c Fixed a compiler error in tbbKernel.cpp. Addressed comments from https://github.com/PixarAnimationStudios/OpenSubdiv/pull/310. 2014-06-03 14:49:30 -07:00
Nathan Litke
e28215446a Changes to address comments from https://github.com/PixarAnimationStudios/OpenSubdiv/pull/310. 2014-06-02 14:20:02 -07:00
Nathan Litke
0af14f8ac6 Added the CATMARK_RESTRICTED_EDGE_VERTEX kernel which computes vertices resulting from the refinement of a smooth or (fully) sharp edge. 2014-05-30 17:44:25 -07:00
Manuel Kraemer
c4e760e722 Merge pull request #309 from nathan-at-digitalfish/fix_mesh_batching
Fix mesh batching
2014-05-30 12:50:14 -07:00
Nathan Litke
943a86aa88 Fixed mesh batching for the CATMARK_QUAD_FACE_VERTEX and CATMARK_TRI_QUAD_FACE_VERTEX kernels. 2014-05-30 11:54:28 -07:00
Manuel Kraemer
626921d82e Merge pull request #308 from nathan-at-digitalfish/new_face_vertex_kernels
New face vertex kernels
2014-05-30 10:56:12 -07:00
Nathan Litke
24b4aea686 Fixed a compiler error in the GLSL Transform Feedback kernels on OS X/Mavericks. 2014-05-30 00:55:25 -07:00
Nathan Litke
29b51d80af Implemented CATMARK_QUAD_FACE_VERTEX and CATMARK_TRI_QUAD_FACE_VERTEX kernels for DirectX 11, OpenMP, and TBB platforms. Fixed a bug in the GLSL Transform Feedback kernels. Minor changes for consistent formatting. 2014-05-29 23:20:04 -07:00
Nathan Litke
b769f4f60d Implemented CATMARK_QUAD_FACE_VERTEX and CATMARK_TRI_QUAD_FACE_VERTEX kernels for CUDA, GLSL Transform Feedback, and GLSL Compute platforms. 2014-05-28 17:21:37 -07:00
manuelk
d93ff03be3 Merge branch 'release/v2_5_0' into dev 2014-05-28 16:40:32 -07:00
manuelk
d72ce282fd Release 2.5.0 2014-05-28 16:39:50 -07:00
manuelk
8d877d720b Update release notes for release 2.5.0 2014-05-28 16:35:05 -07:00
manuelk
de57f43db1 Fix doxygen generation errors 2014-05-28 16:19:49 -07:00
Nathan Litke
064115bbe8 Added the CATMARK_QUAD_FACE_VERTEX and CATMARK_TRI_QUAD_FACE_VERTEX kernels.
* The CATMARK_QUAD_FACE_VERTEX kernel calculates the face-vertex for a quadrilateral face.  It applies to every face after the first subdivision step, and may be applied for the first subdivision step of a quadrilateral coarse mesh.

* The CATMARK_TRI_QUAD_FACE_VERTEX kernel calculates the face-vertex for a triangle or quadrilateral face.  It may be applied for the first subdivision step of a coarse mesh composed of triangles and/or quadrilaterals.

* Both kernels calculate each face-vertex using four vertex indices (triangles are specified by repeating the third index).  Therefore neither kernel uses the F_ITa codex table, and instead the first vertex offset in the F_IT index table is stored in the FarKernelBatch's table offset.
2014-05-28 13:52:12 -07:00