mirror of
https://github.com/PixarAnimationStudios/OpenSubdiv
synced 2024-11-25 21:10:08 +00:00
Merge pull request #1086 from barfowl/doc_examples_and_links
Minor fixes and improvements to the documentation pages
This commit is contained in:
commit
40855edf12
@ -100,9 +100,7 @@ if (DOCUTILS_FOUND AND PYTHONINTERP_FOUND)
|
|||||||
sdc_overview.rst
|
sdc_overview.rst
|
||||||
subdivision_surfaces.rst
|
subdivision_surfaces.rst
|
||||||
tutorials.rst
|
tutorials.rst
|
||||||
using_osd.rst
|
|
||||||
using_osd_hbr.rst
|
using_osd_hbr.rst
|
||||||
using_osd_textures.rst
|
|
||||||
vtr_overview.rst
|
vtr_overview.rst
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -38,12 +38,12 @@ of the software.
|
|||||||
:widths: 50 50
|
:widths: 50 50
|
||||||
|
|
||||||
* - | `glViewer <glviewer.html>`_
|
* - | `glViewer <glviewer.html>`_
|
||||||
| `glPtexViewer <glptexviewer.html>`_
|
|
||||||
| `glEvalLimit <glevallimit.html>`_
|
| `glEvalLimit <glevallimit.html>`_
|
||||||
- | `glStencilViewer <glstencilviewer.html>`_
|
|
||||||
| `glPaintTest <glpainttest.html>`_
|
| `glPaintTest <glpainttest.html>`_
|
||||||
|
| `glPtexViewer <glptexviewer.html>`_
|
||||||
|
- | `glFVarViewer <glfvarviewer.html>`_
|
||||||
|
| `glStencilViewer <glstencilviewer.html>`_
|
||||||
| `glShareTopology <glsharetopology.html>`_
|
| `glShareTopology <glsharetopology.html>`_
|
||||||
| `glFVarViewer <glfvarviewer.html>`_
|
|
||||||
|
|
||||||
.. list-table:: **DirectX examples**
|
.. list-table:: **DirectX examples**
|
||||||
:class: quickref
|
:class: quickref
|
||||||
@ -54,10 +54,34 @@ of the software.
|
|||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
|
Common Command Line Options
|
||||||
|
===========================
|
||||||
|
|
||||||
|
While the following command line options are common, not all examples support
|
||||||
|
all -- in some cases, certain options are not applicable.
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
-f : launches the application in full-screen mode (if supported)
|
||||||
|
-u : apply uniform subdivision to all meshes
|
||||||
|
-a : apply adaptive subdivision to create patches for the limit surface
|
||||||
|
-l depth : level of uniform or adaptive refinement to apply
|
||||||
|
-c count : number of repetitions of the animation loop when supported (default
|
||||||
|
of 0 is infinite)
|
||||||
|
-anim : interpret a given set of Obj files as an animated sequence rather
|
||||||
|
than a set of distinct meshes
|
||||||
|
-catmark : apply the Catmark scheme to all meshes in given Obj files (default)
|
||||||
|
-loop : apply the Loop scheme to all meshes in given Obj files
|
||||||
|
-bilinear : apply the Bilinear scheme to all meshes in given Obj files
|
||||||
|
objfile(s) : a set of one or more meshes in Obj format (requiring a .obj extension)
|
||||||
|
that may be distinct meshes or animated versions of a single mesh
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
Common Keyboard Controls
|
Common Keyboard Controls
|
||||||
========================
|
========================
|
||||||
|
|
||||||
.. code:: c++
|
::
|
||||||
|
|
||||||
Left mouse button drag : orbit camera
|
Left mouse button drag : orbit camera
|
||||||
Middle mouse button drag : pan camera
|
Middle mouse button drag : pan camera
|
||||||
|
@ -83,7 +83,7 @@ simply be changed -- and so an additional mode was added to avoid such behavior.
|
|||||||
|
|
||||||
All choices are now provided through a single "linear interpolation" enum,
|
All choices are now provided through a single "linear interpolation" enum,
|
||||||
described and illustrated in more detail in the overview of
|
described and illustrated in more detail in the overview of
|
||||||
`Face-Varying Interpolation <subdivision_surfaces.html#face-varying-interpolation-rules>`__.
|
`Face-Varying Interpolation <subdivision_surfaces.html#face-varying-interpolation>`__.
|
||||||
The use of "boundary" in the name of the enum was intentionally removed
|
The use of "boundary" in the name of the enum was intentionally removed
|
||||||
as the choice also affects interior interpolation. The new use of "linear"
|
as the choice also affects interior interpolation. The new use of "linear"
|
||||||
is now intended to reflect the fact that interpolation is constrained to be
|
is now intended to reflect the fact that interpolation is constrained to be
|
||||||
|
@ -35,18 +35,14 @@ SYNOPSIS
|
|||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
:class: codefhead
|
:class: codefhead
|
||||||
|
|
||||||
**dxPtexViewer**
|
**dxPtexViewer** [**-f**] [**-l** *isolation level*] [**-c** *animation loops*] [**-y**]
|
||||||
[**-e** *environment map*]
|
[**-e** *environment map*] [**-d** *HDR diffuse map*] [**-s** *HDR specular map*]
|
||||||
[**-d** *HDR diffuse map*]
|
[**--disp** *displacement scale*]
|
||||||
[**-s** *HDR specular map*]
|
*ptex color file*
|
||||||
[**-y**]
|
*ptex displacement file*
|
||||||
[**--disp** *displacement scale*]
|
*ptex occlusion file*
|
||||||
[**-l** *isolation level*]
|
*ptex specular file*
|
||||||
*ptex color file*
|
*objfile(s)*
|
||||||
*ptex displacement file*
|
|
||||||
*ptex occlusion file*
|
|
||||||
*ptex specular file*
|
|
||||||
*objfile(s)*
|
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
===========
|
===========
|
||||||
@ -61,6 +57,13 @@ are available to experiment with the algorithms.
|
|||||||
OPTIONS
|
OPTIONS
|
||||||
=======
|
=======
|
||||||
|
|
||||||
|
See the description of the
|
||||||
|
`common comand line options <code_examples.html#common-command-line-options>`__
|
||||||
|
for the subset of common options supported here.
|
||||||
|
|
||||||
|
**-y**
|
||||||
|
Swap Z-up geometry to Y-UP.
|
||||||
|
|
||||||
**-e** *environment map*
|
**-e** *environment map*
|
||||||
A low dynamic range spherical environment map used as a background. Ideally,
|
A low dynamic range spherical environment map used as a background. Ideally,
|
||||||
a color-normalized version of the HDR light probe.
|
a color-normalized version of the HDR light probe.
|
||||||
@ -75,13 +78,6 @@ OPTIONS
|
|||||||
**--disp** *displacement scale*
|
**--disp** *displacement scale*
|
||||||
A scalar multiplier for the shader displacement values.
|
A scalar multiplier for the shader displacement values.
|
||||||
|
|
||||||
**-y**
|
|
||||||
Swap Z-up geometry to Y-UP.
|
|
||||||
|
|
||||||
**-l** *isolation level*
|
|
||||||
Select the desired isolation level of adaptive feature isolation. This can be
|
|
||||||
useful when trying to load large pieces of geometry.
|
|
||||||
|
|
||||||
*ptex color file*
|
*ptex color file*
|
||||||
A ptex file containing RGB channels read as material albedo color.
|
A ptex file containing RGB channels read as material albedo color.
|
||||||
|
|
||||||
|
@ -35,7 +35,8 @@ SYNOPSIS
|
|||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
:class: codefhead
|
:class: codefhead
|
||||||
|
|
||||||
**dxViewer** [**-d** *isolation level*] [**-c** *animation loops*] *objfile(s)*
|
**dxViewer** [**-u**] [**-a**] [**-l** *refinement level*] [**-c** *animation loops*]
|
||||||
|
*objfile(s)* [**-anim**] [**-catmark**] [**-loop**] [**-bilinear**]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
===========
|
===========
|
||||||
@ -58,13 +59,8 @@ shapes. Multiple controls are available to experiment with the algorithms.
|
|||||||
OPTIONS
|
OPTIONS
|
||||||
=======
|
=======
|
||||||
|
|
||||||
**-d** *isolation level*
|
See the description of the
|
||||||
Select the desired isolation level of adaptive feature isolation. This can be
|
`common comand line options <code_examples.html#common-command-line-options>`__
|
||||||
useful when trying to load large pieces of geometry.
|
for the subset of common options supported here.
|
||||||
|
|
||||||
**-c** *animation frequency*
|
|
||||||
Number of repetitions of the animation loop (default=0 is infinite)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.. include:: examples_see_also.rst
|
.. include:: examples_see_also.rst
|
||||||
|
@ -3,11 +3,12 @@ SEE ALSO
|
|||||||
|
|
||||||
Other `examples <code_examples.html>`__ \ :
|
Other `examples <code_examples.html>`__ \ :
|
||||||
`glViewer <glviewer.html>`__, \
|
`glViewer <glviewer.html>`__, \
|
||||||
`glShareTopology <glsharetopology.html>`__, \
|
`glFVarViewer <glfvarviewer.html>`__, \
|
||||||
|
`glEvalLimit <glevallimit.html>`__, \
|
||||||
`glStencilViewer <glstencilviewer.html>`__, \
|
`glStencilViewer <glstencilviewer.html>`__, \
|
||||||
`glPtexViewer <glptexviewer.html>`__, \
|
`glPtexViewer <glptexviewer.html>`__, \
|
||||||
`glEvalLimit <glevallimit.html>`__, \
|
`glPaintTest <glpainttest.html>`__, \
|
||||||
`glFVarViewer <glfvarviewer.html>`__, \
|
`glShareTopology <glsharetopology.html>`__, \
|
||||||
`dxViewer <dxviewer.html>`__, \
|
`dxViewer <dxviewer.html>`__, \
|
||||||
`dxPtexViewer <dxptexviewer.html>`__, \
|
`dxPtexViewer <dxptexviewer.html>`__, \
|
||||||
|
|
||||||
|
@ -50,7 +50,8 @@ vertices, edges, and faces. This process is purely topological and does
|
|||||||
not depend on the speciific values of any primvar data (point positions, etc).
|
not depend on the speciific values of any primvar data (point positions, etc).
|
||||||
|
|
||||||
Topology refinement can be either uniform or adaptive, where extraordinary
|
Topology refinement can be either uniform or adaptive, where extraordinary
|
||||||
features are automatically isolated (see `feature adaptive subdivision <subdivision_surfaces.html#feature-adaptive-subdivision>`__).
|
features are automatically isolated (see
|
||||||
|
`feature adaptive subdivision <subdivision_surfaces.html#feature-adaptive>`__).
|
||||||
|
|
||||||
The *Far* topology classes present a public interface for the refinement
|
The *Far* topology classes present a public interface for the refinement
|
||||||
functionality provided in `Vtr <vtr_overview.html#Vtr>`__,
|
functionality provided in `Vtr <vtr_overview.html#Vtr>`__,
|
||||||
@ -541,9 +542,9 @@ reduced only to contributions from vertices from the previous level of
|
|||||||
refinement.
|
refinement.
|
||||||
|
|
||||||
The latter mode allows client-code to access and insert modifications to the
|
The latter mode allows client-code to access and insert modifications to the
|
||||||
vertex data at set refinement levels (see `hierarchical vertex edits
|
vertex data at set refinement levels -- creating what are often referred
|
||||||
<subdivision_surfaces.html#hierarchical-edits>`_). Once the edits have been
|
to as *hierarchical edits*. Once the edits have been
|
||||||
applied by the client-code, another set of stencils can be used to smoothe the
|
applied by the client-code, another set of stencils can be used to smooth the
|
||||||
vertex data to a higher level of refinement.
|
vertex data to a higher level of refinement.
|
||||||
|
|
||||||
.. image:: images/far_stencil8.png
|
.. image:: images/far_stencil8.png
|
||||||
@ -580,7 +581,7 @@ Also: just as discrete stencils, limit stencils that are factorized from coarse
|
|||||||
control vertices do not have inter-dependencies and can be evaluated in
|
control vertices do not have inter-dependencies and can be evaluated in
|
||||||
parallel.
|
parallel.
|
||||||
|
|
||||||
For implementation details, see the `glStencilViewer <glStencilViewer.html>`_
|
For implementation details, see the `glStencilViewer <glstencilviewer.html>`_
|
||||||
code example.
|
code example.
|
||||||
|
|
||||||
Sample Location On Extraordinary Faces
|
Sample Location On Extraordinary Faces
|
||||||
|
@ -1,89 +0,0 @@
|
|||||||
..
|
|
||||||
Copyright 2013 Pixar
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "Apache License")
|
|
||||||
with the following modification; you may not use this file except in
|
|
||||||
compliance with the Apache License and the following modification to it:
|
|
||||||
Section 6. Trademarks. is deleted and replaced with:
|
|
||||||
|
|
||||||
6. Trademarks. This License does not grant permission to use the trade
|
|
||||||
names, trademarks, service marks, or product names of the Licensor
|
|
||||||
and its affiliates, except as required to comply with Section 4(c) of
|
|
||||||
the License and to reproduce the content of the NOTICE file.
|
|
||||||
|
|
||||||
You may obtain a copy of the Apache License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the Apache License with the above modification is
|
|
||||||
distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
||||||
KIND, either express or implied. See the Apache License for the specific
|
|
||||||
language governing permissions and limitations under the Apache License.
|
|
||||||
|
|
||||||
|
|
||||||
glBatchViewer
|
|
||||||
-------------
|
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:local:
|
|
||||||
:backlinks: none
|
|
||||||
|
|
||||||
SYNOPSIS
|
|
||||||
========
|
|
||||||
|
|
||||||
.. parsed-literal::
|
|
||||||
:class: codefhead
|
|
||||||
|
|
||||||
**glBatchViewer** [**-d** *isolation level*] [**-c** *animation loops*] [**-f**] *objfile(s)*
|
|
||||||
|
|
||||||
DESCRIPTION
|
|
||||||
===========
|
|
||||||
|
|
||||||
``glBatchViewer`` is a stand-alone application that showcases the primitive
|
|
||||||
batching capabilities of the OpenSubdiv API. Batching is an optimization that
|
|
||||||
enables the merging together of the data tables of many primitives in order to
|
|
||||||
reduce the number of GPU calls.
|
|
||||||
|
|
||||||
Multiple controls are available to experiment with the algorithms.
|
|
||||||
|
|
||||||
.. image:: images/glbatchviewer.jpg
|
|
||||||
:width: 400px
|
|
||||||
:align: center
|
|
||||||
:target: images/glbatchviewer.jpg
|
|
||||||
|
|
||||||
|
|
||||||
OPTIONS
|
|
||||||
=======
|
|
||||||
|
|
||||||
**-d** *isolation level*
|
|
||||||
Select the desired isolation level of adaptive feature isolation. This can be
|
|
||||||
useful when trying to load large pieces of geometry.
|
|
||||||
|
|
||||||
**-c** *animation frequency*
|
|
||||||
Number of repetitions of the animation loop (default=0 is infinite)
|
|
||||||
|
|
||||||
**-f**
|
|
||||||
Launches the application in full-screen mode (if is supported by GLFW on the
|
|
||||||
OS)
|
|
||||||
|
|
||||||
Keyboard Controls
|
|
||||||
=================
|
|
||||||
|
|
||||||
.. code:: c++
|
|
||||||
|
|
||||||
. , : increase / decrease the number of animated primitives
|
|
||||||
i, o : add / remove primitives
|
|
||||||
|
|
||||||
SEE ALSO
|
|
||||||
========
|
|
||||||
|
|
||||||
`Code Examples <code_examples.html>`__, \
|
|
||||||
`glViewer <glviewer.html>`__, \
|
|
||||||
`glStencilViewer <glstencilviewer.html>`__, \
|
|
||||||
`ptexViewer <ptexviewer.html>`__, \
|
|
||||||
`paintTest <painttest.html>`__, \
|
|
||||||
`limitEval <limiteval.html>`__, \
|
|
||||||
`dxViewer <dxviewer.html>`__, \
|
|
||||||
`uvViewer <uvviewer.html>`__, \
|
|
||||||
|
|
@ -35,7 +35,8 @@ SYNOPSIS
|
|||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
:class: codefhead
|
:class: codefhead
|
||||||
|
|
||||||
**limitEval** [**-f**] *objfile(s)*
|
**glEvalLimit** [**-f**] [**-u**] [**-a**] [**-l** *refinement level*]
|
||||||
|
*objfile(s)* [**-catmark**] [**-loop**] [**-bilinear**]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
===========
|
===========
|
||||||
@ -75,8 +76,8 @@ Multiple controls are available to experiment with the algorithms.
|
|||||||
OPTIONS
|
OPTIONS
|
||||||
=======
|
=======
|
||||||
|
|
||||||
**-f**
|
See the description of the
|
||||||
Launches the application in full-screen mode (if is supported by GLFW on the
|
`common comand line options <code_examples.html#common-command-line-options>`__
|
||||||
OS)
|
for the subset of common options supported here.
|
||||||
|
|
||||||
.. include:: examples_see_also.rst
|
.. include:: examples_see_also.rst
|
||||||
|
@ -32,7 +32,12 @@ glFVarViewer
|
|||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
========
|
========
|
||||||
|
|
||||||
**glFVarViewer** [**-d** *isolation level*] [**-c** *animation loops*] [**-f**] *objfile(s)*
|
.. parsed-literal::
|
||||||
|
:class: codefhead
|
||||||
|
|
||||||
|
**glFVarViewer** [**-f**] [**-u**] [**-a**] [**-l** *refinement level*] [**-c** *animation loops*]
|
||||||
|
*objfile(s)* [**-catmark**] [**-loop**] [**-bilinear**]
|
||||||
|
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
===========
|
===========
|
||||||
@ -54,16 +59,8 @@ interpolation rules and tags.
|
|||||||
OPTIONS
|
OPTIONS
|
||||||
=======
|
=======
|
||||||
|
|
||||||
**-d** *isolation level*
|
See the description of the
|
||||||
Select the desired isolation level of adaptive feature isolation. This can be
|
`common comand line options <code_examples.html#common-command-line-options>`__
|
||||||
useful when trying to load large pieces of geometry.
|
for the subset of common options supported here.
|
||||||
|
|
||||||
**-c** *animation frequency*
|
|
||||||
Number of repetitions of the animation loop (default=0 is infinite)
|
|
||||||
|
|
||||||
**-f**
|
|
||||||
Launches the application in full-screen mode (if is supported by GLFW on the
|
|
||||||
OS)
|
|
||||||
|
|
||||||
|
|
||||||
.. include:: examples_see_also.rst
|
.. include:: examples_see_also.rst
|
||||||
|
@ -35,9 +35,9 @@ SYNOPSIS
|
|||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
:class: codefhead
|
:class: codefhead
|
||||||
|
|
||||||
**glPaintTest**
|
**glPaintTest** [**-f**] [**-l** *adaptive refinement level*]
|
||||||
[**-f**]
|
*objfile(s)* [**-catmark**] [**-loop**]
|
||||||
*objfile(s)*
|
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
===========
|
===========
|
||||||
@ -53,16 +53,11 @@ using GPU limit tessellation for painting and sculpting applications.
|
|||||||
OPTIONS
|
OPTIONS
|
||||||
=======
|
=======
|
||||||
|
|
||||||
**-f**
|
See the description of the
|
||||||
Launches the application in full-screen mode (if is supported by GLFW on the
|
`common comand line options <code_examples.html#common-command-line-options>`__
|
||||||
OS)
|
for the subset of common options supported here.
|
||||||
|
|
||||||
*objfile(s)*
|
KEYBOARD CONTROLS
|
||||||
A sequence of obj files used as an animation loop (the topology has to match
|
|
||||||
the data contained in all the ptex files !)
|
|
||||||
|
|
||||||
|
|
||||||
Keyboard Controls
|
|
||||||
=================
|
=================
|
||||||
|
|
||||||
.. code:: c++
|
.. code:: c++
|
||||||
|
@ -35,21 +35,14 @@ SYNOPSIS
|
|||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
:class: codefhead
|
:class: codefhead
|
||||||
|
|
||||||
**glPtexViewer**
|
**glPtexViewer** [**-f**] [**-u**] [**-a**] [**-l** *isolation level*] [**-c** *animation loops*] [**-y**]
|
||||||
[**-e** *environment map*]
|
[**-e** *environment map*] [**-d** *HDR diffuse map*] [**-s** *HDR specular map*]
|
||||||
[**-d** *HDR diffuse map*]
|
[**--disp** *displacement scale*] [**--bump** *bump scale*]
|
||||||
[**-s** *HDR specular map*]
|
*ptex color file*
|
||||||
[**-y**]
|
*ptex displacement file*
|
||||||
[**--disp** *displacement scale*]
|
*ptex occlusion file*
|
||||||
[**--bump** *bump scale*]
|
*ptex specular file*
|
||||||
[**-l** *isolation level*]
|
*objfile(s)*
|
||||||
[**-c** *animation loops*]
|
|
||||||
[**-f**]
|
|
||||||
*ptex color file*
|
|
||||||
*ptex displacement file*
|
|
||||||
*ptex occlusion file*
|
|
||||||
*ptex specular file*
|
|
||||||
*objfile(s)*
|
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
===========
|
===========
|
||||||
@ -66,6 +59,13 @@ are available to experiment with the algorithms.
|
|||||||
OPTIONS
|
OPTIONS
|
||||||
=======
|
=======
|
||||||
|
|
||||||
|
See the description of the
|
||||||
|
`common comand line options <code_examples.html#common-command-line-options>`__
|
||||||
|
for the subset of common options supported here.
|
||||||
|
|
||||||
|
**-y**
|
||||||
|
Swap Z-up geometry to Y-UP.
|
||||||
|
|
||||||
**-e** *environment map*
|
**-e** *environment map*
|
||||||
A low dynamic range spherical environment map used as a background. Ideally,
|
A low dynamic range spherical environment map used as a background. Ideally,
|
||||||
a color-normalized version of the HDR light probe.
|
a color-normalized version of the HDR light probe.
|
||||||
@ -83,20 +83,6 @@ OPTIONS
|
|||||||
**--bump** *displacement scale*
|
**--bump** *displacement scale*
|
||||||
A scalar multiplier for the shader bump values.
|
A scalar multiplier for the shader bump values.
|
||||||
|
|
||||||
**-y**
|
|
||||||
Swap Z-up geometry to Y-UP.
|
|
||||||
|
|
||||||
**-l** *isolation level*
|
|
||||||
Select the desired isolation level of adaptive feature isolation. This can be
|
|
||||||
useful when trying to load large pieces of geometry.
|
|
||||||
|
|
||||||
**-c** *animation frequency*
|
|
||||||
Number of repetitions of the animation loop (default=0 is infinite)
|
|
||||||
|
|
||||||
**-f**
|
|
||||||
Launches the application in full-screen mode (if is supported by GLFW on the
|
|
||||||
OS)
|
|
||||||
|
|
||||||
*ptex color file*
|
*ptex color file*
|
||||||
A ptex file containing RGB channels read as material albedo color.
|
A ptex file containing RGB channels read as material albedo color.
|
||||||
|
|
||||||
@ -112,12 +98,7 @@ OPTIONS
|
|||||||
A single-channel ptex file (preferably 8 bits precision) applied to modulate
|
A single-channel ptex file (preferably 8 bits precision) applied to modulate
|
||||||
the specular reflectance of the material
|
the specular reflectance of the material
|
||||||
|
|
||||||
*objfile(s)*
|
KEYBOARD CONTROLS
|
||||||
A sequence of obj files used as an animation loop (the topology has to match
|
|
||||||
the data contained in all the ptex files !)
|
|
||||||
|
|
||||||
|
|
||||||
Keyboard Controls
|
|
||||||
=================
|
=================
|
||||||
|
|
||||||
.. code:: c++
|
.. code:: c++
|
||||||
@ -131,5 +112,4 @@ Keyboard Controls
|
|||||||
e : draw normals
|
e : draw normals
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.. include:: examples_see_also.rst
|
.. include:: examples_see_also.rst
|
||||||
|
@ -35,7 +35,7 @@ SYNOPSIS
|
|||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
:class: codefhead
|
:class: codefhead
|
||||||
|
|
||||||
**glShareTopology** [**-d** *isolation level*] *objfile(s)*
|
**glShareTopology** [**-u**] [**-a**] [**-l** *refinement level*]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
===========
|
===========
|
||||||
@ -51,8 +51,8 @@ instancing across Compute contexts. Multiple controls are available to experimen
|
|||||||
OPTIONS
|
OPTIONS
|
||||||
=======
|
=======
|
||||||
|
|
||||||
**-d** *isolation level*
|
See the description of the
|
||||||
Select the desired isolation level of adaptive feature isolation. This can be
|
`common comand line options <code_examples.html#common-command-line-options>`__
|
||||||
useful when trying to load large pieces of geometry.
|
for the subset of common options supported here.
|
||||||
|
|
||||||
.. include:: examples_see_also.rst
|
.. include:: examples_see_also.rst
|
||||||
|
@ -35,7 +35,8 @@ SYNOPSIS
|
|||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
:class: codefhead
|
:class: codefhead
|
||||||
|
|
||||||
**glStencilViewer** [**-d** *isolation level*] [**-f**] *objfile(s)*
|
**glStencilViewer** [**-f**] [**-u**] [**-a**] [**-l** *refinement level*]
|
||||||
|
*objfile(s)* [**-catmark**] [**-loop**] [**-bilinear**]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
===========
|
===========
|
||||||
@ -52,12 +53,8 @@ controls are available to experiment with the algorithms.
|
|||||||
OPTIONS
|
OPTIONS
|
||||||
=======
|
=======
|
||||||
|
|
||||||
**-d** *isolation level*
|
See the description of the
|
||||||
Select the desired isolation level of adaptive feature isolation. This can be
|
`common comand line options <code_examples.html#common-command-line-options>`__
|
||||||
useful when trying to load large pieces of geometry.
|
for the subset of common options supported here.
|
||||||
|
|
||||||
**-f**
|
|
||||||
Launches the application in full-screen mode (if is supported by GLFW on the
|
|
||||||
OS)
|
|
||||||
|
|
||||||
.. include:: examples_see_also.rst
|
.. include:: examples_see_also.rst
|
||||||
|
@ -35,12 +35,8 @@ SYNOPSIS
|
|||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
:class: codefhead
|
:class: codefhead
|
||||||
|
|
||||||
**glViewer**
|
**glViewer** [**-f**] [**-u**] [**-a**] [**-l** *refinement level*] [**-axis**] [**-c** *animation loops*]
|
||||||
[**-d** *isolation level*]
|
*objfile(s)* [**-anim**] [**-catmark**] [**-loop**] [**-bilinear**]
|
||||||
[**-c** *animation loops*]
|
|
||||||
[**-f**]
|
|
||||||
[**-axis**]
|
|
||||||
*objfile(s)*
|
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
===========
|
===========
|
||||||
@ -57,22 +53,11 @@ shapes. Multiple controls are available to experiment with the algorithms.
|
|||||||
OPTIONS
|
OPTIONS
|
||||||
=======
|
=======
|
||||||
|
|
||||||
**-d** *isolation level*
|
See the description of the
|
||||||
Select the desired isolation level of adaptive feature isolation. This can be
|
`common comand line options <code_examples.html#common-command-line-options>`__
|
||||||
useful when trying to load large pieces of geometry.
|
for the subset of common options supported here.
|
||||||
|
|
||||||
**-c** *animation frequency*
|
|
||||||
Number of repetitions of the animation loop (default=0 is infinite)
|
|
||||||
|
|
||||||
**-f**
|
|
||||||
Launches the application in full-screen mode (if is supported by GLFW on the
|
|
||||||
OS)
|
|
||||||
|
|
||||||
**-axis**
|
**-axis**
|
||||||
Swap Y-up / Z-up axis when loading obj files
|
Swap Y-up / Z-up axis when loading Obj files
|
||||||
|
|
||||||
*objfile(s)*
|
|
||||||
A sequence of obj files used as an animation loop (the topology has to match
|
|
||||||
the data contained in all the ptex files !)
|
|
||||||
|
|
||||||
.. include:: examples_see_also.rst
|
.. include:: examples_see_also.rst
|
||||||
|
@ -111,7 +111,7 @@ Boundary Interpolation Rules
|
|||||||
+------------------------------------+
|
+------------------------------------+
|
||||||
|
|
||||||
This enum is shared for both `vertex and face-varying interpolation
|
This enum is shared for both `vertex and face-varying interpolation
|
||||||
<subdivision_surfaces.html#boundary-interpolation-rules>`__, with the following
|
<subdivision_surfaces.html#boundary-interpolation>`__, with the following
|
||||||
distinctions:
|
distinctions:
|
||||||
|
|
||||||
- vertex boundaries:
|
- vertex boundaries:
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 298 KiB |
@ -48,10 +48,10 @@ Topology
|
|||||||
|
|
||||||
Well-constructed subdivision meshes have several important properties:
|
Well-constructed subdivision meshes have several important properties:
|
||||||
|
|
||||||
* They consist primarily of quad faces
|
* They consist primarily of regular faces (quads for Catmull-Clark, tris for Loop)
|
||||||
* They contain few extraordinary vertices
|
* They contain few extraordinary vertices
|
||||||
* They efficiently describe the intended shape
|
* They efficiently describe the intended shape
|
||||||
* They are topologically `manifold <subdivision_surfaces.html#manifold-geometry>`__
|
* They are topologically `manifold <subdivision_surfaces.html#non-manifold-topology>`__
|
||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
|
@ -65,8 +65,8 @@ identical results across different computational devices.
|
|||||||
Refinement
|
Refinement
|
||||||
==========
|
==========
|
||||||
|
|
||||||
**Osd** supports both `uniform subdivision <subdivision_surfaces.html#uniform-subdivision>`__
|
**Osd** supports both uniform and
|
||||||
and `adaptive subdivision <subdivision_surfaces.html#feature-adaptive-subdivision>`__.
|
`feature adaptive <subdivision_surfaces.html#feature-adaptive>`__ subdivision.
|
||||||
|
|
||||||
|
|
||||||
.. image:: images/osd_refinement.png
|
.. image:: images/osd_refinement.png
|
||||||
|
@ -130,7 +130,7 @@ options used to control its interpolation have changed. The documentation on
|
|||||||
`Compatibility with OpenSubdiv 2.x <compatibility.html#compatibility-with-opensubdiv-2.x>`__
|
`Compatibility with OpenSubdiv 2.x <compatibility.html#compatibility-with-opensubdiv-2.x>`__
|
||||||
details the equivalence of interpolation options between Hbr and the new
|
details the equivalence of interpolation options between Hbr and the new
|
||||||
*Sdc::Options::FVarLinearInterpolation* enum, while the section on
|
*Sdc::Options::FVarLinearInterpolation* enum, while the section on
|
||||||
`Face Varying Interpolation <subdivision_surfaces.html#face-varying-interpolation-rules>`__
|
`Face Varying Interpolation <subdivision_surfaces.html#face-varying-interpolation>`__
|
||||||
illustrates their effects.
|
illustrates their effects.
|
||||||
|
|
||||||
Face varying data is now specified by index rather than by value, or as often
|
Face varying data is now specified by index rather than by value, or as often
|
||||||
|
@ -37,7 +37,7 @@ Bicubic Face-Varying Patches
|
|||||||
|
|
||||||
The motivation for this feature is to improve drawing and evaluation of face-varying
|
The motivation for this feature is to improve drawing and evaluation of face-varying
|
||||||
primvar values for all
|
primvar values for all
|
||||||
`face-varying interpolation options <subdivision_surfaces.html#face-varying-interpolation-rules>`__.
|
`face-varying interpolation options <subdivision_surfaces.html#face-varying-interpolation>`__.
|
||||||
|
|
||||||
A common use of non-linear face-varying data is to capture a UV projection on
|
A common use of non-linear face-varying data is to capture a UV projection on
|
||||||
the surface. The following example shows a simple shape with the face-varying
|
the surface. The following example shows a simple shape with the face-varying
|
||||||
|
@ -264,6 +264,8 @@ help deal with that complexity:
|
|||||||
| Two valence-5 vertices nearby | Isolation subdivided once | Isolation subdivided twice |
|
| Two valence-5 vertices nearby | Isolation subdivided once | Isolation subdivided twice |
|
||||||
+--------------------------------------+--------------------------------------+--------------------------------------+
|
+--------------------------------------+--------------------------------------+--------------------------------------+
|
||||||
|
|
||||||
|
.. _feature-adaptive:
|
||||||
|
|
||||||
It's generally necessary to perform some kind of local subdivision in these areas
|
It's generally necessary to perform some kind of local subdivision in these areas
|
||||||
to break these pieces of surface into smaller, more manageable pieces, and the
|
to break these pieces of surface into smaller, more manageable pieces, and the
|
||||||
term "feature adaptive subdivision" has become popular in recent years to describe
|
term "feature adaptive subdivision" has become popular in recent years to describe
|
||||||
|
@ -1,62 +0,0 @@
|
|||||||
..
|
|
||||||
Copyright 2013 Pixar
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "Apache License")
|
|
||||||
with the following modification; you may not use this file except in
|
|
||||||
compliance with the Apache License and the following modification to it:
|
|
||||||
Section 6. Trademarks. is deleted and replaced with:
|
|
||||||
|
|
||||||
6. Trademarks. This License does not grant permission to use the trade
|
|
||||||
names, trademarks, service marks, or product names of the Licensor
|
|
||||||
and its affiliates, except as required to comply with Section 4(c) of
|
|
||||||
the License and to reproduce the content of the NOTICE file.
|
|
||||||
|
|
||||||
You may obtain a copy of the Apache License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the Apache License with the above modification is
|
|
||||||
distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
||||||
KIND, either express or implied. See the Apache License for the specific
|
|
||||||
language governing permissions and limitations under the Apache License.
|
|
||||||
|
|
||||||
|
|
||||||
Using OpenSubdiv
|
|
||||||
----------------
|
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:local:
|
|
||||||
:backlinks: none
|
|
||||||
|
|
||||||
.. image:: images/osd_splash.png
|
|
||||||
:align: center
|
|
||||||
:target: images/osd_splash.png
|
|
||||||
|
|
||||||
OpenSubdiv APIs
|
|
||||||
===============
|
|
||||||
|
|
||||||
.. list-table:: **APIs Overview**
|
|
||||||
:class: quickref
|
|
||||||
:widths: 50 50
|
|
||||||
|
|
||||||
* - | `Overview <api_overview.html>`_
|
|
||||||
- | `Sdc API <sdc_overview.html>`_
|
|
||||||
| `Vtr API <vtr_overview.html>`_
|
|
||||||
| `Far API <far_overview.html>`_
|
|
||||||
| `Osd API <osd_overview.html>`_
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Coding With OpenSubdiv
|
|
||||||
======================
|
|
||||||
|
|
||||||
.. list-table:: **General Topics**
|
|
||||||
:class: quickref
|
|
||||||
:widths: 50 50
|
|
||||||
|
|
||||||
* - | `Compiling & Linking <using_osd_compile.html>`_
|
|
||||||
| `Tutorials <tutorials.html>`_
|
|
||||||
- | Writing Shaders
|
|
||||||
| `Textures (UV & Ptex) <using_osd_textures.html>`_
|
|
||||||
|
|
@ -213,7 +213,7 @@ to know the number of vertices in the face and the indices of these vertices.
|
|||||||
mesh->NewFace(nv, fv, 0);
|
mesh->NewFace(nv, fv, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
However, currently **Hbr** is not able to handle `non-manifold <subdivision_surfaces.html#manifold-geometry>`__
|
However, **Hbr** is not able to handle `non-manifold <subdivision_surfaces.html#non-manifold-topology>`__
|
||||||
geometry. In order to avoid tripping asserts or causing memory violations, let's
|
geometry. In order to avoid tripping asserts or causing memory violations, let's
|
||||||
rewrite the previous loop with some some prototype code to check the validity of
|
rewrite the previous loop with some some prototype code to check the validity of
|
||||||
the topology.
|
the topology.
|
||||||
@ -312,7 +312,7 @@ The rule-set can be selected using the following accessors:
|
|||||||
|
|
||||||
|
|
||||||
Additional information on boundary interpolation rules can be found
|
Additional information on boundary interpolation rules can be found
|
||||||
`here <subdivision_surfaces.html#boundary-interpolation-rules>`__ and
|
`here <subdivision_surfaces.html#boundary-interpolation>`__ and
|
||||||
`here <hbr_overview.html#boundary-interpolation-rules>`__
|
`here <hbr_overview.html#boundary-interpolation-rules>`__
|
||||||
|
|
||||||
.. container:: impnotip
|
.. container:: impnotip
|
||||||
@ -442,8 +442,7 @@ Modifications are one of the following 3 operations:
|
|||||||
| Subtract |
|
| Subtract |
|
||||||
+-----------+
|
+-----------+
|
||||||
|
|
||||||
Here is a simple example that creates a hierarchical vertex edit that corresponds
|
Here is a simple example that creates a hierarchical vertex edit.
|
||||||
to `this example <subdivision_surfaces.html#hierarchical-edits-paths>`__.
|
|
||||||
|
|
||||||
.. code:: c++
|
.. code:: c++
|
||||||
|
|
||||||
|
@ -1,52 +0,0 @@
|
|||||||
..
|
|
||||||
Copyright 2013 Pixar
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "Apache License")
|
|
||||||
with the following modification; you may not use this file except in
|
|
||||||
compliance with the Apache License and the following modification to it:
|
|
||||||
Section 6. Trademarks. is deleted and replaced with:
|
|
||||||
|
|
||||||
6. Trademarks. This License does not grant permission to use the trade
|
|
||||||
names, trademarks, service marks, or product names of the Licensor
|
|
||||||
and its affiliates, except as required to comply with Section 4(c) of
|
|
||||||
the License and to reproduce the content of the NOTICE file.
|
|
||||||
|
|
||||||
You may obtain a copy of the Apache License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the Apache License with the above modification is
|
|
||||||
distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
||||||
KIND, either express or implied. See the Apache License for the specific
|
|
||||||
language governing permissions and limitations under the Apache License.
|
|
||||||
|
|
||||||
|
|
||||||
Using Textures
|
|
||||||
--------------
|
|
||||||
|
|
||||||
.. contents::
|
|
||||||
:local:
|
|
||||||
:backlinks: none
|
|
||||||
|
|
||||||
|
|
||||||
Ptex Face Indices
|
|
||||||
=================
|
|
||||||
|
|
||||||
.. image:: images/ptex_coarse.png
|
|
||||||
:align: center
|
|
||||||
:target: images/ptex_coarse.png
|
|
||||||
|
|
||||||
Non-quad topology
|
|
||||||
_________________
|
|
||||||
|
|
||||||
.. image:: images/ptex_quadrangulated.png
|
|
||||||
:align: center
|
|
||||||
:target: images/ptex_quadrangulated.png
|
|
||||||
|
|
||||||
|
|
||||||
Filtering
|
|
||||||
_________
|
|
||||||
|
|
||||||
.. include:: under_development.rst
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user