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
2018-06-17Cleanup: trailing space for blenkernelCampbell Barton
2018-04-25CDDM: correct (disabled) logic in merge vertsCampbell Barton
2018-02-15Cleanup: use '_len' instead of '_size' w/ BLI APICampbell Barton
- When returning the number of items in a collection use BLI_*_len() - Keep _size() for size in bytes. - Keep _count() for data structures that don't store length (hint this isn't a simple getter). See P611 to apply instead of manually resolving conflicts.
2018-01-18Fix buffer overflow vulnerabilities in mesh code.Brecht Van Lommel
Solves these security issues from T52924: CVE-2017-12081 CVE-2017-12082 CVE-2017-12086 CVE-2017-12099 CVE-2017-12100 CVE-2017-12101 CVE-2017-12105 While the specific overflow issue may be fixed, loading the repro .blend files may still crash because they are incomplete and corrupt. The way they crash may be impossible to exploit, but this is difficult to prove. Differential Revision: https://developer.blender.org/D3002
2018-01-15Sculpting: Sdd an option to hide mask in viewportSergey Sharybin
Brushes themselves are still affected by the mask, but the viewport is not showing the mask. This way it's easier to see details while sculpting. Studio request by Julien Kaspar
2017-09-30Fix vertex paint w/ subsurf drawingCampbell Barton
Only use alpha blending when in vertex paint mode.
2017-09-29Vertex Paint: Alpha SupportCampbell Barton
GSOC 2017 by Darshan Kadu, see: D2859. This is a partial merge of some of the features from the soc-2017-vertex_paint branch. - Alpha painting & drawing. - 10 new color blending modes. - Support for vertex select in vertex paint mode.
2017-09-27Vertex/Weight Paint: Use PBVH for paintingCampbell Barton
2016 GSOC project by @nathanvollmer, see D2150 - Mirrored painting and radial symmetry, like in sculpt mode. - Volume based splash prevention, which avoids painting vertices far away from the 3D brush location. - Normal based splash prevention, which avoids painting vertices with normals opposite the normal at the 3D brush location. - Blur mode now uses a nearest neighbor average. - Average mode, which averages the color/weight of the vertices within the brush - Smudge mode, which pulls the colors/weights along the direction of the brush - RGB^2 color blending, which gives a more accurate blend between two colors - multithreading support. (PBVH leaves are painted in parallel.) - Foreground/background color picker in vertex paint
2017-09-25Add an 'atomic cas' wrapper for pointers.Bastien Montagne
Avoids having to repeat obfuscating castings everywhere...
2017-09-25Tweak to fix for thread concurency in looptri generation.Bastien Montagne
Even if pointer assignment may be atomic, it does not prevent reordering and other nifty compiler tricks, we need a memory barrier to ensure not only that transferring pointer from wip array to final one is atomic, but also that all previous writing to memory are “flushed” to (visible by) all CPUs... Thanks @sergey for finding the potential (though quite unlikely) issue.
2017-09-20Fix T52852: Assert in looptri calculation after recent changes.Bastien Montagne
Wrong condition in asserts...
2017-09-19Fix T52816: regression can't open file in 2.79 (crash).Bastien Montagne
Tentative fix, since I cannot reproduce thenissue for some reason here on linux. Core of the problem is pretty clear though, thanks to Germano Cavalcante (@mano-wii): another thread could try to use looptris data after worker one had allocated it, but before it had actually computed looptris. So now, we use a temp 'wip' pointer to store looptris being computed (since this is protected by a mutex, other threads will have to wait on it, no possibility for them to double-compute the looptris here). This should probably be backported to 2.79a if done.
2017-09-19Cleanup: BLI_utildefines prefix for header-only libsCampbell Barton
This allows to have different macro headers without them sharing similar names to regular C modules.
2017-08-12Cleanup: whitespaceCampbell Barton
2017-08-11Cleanup: deduplicate DM's getLoopTriArray() callback.Bastien Montagne
All three functions were doing exactly the same thing, simpler to only have one in that case!
2017-05-27Release wasn't building, limit debug scopeCampbell Barton
2017-05-26Fix T50851: Array modifier generating invalid geometry.Bastien Montagne
We had handling of fully duplicated polygons already, but... absolutely nothing to sanitize partially merged polygons! This were giving us totally invalid geometry, with duplicated vertices in single poly, invalid edges, etc. Now we do check for invalid loops inside polys, and generate new edges as needed to get only valid polys. For some reason this was a nightmare to get running fully OK, playing with old and new indices is really, really mind breaking.
2017-02-16CDDM Copy: Only tag data layers dirty if we ignored tessellation dataSergey Sharybin
This solves assert failure in CustomData_from_bmeshpoly() happening with broom.blend file from barber shop SVN.
2017-02-07Fix missing hair after rendering with different viewport/render settingsSergey Sharybin
Derived mesh for particles did not include tessellated faces when it was expected to. Now added explicit function to copy CDDM with tess faces without need to re-tessellate the result.
2017-02-02Fix T50535: Cycles render segfault when Explode modifier before hair ↵Sergey Sharybin
particle modifier + UV material Tricky issue caused by CDDM_copy() coying MFACE array but not MTFACE which confused logic later on. Now we don't copy ANY tessellation unless it is requested to. Thanks Bastien for help and review!
2016-09-05Fix glUniform called from glBegin/glEnd blocksSergey Sharybin
Was causing some invalid operations in OpenGL. After more testing should be fine for 2.78.
2016-08-19Fix T49105: Array modifier displayed in Edit mode crashes on selection, with ↵Bastien Montagne
End Cap enabled. Origindex can be invalid, code was not fully protected against it...
2016-08-06Basic Alembic supportKévin Dietrich
All in all, this patch adds an Alembic importer, an Alembic exporter, and a new CacheFile data block which, for now, wraps around an Alembic archive. This data block is made available through a new modifier ("Mesh Sequence Cache") as well as a new constraint ("Transform Cache") to somewhat properly support respectively geometric and transformation data streaming from alembic caches. A more in-depth documentation is to be found on the wiki, as well as a guide to compile alembic: https://wiki.blender.org/index.php/ User:Kevindietrich/AlembicBasicIo. Many thanks to everyone involved in this little project, and huge shout out to "cgstrive" for the thorough testings with Maya, 3ds Max, Houdini and Realflow as well as @fjuhec, @jensverwiebe and @jasperge for the custom builds and compile fixes. Reviewers: sergey, campbellbarton, mont29 Reviewed By: sergey, campbellbarton, mont29 Differential Revision: https://developer.blender.org/D2060
2016-06-25GPU: move select index code out of WMCampbell Barton
This avoids bad-level calls.
2016-06-09Flat shading for basic shaderAlexander Romanov
The purpose of the patch is to replace deprecated glShadeModel. To decrease glShadeModel calls I've set GL_SMOOTH by default Reviewers: merwin, brecht Reviewed By: brecht Subscribers: blueprintrandom, Evgeny_Rodygin, AlexKowel, yurikovelenov Differential Revision: https://developer.blender.org/D1958
2016-06-07Fix (unreported) EditNormal modifier: broken 'flip poly' feature.Bastien Montagne
Newly computed custom normals were forgotten during poly flipping, leading to wrong custom normals being assigned to wrong loop... Dead simple, but was tough to track down this one!
2016-05-31Properly handle vertex color color space for Cycles GLSLSergey Sharybin
A bit tricky, need to pass additional information about what the attribute is and how to deal with it. BI path stays unchanged, just to make things simplier for now. Fixes T48555: Cycles GLSL- Incorrect Vertex Color results from Attribute node
2016-05-19Ignore vertex color when doing texture paintSergey Sharybin
It was totally useless to multiply diffuse color with the vertex color when doing texture painting. It was masking actual texture and only was forcing artists to create an empty vertex color layer to work this around.
2016-04-26Support multiple tangents for BI render & viewportAlexander Romanov
Normal Map node support for GLSL mode and the internal render (multiple tangents support). The Normal Map node is a useful node which is present in the Cycles render. It makes it possible to use normal mapping without additional material node in a node tree. This patch implements Normal Map node for GLSL mode and the internal render. Previously only the active UV layer was used to calculate tangents.
2016-03-02Cleanup: style, and --help editsCampbell Barton
2016-02-20Cleanup, avoid passing const pointer to MEM_freeN()Sergey Sharybin
This generates warnings with MSVC. Similar typecast was already done in other cases, so think it's all fine.
2016-02-10Fix T47332: Face select masks display glitchCampbell Barton
2016-02-02Cleanup: rename uvflag -> flag for dm drawingCampbell Barton
Was called both, however this isn't mainly for uv's so just call 'flag'. Also remove redundant NULL check.
2016-02-02Partial Fix T47221: Sculpt Hide fails w/ texture drawingCampbell Barton
Support for skipping hidden faces in sculpt mode w/ texture drawing.
2016-01-30Fix T46455: Array modifier could generate chained mapping of vertices, ↵Bastien Montagne
leading to corrupted geometry. That was the main issue (in both T46455 and T46690), solved by 'flattening' those chains (v1 -> v2 ->v3 etc.) before calling `CDDM_merge_verts()`. Also added note to `CDDM_merge_verts()` that it does not support chained mapping, along with a basic assert that should catch most of those cases in future. The logic of 'following mapping' was also rather broken, making a special case here when using object-controlled offset is very weak. Further more, blindly following mapping in this case was far from ideal, this could end to merging vertices rather far from each other. To address this issue, we now always follow mapping, but only as long as 'final' vertex remains close enough from mapped one. Finally, the search of 'closest' vertex to merge with was also quite bad, would just pick the first one matching distance limit, instead of using the actual closest one - could lead to rather ugly geometry deformations in case one would use not-so-small merge threashold!
2016-01-16Cleanup: styleCampbell Barton
2016-01-15Changes around update normals from PBVH to CDDMSergey Sharybin
- Only do this if PBVH is not used for display, this should correspond to whats' happening in sculpt.c now. - No need to do such synchronization for solid drawing, it supports optimal display from PBVH. In fact, such synchronization is only needed in the following case: Drawing callback does not support PBVH draw and sculpt session is configured to use PBVH for display and related operations.
2016-01-14Fix T47170: Sculpt w/ constructive modifier crashCampbell Barton
Regression in 4d33c37c9 Only copy normal arrays from sculpt to the DerivedMesh when the mesh is deformed. Constructive modifiers calculate their own normals.
2015-12-28cdderivedmesh fix stippled faces not getting drawn at allAntony Riakiotakis
Also rearranged code here to not issue a draw call (explicit flush) per face and not set shader per face either when stippled drawing is mixed with regular drawing. Not good at all for performance.
2015-12-27OpenGL: stipple support added to basic GLSL shaderAlexander Romanov
The is intended to replace the deprecated glPolygonStipple() calls with a shader based alternative, once we switch over to GLSL shaders. Reviewers: brecht Differential Revision: https://developer.blender.org/D1688
2015-12-08OpenGL: split off framebuffer, shader and texture code into separate files.Brecht Van Lommel
2015-12-03Fix T46899 sculpt normals not getting updated after exiting sculpt mode.Antony Riakiotakis
Habit is a bad thing: Update polys, not tessfaces.
2015-11-26Cleanup: whitespaceCampbell Barton
2015-11-22Remove vertex array support from GPUBuffers. Remove USER_DISABLE_VBO. AllAntony Riakiotakis
GPUBuffer rendering is now done using vertex buffers. Vertex arrays are completely removed from GL 3.2 core profile, so we'll have to do this change at some point anyway. This commit, though big, is not modifying blender in any way. Use should be exactly as if the vetex buffer option is constantly on.
2015-11-13Fix T46726 shading issues in sculpt mode.Antony Riakiotakis
This fixes two issues: * Normals were not being recalculated correctly when not using optimized drawing for CDDerivedMesh (Multires actually handles that correctly). * Loop normals (autosmooth option) were also not being calculated. Doing this calculation is not desirable, since it can't be done correctly without a severe performance hit. This is easy to test by doing a dependency flush on the mesh after each scuplt stroke step. Instead they are now disabled during sculpting.
2015-10-12Add functions to compute normals (verts, polys and loops ones) for a given ↵Bastien Montagne
shapekey. Title says pretty much everything, we now have BKE and RNA funcs to get vertex, poly and loop normals of a given shapekey. This will be used e.g. in FBX exporter (shapekeys need normal data too). Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D1510
2015-10-11Fix warnings and remove casts by adding copy_vx_vx_uchar() functions.Brecht Van Lommel
2015-10-05Fix T46305: normal map display issues in viewport when using VBOs.Brecht Van Lommel
2015-09-23Fix T46215: Explode modifier looses texturesCampbell Barton
2015-09-17Fix for recent regression clamping materialsCampbell Barton
Mixup between gpu/derivedMesh total materials, fix and name more clearly to avoid confusion. thanks to Sergey for finding root cause!