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
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
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
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
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
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
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
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
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
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
a6bf169344
Fix fvardata interpolation on adaptive patches.
2013-06-04 11:02:27 -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