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
2017-10-03Merge branch 'master' into blender2.8Sergey Sharybin
Notes: - Changes in paint_vertex.c were simple to merge, mainly related on passing evaluation context. - Conflicts in EditDM and drawmesh.c are solved using code from blender2.8 branch. Those areas are deprecated and not to be used in final release. However, it's possible that some reference code from master is lost, so keep attention when adding alpha support for vertex painting.
2017-09-30Fix vertex paint w/ subsurf drawingCampbell Barton
Only use alpha blending when in vertex paint mode.
2017-09-27Merge branch 'master' into blender2.8Campbell Barton
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-25Merge branch 'master' into blender2.8Sergey Sharybin
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-22Merge branch 'master' into blender2.8Sergey Sharybin
2017-09-20Fix T52852: Assert in looptri calculation after recent changes.Bastien Montagne
Wrong condition in asserts...
2017-09-19Merge branch 'master' into blender2.8Sergey Sharybin
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-08-12Merge branch 'master' into blender2.8Campbell Barton
2017-08-11Fix T52149: LoopTriArray computation was not correctly protected against ↵Bastien Montagne
concurrency. Note: this commit seems to work as expected (also with transform snapping etc.). However, it is rather unsafe - not enough for 2.79 at least, unless we get much more testing on it. It also depends on three previous ones. Note that using a global lock here is far from ideal, we should rather have a lock per DM, but that will do for now, whole DM thing is doomed to oblivion anyway in 2.8. Also, we may need a `DM_DIRTY_LOOPTRIS` dirty flag at some point. Looks like we can survive without it for now though... Probably because cached looptris are never copied accross DM's?
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-24TexFace removal part 2Campbell Barton
- Derived-mesh drawing. - All non UV members of TexFace structs. MTexPoly is now redundant but keeping with a dummy member, will check on complete removal later.
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-04-27OpenGL: stop using GL_NORMALIZEMike Erwin
With GLSL there is no need for GL_NORMALIZE. We explicitly normalize in the shader, or (better) send in unit vectors. Part of T51164
2017-04-04Immediate Mode / DerivedMesh: Handle UV ShadowDalai Felinto
2016-12-01Fix (unreported) looptri array not being recalculated in ccgDM and emDMLuca Rood
In ccgDM and emDM, looptri array recalculation was being handled directly by `*DM_getLoopTriArray` (`getLoopTriArray` callback), while `*DM_recalcLoopTri` (`recalcLoopTri` callback) was doing nothing. This results in the array not being recalculated when other functions that depend on the array data called the recalc function. This moves all the recalculation code to `*DM_recalcLoopTri` and makes `*DM_getLoopTriArray` call that. This commit also makes a minor change to the `getNumLoopTri` function, so that it returns the correct number without having to recalculate the looptri array. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D2375
2016-09-07OpenSubdiv: Support multiple materials drawing in Cycles textured viewSergey Sharybin
Consider for inclusion into 2.78.
2016-09-05cleanup: macro whitespace \ alignmentMike Erwin
Gotta be careful mixing tabs & spaces. This commit uses 4-space indent to align the line continuation markers. Follow-up to 3b52c4056aaf
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-20Fix T49090: color picking draws wrong when using subsurf in material draw mode.Brecht Van Lommel
ccgDM_drawMappedFacesMat was missig a smooth shade model restore, some other functions were redundantly setting it since we can assume it to be the default state already.
2016-07-25OpenSubdiv: Fix opensubdiv option obscuring the interfaceSergey Sharybin
2016-07-25OpenSubdiv: Fix missing support of flat shading in textured viewportSergey Sharybin
2016-07-25OpenSubdiv: Use proper material indexSergey Sharybin
2016-07-23Cleanup: warningCampbell Barton
2016-07-22OpenSubdiv: Properly respect Subdivide UVs optionSergey Sharybin
2016-07-22OpenSubdiv: Properly support active UV layer in textured viewSergey Sharybin
2016-07-22OpenSubdiv: Lay down fundamentals to support multiple UV mapsSergey Sharybin
2016-07-20OpenSubdiv: Initial work to support UV maps in textured OSD viewportSergey Sharybin
A bit work in progress, currently the following limitations: - Texture shading only, Material shading will come later - No UVs subdivision yet - Always uses active UV and currently changing active UV will not properly update the viewport. Well, need to start somewhere :)
2016-07-14Cleanup: comment blocksCampbell Barton
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-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-26Fix T48176: Shrinkwrap crashes when multiple objects uses same targetSergey Sharybin
Annoying bug caused by temp nature of looptri layer for CCGDM. Fixed in a similar to CCG loops by using lock when allocating and filling looptri arrays. Real fix would be to make sure this array is allocated on object evaluation using DAG's eval_flag, but that's more involved change which we'll work on later.
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-05Cleanup: unnecessary comma useCampbell Barton
2016-02-14Fix T47405: subsurf triangulation was producing incorrect normals after last ↵Brecht Van Lommel
fix.
2016-02-14Fix T47405: subsurf inconsistent triangulation in OpenGL compared to applied ↵Brecht Van Lommel
modifier and render.
2016-01-13Remove outdated assertCampbell Barton
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-11-26Cleanup: whitespaceCampbell Barton
2015-11-23Cleanup: shadowing (blenkernel)Campbell Barton
2015-11-23C99 is now the C standard for all our C code.Brecht Van Lommel
The main new feature is mixed variable declarations and code, which can help reduce uninitialized variables or accidental variable reuse. Due to incomplete C99 support in VS 2013, variable length arrays are not supported, BLI_array_alloca must still be used. The header <tgmath.h> is also not supported. Differential Revision: https://developer.blender.org/D1631
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-15VBO implementation for GLSL subsurfed meshes (non-mapped case)Antony Riakiotakis
As with cdderivedmesh, performance here is still CPU-limited if material needs tangents/UVs/vcolors. Draw calls have much less overhead though. Also, as with derivedmesh, kept an exception for old drawing for NVIDIA +OSX+VBO off or setDrawOptions callback not being NULL. setDrawOptions should be ommitable and fully VBOfialbe (?) in the future, usually those just check for hidden flag of poly or similar.
2015-10-11Fix warnings and remove casts by adding copy_vx_vx_uchar() functions.Brecht Van Lommel