mirror of
https://github.com/PixarAnimationStudios/OpenSubdiv
synced 2025-01-13 18:00:09 +00:00
Removing non-manifold options : the feature is not ready yet for Beta evaluation
This commit is contained in:
parent
97bfd12ca6
commit
6c6993f5b0
@ -106,7 +106,7 @@ TopologyRefinerFactoryBase::applyComponentTagsAndBoundarySharpness(TopologyRefin
|
|||||||
Sdc::Crease creasing(options);
|
Sdc::Crease creasing(options);
|
||||||
|
|
||||||
bool sharpenCornerVerts = (options.GetVVarBoundaryInterpolation() == Sdc::Options::VVAR_BOUNDARY_EDGE_AND_CORNER);
|
bool sharpenCornerVerts = (options.GetVVarBoundaryInterpolation() == Sdc::Options::VVAR_BOUNDARY_EDGE_AND_CORNER);
|
||||||
bool sharpenNonManFeatures = (options.GetNonManifoldInterpolation() == Sdc::Options::NON_MANIFOLD_SHARP);
|
bool sharpenNonManFeatures = true; //(options.GetNonManifoldInterpolation() == Sdc::Options::NON_MANIFOLD_SHARP);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Process the Edge tags first, as Vertex tags (notably the Rule) are dependent on
|
// Process the Edge tags first, as Vertex tags (notably the Rule) are dependent on
|
||||||
|
@ -190,6 +190,7 @@ private:
|
|||||||
Options _options;
|
Options _options;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// XXXX manuelk non-manifold is not implemented yet - return infintely sharp as default for now
|
||||||
|
|
||||||
//
|
//
|
||||||
// Non-trivial inline declarations:
|
// Non-trivial inline declarations:
|
||||||
@ -208,26 +209,6 @@ Crease::SharpenBoundaryVertex(float vertexSharpness) const {
|
|||||||
SHARPNESS_INFINITE : vertexSharpness;
|
SHARPNESS_INFINITE : vertexSharpness;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline float
|
|
||||||
Crease::SharpenNonManifoldEdge(float edgeSharpness) const {
|
|
||||||
|
|
||||||
// Shouldn't we error/assert somehow if indicated that non-manifold not supported?
|
|
||||||
// assert(_options.GetNonManifoldInterpolation() != Options::NON_MANIFOLD_NONE);
|
|
||||||
|
|
||||||
return (_options.GetNonManifoldInterpolation() == Options::NON_MANIFOLD_SHARP) ?
|
|
||||||
SHARPNESS_INFINITE : edgeSharpness;
|
|
||||||
}
|
|
||||||
inline float
|
|
||||||
Crease::SharpenNonManifoldVertex(float vertexSharpness) const {
|
|
||||||
|
|
||||||
// Shouldn't we error/assert somehow if indicated that non-manifold not supported?
|
|
||||||
// assert(_options.GetNonManifoldInterpolation() != Options::NON_MANIFOLD_NONE);
|
|
||||||
|
|
||||||
return (_options.GetNonManifoldInterpolation() == Options::NON_MANIFOLD_SHARP) ?
|
|
||||||
SHARPNESS_INFINITE : vertexSharpness;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
inline float
|
inline float
|
||||||
Crease::decrementSharpness(float sharpness) const {
|
Crease::decrementSharpness(float sharpness) const {
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ namespace Sdc {
|
|||||||
// it remains a set of bit-fields (essentially an int) and so remains light weight and
|
// it remains a set of bit-fields (essentially an int) and so remains light weight and
|
||||||
// easily passed down by value.
|
// easily passed down by value.
|
||||||
//
|
//
|
||||||
// ALPHA NOTES:
|
// BETA NOTES:
|
||||||
// Several of these options are being reconsidered in light of the divergence of
|
// Several of these options are being reconsidered in light of the divergence of
|
||||||
// OSD 3.0 from Hbr. In some cases the options can be expressed more clearly and free
|
// OSD 3.0 from Hbr. In some cases the options can be expressed more clearly and free
|
||||||
// of any RenderMan legacy for future use. Details are noted below:
|
// of any RenderMan legacy for future use. Details are noted below:
|
||||||
@ -74,7 +74,7 @@ namespace Sdc {
|
|||||||
// - hoping we can get rid of this due to lack of interest/use
|
// - hoping we can get rid of this due to lack of interest/use
|
||||||
// - specific to Catmark and only at level 0
|
// - specific to Catmark and only at level 0
|
||||||
// "NonManifoldInterpolation":
|
// "NonManifoldInterpolation":
|
||||||
// - hoping we can get rid of this due to lack of interest/use
|
// - not implemented yet
|
||||||
//
|
//
|
||||||
class Options {
|
class Options {
|
||||||
public:
|
public:
|
||||||
@ -100,18 +100,12 @@ public:
|
|||||||
TRI_SUB_OLD,
|
TRI_SUB_OLD,
|
||||||
TRI_SUB_NEW
|
TRI_SUB_NEW
|
||||||
};
|
};
|
||||||
enum NonManifoldInterpolation {
|
|
||||||
NON_MANIFOLD_NONE = 0,
|
|
||||||
NON_MANIFOLD_SMOOTH,
|
|
||||||
NON_MANIFOLD_SHARP
|
|
||||||
};
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
// Trivial constructor and destructor:
|
// Trivial constructor and destructor:
|
||||||
Options() : _vvarBoundInterp(VVAR_BOUNDARY_NONE),
|
Options() : _vvarBoundInterp(VVAR_BOUNDARY_NONE),
|
||||||
_fvarLinInterp(FVAR_LINEAR_ALL),
|
_fvarLinInterp(FVAR_LINEAR_ALL),
|
||||||
_nonManInterp(NON_MANIFOLD_NONE),
|
|
||||||
_creasingMethod(CREASE_UNIFORM),
|
_creasingMethod(CREASE_UNIFORM),
|
||||||
_triangleSub(TRI_SUB_NORMAL) { }
|
_triangleSub(TRI_SUB_NORMAL) { }
|
||||||
~Options() { }
|
~Options() { }
|
||||||
@ -128,9 +122,6 @@ public:
|
|||||||
CreasingMethod GetCreasingMethod() const { return (CreasingMethod) _creasingMethod; }
|
CreasingMethod GetCreasingMethod() const { return (CreasingMethod) _creasingMethod; }
|
||||||
void SetCreasingMethod(CreasingMethod c) { _creasingMethod = c; }
|
void SetCreasingMethod(CreasingMethod c) { _creasingMethod = c; }
|
||||||
|
|
||||||
NonManifoldInterpolation GetNonManifoldInterpolation() const { return (NonManifoldInterpolation) _nonManInterp; }
|
|
||||||
void SetNonManifoldInterpolation(NonManifoldInterpolation n) { _nonManInterp = n; }
|
|
||||||
|
|
||||||
TriangleSubdivision GetTriangleSubdivision() const { return (TriangleSubdivision) _triangleSub; }
|
TriangleSubdivision GetTriangleSubdivision() const { return (TriangleSubdivision) _triangleSub; }
|
||||||
void SetTriangleSubdivision(TriangleSubdivision t) { _triangleSub = t; }
|
void SetTriangleSubdivision(TriangleSubdivision t) { _triangleSub = t; }
|
||||||
|
|
||||||
@ -138,7 +129,6 @@ private:
|
|||||||
// Bitfield members:
|
// Bitfield members:
|
||||||
unsigned int _vvarBoundInterp : 2,
|
unsigned int _vvarBoundInterp : 2,
|
||||||
_fvarLinInterp : 3,
|
_fvarLinInterp : 3,
|
||||||
_nonManInterp : 2,
|
|
||||||
_creasingMethod : 2,
|
_creasingMethod : 2,
|
||||||
_triangleSub : 2;
|
_triangleSub : 2;
|
||||||
};
|
};
|
||||||
|
0
regression/common/vtr_utils.cpp
Executable file → Normal file
0
regression/common/vtr_utils.cpp
Executable file → Normal file
@ -55,7 +55,6 @@ GetSdcOptions(Shape const & shape) {
|
|||||||
result.SetVVarBoundaryInterpolation(Options::VVAR_BOUNDARY_EDGE_ONLY);
|
result.SetVVarBoundaryInterpolation(Options::VVAR_BOUNDARY_EDGE_ONLY);
|
||||||
result.SetCreasingMethod(Options::CREASE_UNIFORM);
|
result.SetCreasingMethod(Options::CREASE_UNIFORM);
|
||||||
result.SetTriangleSubdivision(Options::TRI_SUB_NORMAL);
|
result.SetTriangleSubdivision(Options::TRI_SUB_NORMAL);
|
||||||
result.SetNonManifoldInterpolation(Options::NON_MANIFOLD_SHARP);
|
|
||||||
|
|
||||||
for (int i=0; i<(int)shape.tags.size(); ++i) {
|
for (int i=0; i<(int)shape.tags.size(); ++i) {
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user