Commit Graph

1350 Commits

Author SHA1 Message Date
David G Yu
4c0f026bee Fixed a few problems with High DPI displays in the example programs. 2014-10-24 11:15:19 -07:00
David G Yu
e2bcc041d3 Added catmark_gregory_test{6,7} to a few examples. 2014-10-24 11:07:24 -07:00
David G Yu
68ce13eeec Fixed rotation for patches with 3 transitional edges. 2014-10-24 11:03:55 -07:00
David G Yu
90dd11a5b9 Added two new regression test shapes. 2014-10-24 11:01:46 -07:00
David G Yu
1e00056d8a Improved stability on OSX drivers by not declaring unused shader in/out vars. 2014-10-23 15:59:05 -07:00
David G. Yu
a9cbb1b3fd Fixed VS2012 compile error. 2014-10-23 14:17:49 -07:00
David G. Yu
cc71c8e741 Fixed Osd namespace use in DX examples. 2014-10-23 13:48:55 -07:00
David G. Yu
b11d5e22f0 Fixed d3d11 and gl mesh wrappers to be
consistent wrt the MeshInterface API.
2014-10-23 13:45:57 -07:00
David G. Yu
6cc24d32fd Fixed missing namespace closing brace. 2014-10-23 13:43:45 -07:00
David G. Yu
fce3dcca00 Fixed vec array initializer. 2014-10-23 13:41:27 -07:00
manuelk
f4c2f8d9e1 Fix Windows build of Osd OMP CPU kernel
note: we #include <vector> instead malloc.h for portability
2014-10-23 12:07:12 -07:00
manuelk
f1ac01ca84 Fix Far::StencilTablesFactory introduced in re-factor
- big stencil initialization was incorrect
2014-10-22 11:57:49 -07:00
manuelk
8e5426d93e Fix build for vtrViewer code example (match refactor of Far::StencilFactory) 2014-10-22 11:01:22 -07:00
manuelk
7d07e341e0 Adjust near clipping plane in glViewer automatically when SSAO is turned off
- when SSAO is turned off, we can bring the near clipping plane much closer to help close-up inspection...
2014-10-21 18:50:54 -07:00
manuelk
f145f70fd2 Refactor Far::StencilTablesFactory
- re-implement the pool allocator
    - use templates to remove code redundancy between regular & limit stencils
    - leverage [] operator overloading to simplify stencil factorization
    - add the ability to treat subdivision levels independently (see below)

- refactor Far::TopologyRefiner::Interpolate<>() methods to pass buffers by reference
  (allows overloading of [] operator)

- rename some of the stencil factory options
- propagate changes to Osd / examples / tutorials...
2014-10-21 16:36:26 -07:00
manuelk
a16d558a3e Fix GLSL compute code version defintion
- remove #version declaration from the kernel code
- move it in front of shader sources before compiling to prevent some drivers from throwing errors

fixes #360
2014-10-20 18:09:30 -07:00
manuelk
8fea836eb1 Fix far_tutorial_2 : remove redundant Vertex copy constructor
fixes #359
2014-10-16 12:01:14 -07:00
barfowl
adefbb62b5 More adjustments in TopologyRefiner for levels and refiments as ptrs:
- now incrementally allocates and appends during refinement
    - updated a few more access of member vectors
2014-10-15 11:22:32 -07:00
manuelk
cb68da95cc Fix TopologyRefiner crash bug
Cause: std::vector.resize() function invalidates Vtr::Level pointers held by FVarLevel

Fix: switch std::vector<Vtr::Level> to std::vector<Vtr::Level *> and cycle through
the vector with appropriate new/delete.
2014-10-14 18:59:05 -07:00
barfowl
df23812759 Added proper fractional weighting for semi-sharp FVar boundaries:
- semi-sharp edges interior to FVar regions now properly recognized
    - added clear() method to FVar tags and reworked their initialization
2014-10-13 12:17:25 -07:00
Manuel Kraemer
5b7462286f Merge pull request #357 from stopiccot/vs2013_dxsdk_search_path
Added search path for VS 2013 built-in DXSDK
2014-10-13 11:56:17 -07:00
manuelk
7704d682d6 Reset default prim in glViewer code example to first in list 2014-10-13 11:27:43 -07:00
Takahito Tejima
16746f1a0c Fix bad uv rotations on single-crease patch 2014-10-13 10:33:34 -07:00
Takahito Tejima
c0907c7bc1 Introduces 'single-crease patch' : implements "Efficient Evaluation of Semi-Smooth Creases in
Catmull-Clark Subdivision Surfaces", Niessner et al, Eurographics 2012.

This change includes;
-topology identification for single-crease patch during adaptive refinement.
-patch array population (similar to boundary)
-sharpness buffer generation
-glsl shader

