mirror of
https://github.com/PixarAnimationStudios/OpenSubdiv
synced 2024-11-24 04:20:21 +00:00
Merge pull request #636 from davidgyu/releaseDocs
A few small documentation fixes
This commit is contained in:
commit
440bdb44dc
Binary file not shown.
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 665 KiB |
@ -96,8 +96,11 @@ The following rule sets can be applied to vertex data interpolation:
|
||||
+----------------------------------+----------------------------------------------------------+
|
||||
| Mode | Behavior |
|
||||
+==================================+==========================================================+
|
||||
| **VTX_BOUNDARY_NONE** | No boundary interpolation behavior should occur |
|
||||
| | (debug mode - boundaries are undefined) |
|
||||
| **VTX_BOUNDARY_NONE** | No boundary edge interpolation should occur; instead |
|
||||
| | boundary faces are tagged as holes so that the boundary |
|
||||
| | edge-chain continues to support the adjacent interior |
|
||||
| | faces but is not considered to be part of the refined |
|
||||
| | surface |
|
||||
+----------------------------------+----------------------------------------------------------+
|
||||
| **VTX_BOUNDARY_EDGE_ONLY** | All the boundary edge-chains are sharp creases; boundary |
|
||||
| | vertices are not affected |
|
||||
@ -121,7 +124,7 @@ Face-Varying Interpolation Rules
|
||||
|
||||
Face-varying data can follow the same interpolation behavior as vertex data, or it
|
||||
can be constrained to interpolate linearly around selective features from corners,
|
||||
boundaries to the entire interior of the mesh.
|
||||
boundaries, or the entire interior of the mesh.
|
||||
|
||||
The following rules can be applied to face-varying data interpolation:
|
||||
|
||||
@ -146,7 +149,7 @@ that of the vertices. The presence of sharp features of the mesh created by
|
||||
sharpness values, boundary interpolation rules, or the subdivision scheme itself
|
||||
(e.g. Bilinear) take precedence.
|
||||
|
||||
Unwrapped cube example:
|
||||
Face-varying interpolation using the catmark_fvar_bound1 regression shape:
|
||||
|
||||
.. image:: images/fvar_boundaries.png
|
||||
:align: center
|
||||
|
@ -94,9 +94,6 @@ public:
|
||||
endCapType(ENDCAP_GREGORY_BASIS),
|
||||
shareEndCapPatchPoints(true),
|
||||
generateFVarTables(false),
|
||||
#ifdef FAR_FVAR_SMOOTH_PATCH
|
||||
useFVarQuadEndCaps(true), // XXXX change to false when FVar Gregory is ready
|
||||
#endif
|
||||
numFVarChannels(-1),
|
||||
fvarChannelIndices(0)
|
||||
{ }
|
||||
@ -119,10 +116,6 @@ public:
|
||||
|
||||
// face-varying
|
||||
generateFVarTables : 1;///< Generate face-varying patch tables
|
||||
#ifdef FAR_FVAR_SMOOTH_PATCH
|
||||
unsigned int useFVarQuadEndCaps : 1; ///< Use bilinear quads as end-caps around extraordinary vertices
|
||||
#endif
|
||||
|
||||
int numFVarChannels; ///< Number of channel indices and interpolation modes passed
|
||||
int const * fvarChannelIndices; ///< List containing the indices of the channels selected for the factory
|
||||
};
|
||||
|
@ -1192,7 +1192,7 @@ OsdEvalPatchGregory(ivec3 patchParam, vec2 UV, vec3 cv[20],
|
||||
float U = 1-u, V = 1-v;
|
||||
|
||||
//(0,1) (1,1)
|
||||
// P3 e3- e2+ E2
|
||||
// P3 e3- e2+ P2
|
||||
// 15------17-------11-------10
|
||||
// | | | |
|
||||
// | | | |
|
||||
@ -1209,7 +1209,7 @@ OsdEvalPatchGregory(ivec3 patchParam, vec2 UV, vec3 cv[20],
|
||||
// | | | |
|
||||
// | | | |
|
||||
// 0--------1--------7--------5
|
||||
// P0 e0+ e1- E1
|
||||
// P0 e0+ e1- P1
|
||||
//(0,0) (1,0)
|
||||
|
||||
float d11 = u+v;
|
||||
@ -1585,7 +1585,7 @@ OsdComputePerPatchVertexGregory(ivec3 patchParam, int ID, int primitiveID,
|
||||
// for Hardware Tessellation"
|
||||
// Loop, Schaefer, Ni, Castano (ACM ToG Siggraph Asia 2009)
|
||||
//
|
||||
// P3 e3- e2+ E2
|
||||
// P3 e3- e2+ P2
|
||||
// O--------O--------O--------O
|
||||
// | | | |
|
||||
// | | | |
|
||||
@ -1602,7 +1602,7 @@ OsdComputePerPatchVertexGregory(ivec3 patchParam, int ID, int primitiveID,
|
||||
// | | | |
|
||||
// | | | |
|
||||
// O--------O--------O--------O
|
||||
// P0 e0+ e1- E1
|
||||
// P0 e0+ e1- P1
|
||||
//
|
||||
|
||||
#ifdef OSD_PATCH_GREGORY_BOUNDARY
|
||||
|
@ -1068,7 +1068,7 @@ OsdEvalPatchGregory(int3 patchParam, float2 UV, float3 cv[20],
|
||||
float U = 1-u, V = 1-v;
|
||||
|
||||
//(0,1) (1,1)
|
||||
// P3 e3- e2+ E2
|
||||
// P3 e3- e2+ P2
|
||||
// 15------17-------11-------10
|
||||
// | | | |
|
||||
// | | | |
|
||||
@ -1085,7 +1085,7 @@ OsdEvalPatchGregory(int3 patchParam, float2 UV, float3 cv[20],
|
||||
// | | | |
|
||||
// | | | |
|
||||
// 0--------1--------7--------5
|
||||
// P0 e0+ e1- E1
|
||||
// P0 e0+ e1- P1
|
||||
//(0,0) (1,0)
|
||||
|
||||
float d11 = u+v;
|
||||
@ -1461,7 +1461,7 @@ OsdComputePerPatchVertexGregory(int3 patchParam, int ID, int primitiveID,
|
||||
// for Hardware Tessellation"
|
||||
// Loop, Schaefer, Ni, Castano (ACM ToG Siggraph Asia 2009)
|
||||
//
|
||||
// P3 e3- e2+ E2
|
||||
// P3 e3- e2+ P2
|
||||
// O--------O--------O--------O
|
||||
// | | | |
|
||||
// | | | |
|
||||
@ -1478,7 +1478,7 @@ OsdComputePerPatchVertexGregory(int3 patchParam, int ID, int primitiveID,
|
||||
// | | | |
|
||||
// | | | |
|
||||
// O--------O--------O--------O
|
||||
// P0 e0+ e1- E1
|
||||
// P0 e0+ e1- P1
|
||||
//
|
||||
|
||||
#ifdef OSD_PATCH_GREGORY_BOUNDARY
|
||||
|
Loading…
Reference in New Issue
Block a user