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
2015-09-21Fix T46159: OpenSubdiv does not always give same results as Blender own ↵Sergey Sharybin
subsurf code with crease edges
2015-08-25OpenSubdiv: Support for multiple materials in solid shading modeSergey Sharybin
Implementation is less optimal compared to non-opensubdiv drawing but it is now as good as we can do it without affecting on how patches are being created by OpenSubdiv.
2015-08-06OpenSubdiv: Make sure faces are exported with consistent normalSergey Sharybin
This is currently a requirement of OpenSudiv and original orientation code was depending on this quite a lot. This makes mesh conversion and comparison slower but solves some crashes. With some trickery it could be optimized and become closer to original performance. Probably Campbell has some nice ideas here as well :)
2015-08-03OpenSubdiv: Correction to vert edge/face orientation codeSergey Sharybin
non-manifold case didn't start ordering from the correct edge.
2015-08-03OpenSubdiv: Mark non-manifold verts as sharpSergey Sharybin
2015-08-03OpenSubdiv: Work on better vert edge/face orientation codeSergey Sharybin
Previous version of code didn't handle cases like hourglass connectivity with loose edge. The new code is supposed to handle all this cases.
2015-07-30OpenSubdiv: Remove debug-only leftoverSergey Sharybin
2015-07-29OpenSubdiv: Workaround for vertices which are adjacent to several manifold ↵Sergey Sharybin
islands
2015-07-29OpenSubdiv: Proper detection of crease changesSergey Sharybin
2015-07-29OpenSubdiv: Some debug-only code sneaked into previous commitSergey Sharybin
2015-07-29OpenSubdiv: Make topology orientation optionalSergey Sharybin
2015-07-29OpenSubdiv: Fixes for crease in non-manifold meshesSergey Sharybin
Basically non-manifold edges are expected to be sharp by OpenSubdiv. There\s still some work required, see the inlined comment.
2015-07-29OpenSubdiv: Rework vert-edge and vert-face orderingSergey Sharybin
Now the code survives multiple non-manifolds happening on the vert. Still not totally optimal but at least gives much better mesh support.
2015-07-29OpenSubdiv: Fix for weirdly ordered linesSergey Sharybin
2015-07-20OpenSubdiv: Commit of OpenSubdiv integration into BlenderSergey Sharybin
This commit contains all the remained parts needed for initial integration of OpenSubdiv into Blender's subdivision surface code. Includes both GPU and CPU backends which works in the following way: - When SubSurf modifier is the last in the modifiers stack then GPU pipeline of OpenSubdiv is used, making viewport performance as fast as possible. This also requires graphscard with GLSL 1.5 support. If this requirement is not met, then no GPU pipeline is used at all. - If SubSurf is not a last modifier or if DerivesMesh is being evaluated for rendering then CPU limit evaluation API from OpenSubdiv is used. This only replaces the legacy evaluation code from CCGSubSurf_legacy, but keeps CCG structures exactly the same as they used to be for ages now. This integration is fully covered with ifdef and not enabled by default because there are several TODOs to be solved first: - Face varying data interpolation is not really cleanly implemented for GPU in OpenSubdiv 3.0. It is also not implemented for limit evaluation API. This basically means we'll have really hard time supporting UVs. - Limit evaluation only works with adaptivly subdivided meshes so far, which basically means all the points of CCG are pushed to the limit. This gives different result from old code. - There are some serious optimizations possible on the topology refiner creation, which would speed up initial OpenSubdiv mesh creation. - There are some hardcoded asumptions in the GPU and DerivedMesh areas which could be generalized. That's something where Antony and Campbell can help, making it so the code is structured in a way which is reusable by all planned viewport projects. - There are also some workarounds in the dependency graph to make sure OpenGL buffers are only freed from the main thread. Those who'll be wanting to make experiments with this code should grab dev branch (NOT master) from https://github.com/Nazg-Gul/OpenSubdiv/tree/dev There are some patches applied in there which we're working on on getting into upstream.
2015-07-20OpenSubdiv: Add new OpenSubdiv related filesSergey Sharybin
This includes C-API bindings in intern/opensubdiv and CMAke module which finds the OpenSubdiv library. This filea are not in use so far, making it a separate commit to make actual integration commit more clear.