Eval stuffs will be coming.
2014-10-13 08:52:09 -07:00
manuelk
c30087cb52 Fix face-varying code in examples / tutorials to reflect changes in commit 4d84dfd7be 2014-10-10 11:57:43 -07:00
barfowl
4d84dfd7be Redefined face varying "boundary interpolation" to "linear interpolation":
- redefined and documented Sdc::Options::FVarLinearInterpolation
    - included "corners only" mode not possible with Hbr
    - updated usage within Vtr::FVarLevel
2014-10-09 19:36:25 -07:00
manuelk
cea1dd1880 Change FarStencilTables indices from 'unsigned int' to Far::Index type 2014-10-09 16:36:23 -07:00
manuelk
a79832b3a1 Far::PatchTables re-factor & clean-up
- remove Descriptor iterators
- switch 'unsigned int' indices to typed Far::Index

We aren't done yet... but its a step in the right direction
2014-10-09 14:48:50 -07:00
barfowl
62b76d9c2e Fixed improperly initialized ValueTags in FVarLevel. 2014-10-06 17:18:00 -07:00
manuelk
64610cacf7 Addng a regression shape to test face-varying boundary interpolation rules 2014-10-06 16:22:10 -07:00
barfowl
f706062ab1 Added support for semi-sharp features along face-varying boundaries:
- added semi-sharp tag to FVar ValueTags and applied in base FVarLevel
    - re-assess status of tagged semi-sharp values in each FVarRefinement
    - detect and apply fractional weighting in InterpolateFaceVarying()
2014-10-06 12:07:44 -07:00
manuelk
639788abbe Fix vec array initialization in GLSL & HLSL (should fix some DX compiler problems)
Fixes #354
2014-10-04 16:22:43 -07:00
stopiccot
eeedcc155f Added search path for VS 2013 built-in DXSDK 2014-10-04 21:40:46 +03:00
manuelk
3fc60389cd Fix build warning in Far::StencilTablesFactory (MVSC) 2014-10-03 17:54:30 -07:00
manuelk
43c235b85d Adding 2 regression shapes to exercise face-varying interpolation code paths 2014-10-03 10:35:32 -07:00
manuelk
d3fa91deaa Fix incorrect assert in Osd::DrawContext 2014-10-03 10:35:00 -07:00
barfowl
75ee14e974 Minor improvements to TopologyRefiner's Interpolate() and Limit methods():
- rearranged weight application in all to improve precision
    - added LimitFaceVarying()
2014-10-03 10:07:05 -07:00
manuelk
43493bb9ae Add support for bilinear stencils to the FarLimitStencilsFactory
- also update glSencilViewer code example to visualize the new stencil type
2014-10-02 16:09:17 -07:00
barfowl
34f397c52b Checking in work-in-progress on face-varying boundary interpolation:
- added more recognition of Hbr behavior
    - refactored smooth boundaries to identify continuous spans
    - mark spans as sharp corners if interrupted by internal dart edge
2014-10-02 14:32:54 -07:00
manuelk
431ee0fabb Fix boundary interpolation rule bug in glFVarViewer
- "propagate corner" rule was swapped with "always sharp" rule
2014-10-01 16:38:06 -07:00
manuelk
d898ab9779 Update glFVarViewer code example to match face-varying boundary policy changes in Sdc 2014-10-01 11:27:57 -07:00
manuelk
0d4582b34c Add 'sticles' to the glEvalLimit code example
Make the sample locations dynamic by adding a velocity vector. Face boundary
crossing is handled using the new ptex adjacency functionality recently
added to the Far::TopologyRefiner.
2014-09-30 18:53:47 -07:00
manuelk
b48da0d6c6 Fix doxy build warning on the new ptex adjacency function 2014-09-30 18:53:14 -07:00
manuelk
de4564a779 Fix parametric rotation in Far::PatchParam for Gregory Boundary patches (always 0) 2014-09-30 18:13:51 -07:00
barfowl
09e5e5fefa Fixed missing initialization of Vtr::Level::VTag._incomplete. 2014-09-30 17:19:03 -07:00
barfowl
4a11e39f2c Added initialization of Vtr::Level::VTag._incomplete in refiner factory. 2014-09-29 18:48:24 -07:00
barfowl
606e8fc1b9 Added support for face-varying boundary interpolation options:
- "propagate corners" added as new enumeration to Sdc::Options
    - topology tags within FVar channel initialized and propagated
    - face-varying Interpolate() method updated to deal with creases
2014-09-29 18:46:33 -07:00
manuelk
aacd43a09b Add a function to Far::TopologyRefiner to gather ptex adjacency for a given face / quadrant pair
- also refactor Vtr::Array 'FindIndex' functions
2014-09-26 15:10:57 -07:00
manuelk
19ed202965 Pass control vertices by reference to Far::PatchTables::Limit<>() function
This will allow overriding the [] operator and possibly help refactor the far stencil factory code
2014-09-24 15:15:22 -07:00
manuelk
be679dde3f Fix compile warning in Far::StencilTablesFactory 2014-09-24 14:49:51 -07:00