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-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
2017-05-19Remove reference to WITH_LEGACY_OPENGLDalai Felinto
We only keep this as a way to get GPU_stubs to run, in case we want to do a throughout cleanup in the codebase and want code using legacy calls to fail to build.
2017-05-19OpenGL: call glProgramUniform only if version >= 4.1Mike Erwin
Otherwise crash! Called from OpenSubdiv setup code. Might start using this in more places...
2017-05-19OpenSubdiv: insert TODO notes for OpenGLMike Erwin
2017-05-19OpenGL: remove EXT_geometry_shader4 from OpenSubdivMike Erwin
Old extension was made obsolete by GL 3.2. Input/output layout is part of GLSL.
2017-05-19OpenSubdiv: remove legacy support & display queriesMike Erwin
OSD display needs more work, since it uses some legacy OpenGL light and material functions.
2017-05-17Cleanup: remove GLSL version checksCampbell Barton
2017-04-13Remove deprecated opengl stuff from opensubdivLuca Rood
This removes glGetBooleanv queries for GL_LIGHTING. This has been #ifdef'd out with legacy opengl disabled. Thus a false positive still shows up in the gl queries. Also, note that this removes support for wireframes in opensubdiv, when desabling legacy opengl, which should be fixed later. Part of T49043
2016-12-20OpensSubdiv: Cleanup, unused argumentSergey Sharybin
2016-09-16OpenSubdiv: Remove redundant section define from shader compilationSergey Sharybin
2016-09-16OpenSubdiv: Split shader source filesSergey Sharybin
Was a bit annoying to do tweaks in a file which contained all vertex, geometry and fragment shaders.