mirror of
https://github.com/PixarAnimationStudios/OpenSubdiv
synced 2025-01-03 05:31:12 +00:00
Merge remote-tracking branch 'origin/dev' into rc/v3_4_0
This commit is contained in:
commit
9be5a29827
@ -369,15 +369,24 @@ It is important to note that this uv parameterization is the intrinsic
|
||||
parameterization within a given patch or coarse face and is distinct
|
||||
from any client specified face-varying channel data.
|
||||
|
||||
Patches which result from irregular coarse faces (non-quad faces in the
|
||||
Catmark scheme, or non-trianglular faces in the Loop scheme) are offset
|
||||
by the one additional level needed to "quadrangulate" or "triangulate"
|
||||
the irregular face.
|
||||
|
||||
.. image:: images/far_patchUV.png
|
||||
:align: center
|
||||
:target: images/far_patchUV.png
|
||||
|
||||
Patches which result from irregular coarse faces (non-quad faces in the
|
||||
Catmark scheme) are offset by the one additional level needed to
|
||||
"quadrangulate" the irregular face. It is the indices of these offset
|
||||
faces that are stored in the PatchParam and used in other classes such
|
||||
as the Far::PatchMap. These offset indices can be identified from the
|
||||
coarse face using the Far::PtexIndices class when needed.
|
||||
|
||||
+--------------------------------------------+--------------------------------------------+
|
||||
| .. image:: images/ptex_coarse.png | .. image:: images/ptex_quadrangulated.png |
|
||||
| :align: center | :align: center |
|
||||
| :width: 100% | :width: 100% |
|
||||
| :target: images/ptex_coarse.png | :target: images/ptex_quadrangulated.png |
|
||||
+--------------------------------------------+--------------------------------------------+
|
||||
|
||||
A patch along an interpolated boundary edge is supported by an incomplete
|
||||
sets of control vertices. For consistency, patches in the PatchTable always
|
||||
have a full set of control vertex indices and the PatchParam Boundary bitmask
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 61 KiB |
Binary file not shown.
Before Width: | Height: | Size: 613 KiB |
@ -25,7 +25,7 @@
|
||||
Introduction
|
||||
------------
|
||||
|
||||
.. image:: images/insideout.png
|
||||
.. image:: http://graphics.pixar.com/opensubdiv/docs/images/opensubdiv_splash_v3_4_0.png
|
||||
:width: 100%
|
||||
:align: center
|
||||
|
||||
@ -85,17 +85,17 @@ between Pixar and Microsoft.
|
||||
| *Feature Adaptive GPU Rendering of Catmull-Clark Subdivision Surfaces*
|
||||
| Matthias Niessner, Charles Loop, Mark Meyer, and Tony DeRose
|
||||
| ACM Transactions on Graphics, Vol. 31 No. 1 Article 6 January 2012
|
||||
| `<http://research.microsoft.com/en-us/um/people/cloop/tog2012.pdf>`_
|
||||
| `<http://graphics.pixar.com/library/GPUSubdivRenderingA/paper.pdf>`_
|
||||
|
|
||||
| *Efficient Evaluation of Semi-Smooth Creases in Catmull-Clark Subdivision Surfaces*
|
||||
| Matthias Niessner, Charles Loop, and Guenter Greiner.
|
||||
| Eurographics Proceedings, Cagliari, 2012
|
||||
| `<http://research.microsoft.com/en-us/um/people/cloop/EG2012.pdf>`_
|
||||
| `<https://niessnerlab.org/papers/2012/1semismooth/niessner2012efficient.pdf>`_
|
||||
|
|
||||
| *Analytic Displacement Mapping using Hardware Tessellation*
|
||||
| Matthias Niessner, Charles Loop
|
||||
| ACM Transactions on Graphics, Vol. 32 No. 3 Article 26 June 2013
|
||||
| `<http://research.microsoft.com/en-us/um/people/cloop/TOG2013.pdf>`_
|
||||
| `<https://niessnerlab.org/papers/2013/3analytic/niessner2013analytic.pdf>`_
|
||||
|
||||
----
|
||||
|
||||
@ -158,10 +158,6 @@ For details on how to contribute to OpenSubdiv, see the page on
|
||||
External Resources
|
||||
==================
|
||||
|
||||
Microsoft Research:
|
||||
`Charles Loop <http://research.microsoft.com/en-us/um/people/cloop/>`__
|
||||
`Matthias Niessner <http://lgdv.cs.fau.de/people/card/matthias/niessner/>`__
|
||||
|
||||
Pixar Research:
|
||||
`Pixar R&D Portal <http://graphics.pixar.com/research/>`__
|
||||
|
||||
|
@ -305,8 +305,8 @@ An arbitrary polygonal mesh will often not make a good subdivision cage, regardl
|
||||
of how good that polygonal mesh appears.
|
||||
|
||||
As with rectangular piecewise parametric surfaces, the cage should be shaped to
|
||||
affect the underlying surface it is intended to represent. See <Modeling Tips> for
|
||||
related recommendations.
|
||||
affect the underlying surface it is intended to represent. See
|
||||
`Modeling Tips <mod_notes.html>`__ for related recommendations.
|
||||
|
||||
----
|
||||
|
||||
@ -401,7 +401,7 @@ provides simple rules and a reasonable limit surface in most cases.
|
||||
|
||||
As with the case of regular versus irregular features, since every face has a
|
||||
corresponding piece of surface associated with it -- whether locally manifold or
|
||||
not -- the term "arbitrary topology" can be made to include non-manifold topology.
|
||||
not -- the term "arbitrary topology" can be said to include non-manifold topology.
|
||||
|
||||
----
|
||||
|
||||
@ -490,8 +490,8 @@ limit surface -- that is far more flexible than the results achieved from unifo
|
||||
| :width: 95% | :width: 95% |
|
||||
| :target: images/surface_bspline_tess1.jpg | :target: images/surface_bspline_tess2.jpg |
|
||||
| | |
|
||||
| Uniform tessellation of B-spline surface | Curvature-adaptive tessellation of B-spline |
|
||||
| | surface |
|
||||
| Uniform (3x3) tessellation of B-spline | Curvature-adaptive tessellation of B-spline |
|
||||
| surface | surface |
|
||||
+----------------------------------------------+----------------------------------------------+
|
||||
|
||||
For a simple parametric surface, the direct evaluation of the limit surface is also simple,
|
||||
@ -804,7 +804,8 @@ Subdivision Schemes
|
||||
|
||||
OpenSubdiv provides two well known subdivision surface types -- Catmull-Clark (often referred
|
||||
to more tersely as "Catmark") and Loop subdivision. Catmull-Clark is more widely used and
|
||||
suited to quad-dominant meshes, while Loop is preferred for purely triangulated meshes.
|
||||
suited to quad-dominant meshes, while Loop is preferred for (and requires) purely triangulated
|
||||
meshes.
|
||||
|
||||
The many examples from previous sections have illustrated the more popular Catmull-Clark
|
||||
scheme. For an example of Loop:
|
||||
@ -816,10 +817,6 @@ scheme. For an example of Loop:
|
||||
| :target: images/loop_cage.jpg | :target: images/loop_sub1.jpg | :target: images/loop_sub2.jpg | :target: images/loop_surface.jpg|
|
||||
+------------------------------------+------------------------------------+------------------------------------+------------------------------------+
|
||||
|
||||
*Note that while Loop subdivision has long been available, support for the limit surface
|
||||
of Loop subdivision (i.e. arbitrary evaluation of the surface via patches) is not supported
|
||||
prior to version 3.4.*
|
||||
|
||||
----
|
||||
|
||||
Boundary Interpolation Rules
|
||||
|
Loading…
Reference in New Issue
Block a user