July 11, 2014, 13:54 (GMT) |
OpenSubdiv: Correction for the strict compiler flags |
July 11, 2014, 13:43 (GMT) |
Merge branch 'master' into opensubdiv-modifier |
July 8, 2014, 10:10 (GMT) |
OpenSubdiv: Support multi-textured faces in a solid view This means that if faces have different materials assigned to them they'll be textured accordingly to a diffuse settings when viewing them in solid shading mode. It uses approach based on the pertitioned mesh from OpenSubdiv and currently it creates partition for every single coarse face. This might backfire in performance for a bit because it increases number of glDrawElements() calls. But likely partitioning will stay like this (to avoid re-partitioning when changing material settings) and we'll just do some conjunction of partitions when actually drawing faces into the viewport. Currently it's like 20% speed loss, don't get too much disappointed on this, it's to be addressed. Just a bit later. For now 1st prio is to have all the shading/texturing bits in place. |
July 8, 2014, 05:53 (GMT) |
OpenSubdiv: Disable normals hack for legacy drawing Such a mix of GLSL and legacy drawing was rather a huge PITA to experiment with the new functionality. Since this only gives wrong shading with flat shading (which isn't so common and only really visible with simple subdivisions which are to be redone anyway) let's do a clear separation for now. We might end up bumping GLSL requirement for GPU tessellation because of the some specific of how UV attributes are handled by the OpenSubdiv. This is to be evaluated later. |
July 7, 2014, 15:17 (GMT) |
OpenSubdiv: Skip some allocations when using CPU backend |
July 7, 2014, 15:12 (GMT) |
OpenSubdiv: Split getCCGDerivedMesh into a smaller functions This way it's much easier to control what's happening for which backend. Also made it so face flags are set for all low-res faces, meaning we now can do proper materials loops. |
July 7, 2014, 13:54 (GMT) |
OpenSubdiv: Code cleanup and better function names |
July 7, 2014, 10:29 (GMT) |
Merge branch 'master' into opensubdiv-modifier |
July 7, 2014, 10:11 (GMT) |
Merge branch 'master' into opensubdiv-modifier |
July 4, 2014, 16:31 (GMT) |
OpenSubdiv: Just add comments about some new TODOs |
July 4, 2014, 15:25 (GMT) |
OpenSubdiv: CPU-side simple subdivisions now really kind of work Before this change it was always CC, because of lack of some changes in the branch. |
July 4, 2014, 14:45 (GMT) |
OpenSubdiv; Simple subdivisions now uses bilinear subdivisions from OSD This replaces fallback mode to a legacy implementation and uses new API from OpenSubdiv to create mesh with bilinear subdivisions. This requires latest OSD library from our cuda-dynload branch and blender now can't be compiled with the precompiled library on Windows. This also brings a bit of a regression for CPU-side simple subdivisions calculation because there's some bug in OSD which leads to some curvature when using adaptive subdivisions/ |
July 4, 2014, 11:03 (GMT) |
OpenSubdiv: Support edge and outline drawing This gives some performance drop, most of it could be solved by skipping base vertices synchronization when drawing both outline ad solid view. |
July 4, 2014, 10:47 (GMT) |
Merge branch 'master' into opensubdiv-modifier |
July 3, 2014, 16:23 (GMT) |
OpenSubdiv: Make drawing even closer to legacy viewport drawing This actually disables using any GLSL for drawing quads in favor of using default tessellation and shading. This is achieved by enabling client states for vertices and normals and this have the following benefits: - Makes code closer to what's happening in GPU at this moment, hopefully this means we can use GPU_material and rest of the routines from this area for shading/texturing the model. - For now it allows to have smooth and flat shading, currently this flag is used from the first face, need to fill in face flags accordingly to the original mesh. This code is under OPENSUBDIV_LEGACY_DRAW define which makes it rather easy to distinguish and get rid of when we'll have viewport rrefactor in place and when it'll be more clear how OpenSubdiv+shading/texturing would fit in there. |
July 3, 2014, 12:28 (GMT) |
OpenSundiv: Remove debug-only code |
July 3, 2014, 11:17 (GMT) |
OpenSubdiv: hide OpenCL compute method if no devices found |
July 3, 2014, 10:32 (GMT) |
Implement smooth shading for OpenSubdiv This is rather an experiment commit which places all the needed bits for the smooth shading in viewport. Approach is similar to the simpleCpu example application, which computes lo-res normal on CPU and passes them to OpenSubdiv. Then the shader then have access to vertex normals and passes them to the fragment shader. At this point all the shading is smooth currently, flat shading will be landed when all the material from Blender are taken into account. |
July 3, 2014, 07:58 (GMT) |
Add comment around adaptive subsivisions They will requite tessellation shader implemented, let's not worry about this at this point. |
July 3, 2014, 06:06 (GMT) |
Merge branch 'master' into opensubdiv-modifier |
|