Revision 3fa5cb1 by Sergey Sharybin May 25, 2020, 13:39 (GMT) |
OpenSubdiv: Use explicit storage for edge sharpness Similar to previous change in vertex sharpness, explicitly store value provided by the converter. Allows to avoid rather fragile check for boundary edges. Also allows to avoid need in constructing edge map. This lowers memory footprint of the comparison process and avoids memory allocations during the comparison (which is an extra benefit from the performance point of view). |
Revision 31ffa76 by Sergey Sharybin May 25, 2020, 13:39 (GMT) |
OpenSubdiv: Allow use of regular ordered map |
Revision bdd0701 by Sergey Sharybin May 25, 2020, 13:39 (GMT) |
OpenSubdiv: Refactor, move comparison to own file |
Revision ebcd26a by Sergey Sharybin May 25, 2020, 13:39 (GMT) |
OpenSubdiv: Compare sharpness based on converter This change starts the transition of topology refiner comparison to compare actual values given by the converter, which will not be affected by the refinement or face winding synchronization steps. Currently is only implemented for vertex sharpness, but will be extended further as followup development. Fixes T71908: Subdiv: Incorrect topology comparison, leading to poor performance |
Revision 9de5c00 by Sergey Sharybin May 25, 2020, 13:39 (GMT) |
OpenSubdiv: Add explicit storage for mesh topology The idea is to use this explicit storage for topology comparison rather than using base level. While this will have memory overhead it allows to simplify comparison of such things as: - Vertex sharpness (where base level from topology refiner will have it refined, meaning it will be different from what application requested for non-manifold and corner vertices). - It will allow to simplify face-vertices comparison, where currently O(N^2) algorithm is used due to possible difference in face winding. - It will also allow to avoid comparison-time allocation of edge map. Currently no functional changes, just preparing for development which will happen next. |
Revision e808929 by Sergey Sharybin May 25, 2020, 13:39 (GMT) |
OpenSubdiv: Add move semantic to the namespace |
Revision bf2feb5 by Sergey Sharybin May 25, 2020, 13:39 (GMT) |
OpenSubdiv: Refactor, pass higher level object through comparison |
Revision afa9535 by Sergey Sharybin May 25, 2020, 13:39 (GMT) |
OpenSubdiv: Refactor, move utils to base Also split them across utilities and types. |
Revision a5c90a2 by Sergey Sharybin May 25, 2020, 13:39 (GMT) |
OpenSubdiv: Refactor, move base C-API file to base folder |
Revision 66f0a12 by Sergey Sharybin May 25, 2020, 13:39 (GMT) |
OpenSubdiv: Cleanup, use C++ range based loop Avoid indirection via define. |
Revision dea6d34 by Sergey Sharybin May 25, 2020, 13:39 (GMT) |
OpenSubdiv: Cleanup, move utility function to base type conversion |
Revision 2dd67b9 by Sergey Sharybin May 25, 2020, 13:39 (GMT) |
OpenSubdiv: Refactor, move type conversion to base fodler |
Revision c8b4c06 by Sergey Sharybin May 25, 2020, 13:39 (GMT) |
OpenSubdiv: Refactor, move evaluator to own folder |
Revision ca2691c by Sergey Sharybin May 25, 2020, 13:39 (GMT) |
OpenSubdiv: Completely disable topology verification Previously it was enabled for debug builds, now it is to be enabled explicitly. The reason for this is to reduce overhead when debugging other areas which might involve subdivision surface. When conversion is to be debugged set this manually in the code. |
Revision 37ea6e2 by Sergey Sharybin May 25, 2020, 13:39 (GMT) |
OpenSubdiv: Refactor, move edge map to base folder |
Revision 2c359e6 by Sergey Sharybin May 25, 2020, 13:39 (GMT) |
OpenSubdiv: Refactor creation of topology refiner Consolidate it inside of the topology refiner implementation class, which would allow to store extra data acquired during construction of the OpenSubdiv's object. |
Revision fa248dd by Sergey Sharybin May 25, 2020, 13:39 (GMT) |
OpenSubdiv: Refactor, use C++ allocation for internal classes Only use OBJECT_GUARDED_{NEW. DELETE} for structures which are part of public C-API (and hence can not have new/delete operators overloaded). Could try being brave and override new/delete from under C++ ifdef. |
Revision 315bdd2 by Sergey Sharybin May 25, 2020, 13:39 (GMT) |
OpenSubdiv: Refactor, move topology refiner factory to topology folder |
Revision dd05cf1 by Sergey Sharybin May 25, 2020, 13:39 (GMT) |
OpenSubdiv: Refactor, move topology refiner to own folder In the future factory will also be moved there. |
Revision 5fdf69b by Sergey Sharybin May 25, 2020, 13:39 (GMT) |
OpenSubdiv: Refactor, move device specific code to own files Also, move all device files to own folder. Makes it so checks for device availability are done in a localized place. |
|
|
|


Master Commits
MiikaHweb | 2003-2021