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
2014-05-01Code cleanup: replace long long with int64_t & doxy formatting.Campbell Barton
2014-04-29Code cleanup: remove unused grease pencil pointerCampbell Barton
2014-04-29Code cleanup: don't use unnecessary .exe extension in scons, simplify code.Lawrence D'Oliveiro
Reviewed By: brecht Differential Revision: https://developer.blender.org/D236
2014-04-29Ignore user-preferences when inserting keys from PythonCampbell Barton
2014-04-28"Auto" option for Keyframe.easingJoshua Leung
This option (alongside the Ease In/Out/InOut options already available) aims to make it easier to get an initial curve that looks closer to the one you were expecting, by automatically picking whether Ease In or Ease Out should be used based on the type of interpolation being used for the curve segment in question. Notes: * The types chosen may need some adjustments (e.g. using ease in-out instead of just ease in) * This does break compatability with files saved in previous dev builds, but only if you were using Bounce/Elastic/Back with "Ease In"
2014-04-28Followup to rB8714ae09f894: better not have several RNA properties affect a ↵Bastien Montagne
single DNA one.
2014-04-27Revert the testing sculpt openmp thread control and limit for OSX to ↵Jens Verwiebe
physical threads as in 2.70a tag
2014-04-27Fix T34993: "Jump to Next Keyframe" shortcut not related to the timeline ↵Joshua Leung
viewable keyframes Made the timeline option to only show keyframes from selected channels/data be a per-scene setting instead of the per-timeline option it was previously. This makes it easier for animators working on rigs with multiple bones (especially during the polishing phase), since now the timeline and jump to keyframe operators use the same setting to decide which subset of keyframes they need to consider. By default, this option is enabled by default. TODO: Extend this to the keyframe status shading on the active object name in the 3D view?
2014-04-26Code cleanup: use 'const' for arrays (blenloader, gpu, imbuf, makesdna, ↵Campbell Barton
modifiers, nodes)
2014-04-24Fix T39819: Decouple autosnap behaviour from time displayJoshua Leung
This commit cleans up and fixes some problems related to how the auto-snapping behaviour in the animation editors works, resolving the issues mentioned in T39819. 1) "Nearest Frame" no longer snaps to the nearest second when time is displayed in seconds. Instead, there is now also a "Nearest Second" option, so that either can be used as needed instead of only when a certain time display is used. 2) A similar change has been made for "Time Step" - This is now "Frame Step" and "Second Step" respectively. Notes: * Removed the unneeded getAnimEdit_DrawTime() * Time Step/Frame Step don't work for Graph Editor yet (and seem to not have worked at all) * NLA Editor also seems to be showing some weirdness now. Will be checked on. * Cancelling nearest-second snapping doesn't work nicely, due to another bug with GraphEdit transforms.
2014-04-23Blender Internal: Add material property "Cast" which can disable both ray ↵IRIE Shinsuke
and buffer shadows. Also refactor: - Material property UI related to shadows - Preparation of OR-ed mode flags (ma->mode_l) of render materials Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D313
2014-04-22View3d: api naming, for setting the view matrix.Campbell Barton
2014-04-18Freestyle: New options for sorting to arrange the stacking order of lines.Tamito Kajiyama
Line styles now have a set of new options for rearranging the stacking order of lines. This gives artists more control to determine which lines should be drawn on top of others. Two available sort keys are the distance from camera and curvilinear 2D length. Since the distance of a line from camera may vary over vertices, another option called integration type is used to compute the sort key for a line from the values computed at individual vertices. Available integration types are MEAN, MIN, MAX, FIRST and LAST (see the tool tips for more detail).
2014-04-17Refactor to Dyntopo node customdata commit.Antony Riakiotakis
Don't use a dedicated node layer but use temporary int layer instead. Works like a charm as long as we are careful resetting the layer when needed (after pbvh clearing and always after bmesh has been filled in undo) Tip by Campbell, thanks!
2014-04-17Support multiple distortion models, including a new division modelSergey Sharybin
This commit makes it so CameraIntrinsics is no longer hardcoded to use the traditional polynomial radial distortion model. Currently the distortion code has generic logic which is shared between different distortion models, but had no other models until now. This moves everything specific to the polynomial radial distortion to a subclass PolynomialDistortionCameraIntrinsics(), and adds a new division distortion model suitable for cameras such as the GoPro which have much stronger distortion due to their fisheye lens. This also cleans up the internal API of CameraIntrinsics to make it easier to understand and reduces old C-style code. New distortion model is available in the Lens panel of MCE. - Polynomial is the old well-known model - Division is the new one which s intended to deal better with huge distortion. Coefficients of this model works independent from each other and for division model one probably want to have positive values to have a barrel distortion.
2014-04-17BGE - button for deactivate sensors, controllers and actuatorsJorge Bernal
This change introduces a new checkbox to deactivate the sensors, controllers and/or actuators. It is useful during the development phase to avoid delete sensors, controllers or actuators if you want to test something new. NOC: The wiki page is being updated (the images mostly), but the feature is already in the 2.71 release log. {F61628} Reviewers: moguri, dfelinto, campbellbarton, dingto, #user_interface, billrey Reviewed By: moguri CC: billrey Differential Revision: https://developer.blender.org/D16
2014-04-16Dyntopo:Antony Riakiotakis
Store PBVH node ID in CustomData. This avoids a number of hash deletions and checks/insertions on big hashes.
2014-04-15Structural cleanup and improvements for the compositor.Lukas Tönne
Many parts of the compositor are unnecessarily complicated. This patch aims at reducing the complexity of writing nodes and making the code more transparent. == Separating Nodes and Operations == Currently these are both mixed in the same graph, even though they have very different purposes and are used at distinct stages in the compositing process. The patch introduces dedicated graph classes for nodes and for operations. This removes the need for a lot of special case checks (isOperation etc.) and explicit type casts. It simplifies the code since it becomes clear at every stage what type of node we are dealing with. The compiler can use static typing to avoid common bugs from mixing up these types and fewer runtime sanity checks are needed. == Simplified Node Conversion == Converting nodes to operations was previously based on "relinking", i.e. nodes would start with by mirroring links in the Blender DNA node trees, then add operations and redirect these links to them. This was very hard to follow in many cases and required a lot of attention to avoid invalid states. Now there is a helper class called the NodeConverter, which is passed to nodes and implements a much simpler API for this process. Nodes can add operations and explicit connections as before, but defining "external" links to the inputs/outputs of the original node now uses mapping instead of directly modifying link data. Input data (node graph) and result (operations graph) are cleanly separated. == Removed Redundant Data Structures == A few redundant data structures have been removed, notably the SocketConnection. These are only needed temporarily during graph construction. For executing the compositor operations it is perfectly sufficient to store only the direct input link pointers. A common pointer indirection is avoided this way (which might also give a little performance improvement). == Avoid virtual recursive functions == Recursive virtual functions are evil. They are very hard to follow during debugging. At least in the parts this patch is concerned with these functions have been replaced by a non-virtual recursive core function (which might then call virtual non-recursive functions if needed). See for example NodeOperationBuilder::group_operations.
2014-04-13Reduce overhead when sampling texture images for brushes. The tests canAntony Riakiotakis
be cached and reused.
2014-04-13Cleanup:Antony Riakiotakis
Naming: Change pressure to size_pressure, it notes correctly that this value is updated and expected to be used for size updating only. Change name of cursor function and since it is used for uv sculpting only now move to the relevant file. Also cleanup unneeded functionality from function. Stroke: Separate updating of stroke variables to invariants (updated when stroke->init = false) and variants.
2014-04-13Split Normals I (1/5): basis for split normals (nearly nothing user-visible ↵Bastien Montagne
here): * Add a new calcLoopNormals function to DerivedMesh struct, and implement it for CDDM and CCGDM (subsurf). EditDerivedBMesh (edit mode DM) only gets a dummy one in this commit. * Add a tessellated version of CD_LOOPNORMAL layer (CD_TESSLOOPNORMAL), with relevant code to handle it (tessellation, rna access, etc.). * Change auto_smooth options of Mesh (angle now in radian internaly, and toggle is now used to enable/disable split normals in DM creation process). Note BI render code is not touched here, hence its behavior regarding this option is now incoherent, will be addressed in a separate commit. Reviewers: campbellbarton CC: brecht Differential Revision: https://developer.blender.org/D365
2014-04-11Blender Internal: remove BLI BVH for raytracing.Brecht Van Lommel
It has no benefits over other BVH types, as far as I know it was only added because it was possible. This also fixes T39344.
2014-04-10Code cleanup: use struct type for mempool & style editsCampbell Barton
2014-04-09View3D: disable LOD when game engine is disabled or ifdef'dCampbell Barton
2014-04-09Code cleanup: remove Object.bbsize, sizefac and padCampbell Barton
2014-04-07Fix T39563: Tiny unit-display problem in constraint panels.Bastien Montagne
There is no good solution here, since RNA props can only have one type/unit. Tried to find the less worse one - have different RNA props for same DNA value (a bit like the angle/length for camera lens). Also fixed two other issues with Transform conctraint: * Angle were still in degrees (yes, another backward-compatibility breacking). * Scale was absolute, unlike loc/rot. Also cleaned up a bit the code, replaced some magic numbers by proper enums, ...
2014-04-03Fix T39517,Antony Riakiotakis
Issue here is that "show diffuse" option does not respect its intended purpose which is to be used only for masking. There are a couple of caveats here: Dyntopo and multires -always- have mask data enabled, and thus as soon as one goes to dyntopo mode or adds a multires modifier he would get the default grey color instead. Matcaps would break when nodes asked for a diffuse material color (this was broken before too). Solved by adding global material state for when matcaps are enabled. Also matcaps don't always played well with VBOs off. Added a few more missing updates for mask operators to notify show_diffuse property as changed. This was also needed on rebuilding dyntopo pbvh. Also make zero mask color duller again after artist feedback.
2014-04-02Replace resize code of image scopes by use of new GRIP button.Bastien Montagne
This deduplicates/simplifies some code. Also cleanup up a bit scopes UI code! Use new GRIP button for uiList grab-resize. This allows us to greatly simplifies the code, and get rid of a few hacks in uiList event handling! Note autosize mode of uiList is now trigered by any value of list_grip below a given threshold, rather than the fixed zero value... Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D343
2014-04-02Add drag-resize to uiTemplatePreview (mat/tex/etc. preview widget).Bastien Montagne
This is done by adding a new button type, GRIP, similar to other numbuttons (scroll, slider, ...), which here controls the preview height. Then, we add a new DNA struct to be able to save that height in Blend files (note I choose not to use Panel struct for this, because we would then have the same limitation we used to have with uiLists, only one preview per panel and no preview outside panel). This implies a change to template_preview UI RNA/py API (each preview needs an ID), but this is backward compatible, as by default datablock type will be used if no ID is given (which means e.g. all material previews with no ID will have same height). Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D342
2014-04-02Cycles: add dedicated UV Map node, easier to find and has convenient auto ↵Kevin Dietrich
complete. Fixes T37954. Reviewed By: brecht, dingto Differential Revision: https://developer.blender.org/D230
2014-04-01Changes to openmp threads commit (UI and RNA)Campbell Barton
- use same names as render threads - remove OpenMP from UI - remove details from tips
2014-03-31Make dyntopo detail size maximum smaller (more than 40 pixels should notAntony Riakiotakis
be needed according to mapping in code) and change the property to float.
2014-03-31Code cleanup: pack BezTriple a little (though size remains same)Campbell Barton
2014-03-31Sculpt/dyntopo: Make the omp threads configurable to overcome performance issuesJens Verwiebe
- autodetect optimal default, which typically avoids HT threads - can store setting in .blend per scene - this does not touch general omp max threads, due i found other areas where the calculations are fitting for huge corecount - Intel notes, some of the older generation processors with HyperThreading would not provide significant performance boost for FPU intensive applications. On those systems you might want to set OMP_NUM_THREADS = total number of cores (not total number of hardware theads).
2014-03-28Implement asymmetric and free handles type for masksSergey Sharybin
Summary: The title actually says it all, it's just possible to have independent free handles for mask splines. Also it's now possible to have aligned handles displayed as independent handles. Required changes in quite a few places, but they're rather straightforward. From user perspective there's one really visible change which is removed Handle Type menu from the panel. With asymmetric handles it's not clear which handle type to display there. So now the only way to change handle type is via V-key menu. Rewrote normal evaluation function to make it deal with new type of handles we support. Now it works in the following way: - Offset the original spline by maximal weight - Calculate vector between corresponding U positions on offset and original spline - Normalize this vector. Seems to be giving more adequate results and doesn't tend to self-intersect as much as old behavior used to, There're still some changes which needed to be done, but which are planned for further patch: - Support colors and handle size via themes. - Make handles color-coded, just the same as done for regular bezier splines in 3D viewport. Additional changes to make roto workflow even better: - Use circles to draw handles - Support AA for handles - Change click-create-drag to change curvature of the spline instead of adjusting point position. Reviewers: campbellbarton CC: sebastian_k, hype, cronk Differential Revision: http://developer.blender.org/D121
2014-03-28Bevel Factor MappingLukas Treyer
Bevel Factor Mapping allows to control the relation between bevel factors (number between 0 and 1) and the rendered start and end point of a beveled spline. There are three options: "Resolution", "Segments", "Spline". "Resolution" option maps bevel factors as it was done < 2.71, "Spline" and "Segments" are new. * "Resolution“: Map the bevel factor to the number of subdivisions of a spline (U resolution). * "Segments“: Map the bevel factor to the length of a segment and to the number of subdivisions of a segment. * "Spline": Map the bevel factor to the length of a spline. Reviewers: yakca, sergey, campbellbarton CC: sanne Differential Revision: https://developer.blender.org/D294
2014-03-26Code cleanup: remove unused flagsCampbell Barton
2014-03-23Detail sampling operatorAntony Riakiotakis
Located on topology panel. To use just click on button and click on mesh. Operator will just use the dimensions of the triangles below to set the constant detail setting. Also changed pair of scale/detail size with nice separate float percentage value.
2014-03-22Flood fill for dyntopo constant detail mode.Antony Riakiotakis
Nothing spectacular here, fill tools are easy. Just take the dyntopo code and repeat until nothing more to do. The tool can be located in the dyntopo panel when the dyntopo constant detail is on. Also added scale factor for constant detail. This may change when detail sampling gets in, I am not very happy with having two numbers here, still it will give some more control for now.
2014-03-21Patch T22084: Robert Penner Easing Equations for FCurvesJoshua Leung
This commit introduces support for a number of new interpolation types which are useful for motion-graphics work. These define a number of "easing equations" (basically, equations which define some preset ways that one keyframe transitions to another) which reduce the amount of manual work (inserting and tweaking keyframes) to achieve certain common effects. For example, snappy movements, and fake-physics such as bouncing/springing effects. The additional interpolation types introduced in this commit can be found in many packages and toolkits (notably Qt and all modern web browsers). For more info and a few live demos, see [1] and [2]. Credits: * Dan Eicher (dna) - Original patch * Thomas Beck (plasmasolutions) - Porting/updating patch to 2.70 codebase * Joshua Leung (aligorith) - Code review and a few polishing tweaks Additional Resources: [1] http://easings.net [2] http://www.robertpenner.com/easing/
2014-03-18Fix T39180: Particle with fluid physics unstable.Lukas Tönne
Fluid sims have a very nasty feature for interaction, in which a psys can directly update the bvhtree for //another object's psys//. This breaks with threaded depsgraph evaluation and is generally a no-go. To avoid crashes for now, use a global mutex to avoid concurrent writes to an object psys' bvhtree.
2014-03-17UI: Add theme color for viewport overlayCampbell Barton
Was using wire or black in many places, this color is used for cursor, camera guides, transform helper lines. So its possible to have a dark background with light overlay color. Patch D331 by Brita, with some edits.
2014-03-15Code cleanup: use r_ prefix for return argsCampbell Barton
2014-03-12HSL color wheel implementation.Antony Riakiotakis
This is a standard Hue - Saturation - Lightness model (see for instance entry on wikipedia here: https://en.wikipedia.org/wiki/HSL_and_HSV) Note though the difference between HSV and HSL saturation, which are not the same. The advantage of having this color selection scheme is that artists can select shades and tints of a color easily by using the lightness slider. Also colors are arranged on (approximated) perceived lightness on the color wheel. Beware, Old files opened with this preference saved will crash! Reviewers: sergey, brecht, campbellbarton Differential Revision: https://developer.blender.org/D385
2014-03-12Transform: internal change, simplify view angle checksCampbell Barton
2014-03-08Cycles: Compile fix and some cleanup for the Image interpolation commit.Thomas Dinges
2014-03-08Add support for multiple interpolation modes on cycles image texturesMartijn Berger
All textures are sampled bi-linear currently with the exception of OSL there texture sampling is fixed and set to smart bi-cubic. This patch adds user control to this setting. Added: - bits to DNA / RNA in the form of an enum for supporting multiple interpolations types - changes to the image texture node drawing code ( add enum) - to ImageManager (this needs to know to allocate second texture when interpolation type is different) - to node compiler (pass on interpolation type) - to device tex_alloc this also needs to get the concept of multiple interpolation types - implementation for doing non interpolated lookup for cuda and cpu - implementation where we pass this along to osl ( this makes OSL also do linear untill I add smartcubic to the interface / DNA/ RNA) Reviewers: brecht, dingto Reviewed By: brecht CC: dingto, venomgfx Differential Revision: https://developer.blender.org/D317
2014-03-07Removing ParticleSystem->frand arrays to avoid memory corruption issuesLukas Tönne
in threaded depgraph updates and effector list construction. Gathering effectors during depgraph updates will call the psys_check_enabled function. This in turn contained a DNA alloc call for the psys->frand RNG arrays, which is really bad because data must be immutable during these effector constructions. To avoid such allocs the frand array is now global for all particle systems. To avoid correlation of pseudo-random numbers the psys->seed value is complemented with random offset and multiplier for the actual float array. This is not ideal, but work sufficiently well (given that random numbers were already really limited and show repetition quite easily for particle counts > PSYS_FRAND_COUNT).
2014-03-06Experimental dyntopo feature:Antony Riakiotakis
Dyntopo detail in object space. This allows to set the detail in percentage of blender units and sculpt in this detail constantly, regardless of the distance to the mesh. This commit just enables the functionality, which is really trivial. There will be some more commits like detail flood fill and detail sampling in the future.
2014-03-02Fix for own mistake: arc diff swallowed a commit somehow, breakingLukas Tönne
compilation.