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-08-26OpenSubdiv: Add extra checks whether GPU compute available or notSergey Sharybin
2015-08-25OpenSubdiv: Remove partitioned mesh interfaceSergey Sharybin
It's hopefully no longer needed, at least not needed for as long as single ptex face corresponds to a single patch which should be always correct for uniform subdivisions as far as i know.
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-25OpenSubdiv: Better approximation of vertex normalsSergey Sharybin
Use vertex varying data which gives better approximation of normals. Still not ideal but should be closer for higher poly meshes to correct normal. The only way to have proper smooth normals seems to be to implement patch evaluation in tessellation shader, but that's a bit PITA with current GLSL usage in our draw code.
2015-08-20Fix ATI part of T45708, crash when enabling opensubdiv.Antony Riakiotakis
In fact exit was getting called because we had an error in shader compilation: Uniform buffer objects are in fact required. Since it looks like original intent was to write the shader against older GLSL version, I will be adding an extension here instead of a version. Thanks to Anshu Arya for letting me borrow his machine through VPN to do the debugging :)
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-05Fix T45693: Fix for using 4-component vector as 3 component in osd shaderSergey Sharybin
2015-08-04OpenSubdiv: Fix for missing OpenMP device when building with SConsSergey Sharybin
2015-08-04OpenSubdiv: Correction for compute devices detection in SConsSergey Sharybin
SCons was still using file names from 2.x branch.
2015-08-04OpenSubdiv: forgot this in the previous commitSergey Sharybin
Need to find better approach for dealing with shadeless materials.
2015-08-04OpenSubdiv: Optimize drawing shaderSergey Sharybin
The idea is to cut as much code as possible and use compile-time ifdefs rather than runtime if() statements. Gives about 2x speedup on catmark_car model from OpenSubdiv repository making our FPS much closer to what glViewer is capable of.
2015-08-03OpenSubdiv: Support shadeless shadingSergey Sharybin
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: Switch CPU evaluator to use uniform refinementSergey Sharybin
This way the result matches GPU viewport and becomes really close to out legacy subsurf code.
2015-08-03OpenSubdiv: Mark non-manifold verts as sharpSergey Sharybin
2015-08-03OpenSubdiv: Disable topology check happening from OpenSubdiv sideSergey Sharybin
This check doesn't handle multiple non-manifolds cases which is rather really annoying currently.
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: Add CMake option to enable -Werror in subsurf codeSergey Sharybin
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-29OpenSubdiv: Make empty meshes supported and not crashingSergey 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.