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-05-17Bendy Bones: Option to treat disconnected bbone start/end reference ↵Joshua Leung
locations as relative This is an experimental option for use with the previous commit. It's an attempt at making these bone references more useful when there's a big gap between the reference bone being used, and the bone it's controlling.
2016-05-17Bendy Bones: Added ability to add custom reference prev/next bones for ↵Joshua Leung
controlling handles This is an experimental option which makes it possible to specify which bone to use as the reference handle for the previous/next bones, instead of only using those that are directly connected on either end. To use: * Enable the "Use Custom Handle References" option in the Bendy Bones panel * Set Start and/or End bones accordingly. If both are left blank, then the BBone will only respond to whatever offsets have been set by the animator * Be careful when positioning the start/end bones! It will use the bone position as the point at which the handle currently sits - best results seem be when these bones are in line with the bbone to start with. Why (according to @jpbouza): When you have a very long chain of bbones, as they are all parented, when you rotate the first bone in the chain (Y rotation, like twisting the chain), all the child bones rotate. So the only way to avoid this is to add a copy rotation constraint to each bone in the chain in order to override their parent rotation, thus achieving control over twisting of each segment of the chain. This commit makes it possible to have a bone (that is not a parent or child of the bone being affected) to influence the bbone curvature as if they were.
2016-05-17Bendy Bones: Breakdowner + Pose Slide tools support for these propertiesJoshua Leung
The Breakdowner and Pose Sliding tools (Push/Relax) now have support for the bbone properties too, making it possible to use these tools for playing with them like another other part of the pose. Implementation Note: I've ended up reusing a bunch of flags which we don't use, and haven't used for at least a decade (and which were if 0'd out). When they were in use, they would have been for runtime purposes anyway. Just to be safe, the version patch in modern Blender will clear out all those flags so that we can use them.
2016-05-17Constraints: BBones Head/Tail Interpolation is now optionalJoshua Leung
To preserve backwards compat with old rigs, the behaviour to use the BBone shape when interpolating Head/Tail values will now only be performed when the "curve" toggle beside the head/tail slider is enabled. TODO: Make this toggle only show up when the target is actually a bbone
2016-05-17Bendy Bones: Curved Bone settings in EditMode act as "Rest Pose" (Experimental)Joshua Leung
The bendy bone settings (curve in/out, etc.) now exist on both Bone and PoseBone levels. What this means is that the "Bone" level settings (i.e. what we had before) are used for defining the rest pose curve for the bone (i.e. to fit things like curved eyebrows, and so forth), while the "PoseBone" level settings (i.e. new stuff) will be what animators play with to animate their characters. Implementation Notes: * All the BBone settings are now found in a new "Curved Bones" panel. This is located just below the Transform properties panels (instead of by "Deform"), so that it's easier to reach for animating. The segments and ease in+out settings are still also located in the "Deform" panel. I'm still unsure whether to remove them for good from there. For now, I've duplicated them, to be more convenient for animation tweaking (though it might also be a bit confusing) * Ease In/Out is still a bone-level setting only (i.e. no posemode offsets/override). This may be subject to change still, but more investigation will be needed first. * Scale In/Out is handled multiplicatively. That is, scaleIn_final = bone->scaleIn * pbone->scaleIn * I've added a hacky "stripped down" copy of b_bone_spline_setup() for drawing the editmode previews of these bbone settings. Whether this is the final approach used is still open to debate. Better suggestions welcome, though this seems to be the simplest (least overhead) solution currently.
2016-05-17Initial patch for improved bendy bonesJoshua Leung
Author: Jose Molina Idea: Daniel M Lara (pepeland)
2016-05-09Fix makesdna not checking alignment for a non-native platformSergey Sharybin
This was causing alignment issues which were only visible on a platform of particular bitness, so it was easy to break stuff for 32bit when working on 64bit platform and vice versa.
2016-05-08D1886: GPencil - Add smooth iterations parameter to get better qualityAntonio Vazquez
After some test, a new iteration parameter has been added in order to apply repetitive smoothing to the stroke. By default 1 iteration is applied, but can used any number between 1 and 3. The repetition uses different levels of intensity from 100% of the defined smooth factor for the first loop, 50% for the second and 25% for the third. We use in each loop a smaller value in order to avoid deform too much the stroke.
2016-05-08Code Cleanups: A bunch of tweaks to tidy up things from the GPencil Fill patchJoshua Leung
2016-05-08D1705: Fix Grease Pencil Fill for Concave ShapesAntonio Vazquez
Improve filling for concave shapes using a triangulation of the stroke. The triangulation information is saved in an internal cache and only is recalculated if the stroke changes. The triangulation is not saved in .blend file. Reviewers: aligorith Maniphest Tasks: T47102 Differential Revision: https://developer.blender.org/D1705
2016-05-04Compositor: negative color support for ASC-CDL offsetCampbell Barton
Since the color wheel can't handle negative colors usefully, use a basis value for the initial RGB.
2016-05-04Curve Draw: option to apply absolute offsetCampbell Barton
Offset used curve radius, which isn't useful drawing without any bevel radius.
2016-04-27Sequencer text strip color optionsCampbell Barton
D1930 by @NiKoZLaB
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-25Refactor BKE_blender into separate headersCampbell Barton
- BKE_blender_version.h (only version defines & versionstr). - BKE_blender_copybuffer.h (currently only used for view3d copy/paste). - BKE_blender_undo.h (global undo functions). - BKE_blendfile.h (high level blend file read/write API).
2016-04-15New freehand curve drawing toolCampbell Barton
- Access with Shift-LMB or from the 'Create' toolbar tab. - Uses curve fitting for bezier curves, with error and corner angle options. - Optional tablet pressure to curve radius mapping. - Depth can use the cursor or optionally draw onto the surface, for the entire stroke or using the stroke start. - Stroke plane can optionally be perpendicular to, or aligned to the surface normal. - Optional radius tapering and for start/end points. - Supports operator redo and calling from Python.
2016-04-05Expose new Recast partitioning methods for navmesh generationReinier de Blois
This patch depends on D1747, which upgrades the Recast version. It exposes the new Recast partitioning methods in the navmesh generation. Reviewers: campbellbarton, moguri Reviewed By: moguri Projects: #bf_blender Differential Revision: https://developer.blender.org/D1748
2016-04-05Revert "Cycles: Remove the Preetham Sky model."Thomas Dinges
This reverts commit d91316dc672dc1ee69fbd24d2f00124a24b75c6b.
2016-04-03Cycles: Remove the Preetham Sky model.Thomas Dinges
The improved Hosek / Wilkie model was added during my GSoC 2013 and the default since then. The older model was kinda kept for compatibility, but after more than 2 years it's time to remove it. The Hosek / Wilkie model is more realistic anyway, and people who really want a day / night transition can mix the Sky Shader with another one (e.g. color) and fade between the two.
2016-03-27GPencil: Smooth and Subdivision variable/setting namingJoshua Leung
On second thought, these might be better names for these... I'm still not 100% happy with these, but they will do for now. (Best results currently seem to be with smooth 0.7, and subdivision steps 1 or 2)
2016-03-27Improve grease pencil stroke qualityAntonio Vazquez
Improve the quality of current grease pencil strokes adding a new dynamic smooth and subdivision. The level of smooth and subdivide can be adjusted using UI parameters. These options are disabled by default in order to keep the grease pencil stroke compatible with any existing add-on. Both parameters are defined at layer level. Reviewers: aligorith Differential Revision: https://developer.blender.org/D1866
2016-03-26Revert "Fix T47896: Scripted Expression string length limit is too short for ↵Joshua Leung
some autogenerated expressions" This reverts commit 322f86d6b330ebeb1da5c1f527714745dc901460.
2016-03-26Driver Variable Name Validation: Added missing check for zero-length (i.e. ↵Joshua Leung
"blank") names
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-24Driver Keyframing: Some tweaks to make inserting keyframes on Driver ↵Joshua Leung
F-Curves easier Now, when trying to insert a keyframe on a driven property (using IKEY, or with autokeying enabled), the keyframes will get created on the Driver's F-Curve (instead of creating a new FCurve that goes into the active action, but will never do anything). Furthermore, the x-value of the new keyframe will be the current result of the driver expression. Why/Motivations: This way, it becomes easier to create corrective drivers, as you can position all the targets the driver depends on, then adjust the driver value until it does what you need, and then you keyframe that value to bake it into the Driver F-Curve (in effect, "training" the computer how to behave in that case). Usage Notes: * In practice, that particular workflow is still quite clunky to achieve, due to some quirks of how the driver system and the UI widgets interact. Specifically, you'll need to disable/mute the driver before trying to edit the setting (to prevent the driver from immediately resetting the value - before even autokey fires!). However, if you're using the Graph Editor to preview/monitor/manage the keying process, you'll then want to re-enable the driver before changing the targets, so that you can see how much of a change you'll want to be applying! * The warning about editing driver values may need to be disabled or selectively knocked out. I had it disabled while testing this functionality, but it's actually harmless in its current state (if just a bit annoying).
2016-03-24Drivers UI: Added name validation/linting for Driver VariablesJoshua Leung
When attempting to change a driver variable name to an "invalid" name, an indicator will now be shown beside the offending variable name. Clicking on this icon will show a popup which provides more information about why the variable name cannot be used. Reasons that it knows about are: 1) Starts with number 2) Has a dot 3) Has a space 4) Starts with or contains a special character 5) Starts with an underscore (Python does allow this, but it's bad practice, and makes checking security of drivers harder) 6) Is a reserved Python keyword
2016-03-24Fix T47896: Scripted Expression string length limit is too short for some ↵Joshua Leung
autogenerated expressions While most scripted expressions are quite short (e.g. "var" or "frame + 1"), those that are autogenerated by scripts (to take into account a wide range of factors) may require a bit more headroom to operate in. By doubling the maximum length here, we now make it possible to combine up to 38 3-letter variables in some linear combination (with all factors expressed to 4 dp). That should be more than enough for anyone or anything for quite a while! Unfortunately, this does increase memory consumption for drivers across the board.
2016-03-23AnimEditors: Fuzzy/Multi-Word Name FilteringJoshua Leung
Thanks to D1080 by @rockets, I've now been able to easily implement the ability to type multiple word snippets/partial words into the text filter field (in the Animation Editors), and have it filter the channels which contain just some of those parts (instead of having to match everything). For example, the following search strings will now work: * "loc rot" or "lo ro" will now filter all location and rotation FCurves * "col loc" will filter all location and color FCurves * "scale" will also work as before to filter all scale FCurves But, the following will not work: * "lc rt" will NOT filter all location and rotation, as the fuzzy search only breaks down the search string based on whitespace placement By default, this is not enabled when using name filtering (i.e. magnifying glass is checked, and some filtering text is specified). Instead, you need to enable the "AZ" toggle beside the name field. This fuzzy matching is not enabled by default as it could end up being quite a bit slower on really heavy scenes. (There are probably some optimisation opportunities, but that's only a future option if someone really needs it)
2016-03-19Fix T47837: Filtering UIList broken with recent master.Bastien Montagne
Using 32nd bit of integer with our int RNA prop is not a good idea, it does not really support unsigned int even with PROP_UNSIGNED type... Most likely this has been unveiled by recent work over property clamping in RNA. Not critical, but should be backported should we make an 'a' release.
2016-03-19Fix: "pchan_name" field in SDNA for names of bone targets for drivers was ↵Joshua Leung
too short When all the names in Blender were updated to go from having 32 characters to 64, the "pchan_name" field in the DriverTarget struct was missed. This meant that if you had a bone with a suitably long name, it would have been impossible to use values from this bone in a driver. The only reason this probably hasn't been discovered yet is because the standard/old depsgraph doesn't work that well for bones in the same armatures, so setups where this may have occurred are not that common. To prevent this problem from happening in future, I've added the standard "MAX_ID_NAME-2" comment to the comments on each line likely to be impacted by such changes, making it easier for whoever does a search and replace in future :)
2016-03-14Better fix for T47787 - remove extra user due to 'user_one' as soon as we ↵Bastien Montagne
increase 'real' user count. This has several benefits: * User count remains coherent, regardless of the order in which you use 'user_one' & real refcounting users (i.e. if you add to group, and then link in scene, or the reverse, you now always get same final user count). * Avoids the need to check for potential 'user_one' extra user in count in several places in code (e.g. when making IDs single users...). * Users won't wonder why they cannot make 'single user' and ID even though its user count shows '2'! * readfile.c now always uses code from BKE's library.c when modifying id->us. Which means we can consider (asside from assignment during initialization) that id->us is read-only outside of library.c context. Note that this commit reverts previous one (rB6b1d77a8052b) - please **do not** backport this one in 2.77.
2016-03-14Fix T47787: When performing operation 'Make single user' -> 'obj&data', ↵Bastien Montagne
object could be removed from group. Similar cause as in T47482, we used to have poor handling of 'user_one' cases of ID usage, leading to inconsistent behavior depending on order of operations e.g. Here, was object used by a group but not linked in any scene - once linked in scene, their usercount would be 2, leading to 'making single copy', when it's actually not needed. We now have better control here, so let's use it! Note that other ID 'make single user' code will likely need similar fix (Images, etc.). Safe to be backported to 2.77.
2016-03-13Keyframing: Added ToolSetting for choosing default keyframe typeJoshua Leung
To make it easier for animators working in a multipass pose-to-pose workflow when inserting breakdown keyframes and so forth, it is now possible to specify the "type" of keyframe being created (i.e. the colour of the keyframe, when drawn in the Dope Sheet). Usage: 1) Choose the type of keyframe ("Keyframe", "Breakdown", "Extreme", etc.) from the new dropdown located between the AutoKeying and KeyingSet widgets on the timeline header. 2) Insert keyframes 3) Rejoyce that your newly created keyframes have now been coloured for you already in the DopeSheet. Todo: * Look into a way of using the actual keyframe colours (from the theme) for the icons of these types.
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-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-07Simple Deform modifier: invert vgroup optionCampbell Barton
D1839 from @Orgold
2016-03-07Shrink Wrap modifier: invert vgroup optionCampbell Barton
D1839 from @Orgold
2016-03-05Fix for missing update changing VFont.filepathCampbell Barton
Changing the filepath wouldn't reload the font even after calling scene.update().
2016-03-03Increase max-frame to 500,000Campbell Barton
Note that we could increase to 524286 without loosing subframe precision, however this is a round number allowing for longer video export / animations. See T46859 for details.
2016-02-23Remove unused "Free Unused" option from compositorSergey Sharybin
It was basically doing nothing, for ages.
2016-02-15Fix white balance, was doing unnecessary linear conversionsCampbell Barton
This made byte & float images behave differently, where other modifiers remain the same. Also remove scene from the modifier (should have been passed as arg but no longer needed).
2016-02-06Fix T47204: selection failing directly after disabling multisample in user ↵Brecht Van Lommel
prefs. Now store the multisample setting each window was created with.
2016-02-04Cycles: Implement approximate reflectance profilesSergey Sharybin
Using this paper: http://graphics.pixar.com/library/ApproxBSSRDF/paper.pdf This model gives less blurry results than the Cubic and Gaussian we had implemented: - Cubic: https://developer.blender.org/F279670 - Burley: https://developer.blender.org/F279671 The model is called "Christensen-Burley" in the interface, which actually should be read as "Physically based" or "Realistic". Reviewers: juicyfruit, dingto, lukasstockner97, brecht Reviewed By: brecht, dingto Subscribers: robocyte Differential Revision: https://developer.blender.org/D1759
2016-01-28cleanup: spelling, comments, alignmentMike Erwin
fixed pet peeve “frustrum” and other non-functional changes.
2016-01-28cleanup: spelling / typosMike Erwin
no functional changes
2016-01-27Fix T47252: FileBrowser: buffer overflow with scripts defining too long ↵Bastien Montagne
'filter_glob' string. Fixed this with three changes: * filter_glob is now 255 char max (63 could be a bit limited in some rare cases). * IO templates now explicitely define max len of that property (such that scripters are aware of the limit). * ED_fileselect_set_params() is now safe regarding too long strings from a 'filter_glob' op property.
2016-01-27World textures displaying for viewport in BI.Alexander Romanov
This patch supports "Image or Movie" and "Environment map" types of world texture for the viewport. It supports: - "View", "AngMap" and "Equirectangular" types of mapping. - Different types of texture blending (according to BI world render). - Same color blending as when it lacked textures (but render via glsl). {F207734} {F207735} Example: {F275180} Original author: @valentin_b4w Regards, Alexander (Blend4Web Team). Reviewers: sergey, valentin_b4w, brecht, merwin Reviewed By: merwin Subscribers: campbellbarton, merwin, blueprintrandom, youle, a.romanov, yurikovelenov, AlexKowel, Evgeny_Rodygin Projects: #rendering, #opengl_gfx, #bf_blender:_next Differential Revision: https://developer.blender.org/D1414
2016-01-25Sequencer: Add option to use absolute mask animation timeSergey Sharybin
This is handy for cases when mask is created on top of the edit and used for tasks like color grading and other enhancement. That was the main purpose of the masks which was totally broken in 6786ef6. Now it's possible to have masks created as both a part of input movie roto process (which then better be re-mapped to the strip timing) and as a grading tool (which should be using scene timing for the animation). Thanks artists from the Nieve for screaming about such a broken case.
2016-01-23Implementation of OpenVDB as a possible cache format for smokeKévin Dietrich
simulations. This commits implements OpenVDB as an extra cache format in the Point Cache system for smoke simulations. Compilation with the library is turned off by default for now, and shall be enabled when the library is present. A documentation of its doings is available here: http:// wiki.blender.org/index.php/User:Kevindietrich/OpenVDBSmokeExport. A guide to compile OpenVDB can be found here (Linux): http:// wiki.blender.org/index.php?title=Dev:Doc/Building_Blender/Linux/ Dependencies_From_Source#OpenVDB Reviewers: sergey, lukastoenne, brecht, campbellbarton Reviewed By: brecht, campbellbarton Subscribers: galenb, Blendify, robocyte, Lapineige, bliblubli, jtheninja, lukasstockner97, dingto, brecht Differential Revision: https://developer.blender.org/D1721
2016-01-21Sculpt: Add rake option to snake-hookCampbell Barton
This allows for dragging out shapes that rotate to follow the cursor motion. Values over 1 can be set for 'interesting' artistic effects.