mirror of
https://github.com/PixarAnimationStudios/OpenSubdiv
synced 2024-11-30 07:10:07 +00:00
Updated documentation for 3.4 release notes and past release dates:
- added new page and images for 3.4 release notes - updated Release Notes page with dates for all past releases
This commit is contained in:
parent
943f1a8886
commit
0245184e11
@ -95,6 +95,7 @@ if (DOCUTILS_FOUND AND PYTHONINTERP_FOUND)
|
||||
release_31.rst
|
||||
release_32.rst
|
||||
release_33.rst
|
||||
release_34.rst
|
||||
release_notes.rst
|
||||
release_notes_2x.rst
|
||||
sdc_overview.rst
|
||||
|
BIN
documentation/images/loop_rel_1.png
Normal file
BIN
documentation/images/loop_rel_1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 71 KiB |
BIN
documentation/images/loop_rel_2.png
Normal file
BIN
documentation/images/loop_rel_2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 218 KiB |
BIN
documentation/images/loop_rel_3.png
Normal file
BIN
documentation/images/loop_rel_3.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 56 KiB |
BIN
documentation/images/loop_rel_4.png
Normal file
BIN
documentation/images/loop_rel_4.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 194 KiB |
@ -94,6 +94,7 @@
|
||||
<p></p>
|
||||
<li><a href="release_notes.html">Releases</a>
|
||||
<ul>
|
||||
<li><a href="release_34.html">Release 3.4</a></li>
|
||||
<li><a href="release_33.html">Release 3.3</a></li>
|
||||
<li><a href="release_32.html">Release 3.2</a></li>
|
||||
<li><a href="release_31.html">Release 3.1</a></li>
|
||||
|
216
documentation/release_34.rst
Normal file
216
documentation/release_34.rst
Normal file
@ -0,0 +1,216 @@
|
||||
..
|
||||
Copyright 2019 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.
|
||||
|
||||
|
||||
Overview of Release 3.4 (draft)
|
||||
===============================
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
:backlinks: none
|
||||
|
||||
New Features
|
||||
------------
|
||||
|
||||
Triangular Patches for Loop Subdivision
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Added support for drawing and evaluation of Loop subdivision meshes with
|
||||
triangular patches. This includes the full set of Far and Osd interfaces
|
||||
for both evaluation and drawing.
|
||||
|
||||
+-----------------------------------+-----------------------------------+
|
||||
| .. image:: images/loop_rel_1.png | .. image:: images/loop_rel_2.png |
|
||||
| :align: center | :align: center |
|
||||
| :width: 95% | :width: 95% |
|
||||
| :target: images/loop_rel_1.png | :target: images/loop_rel_2.png |
|
||||
+-----------------------------------+-----------------------------------+
|
||||
|
||||
The feature set supported for Loop subdivision now matches that of Catmark,
|
||||
including creases, face-varying patches, non-manifold topology, etc.
|
||||
|
||||
+----------------------------------+----------------------------------------------------------------+
|
||||
| .. image:: images/loop_rel_3.png | .. image:: images/loop_rel_4.png |
|
||||
| :align: center | :align: center |
|
||||
| :width: 95% | :width: 95% |
|
||||
| :target: images/loop_rel_3.png| :target: images/loop_rel_4.png |
|
||||
+----------------------------------+----------------------------------------------------------------+
|
||||
|
||||
Quartic triangular patches are used to exactly match the limit surface of
|
||||
Loop subdivision where the mesh is regular and approximated where irregular.
|
||||
As is the case with use of the Catmark scheme, application of Loop subdivision
|
||||
to dense, poorly modeled meshes may lead to unexpectedly poor performance or
|
||||
surface quality.
|
||||
|
||||
Major Improvements to Introductory Documentation
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
A significant rewrite of the `Subdivision Surfaces <subdivision_surfaces.html>`__
|
||||
page is included in this release. The new documentation emphasizes the *piecewise
|
||||
parameteric surface* nature of subdivision surfaces and the implications of
|
||||
supporting *arbitary topology*.
|
||||
|
||||
+---------------------------------------+---------------------------------------+
|
||||
| .. image:: images/val6_regular.jpg | .. image:: images/val6_irregular.jpg |
|
||||
| :align: center | :align: center |
|
||||
| :width: 95% | :width: 95% |
|
||||
| :target: images/val6_regular.jpg | :target: images/val6_irregular.jpg |
|
||||
+---------------------------------------+---------------------------------------+
|
||||
|
||||
As a true surface primitive, the distinction between the control points and the
|
||||
limit surface and the corresponding operations of *subdivision* and *tessellation*
|
||||
that are applied to them is made clear.
|
||||
|
||||
Sparse Patch Tables
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
Interfaces in Far for the construction of PatchTables and the required adaptive
|
||||
refinement have been extended to apply to an arbitrary subset of faces. This
|
||||
allows patches for either large meshes or meshes that may otherwise benefit
|
||||
from some kind of partioning (e.g. areas of static and dynamic topology) to be
|
||||
managed in an arbitrary number of groups. In the extreme, a PatchTable forming
|
||||
the tree of patches for a single base face can be constructed.
|
||||
|
||||
Client data buffers for the base mesh do not need to be partitioned and base mesh
|
||||
topology can be shared by multiple instances of Far::TopologyRefiner used to
|
||||
create corresponding instances of Far::PatchTables.
|
||||
|
||||
See the new `Far tutorial 5.2 <far_tutorial_5_2.html>`__ for a simple example.
|
||||
|
||||
Support for Double Precision in Far
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Classes and interfaces in Far have been adapted to allow support for double
|
||||
precision via templates parameterized for float or double. Class templates for
|
||||
major classes such as Far::StencilTable have been introduced and the original
|
||||
classes preserved for compatibility. Other classes such as Far::PatchTable have
|
||||
had methods overloaded or replaced with template functions to support both single
|
||||
and double precision. Internally, all use of floating point constants and math
|
||||
library functions has been adapted to maximize accuracy appropriate to the
|
||||
precision of the template instance.
|
||||
|
||||
Interfaces in Osd have not been extended. The extensions in Far provide the
|
||||
basis for extensions in Osd, but demand is limited. For those benefiting from
|
||||
such Osd extensions, contributions are welcomed.
|
||||
|
||||
See the revised `Far tutorial 5.1 <far_tutorial_5_1.html>`__ that constructs a
|
||||
Far::PatchTable for a simple example.
|
||||
|
||||
|
||||
API Additions
|
||||
-------------
|
||||
|
||||
See associated `Doxygen <doxy_html/index.html>`__ for full details.
|
||||
|
||||
Osd::MeshBits
|
||||
~~~~~~~~~~~~~
|
||||
- enumeration MeshEndCapBilinearBasis
|
||||
|
||||
Osd::PatchArray
|
||||
~~~~~~~~~~~~~~~
|
||||
- GetDescriptorRegular()
|
||||
- GetDescriptorIrregular()
|
||||
- GetPatchTyperRegular()
|
||||
- GetPatchTyperIrregular()
|
||||
- GetStride()
|
||||
|
||||
Osd extensions common to all shaders
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
- TBD
|
||||
|
||||
Far construction and refinement of topology
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
- overloaded TopologyRefinerFactory::Create()
|
||||
- extensions to TopologyRefiner::RefineAdaptive()
|
||||
|
||||
Far extensions for triangular patches
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
- enum PatchDescriptor::Type::GREGORY_TRIANGLE
|
||||
- PatchParam::NormalizeTriangle()
|
||||
- PatchParam::UnnormalizeTriangle()
|
||||
- PatchParam::IsTriangleRotated()
|
||||
|
||||
Construction and interface of Far::PatchTable
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
- overloaded PatchTableFactory::Create()
|
||||
- PatchTableFactory::GetRefineAdaptiveOptions()
|
||||
- member PatchTableFactory::Options::includeBaseLevelIndices
|
||||
- member PatchTableFactory::Options::includeFVarBaseLevelIndices
|
||||
- member PatchTableFactory::Options::generateVaryingTables
|
||||
- member PatchTableFactory::Options::generateVaryingLocalPoints
|
||||
- member PatchTableFactory::Options::setPatchPrecisionDouble
|
||||
- member PatchTableFactory::Options::setFVarPatchPrecisionDouble
|
||||
- PatchTable::GetFVarPatchDescriptorRegular()
|
||||
- PatchTable::GetFVarPatchDescriptorIrregular()
|
||||
- PatchTable::GetFVarValueStride()
|
||||
|
||||
Construction and use of Far stencil tables
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
- overloaded StencilTable::UpdateValues()
|
||||
- enum LimitStencilTableFactory::Mode
|
||||
- member LimitStencilTableFactory::Options::interpolationMode
|
||||
- member LimitStencilTableFactory::Options::fvarChannel
|
||||
|
||||
Far class templates for double precision
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
- class StencilReal
|
||||
- class StencilTableReal
|
||||
- class StencilTableFactoryReal
|
||||
- class LimitStencilReal
|
||||
- class LimitStencilTableReal
|
||||
- class LimitStencilTableFactoryReal
|
||||
- class PrimvarRefinerReal
|
||||
|
||||
Far member functions converted to templates for double precision
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
- PatchParam::Normalize()
|
||||
- PatchParam::Unnormalize()
|
||||
- PatchTable::EvaluateBasis()
|
||||
- PatchTable::EvaluateBasisVarying()
|
||||
- PatchTable::EvaluateBasisFaceVarying()
|
||||
- PatchTable::GetLocalPointStencilTable()
|
||||
- PatchTable::GetLocalPointVaryingStencilTable()
|
||||
- PatchTable::GetLocalPointFaceVaryingStencilTable()
|
||||
- PatchMap::FindPatch()
|
||||
|
||||
Other Changes
|
||||
-------------
|
||||
|
||||
Improvements
|
||||
~~~~~~~~~~~~
|
||||
- Added new build script (GitHub #1068)
|
||||
- Added support for newer DirectX SDKs (GitHub #1066)
|
||||
- Patch arrays extended to support combined regular and irregular types (GitHub #995)
|
||||
- Far::PatchTables and adaptive refinement supported for Bilinear scheme (GitHub #1035)
|
||||
- New Far::PatchTableFactory method to determine adaptive refinement options ((GitHub #1047)
|
||||
- New Far::PatchTableFactory options to align primvar buffers of uniform tables (GitHub #986)
|
||||
- Far::StencilTable::UpdateValues() overloaded to support separate base buffer (GitHub #1011)
|
||||
- Far::LimitStencilTableFactory updated to create face-varying tables (GitHub #1012)
|
||||
- Regular patches on boundaries no longer require additional isolation (GitHub #1025)
|
||||
- Inclusion of OpenSubdiv header files in source code now consistent (GitHub #767)
|
||||
- Re-organization of and additions to Far tutorials (GitHub #1083)
|
||||
- Examples now use common command-line conventions and parsing (GitHub #1056)
|
||||
|
||||
Bug Fixes
|
||||
~~~~~~~~~
|
||||
- Fixed Far::PrimvarRefiner internal limitFVar() prototype (GitHub #979)
|
||||
- Fixed Far::StencilTable append when base StencilTable empty (GitHub #982)
|
||||
- Patches around non-manifold vertices now free of cracks (GitHub #1013)
|
||||
|
@ -22,7 +22,7 @@
|
||||
language governing permissions and limitations under the Apache License.
|
||||
|
||||
|
||||
3.0 - 3.3 Release Notes
|
||||
3.0 - 3.4 Release Notes
|
||||
-----------------------
|
||||
|
||||
.. contents::
|
||||
@ -31,39 +31,71 @@
|
||||
|
||||
----
|
||||
|
||||
Release 3.3.3
|
||||
=============
|
||||
Release 3.4.0 - Jun 2019
|
||||
========================
|
||||
|
||||
Release 3.4.0 is a significant release with several new features, bug fixes, and general
|
||||
code and configuration improvements. For more information on the following, please see
|
||||
`Release 3.4 <release_34.html>`__
|
||||
|
||||
**New Features**
|
||||
- Triangular Patches for Loop subdivision
|
||||
- Improvements to Introductory Documentation
|
||||
- Sparse Patch Tables and Adaptive Refinement
|
||||
- Full Support for Double Precision in Far
|
||||
|
||||
**Changes**
|
||||
- Added new build script (GitHub #1068)
|
||||
- Added support for newer DirectX SDKs (GitHub #1066)
|
||||
- Patch arrays extended to support combined regular and irregular types (GitHub #995)
|
||||
- Far::PatchTables and adaptive refinement supported for Bilinear scheme (GitHub #1035)
|
||||
- New Far::PatchTableFactory method to determine adaptive refinement options ((GitHub #1047)
|
||||
- New Far::PatchTableFactory options to align primvar buffers of uniform tables (GitHub #986)
|
||||
- Far::StencilTable::UpdateValues() overloaded to support separate base buffer (GitHub #1011)
|
||||
- Far::LimitStencilTableFactory updated to create face-varying tables (GitHub #1012)
|
||||
- Regular patches on boundaries no longer require additional isolation (GitHub #1025)
|
||||
- Inclusion of OpenSubdiv header files in source code now consistent (GitHub #767)
|
||||
- Re-organization of and additions to Far tutorials (GitHub #1083)
|
||||
- examples now use common command-line conventions and parsing (GitHub #1056)
|
||||
|
||||
**Bug Fixes**
|
||||
- Fixed Far::PrimvarRefiner internal limitFVar() prototype (GitHub #979)
|
||||
- Fixed Far::StencilTable append when base StencilTable empty (GitHub #982)
|
||||
- Patches around non-manifold vertices now free of cracks (GitHub #1013)
|
||||
|
||||
Release 3.3.3 - Jul 2018
|
||||
========================
|
||||
|
||||
Release 3.3.3 is bug-fix release addressing regressions from release 3.3.2
|
||||
|
||||
**Bug Fixes**
|
||||
- Fixed a regression in PatchTable construction with varying patches (GitHub Issue #976)
|
||||
- Fixed a regression in PatchTable construction for face-varying patches (GitHub Issue #972)
|
||||
- Fixed a bug in the initialization of Far::SourcePatch (GitHub Issue #971)
|
||||
- Fixed a regression in PatchTable construction with varying patches (GitHub #976)
|
||||
- Fixed a regression in PatchTable construction for face-varying patches (GitHub #972)
|
||||
- Fixed a bug in the initialization of Far::SourcePatch (GitHub #971)
|
||||
|
||||
Release 3.3.2
|
||||
=============
|
||||
Release 3.3.2 - Jun 2018
|
||||
========================
|
||||
|
||||
Release 3.3.2 is a minor release with potentially significant performance
|
||||
improvements to the patch pre-processing stages
|
||||
|
||||
**Changes**
|
||||
- Improved performance of PatchTable construction (GitHub Issue #966)
|
||||
- Improved performance of PatchTable construction (GitHub #966)
|
||||
- The resulting improved accuracy will produce slight numerical differences in computations involving patches, e.g. StencilTable and PatchTable evaluation
|
||||
|
||||
**Bug Fixes**
|
||||
- Far::PatchTableFactory now supports PatchTable construction with ENDCAP_BILINEAR_BASIS specified
|
||||
|
||||
Release 3.3.1
|
||||
=============
|
||||
Release 3.3.1 - Feb 1018
|
||||
========================
|
||||
|
||||
Release 3.3.1 is a minor bug-fix release
|
||||
|
||||
**Bug Fixes**
|
||||
- Fixed GLSL/HLSL/Metal patch shader code to resolve degenerate normals (GitHub Issue #947)
|
||||
- Fixed problems with face-varying patches in uniform PatchTables (GitHub Issue #946)
|
||||
- Fixed integer overflow bugs for large meshes in PatchTable factories (GitHub Issue #957)
|
||||
- Fixed computation of PatchParam for triangle refinement (GitHub Issue #962)
|
||||
- Fixed GLSL/HLSL/Metal patch shader code to resolve degenerate normals (GitHub #947)
|
||||
- Fixed problems with face-varying patches in uniform PatchTables (GitHub #946)
|
||||
- Fixed integer overflow bugs for large meshes in PatchTable factories (GitHub #957)
|
||||
- Fixed computation of PatchParam for triangle refinement (GitHub #962)
|
||||
|
||||
**Changes**
|
||||
- Added build options: NO_GLFW and NO_GLFW_X11
|
||||
@ -71,8 +103,8 @@ Release 3.3.1 is a minor bug-fix release
|
||||
- Disabled GL tests during CI runs on Linux
|
||||
- Improved stability of examples/glImaging in CI runs by testing GL version
|
||||
|
||||
Release 3.3.0
|
||||
=============
|
||||
Release 3.3.0 - Aug 2017
|
||||
========================
|
||||
|
||||
Release 3.3.0 is significant release adding an Osd implementation for Apple's Metal API
|
||||
|
||||
@ -84,8 +116,8 @@ Release 3.3.0 is significant release adding an Osd implementation for Apple's Me
|
||||
- Fixed several instances of local variable shadowing that could cause build warnings
|
||||
- Updated continuous-integration build scripts and added testing on macOS
|
||||
|
||||
Release 3.2.0
|
||||
=============
|
||||
Release 3.2.0 - Feb 2017
|
||||
========================
|
||||
|
||||
Release 3.2.0 is a minor release containing API additions and bug fixes
|
||||
|
||||
@ -102,8 +134,8 @@ Release 3.2.0 is a minor release containing API additions and bug fixes
|
||||
**Bug Fixes**
|
||||
- Fixed a double delete of GL program in Osd::GLComputeEvaluator
|
||||
|
||||
Release 3.1.1
|
||||
=============
|
||||
Release 3.1.1 - Jan 2017
|
||||
========================
|
||||
|
||||
Release 3.1.1 is a minor bug-fix release.
|
||||
|
||||
@ -112,8 +144,8 @@ Release 3.1.1 is a minor bug-fix release.
|
||||
- Fixed GLEW compilation and linking with dynamic GLEW libraries on Windows
|
||||
- Fixed GLFW linking with GLFW 3.2 on X11 platforms
|
||||
|
||||
Release 3.1.0
|
||||
=============
|
||||
Release 3.1.0 - Oct 2016
|
||||
========================
|
||||
|
||||
Release 3.1.0 is a significant release with several new features, bug fixes, and general
|
||||
code and configuration improvements. For more information on the following, please see
|
||||
@ -147,8 +179,8 @@ code and configuration improvements. For more information on the following, ple
|
||||
- Fixed bug with refinement using Chaikin creasing
|
||||
- Fixed bugs with HUD sliders in the example viewers
|
||||
|
||||
Release 3.0.5
|
||||
=============
|
||||
Release 3.0.5 - Mar 2016
|
||||
========================
|
||||
|
||||
Release 3.0.5 is a minor stability release with performance and correctness bug fixes.
|
||||
|
||||
@ -156,8 +188,8 @@ Release 3.0.5 is a minor stability release with performance and correctness bug
|
||||
- The previous release reduced transient memory use during PatchTable construction, but increased the amount of memory consumed by the resulting PatchTable itself, this regression has been fixed.
|
||||
- The example Ptex texture sampling code has been fixed to prevent sampling beyond the texels for a face when multisample rasterization is enabled.
|
||||
|
||||
Release 3.0.4
|
||||
=============
|
||||
Release 3.0.4 - Feb 2016
|
||||
========================
|
||||
|
||||
Release 3.0.4 is a minor stability release which includes important performance
|
||||
and bug fixes.
|
||||
@ -175,8 +207,8 @@ and bug fixes.
|
||||
- Fixed far_tutorial_6 to refine primvar data only up to the number of levels produced by topological refinement
|
||||
- Fixed build warnings and errors reported by Visual Studio 2015
|
||||
|
||||
Release 3.0.3
|
||||
=============
|
||||
Release 3.0.3 - Oct 2015
|
||||
========================
|
||||
|
||||
Release 3.0.3 is a minor stability release which includes important performance
|
||||
and bug fixes.
|
||||
@ -196,16 +228,16 @@ and bug fixes.
|
||||
- Fixed WIN32_LEAN_AND_MEAN typo
|
||||
- Fixed Loop-related shader issues glFVarViewer
|
||||
|
||||
Release 3.0.2
|
||||
=============
|
||||
Release 3.0.2 - Aug 2015
|
||||
========================
|
||||
|
||||
Release 3.0.2 is a minor release for a specific fix.
|
||||
|
||||
**Bug Fixes**
|
||||
- Fixed drawing of single crease patches
|
||||
|
||||
Release 3.0.1
|
||||
=============
|
||||
Release 3.0.1 - Aug 2015
|
||||
========================
|
||||
|
||||
Release 3.0.1 is a minor release focused on stability and correctness.
|
||||
|
||||
@ -232,8 +264,8 @@ Release 3.0.1 is a minor release focused on stability and correctness.
|
||||
- Disabled the fractional tessellation spacing option in example viewers
|
||||
since this mode is currently not supported
|
||||
|
||||
Release 3.0.0
|
||||
=============
|
||||
Release 3.0.0 - Jun 2015
|
||||
========================
|
||||
|
||||
Release 3.0.0 is a major release with many significant improvements and
|
||||
changes. For more information on the following, please see
|
||||
|
Loading…
Reference in New Issue
Block a user