Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-06-23Fix T66022: crash adding subdivision surface modifier to some meshesBrecht Van Lommel
This reverts commit 7c9f64d00835: "Fix T63766: Multiresolution behavior when using crease edge"
2019-06-21Fix T63766: Multiresolution behavior when using crease edgeSergey Sharybin
Switch to Gregory basis patches which are tangent continuous across their boundaries. Originally we've used BSpline basis patches to be more compatible with the old subdivision code, but a lot of things changed anyway.
2019-06-17Cleanup: comment, RNA spellingCampbell Barton
2019-04-18Cleanup: add trailing commas to avoid right shiftCampbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-14CMake: prepare for BLENDER_SORTED_LIBS removalCampbell Barton
No functional change, this adds LIB definition and args to cmake files. Without this it's difficult to migrate away from 'BLENDER_SORTED_LIBS' since there are many platforms/configurations that could break when changing linking order. Manually add and enable WITHOUT_SORTED_LIBS to try building without sorted libs (currently fails since all variables are empty). This check will eventually be removed. See T46725.
2019-03-28Fix T63030: Edge crease is not applied for boundary edgesSergey Sharybin
Caused by missing vertex sharpness comparison in the topology comparator.
2019-02-05Cleanup: remove contributors for CMake filesCampbell Barton
Following removal from C source code. See: 8c68ed6df16d8893
2019-02-01Cleanup: manually remove header text not handled by automationCampbell Barton
2019-01-23Cleanup: Spelling in commentSergey Sharybin
2019-01-22Fix T58640: Round corner in edge crease of subdivided surfacesSergey Sharybin
Fix T60502: Creasing behavior on 2.8 seams wrong Was a mistake in a boundary vertices sharpness calculation.
2019-01-22Cleanup: space after template bracketSergey Sharybin
2019-01-16OpenSubdiv: Remove topology orientation codeSergey Sharybin
It is no longer used and has some issues in corner cases which are not handled in a way which OpenSubdiv expects.
2019-01-16OpenSubdiv: Implement UV topology comparisonSergey Sharybin
2019-01-16OpenSubdiv: Correct topology cpmparatorSergey Sharybin
This fixes following errors: - The code didn't work correctly for edges reconstructed by the OpenSubdiv's topology refiner (due to indexing difference). - Sharpness of non-manifold and boundary edges was not working correctly.
2019-01-16OpenSubdiv: Use own utility headerSergey Sharybin
Replaces direct access to std.
2019-01-16OpenSubdiv: Cleanup, indentationSergey Sharybin
2019-01-07OpenSundiv: Simplify tweaking of shared stencil/patch settingsSergey Sharybin
2018-10-31OpenSubdiv: API, expose vertex boundary interpolation optionSergey Sharybin
Only affects internal API, bout could be exposed as an option for the compatibility reasons with other software. Is a part of some ongoing development of multires, but might or might not be used.
2018-09-26OpenSubdiv: Cleanup, the TODO was actually solvedSergey Sharybin
2018-09-26OpenSubdiv: CleanupSergey Sharybin
2018-09-20OpenSubdiv: Add extra base level queries to topology refinerSergey Sharybin
2018-09-06CMake: add missing headersCampbell Barton
2018-09-04OpenSubdiv: Disable varying elements interpolationSergey Sharybin
We currently don't use those. Skipping creation of stencils for them gives about 7% speedup of evaluation creation.
2018-09-04Cleanup: Typo in commentSergey Sharybin
2018-08-13OpenSubdiv: Add stub implementation of C-APISergey Sharybin
C-API is way smaller than the rest of the code which uses it. So better to conditionally compile stub implementation than to keep adding ifdef everywhere.
2018-08-13OpenSubdiv: Fix typo in crease comparisonSergey Sharybin
2018-08-02Subsurf: Better crease which represents sharp edgesSergey Sharybin
Enabled infinite sharp patches for topology refiner and evaluator, which allows to have sharp edge at first subdivision level. Also tweaked crease export from Blender to OpenSubdiv to have more artistic control over the whole 0..1 range.
2018-08-01Subsurf: Evaluate all UV layersSergey Sharybin
Before that it was only first UV layer which was properly evaluated, the rest were ignored. Now all layers are being properly handled.
2018-08-01Subsurf: Add API to provide vertex sharpnessSergey Sharybin
Currently unused, added for the future and API completeness.
2018-08-01Subsurf: Fix/workaround crashes and failures with non-manifold geometrySergey Sharybin
The idea is simple: do not provide full topology to OpenSubdiv, leave edges creation to OpenSubdiv itself. This solves issues with non-manifold meshes which were known to fail, including the ones from T52059. On a positive side we can simplify our side of converter, keeping code shorter. it is still possible that we'll need to ensure all loops has same winding, but that is less things to worry about.
2018-08-01Subsurf: Use edge sharpness directly from converterSergey Sharybin
Seems it's behaving correct now, surely more tests needed, but this is required for now to move forward.
2018-08-01Subsurf: Support subdivision of loose elementsSergey Sharybin
Applies to vertices and edges. Biggest annoyance here is that OpenSubdiv's topology converter expects that there is no loose geometry, otherwise it is getting confused. For now solution is to create some sort of mapping from real Mesh vertex and edge index to a non-loose-index. Now the annoying part is that this is an extra step to calculate before we can compare topology, meaning FPS will not be as great as if we knew for sure that topology didn't change. Loose edges subdivision is different from what it used to be with old subdivision code, but probably nice feature now is that endpoints of loose edges are stay at the coarse vertex locations. This allows to have things like plane with hair strands, without need to duplicate edge vertices at endpoints. All this required some re-work of topology refiner creation, which is now only passing edges and vertices which are adjacent to face. This is how topology refiner is supposed to be used, and this is how its validator also works. Vertices which are adjacent to loose edges are marked as infinite sharp. This seems to be good-enough approximation for now. In the future we might tweaks things a bit and push such vertices in average direction of loose edges, to match old subdivision code closer.
2018-07-18OpenSubdiv: Add API to evaluate face-varying dataSergey Sharybin
There are move changes along the line to keep everything working from from C.
2018-07-16Fix compilation with older OpenSubdiv librariesSergey Sharybin
Only fixes compilation error, the functionality will be limited. Currently we don't care that much, since all the work is done in the branch anyway. Later on when we'll know which fixes we need to apply on top of latest OpenSubdiv library we will call a library upgrade.
2018-07-16OpenSubdiv: Remove one more unused fileSergey Sharybin
2018-07-16OpenSubdiv: Remove unused fileSergey Sharybin
2018-07-16OpenSubdiv: Remove UV coordinates from converterSergey Sharybin
Converter only defines topology, not coordinates or (face)varying data.
2018-07-16OpenSubdiv: Re-work C-API integrationSergey Sharybin
Main goal is to make API simpler to follow (at least ion terms what is defined/declared where, as opposite of handful big headers which includes all the declarations), and also avoid a big set of long and obscure functions. Now C-API files are split into smaller ones, following OpenSubdiv behavior more closely, and also function pointers in structures used a lot more, which shortens functions names, UV integration part in GL Mesh is mainly stripped away, it needs to be done differently. On a related topic, UV coordinates API in converter needs to be removed as well, we do not need coordinates, only island connectivity information there. Additional changes: - Varying interpolation in evaluator API are temporarily disabled, need to extend API somewhere (probably, evaluator's API) to inform layout information of vertex data (whether it contains varying data, width, stride and such). - Evaluator now can interpolate face-varying data. Only works for adaptive refiner, since some issues in OpenSubdiv itself. Planned changes: - Remove uv coordinates from TopologyConverter. - Support evaluation of patches (as opposite to individual coordinates as it happens currently). - Support more flexible layout of varying and face-varying data. It is stupid to assume varying is 3 floats and face-varying 2 floats. - Support of second order derivatives. - Everything else what i'm missing in this list.
2018-07-11OpenSubdiv: Changes in C-APISergey Sharybin
- Made OpenSubdiv_GLMesh private Previously, it was still accessible via C-API from C++ code. - Don't implicitly refine evaluator when updating coarse positions, now there is an explicit call to do this. Allows to first apply all changes to the coarse mesh and then refine once. - Added coarse positions update from a continuous buffer with given starts offset and stride. Allows to update coarse positions directly from MVert array. - Refiner is no longer freed when CPU evaluator is created. Allows to re-use refiner for multiple purposes.
2018-07-10Merge branch 'master' into blender2.8Sergey Sharybin
2018-07-10OpenSubdiv: Fix wrong topology refiner castSergey Sharybin
2018-07-10OpenSubdiv: Make more flexible C-API to specify FVar interpolationSergey Sharybin
2018-02-07Merge branch 'master' into blender2.8Brecht Van Lommel
2018-02-07Update CUEW to latest versionBrecht Van Lommel
This brings separate initialization for libcuda and libnvrtc, which fixes Cycles nvrtc compilation not working on build machines without CUDA hardware available. Differential Revision: https://developer.blender.org/D3045
2017-08-12Code cleanup: fix various compiler warnings.Brecht Van Lommel
2017-07-11Merge branch 'master' into blender2.8Sergey Sharybin
2017-07-11Opensubdiv: Fix compilation error with older Opensubdiv versionsSergey Sharybin
2017-06-07Merge branch 'master' into blender2.8Sergey Sharybin
2017-06-07Report OpenSubdiv version Blender is compiled againstSergey Sharybin