mirror of
https://github.com/PixarAnimationStudios/OpenSubdiv
synced 2024-12-23 08:20:06 +00:00
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:
parent
2fbdb976e3
commit
c6306b42c4
@ -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
|
||||
|
@ -82,6 +82,13 @@ p {
|
||||
text-align: justify;
|
||||
width: 230px;
|
||||
}
|
||||
.floatNav {
|
||||
float:right;
|
||||
width:460px;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.floatLeft {
|
||||
float:left;
|
||||
}
|
||||
|
@ -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
65
documentation/license.rst
Normal 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.
|
@ -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
155
documentation/roadmap.rst
Normal 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
|
||||
|
@ -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>
|
||||
|
Loading…
Reference in New Issue
Block a user