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
2016-07-01"Fix" crash when deleting linked object which has indirect usages.Bastien Montagne
This is in fact very hairy situation here... Objects are only refcounted by scenes, any other usage is 'free', which means once all object instanciations are gone Blender considers it can delete it. There is a trap here though: indirect usages. Typically, we should never modify linked data (because it is essencially useless, changes would be ignored and ost on next reload or even undo/redo). This means indirect usages are not affected by default 'safe' remapping/unlinking. For unlinking preceeding deletion however, this is not acceptable - we are likely to end with a zero-user ID (aka deletable one) which is still actually used by other linked data. Solution choosen here is double: I) From 'user-space' (i.e. outliner, operators...), we check for cases where deleting datablocks should not be allowed (indirect data or indirectly used data), and abort (with report) if needed. II) From 'lower' level (BKE_library_remap and RNA), we also unlink from linked data, which makes actual deletion possible and safe. Note that with previous behavior (2.77 one), linked object would be deleted, including from linked data - but then, once file is saved and reloaded, indirect usage would link back the deleted object, without any instanciation in scene, which made it somehow virtual and unreachable... With new behavior, this is no more possible, but on the other hand it means that in situations of dependency cycles (two linked objects using each other), linked objects become impossible to delete (from user space). Not sure what's best here, behavior with those corner cases of library linking is very poorly defined... :(
2016-06-30Fix T48757: Broken in D1120 normal bakingAlexander Romanov
2016-06-25Cleanup: use BLI_bitmap for bevel-splitCampbell Barton
2016-06-23Fix T48658: Cycles render & render preview corrupts particlesCampbell Barton
Replaces `G.is_rendering` with `use_render_params` argument. This is needed for Cycles, which attempts to restore render-preview settings from particles, after it gets its own particle data, but fails to restore because `G.is_rendering` was being checked in psys_cache_paths (and other places).
2016-06-22ID-Remap - Step one: core work (cleanup and rework of generic ID datablock ↵Bastien Montagne
handling). This commit changes a lot of how IDs are handled internally, especially the unlinking/freeing processes. So far, this was very fuzy, to summarize cleanly deleting or replacing a datablock was pretty much impossible, except for a few special cases. Also, unlinking was handled by each datatype, in a rather messy and prone-to-errors way (quite a few ID usages were missed or wrongly handled that way). One of the main goal of id-remap branch was to cleanup this, and fatorize ID links handling by using library_query utils to allow generic handling of those, which is now the case (now, generic ID links handling is only "knwon" from readfile.c and library_query.c). This commit also adds backends to allow live replacement and deletion of datablocks in Blender (so-called 'remapping' process, where we replace all usages of a given ID pointer by a new one, or NULL one in case of unlinking). This will allow nice new features, like ability to easily reload or relocate libraries, real immediate deletion of datablocks in blender, replacement of one datablock by another, etc. Some of those are for next commits. A word of warning: this commit is highly risky, because it affects potentially a lot in Blender core. Though it was tested rather deeply, being totally impossible to check all possible ID usage cases, it's likely there are some remaining issues and bugs in new code... Please report them! ;) Review task: D2027 (https://developer.blender.org/D2027). Reviewed by campbellbarton, thanks a bunch.
2016-06-07World space switch for BI nodes.Alexander Romanov
At the moment light shading in Blender is produced in viewspace. Apparently, that's why shader nodes work with normals in camera space. But it is not convenient for artists. The more convenient approach is implemented in Cycles where normals are represented in world space. Blend4Web Team designed the engine keeping in mind shader parameters readability, so normals are interpreted in world space as well. And now our users have to use some tweaks, like empty node group with the name "Replace", which is replacing one input by another on the engine side (replacing working configuration in Blender Viewport by the configuration that has the same behavior in the engine). This patch adds the ability to switch to world space for normals and lamp vector in BI and Viewport. This patch is very important to us and we crave to see this patch in Blender 2.7 because it will significantly simplify Blend4Web material creation workflow. {F315547} {F315548} Reviewers: campbellbarton, brecht Reviewed By: brecht Subscribers: homyachetser, Evgeny_Rodygin, AlexKowel, yurikovelenov Differential Revision: https://developer.blender.org/D2046
2016-06-06Fix T48550: Imperfections when Bake displacement map to plane if camera is ↵Sergey Sharybin
not in front The issue was caused by non-watertight nature of intersection, which is now addressed. Hopefully it doesn't cause any regression caused by uninitialized precalculated storage.
2016-06-01Fix T48466: Multiple passes starting with 'Diffuse' in EXR file breaks its ↵Bastien Montagne
loading in Blender. Issue here is that for Blender, any pass which name starts with 'Diffuse' is considered a diffuse pass - and it does not really support several passes of the same type in renderresult. So for now, passtype_from_name() is now checking whether a pass of same type already exists in render layers, and return 0 (uknown passtype) in this case.
2016-05-17C99/C++11: replace deprecated finite() by isfinite().Brecht Van Lommel
2016-05-06Fix T48262: Crash when trying to render a scene without camera.Bastien Montagne
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-04-12Cleanup: use boolCampbell Barton
2016-04-04Fix T48002: Wrong behavior with "RGB to Intensity" in Image texturesSergey Sharybin
There was some extra linearization happening in such cases.
2016-04-04Move some debug print under G.debugSergey Sharybin
It's not like every debug build is benefiting from this print..
2016-04-02Fix T47971: rigid body baking crash due to thread race condition.Brecht Van Lommel
2016-03-24Color sources for point density textures based on mesh verticesLukas Tönne
This patch adds support for coloring point density textures based on several mesh vertex attributes. * Vertex Color: Use a vertex color layer for coloring the point density texture * Vertex Weight: Use a weights from a vertex group as intensity values. (for Blender Render engine the additional color band is used) * Vertex Normals: Use object-space vertex normals as RGB values. The vertex color source enum is stored separately from the particle color source, to avoid invalid values when switching. Note that vertex colors are technically "corner colors" (MLoop), so each vertex can have as many colors as faces it is part of. For the purpose of point density the mloop colors are simply averaged, which is physically plausible because corners can be viewed as multiple points in the same location.
2016-03-19BLI_kdopbvh: Pass center to to range callbackCampbell Barton
Useful when BLI_bvhtree_range_query callback calculates a new position to measure from.
2016-03-14Cleanup: style/spellingCampbell Barton
2016-03-13Full Inverse-Quadratic-Equation Lamp FalloffJack Andersen
This patch adds a new `falloff_type` ('Inverse Coefficients') for Lamps in Blender-Internal and GLSL. The current falloff modes use a formula like this inverse-square one: `I = E × (D^2 / (D^2 + Q × r^2))` While such a formula is simple for 3D-artists to use, it's algebraically cumbersome to work with. Game-designers authoring their own shaders could benefit much more by having direct control of falloff-coefficients: `I = E × (1.0 / (coefC + coefL × r + coefQ × r^2))` In this mode, the `distance` parameter is unused (except for 'Sphere' mode); instead relying on the designer to mathematically-model the falloff-behavior. The UI has been patched like so: {F153843} Reviewers: brecht, psy-fi Reviewed By: psy-fi Subscribers: brita_, antidote, campbellbarton, psy-fi Differential Revision: https://developer.blender.org/D1194
2016-03-11Revert "Use render path as initial location when saving renders"Campbell Barton
This reverts commit cd6442f7d4b56cb40102d86404fbaeae30dd2d32. Broke workflow for incrementally saving versions of a render.
2016-03-11Fix T47753: World equirectangular regressionCampbell Barton
D1729 fixed 'View' projection but broke 'Equirectangular'. This commit also changes equirectangular projection to match Cycles and the viewport.
2016-03-10Multi-View: Cycles - Spherical Stereo support (VR Panoramas)Dalai Felinto
This is a new option for panorama cameras to render stereo that can be used in virtual reality devices The option is available under the camera panel when Multi-View is enabled (Views option in the Render Layers panel) Known limitations: ------------------ * Parallel convergence is not supported (you need to set a convergence distance really high to simulate this effect). * Pivot was not supposed to affect the render but it does, this has to be looked at, but for now set it to CENTER * Derivatives in perspective camera need to be pre-computed or we shuld get rid of kcam->dx/dy (Sergey words, I don't fully grasp the implication shere) * This works in perspective mode and in panorama mode. However, for fully benefit from this effect in perspective mode you need to render a cube map. (there is an addon for this, developed separately, perhaps we could include it in master). * We have no support for "neck distance" at the moment. This is supposed to help with objects at short distances. * We have no support to rotate the "Up Axis" of the stereo plane. Meaning, we hardcode 0,0,1 as UP, and create the stereo pair related to that. (although we could take the camera local UP when rendering panoramas, this wouldn't work for perspective cameras. * We have no support for interocular distance attenuation based on the proximity of the poles (which helps to reduce the pole rotation effect/artifact). THIS NEEDS DOCS - both in 2.78 release log and the Blender manual. Meanwhile you can read about it here: http://code.blender.org/2015/03/1451 This patch specifically dates from March 2015, as you can see in the code.blender.org post. Many thanks to all the reviewers, testers and minor sponsors who helped me maintain spherical-stereo for 1 year. All that said, have fun with this. This feature was what got me started with Multi-View development (at the time what I was looking for was Fulldome stereo support, but the implementation is the same). In order to make this into Blender I had to make it aiming at a less-specic user-case Thus Multi-View started. (this was December 2012, during Siggraph Asia and a chat I had with Paul Bourke during the conference). I don't have the original patch anymore, but you can find a re-based version of it from March 2013, right before I start with the Multi-View project https://developer.blender.org/P332 Reviewers: sergey, dingto Subscribers: #cycles Differential Revision: https://developer.blender.org/D1223
2016-03-10Report error when render failsCampbell Barton
Was printing to console, but UI didn't show error message.
2016-03-05Cleanup: unnecessary comma useCampbell Barton
2016-03-03Make texture node threadedSergey Sharybin
Quite trivial idea -- just pass tread ID to the texture sampling function. Implemented as a TLS to avoid passing huge amount of extra contexts around. Should be working on all platforms, but compilation test is required. Reviewers: juicyfruit, campbellbarton Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D1831
2016-03-03Avoid some obvious crashes when running out memory allocating render resultSergey Sharybin
2016-03-03Render Save Buffers: Use proper memory buffer size for a display bufferSergey Sharybin
2016-03-02Fix T47610: Texture node in compositing nodes does not updateSergey Sharybin
The issue was caused by some code accessing R from a functions which are marked as safe for use from outside of render pipeline. Now those functions are safe(er) for use.
2016-03-02Fix T47642: Crash baking w/ cyclesCampbell Barton
2016-03-02Use render path as initial location when saving rendersCampbell Barton
2016-02-29Fix T47615: crash trying to use point density with lamp object.Brecht Van Lommel
2016-02-28Fix T47608: Cycles cage baking crash after recent uv derivative fixes.Brecht Van Lommel
2016-02-24Fix race condition in point density texture min/max codeSergey Sharybin
2016-02-23Point density: Removed wrong line in previous commitSergey Sharybin
Thanks Bastien for finding this out!
2016-02-23Make point density sampling threadedSergey Sharybin
It should be all fine to sample same point density from multiple threads, this is something what Blender Internal is doing actually.
2016-02-23Fix memory leak in point densitySergey Sharybin
The issue was happening when having unconnected point density which will cache data but will not free it because there's no actual call to the actual sampling. Now the idea is to make sure cache is zeroed on file load and undo and then caching via RNA will free the data if any exists. This could leave us with a single copy of cache in the node if it's not used, but it's quite small amount of memory and it's not leaking.
2016-02-21Bake API: add assert to verify we have valid UVs.Brecht Van Lommel
2016-02-21Fix crash baking selected to active after recent fix for uninitialized ↵Brecht Van Lommel
variables.
2016-02-21Fix uninitialized var use initializing bake dataCampbell Barton
2016-02-18Fix T47451: Blender internal not rendering meshes with zero vertices in the ↵Brecht Van Lommel
original mesh.
2016-02-18Fix T45343: incorrect Cycles baking of bump maps from selected to active.Brecht Van Lommel
The differentials were incorrect, now they are properly transferred from the low to the high poly mesh.
2016-02-18Fix crash on exit with Blender Internal baking and envmap render.Brecht Van Lommel
2016-02-15Cleanup: reorganize BKE ID tagging functions.Bastien Montagne
BKE_main_id_tag_/BKE_main_id_flag_ were horrible naming now that we split those into flags (for presistent one) and tags (for runtime ones). Got rid of previous 'tag_' functions behavior (those who were dedicated shortcuts to set/clear LIB_TAG_DOIT), so now '_tag_' functions affect tags, and '_flag_' functions affect flags.
2016-02-14Fix T45606: cycles multires tangent space normal map bake issues.Brecht Van Lommel
2016-02-14Fix crash when cancelling cycles bake in some cases.Brecht Van Lommel
2016-02-10Cleanup: double promotionCampbell Barton
Also remove null checks from args with non-null attribute.
2016-02-06Fix T47320: Cycles baking in edit mode uses outdated mesh.Brecht Van Lommel
2016-02-05Fix T47329: Compositing fails to render unless each included scene was ↵Sergey Sharybin
rendered since opening
2016-02-03Remove redundant file exists checksCampbell Barton
2016-02-03Fix T47303: Voxel texture disappears after first frameCampbell Barton
Failed reads didn't update the voxel 'ok' tag, making successive reads fail (even on existing frames).