Documenation update

- add licensing information page
- add roadmap page
- minor tweaks to intro page
- small fix to navigation bar css
This commit is contained in:
manuelk 2014-11-13 13:57:34 -08:00
parent 2fbdb976e3
commit c6306b42c4
7 changed files with 239 additions and 6 deletions

View File

@ -81,10 +81,12 @@ if (DOCUTILS_FOUND AND PYTHONINTERP_FOUND)
glviewer.rst
hbr_overview.rst
intro.rst
license.rst
maya_osdpolysmooth.rst
osd_overview.rst
release_notes.rst
release_notes_2x.rst
roadmap.rst
sdc_overview.rst
subdivision_surfaces.rst
tutorials.rst

View File

@ -82,6 +82,13 @@ p {
text-align: justify;
width: 230px;
}
.floatNav {
float:right;
width:460px;
overflow: hidden;
white-space: nowrap;
}
.floatLeft {
float:left;
}

View File

@ -25,14 +25,14 @@
Introduction
------------
.. image:: images/geri.jpg
:width: 100%
:align: center
.. contents::
:local:
:backlinks: none
.. image:: images/geri.jpg
:width: 600px
:align: center
----
Introduction
@ -144,6 +144,7 @@ any contributors' trademarks. In other words, you can use OpenSubdiv to make a
product, but you cannot use a Luxo Lamp (or other character, etc.) when marketing
your product.
`License Header <license.html>`_
----
@ -159,7 +160,8 @@ on Apache. They are found in the code repository (`individual form
Please email the signed CLA to opensubdiv-cla@pixar.com.
For more details about OpenSubdiv, see `Pixar Graphics Technologies <http: graphics.pixar.com>`__.
For more details about OpenSubdiv and other Pixar projects, see
`Pixar Graphics Technologies <http://graphics.pixar.com>`__.
----

65
documentation/license.rst Normal file
View File

@ -0,0 +1,65 @@
..
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.
License
-------
----
Open Source License
===================
OpenSubdiv is covered by a modified Apache 2.0 license (included below), and is
free to use for commercial or non-commercial use. All Pixar patents in the
area of subdivision surface algorithms have also been released for public use.
We welcome any involvement in the development or extension of this code; in
fact, we would love it. Please contact us if you are interested.
For information on Apache licenses, see: `<http://www.apache.org/licenses/>`_
The following license text describes the open source policy adopted by Pixar and
is included in every source file.
.. code::
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.

View File

@ -34,9 +34,11 @@
<ul>
<li><a href="intro.html">Introduction</a></li>
<ul>
<li><a href="license.html">License</a></li>
<li><a href="getting_started.html">Getting Started</a></li>
<li><a href="cmake_build.html">Building OpenSubdiv</a></li>
<li><a href="code_examples.html">Code Examples</a></li>
<li><a href="roadmap.html">Roadmap</a></li>
</ul>
<p></p>
<li><a href="subdivision_surfaces.html">Subdivision Surfaces</a>

155
documentation/roadmap.rst Normal file
View File

@ -0,0 +1,155 @@
..
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.
Roadmap
-------
.. contents::
:local:
:backlinks: none
----
.. include:: under_development.rst
3.x Release Cycle
=================
For more details, please see the `Release Notes <release_notes.html>`_.
3.0 Alpha Releases (Q3 2014):
* complete rewrite of the CPU subdivision core (collaboration with DWA)
* new intermediate topology representation
* new flexible topology front-ends
* clarification of face-varying interpolation rules
* support for non-manifold topology
* large performance gains in topology analysis code
* optimized adaptive isolation of edge creases
* faster evaluation with stencil factorization
* better numerical support around extraordinary vertices
* support for Loop subdivision
* deprecation of hierarchical edits
* deprecation of subdivision tables
3.0 Beta Releases (Q4 2014 / Q1 2015):
* subdivision 'specification' evaluation from users & community
* implement API for direct discrete evaluation
* support for bi-cubic face-varying interpolation (discrete & limit)
* support for Loop limit evaluation
3.0 Master Release (Q1 2015)
* freeze subdivision 'specification' (enforce backward compatibility)
To Infinity & Beyond
====================
The following is a list of projects and directions for OpenSubdiv over the course.
Optimize Draw
+++++++++++++
OSD specializes topological patch configurations by configuring GPU shader
source code. This causes back-end APIs to have to bind many shaders and
burdens the drivers with many "draw" calls for each primitive, which does
not scale well. Our goal is to ultimately try to reduce this burden back to
a single shader bind per primitive.
- Reduce GPU shader variants:
+ Merge regular / boundary / corner cases with vertex mirroring
+ Merge transition cases with degenerate patches
+ Merge rotations cases with run-time conditionals
Note: this project has been started at Pixar.
Dynamic adaptive isolation
++++++++++++++++++++++++++
Adaptive feature isolation can produce a large number of patches, especially
when the model contains a lot of semi-sharp creases. We need a LOD solution
that can dynamically isolate features based on distance to view-point.
Note: this project has been undertaken by Matthias Niessner
Implement a "high-level" API layer
++++++++++++++++++++++++++++++++++
One of the original goals of the OpenSubdiv project is to provide a robust
and simple API to display subdivision surfaces interactively. Now that the
algorithms and code base have matured, we would like to foster a consistent
implementation of subdivision surfaces suitable for adoption in the lower
layers of the graphics stack, such as GPU drivers. We have been working on
the draft of a "specification document" detailing the workings of a high-
level interface for subdivision surface data and functionality. We need an
implementation of this high-level API.
Note: this project has been started at Pixar.
Support for infinitely sharp creases
++++++++++++++++++++++++++++++++++++
The current implementation of adaptive feature isolation requires infinitely
sharp creases to be pushed to the highest level of isolation. The resulting
surface is both incorrect and inefficient. We want to correctly support
infinitely sharp creases with discontinuous patches that do not require to
be isolated to the highest level of subdivision.
A means to control edge curvature
+++++++++++++++++++++++++++++++++
Edge sharpness provides insufficient control over the overall contour of the
surfaces. Artists often duplicate edge-loops around semi-sharp edges in
order to control the local surface curvature. Ideally, they would like to be
able to specify a radius of curvature that produces circular rounded edges.
This will likely require the introduction of non-uniform rational splines
(NURCCS ?) in OpenSubdiv.
"Next-gen" back-ends
++++++++++++++++++++
Implement Osd::Draw Context & Controllers for next-gen GPU APIs such as
Mantle, Metal, DX12, GL Next.
Regression testing
++++++++++++++++++
OpenSubdiv currently ships with some ad-hoc regression code that unfortunately
does not cover much of the code base: we need to implement a more rigorous QA
process. We will probably want to leverage the CMake built-in functionalities
of CTest in order to publish a build & test dashboard.
* Implement a robust regression harness for numerical correctness
* Implement a cross-platform regression harness for GPU drawing correctness
* Implement a cross-platform regression harness for performance (speed & memory)
Documentation
+++++++++++++
In order to facilitate adoption of OpenSubdiv, we need to provide clear,
concise and exhaustive documentation of all APIs, and in particular:
* Flesh out high-level ReST documentation
* Expand code tutorials

View File

@ -40,7 +40,7 @@ ul.creatorMainNav li a {
<a href="release_notes.html">${RELEASE_STRING}</a>
</li>
</ul>
<ul class="creatorMainNav floatRight" id="menu">
<ul class="creatorMainNav floatNav" id="menu">
<li class="mainSubNavigation marginR12 marginL12" id="navbarId-23704">
<a href="intro.html">User Docs</a>
</li>