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
manuelk
dae55d68e2
fix FarPatchTables::GetNumFaces() and FarPatchTables::GetFaceVertices() :
...
These functions are exclusive to uniformly subdivided topology. With the recent refactoring
of PatchTables and the generalization of topology, uniform meshes only retain the topology
of the highest level of subdivision by default. These functions are now fixed to reflect the
change.
2013-06-19 16:31:06 -07:00
manuelk
f89d3614ba
fix OsdMash to catch up with some of the 1.2 code refactoring - thanks Sheng for digging this one up.
...
fixes #178
2013-06-19 14:53:03 -07:00
manuelk
a419830ee8
OsdGLDrawRegistry : fixing an OSD error message prefix when program linking fails
2013-06-19 12:59:43 -07:00
manuelk
85be47a135
OsdGlMesh : adding accessors for the FarMesh and the VertexBuffer for Scot
2013-06-19 12:55:12 -07:00
Takahito Tejima
043044827f
Fix a bug of patch level computation for non-quad faces.
2013-06-18 19:17:41 -07:00
Takahito Tejima
047a943bf2
Added an #ifdef around glew.h to avoid a conflict with gl.h in a client code.
2013-06-18 16:16:38 -07:00
manuelk
12f572946e
fix read/write permissions on files
2013-06-18 15:02:46 -07:00
Takahito Tejima
3885c4a6f7
Fix bug of incorrect patchParam table splicing.
2013-06-18 14:07:32 -07:00
manuelk
12e25f076a
Release 1.2.3
2013-06-17 19:35:29 -07:00
manuelk
bbe4435b19
minor API refactor of for EvalLimit :
...
- Replaced EvalData and EvalVertexData classes with a simpler DataStream class that only
accesses a single data stream, binds and unbinds it
- DataStream has both an input and an output version which avoids much of the const-ness
const-related ambiguity of the previous design pattern
- Vertex, varying and face-varying data now all have a dedicate struct (VertexData, VaryingData, FaceVaryingData)
as a way of gathering the various data-streams required to perform sampling
- renamd some "Buffers" into "Tables" for better naming consistency with Far
2013-06-17 18:13:13 -07:00
David G Yu
185e55b859
Fixed VS2010 error/warning
2013-06-14 09:54:38 -07:00
manuelk
795dec5fdc
Merge branch 'dev' of github.com:PixarAnimationStudios/OpenSubdiv into dev
2013-06-13 14:02:08 -07:00
manuelk
54bef92aab
switch cpuEvalLimitController to use a quad-tree based patch access map :
...
- remove PatchMap from FarPatchTables
- add a new FarPatchMap quad-tree class (constructed from FarPatchTables)
- refactor the EvalLimitController to use the quad-tree search instead of a
serial loop access
fixes #174
2013-06-13 14:01:23 -07:00
manuelk
642bb27d68
fix FarPatchParm : adding version.h include
2013-06-11 17:25:54 -07:00
manuelk
fab0527f91
minor FarPatchTables::PatchMap code refactor :
...
- replace use of std::multimap with an std::sort
- refactor some methods into PatchParam
2013-06-11 15:59:43 -07:00
David G Yu
61b8fb4713
Removed extraneous clipFlag declaration.
2013-06-10 23:00:38 -07:00
David G Yu
f5f524322a
Fixed VS2010 build warning/error
2013-06-10 16:32:45 -07:00
David G Yu
2b972f3117
Consolidated OpenGL includes into osd/opengl.h
2013-06-10 16:32:45 -07:00
David G Yu
967fc4db72
Fixed glsl shader portability edgeDistance
...
Moved all edgeDistance declarations to client shader code.
2013-06-10 16:32:45 -07:00
David G Yu
1461deb308
Fixed glsl shader portability (input,output)
2013-06-10 16:31:30 -07:00
David G Yu
ffe427dc65
Fixed glsl unsigned conversions in Gregory shaders
2013-06-10 16:21:48 -07:00
David G Yu
2551c32448
Fixed glsl shader portability
...
- defined a fallback value for ROTATE
- made GetPatchLevel() a macro to avoid
referencing gl_PrimitiveID from vertex shaders
- fixed float array initializers
2013-06-10 16:21:47 -07:00
David G Yu
e1930e58cd
Fixed some glsl preprocessor tests
...
Changed #if --> #ifdef for OSD_ENABLE_SCREENSPACE_TESSELLATION
2013-06-10 16:21:47 -07:00
David G Yu
c185968809
Updated glsl code texelFetchBuffer -> texelFetch
...
This allows us to remove unnecessary directives
to require GL_EXT_gpu_shader4
2013-06-10 16:21:47 -07:00
manuelk
7cb2463dc7
fix FarPatchTables::IsFeatureAdaptive() :
...
- trivial return if Gregory specific patch data is set
- or iterate through the patch-arrays until an adaptive patch is found (REGULAR,...,GREGORY_BOUNDARY)
fixes #173
2013-06-10 14:36:25 -07:00
manuelk
c18cf5bff2
first pass at face-varying interpolation for CpuEvalLimit - still
...
a couple of kinks to be worked out...
2013-06-06 18:07:46 -07:00
Takahito Tejima
f0be0b5799
Fix bug : multi mesh wasn't working correctly. FarMultiMesh has to set meshIndex to FarKernelBatch.
...
fixes #170
2013-06-06 16:20:40 -07:00
manuelk
043369485c
- adding varying data interpolation to the EvalLimit module
...
- minor refactoring of the LimitEvalContext to accomodate all the data buffers
- pushing some minor sub-patch functionality back to FarPatchParams
- extend example code with randomly generated varying vertex colors
2013-06-05 11:44:30 -07:00
Takahito Tejima
b0e8533ef4
Fix cmakefile and #ifdefs for opencl configuration.
2013-06-05 10:44:21 -07:00
manuelk
5fe38c3ac0
If Hbr carries no fvar data, then we shouldn't attempt to build fvar data tables in Far,
...
where the factory requests it or not...
fixes #169
2013-06-04 17:53:28 -07:00
Takahito Tejima
a6bf169344
Fix fvardata interpolation on adaptive patches.
2013-06-04 11:02:27 -07:00
manuelk
6ea2dee727
Release 1.2.2
2013-06-03 17:51:58 -07:00
manuelk
b270f99ea0
- prevent corner gutter texels from going into an infinite loop by
...
adding an arbitrary break if vertex valence is > 256
- add a Warning function to Osd error reporting
- minor cleanup /refactor / document of OsdError
fixes #167
2013-06-03 17:33:02 -07:00
Takahito Tejima
b037fc3307
Added early exit to Refine method to avoid unnecessary interop.
2013-06-03 17:06:33 -07:00
manuelk
21b9fbbb95
Moving some member variables of OsdGlDrawContext from public to protected
...
and adding the requisite accessors
Note : all our example code goes through the same boiler-plate texture
binding code - we might want to move it as a member function of the DrawContext.
2013-05-31 17:11:16 -07:00
manuelk
bcc31df715
doc fix for EvalLimitSample
2013-05-31 14:17:23 -07:00
manuelk
e52af3660e
fix cpuEvalLimitController : some samples were being dropped because
...
of bad parameterization on non-quad faces
2013-05-31 13:51:21 -07:00
manuelk
87188355f1
fix the last bugs in the GregoryBoundary EvalLimit CPU kernel
2013-05-30 18:12:09 -07:00
manuelk
49b710ee77
bug fixes to cpuEvalLimitKernel.cpp (use unsinge ivalence in the correct places)
...
minor code cleanup
Note : there is still a resilient bug in the Gregory Boundary patch case
2013-05-28 16:37:45 -07:00
manuelk
2849965f59
bug fixes for Gregory Boundary patches in cpuEvelLimitKernel.cpp
2013-05-28 13:54:37 -07:00
manuelk
262a0d43a1
fix some MSVC++ build warnings (mostly float precision literals)
2013-05-24 16:51:13 -07:00
manuelk
85a3001120
Work in progress on EvalLimit : added Gregory & GregoryBoundary kernels.
...
Note : GregoryBoundary does not generate the correct surface yet (bug to be squashed soon)
2013-05-24 16:29:28 -07:00
manuelk
f617cdd6ed
Work in Progress : checkin in function kernels for boundary and corner patches.
...
Casual testing doesn't reveal any bug within our sample shapes.
Remaining : gregory & gregory boundary patches.
2013-05-22 18:56:27 -07:00
manuelk
f25e89b745
Work-in-progress check-in for EvalLimit :
...
- added boundary / corner kernel code
- bug fixes for Gregory patch kernel
- wired the new kernels in the controller class
Note 1 : corner / gregory kernels are not working yet
Note 2 : the vertex mirroring solution used for boundary / corner kernels could be incorrect...
2013-05-22 12:10:49 -07:00
manuelk
492238edd6
extending the "firstLevel" parameter to farMesh constructor.
...
the parameter controls which levels of refinement to include in patchTables in the case of uniformly subdivided meshes.
2013-05-22 11:09:43 -07:00
David G Yu
b4b02fcc2d
Updated version number
2013-05-21 19:25:09 -07:00
Takahito Tejima
0e99d69b40
Added cuda runtime error check.
2013-05-21 19:19:00 -07:00
David G Yu
58bb23cf66
Release 1.2.0
2013-05-21 19:03:17 -07:00
Takahito Tejima
87114f7428
Rename osd_util to osdutil.
...
Cleanup the batching classes so that DrawCollection() no longer caches
current batch and effect. Any kind of binding optimization will be
handled in client's delegate class.
Also remove InitializeVertexBuffer method and add some arguments to
constructor instead.
2013-05-21 17:20:22 -07:00
manuelk
e1dce9f75e
fix copyright banner missing line
2013-05-20 12:10:47 -07:00
Manuel Kraemer
cc89f30dc1
Merge pull request #165 from manuelk/dev
...
Merge big refactoring & batching work
2013-05-20 07:41:40 -07:00
David G Yu
c82627d6e6
Release 1.1.0
2013-05-17 17:33:47 -07:00
Takahito Tejima
f18b7a2015
Fix a bug of not splicing ptexTables for uniform patches.
2013-05-17 16:38:15 -07:00
manuelk
1cfcb2ae79
comments
2013-05-17 16:02:03 -07:00
manuelk
2a298442f4
minor refactor : move PatchMap and PatchHandles into FarPatchTables where they belong (instead of OsdLimitEval)
2013-05-17 15:46:29 -07:00
David G Yu
17199885f1
Updated GCD kernel interfaces.
2013-05-17 15:29:05 -07:00
manuelk
209239c7c0
adding a missing 'static' to an internal function
2013-05-17 14:56:39 -07:00
manuelk
5dd23e8e27
more doxy comment fixes
2013-05-17 14:39:07 -07:00
manuelk
5dec62f786
Merge branch 'dev' of github.com:manuelk/OpenSubdiv into dev
2013-05-17 14:08:25 -07:00
manuelk
5ed3488493
more doxy / comment fixes
2013-05-17 14:07:53 -07:00
Takahito Tejima
ccbf1c1716
patchParam.h should be in install files
2013-05-17 14:06:03 -07:00
Takahito Tejima
317962697a
fix d3d11DrawContext and dxViewer to follow API changes
2013-05-17 13:30:43 -07:00
Takahito Tejima
aa76d9c645
Add constructor to FarPatchTables. Add enums to FarPatchTables::Type.
2013-05-17 12:49:57 -07:00
Takahito Tejima
bfbf51fda7
Merge branch 'dev' of https://github.com/manuelk/OpenSubdiv into dev
2013-05-17 12:05:50 -07:00
Takahito Tejima
bab8438cd6
optimize OsdUtilDrawController a little bit. using std::map seems faster in most case
2013-05-17 10:21:53 -07:00
manuelk
1b80f01ee3
style cleanup + doxy comments
2013-05-17 10:21:38 -07:00
manuelk
3869be18b7
Renaming PtexCoord as PatchParam and general cleanup of the ptex name where it
...
doesn't belong
2013-05-17 09:47:44 -07:00