May 27, 2020, 10:07 (GMT) |
OpenSubdiv: Cleanup, remove unused code There is no need in edge map anymore. |
May 27, 2020, 10:07 (GMT) |
OpenSubdiv: Add TODO avoid checking face-varying topology for equality |
May 27, 2020, 10:07 (GMT) |
OpenSubdiv: Move preliminary geometry counters check to mesh topology |
May 27, 2020, 10:07 (GMT) |
OpenSubdiv: Keep explicit storage of base mesh faces Allows to perform comparison by doing linear comparison of indices. Before cyclic match was used to deal with possibly changed winding from OpenSubdiv side. Speeds up comparison (and hence improves FPS), makes code more reliable nut uses more memory. |
May 27, 2020, 10:07 (GMT) |
OpenSubdiv: Compare edge topology This change makes it so topology refiner comparison will check vertices of all existing/provided edges. The initial claim that due to manifold nature of mesh there is no need in "deep" edges check was wrong: some areas might only provide edges with non-zero creases. So if crease of one edge goes changes from 1.0 to 0.0 and crease of other edge goes from 0.0 to 1.0 the old comparison code would not have caught it. |
May 27, 2020, 10:07 (GMT) |
OpenSubdiv: Refactor, move mesh topology comparison to own file Makes it easier to follow and extend. |
May 27, 2020, 10:07 (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). |
May 27, 2020, 10:07 (GMT) |
OpenSubdiv: Allow use of regular ordered map |
May 27, 2020, 10:07 (GMT) |
OpenSubdiv: Refactor, move comparison to own file |
May 27, 2020, 10:07 (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 |
May 27, 2020, 10:07 (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. |
May 27, 2020, 10:07 (GMT) |
OpenSubdiv: Add move semantic to the namespace |
May 27, 2020, 10:07 (GMT) |
OpenSubdiv: Refactor, pass higher level object through comparison |
May 27, 2020, 10:07 (GMT) |
OpenSubdiv: Refactor, move utils to base Also split them across utilities and types. |
May 27, 2020, 10:07 (GMT) |
OpenSubdiv: Refactor, move base C-API file to base folder |
May 27, 2020, 10:07 (GMT) |
OpenSubdiv: Cleanup, use C++ range based loop Avoid indirection via define. |
May 27, 2020, 10:07 (GMT) |
OpenSubdiv: Cleanup, move utility function to base type conversion |
May 27, 2020, 10:07 (GMT) |
OpenSubdiv: Refactor, move type conversion to base fodler |
May 27, 2020, 10:07 (GMT) |
OpenSubdiv: Refactor, move evaluator to own folder |
May 27, 2020, 10:07 (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. |
|
|
|


Master Commits
MiikaHweb | 2003-2021