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-05-15Fix T51348: Node highlighting is brokenSergey Sharybin
This feature was disabled in the code but not in the interface. Removing the code, since it needs full re-implementation anyway.
2017-05-07Remove unused node socket flag that was added in the render pass commitLukas Stockner
2017-05-03Render API/Cycles: Identify Render Passes by their name instead of a type flagLukas Stockner
Previously, every RenderPass would have a bitfield that specified its type. That limits the number of passes to 32, which was reached a while ago. However, most of the code already supported arbitrary RenderPasses since they were also used to store Multilayer EXR images. Therefore, this commit completely removes the passflag from RenderPass and changes all code to use the unique pass name for identification. Since Blender Internal relies on hardcoded passes and to preserve compatibility, 32 pass names are reserved for the old hardcoded passes. To support these arbitrary passes, the Render Result compositor node now adds dynamic sockets. For compatibility, the old hardcoded sockets are always stored and just hidden when the corresponding pass isn't available. To use these changes, the Render Engine API now includes a function that allows render engines to add arbitrary passes to the render result. To be able to add options for these passes, addons can now add their own properties to SceneRenderLayers. To keep the compositor input node updated, render engine plugins have to implement a callback that registers all the passes that will be generated. From a user perspective, nothing should change with this commit. Differential Revision: https://developer.blender.org/D2443 Differential Revision: https://developer.blender.org/D2444
2017-04-26Avoid platform dependant PATH_MAXCampbell Barton
2017-04-26Alembic: shortened CacheFile.filepath to 1024 bytes againSybren A. Stüvel
As per discussion on 3128600a8ab2badd9ea39c80133f15f766794ec6
2017-04-25Fix T51262: Blender CRASH with alembic fileSybren A. Stüvel
Also added a unit test for exporting & importing very long names.
2017-04-17Fix T51176: Cache file location can be blank and prevent fluid simulation ↵Bastien Montagne
from reading baked data Sanitize a bit how cache path is handled by fluidsim (there is much more to be done here though :( ), and forbid empty path (we reset to default path relative to current .blend file in case it's empty). If people really, really want to use current OS-wise directory, they can at least use '.' as path. ;)
2017-04-14Object Info node support for GLSL mode and the internal renderAlexander Romanov
Object Info node can be useful to give some variation to a single material assigned to multiple instances. This patch adds support for Viewport and BI. {F499530} Example: {F499528} Reviewers: merwin, brecht, dfelinto Reviewed By: brecht Subscribers: duarteframos, fclem, homyachetser, Evgeny_Rodygin, AlexKowel, yurikovelenov Differential Revision: https://developer.blender.org/D2425
2017-04-13Datablock ID PropertiesAlexander Romanov
The absence of datablock properties "will certainly be resolved soon as the need for them is becoming obvious" said the [[http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.67/Python_Nodes|Python Nodes release notes]]. So this patch allows Python scripts to create ID Properties which reference datablocks. This functionality is implemented for `PointerProperty` and now such properties can be created with Python. In addition to the standard update callback, `PointerProperty` can have a `poll` callback (standard RNA) which is useful for search menus. For details see the test included in this patch. Original author: @artfunkel Alexander (Blend4Web Team) Reviewers: brecht, artfunkel, mont29, campbellbarton Reviewed By: mont29, campbellbarton Subscribers: jta, sergey, campbellbarton, wisaac, poseidon4o, mont29, homyachetser, Evgeny_Rodygin, AlexKowel, yurikovelenov, fjuhec, sharlybg, cardboard, duarteframos, blueprintrandom, a.romanov, BYOB, disnel, aditiapratama, bliblubli, dfelinto, lukastoenne Maniphest Tasks: T37754 Differential Revision: https://developer.blender.org/D113
2017-04-12Docs: minor improvement to code exampleCampbell Barton
2017-03-30Mirror Modifier: Add offsets for mirrored UVsCampbell Barton
The mirror modifier now has two fields that specify a -1 to 1 offset for the U and V axes when mirroring their coordinates. D1844 by @circuitfox
2017-03-25Automatic DPI for all platforms, per monitor DPI for Windows.Wouter
For Windows 8.1 and X11 (Linux, BSD) now use the DPI specified by the operating system, which previously only worked on macOS. For Windows this is handled per monitor, for X11 this is based on Xft.dpi or xrandr --dpi. This should result in appropriate font and button sizes by default in most cases. The UI has been simplified to a single UI Scale factor relative to the automatic DPI, instead of two DPI and Virtual Pixel Size settings. There is forward and backwards compatibility for existing user preferences. Reviewed By: brecht, LazyDodo Differential Revision: https://developer.blender.org/D2539
2017-03-25WM: Application TemplatesCampbell Barton
This adds the ability to switch between different application-configurations without interfering with Blender's normal operation. This commit doesn't include any templates, so its mostly to allow collaboration for the Blender 101 project and other custom configurations. Application templates can be installed & selected from the file menu. Other details: - The `bl_app_template_utils` module handles template activation (similar to `addon_utils`). - The `bl_app_override` module is a general module to assist scripts overriding parts of Blender in reversible way. See docs: https://docs.blender.org/manual/en/dev/advanced/app_templates.html See patch: D2565
2017-03-083D View: new nethod of opengl selectionCampbell Barton
Intended to replace legacy GL_SELECT, without the limitations of sample queries which can't access depth information. This commit adds VIEW3D_SELECT_PICK_NEAREST and VIEW3D_SELECT_PICK_ALL which access the depth buffers to detect whats under the pointer, so initial selection is always the closest item. The performance of this method depends a lot on the OpenGL implementations glReadPixels. Since reading depth can be slow, buffers are cached for object picking so selecting re-uses depth data, performing 1 draw instead of 3 (for 24, 18, 10 px regions, picking with many items under the pointer). Occlusion queries draw twice when picking nearest, so worst case 6x draw calls per selection. Even with these improvements occlusion queries is faster on AMD hardware. Depth selection is disabled by default, toggle option under select method. May enable by default if this works well on different hardware. Reviewed as D2543
2017-03-06Surface Deform Modifier: Respect object transforms at bind timeLuca Rood
This slightly changes SDef behavior, by now respecting object transforms at bind time, thus not requiring the objects to be aligned in their respective local spaces, but instead using world space.
2017-02-27Surface Deform Modifier (SDef)Luca Rood
Implementation of the SDef modifier, which allows meshes to be bound by surface, thus allowing things such as cloth simulation proxies. User documentation: https://wiki.blender.org/index.php/User:Lucarood/SurfaceDeform Reviewers: mont29, sergey Subscribers: Severin, dfelinto, plasmasolutions, kjym3 Differential Revision: https://developer.blender.org/D2462
2017-02-24Add "Gravitation" option to "Force" type force fieldsLuca Rood
This adds an option to force fields of type "Force", which enables the simulation of gravitational behavior (dist^-2 falloff). Patch by @AndreasE Reviewers: #physics, LucaRood, mont29 Reviewed By: #physics, LucaRood, mont29 Tags: #physics Differential Revision: https://developer.blender.org/D2389
2017-02-23Fix T50736: Zero streaks in Glare node.Bastien Montagne
Please never, ever use same DNA var for two different things. Even worse if they do not have same type and ranges! This is only ensuring issues (as described in report, but also if animating both RNA props using same DNA var... yuck). And we were not even saving any byte in DNA, could reuse some padding there to store the two new needed vars (yes, two, since we cannot re-use existing one if we want to keep backward *and* forward compatibility).
2017-02-15Motion blur investigation featureSergey Sharybin
This commit adds a way to debug Cycles motion blur issues which are usually happening due to something crazy happening in between of frames. Biggest trouble was that artists had no clue about what's happening in subframes before they render. This is at least inefficient workflow when dealing with motion blur shots with complex animation. Now there is an option in Time Line Editor which could be found in View -> Show Subframe. This option will expose current frame with it's subframe to the time line editor header and it'll allow scrubbing with a subframe precision in time line editor. Please note that none of the tools in Blender are aware of subframe, so they'll likely be using current integer frame still. This is something we don't consider a bug for now, the whole purpose for now is to give a tool for investigation. Eventually we'll likely tweak all tools to be aware of subframe. Hopefully now we can finish the movie here in the studio..
2017-01-26Compositor: Make HSV node inputs a real socketsSergey Sharybin
This is much more flexible solution which will allow doing some more procedural features. Reviewers: brecht, dfelinto, mont29 Reviewed By: mont29 Subscribers: Severin Differential Revision: https://developer.blender.org/D2403
2017-01-20D1873: Customize style for animation motion pathsAntonio Vazquez
New options to define the style of the animation paths in order to get better visibility in complex scenes. Now is possible define the color, thickness and several options relative to the style of the lines used to draw motion path.
2017-01-18GP Interpolate Sequence: Tool settings for controlling the shape of ↵Joshua Leung
interpolation This commit introduces the ability to use the Robert Penner easing equations or a Custom Curve to control the way that the "Interpolate Sequence" operator interpolates between keyframes. Previously, it was only possible to get linear interpolation between the gp frames. Workflow: 1) Place current frame between a pair of GP keyframes 2) Open the "Interpolate" panel in the Toolshelf 3) Choose the interpolation type (under "Sequence Options") 4) Adjust settings (e.g. if you're using "Custom Curve", use the curvemap widget to define the way that the interpolation proceeds) 5) Click "Sequence" to interpolate 6) Play back/scrub the animation to see if you've got the result you want 7) If you need to make some tweaks, undo, or delete the generated keyframes, then repeat the process again from step 4 until you've got the desired result.
2017-01-18GP Interpolate: Move settings from "gp_sculpt" to a new toolsettings struct ↵Joshua Leung
- "gp_interpolate" The "gp_sculpt" settings should be strictly for stroke sculpting, and not abused by other tools. (Similarly, if other general GP tools need one-off options, those should go into the normal toolsettings->gpencil_flag) Furthermore, this paves the way for introducing new settings for controlling the way that GP interpolation takes place (e.g. with easing equations, or a custom curvemap)
2017-01-04Fix T50369: Objects can't be deleted from scene when using "link group ↵Bastien Montagne
objects to scene" Main issue here was that in old usercount system 'user_real' did simply not allow that kind of thing to work. With new pait of 'USER_EXTRA' tags, it becomes possible to handle the case correctly, by merely refining checks about indirectly use objects whene removing them from a scene. Incidently, found another related bug, 'link group objects to scene' was not incrementing objects' usercount - bad, very very bad!
2017-01-02GPencil: Per-layer option to always show onion skinningJoshua Leung
Sometimes it can be useful to be able to keep onion skins visible in the OpenGL renders and/or when doing animation playback. In particular, there are two use cases where this is quite useful: 1) For creating a cheap motion-blur effect, especially when the before/after values are also animated. 2) If you've animated a shot with onion skinning enabled, the poses may end up looking odd if the ghosts are not shown (as you may have been accounting for the ghosts when making the compositions). This option can be found as the small "camera" toggle between the "Use Onion Skinning" and "Use Custom Colors" options.
2016-12-23Readfile: Resurrect do_versions_after_liblink.Bastien Montagne
Basic idea is to store fileversion in Library datablock, and split again Main by libraries after lib linking, do_versions_after_liblink on those separated Mains, and merge again. This allows to still have correct versions for each data-block in that second do_versions step. Note that this is not used currently in master (might be soon, though), but is needed for 2.8 work.
2016-12-19Fix (unreported) linked datablocks going through do_versions several times.Bastien Montagne
When linking data-blocks from same library in several steps, the already linked data-blocks of same lib would go again through versionning code... Note: only fixed for libraries, I can't imagine how this could happen with local data...
2016-12-13Fix strict warnings on WindowsSergey Sharybin
2016-11-30Cleanup id->newid usage, initial work.Bastien Montagne
This aims at always ensuring that ID.newid (and relevant LIB_TAG_NEW) stay in clean (i.e. cleared) state by default. To achieve this, instead of clearing after all id copy call (would be horribly noisy, and bad for performances), we try to completely remove the setting of id->newid by default when copying a new ID. This implies that areas actually needing that info (mainly, object editing area (make single user...) and make local area) have to ensure they set it themselves as needed. This is far from simple change, many complex code paths to consider, so will need some serious testing. :/
2016-11-29Fix T50094: Crash when viewport rendering point density textureSergey Sharybin
The idea is simple: cache PD resolution from cache_point_density() RNA function because that one is supposed to be called while database is locked for original synchronization. Ideally we would also pass array size to the sampling function, but it turned out to be quite problematic because API only accepts int type and passing size_t might cause some weird behavior.
2016-11-20Cycles: add basic backwards compatibility for device selection, move to ↵Brecht Van Lommel
System tab. For the multi-GPU case users still have to reconfigure the devices they want to use. Based on patch from Lukas Stockner. Differential Revision: https://developer.blender.org/D2347
2016-11-12Sculpt UI: Make DynTopo constant detail a resolution valueJulian Eisel
This should make it easier to sculpt in high resolutions, downside is that the new way to calculate maximum edge length is a bit less intuitive. Maximum edge length used to be calculated as blender_unit * percentage_value, now it's blender_unit / value. Reused old DNA struct member, but had to bump subversion to ensure correct compatibility conversion. Also changed default value slightly (would have had to set to 3.333... otherwise). Was Requested by @monio (see https://rightclickselect.com/p/sculpting/zpbbbc/dyntopo-better-scale-input-in-constant-detail-mode) and I think it's worth testing.
2016-11-07Expose Bullet rotational spring settings in the UI.Alexander Gavrilov
Bullet spring constraint already supports rotational springs, but they are not exposed in blender UI, likely due to a simple oversight. Supporting them is as simple as adding a few DNA/RNA properties with appropriate UI and passing them on to Bullet. Reviewers: sergof Reviewed By: sergof Differential Revision: https://developer.blender.org/D2331
2016-10-30Viewport smoke: add support to render the volume using a color ramp.Kévin Dietrich
This is yet another debug option that allows to render an arbitrary simulation field by using a color ramp to inspect its voxel values. Note that when using this, fire rendering is turned off. Reviewers: plasmasolutions, gottfried Differential Revision: https://developer.blender.org/D1733
2016-10-29Alembic: store a pointer to the object reader in the cache modifiers andKévin Dietrich
constraints. This avoids traversing the archive everytime object data is needed and gives an overall consistent ~2x speedup here with files containing between 136 and 500 Alembic objects. Also this somewhat nicely de- duplicates code between data creation (upon import) and data streaming (modifiers and constraints). The only worying part is what happens when a CacheFile is deleted and/or has its path changed. For now, we traverse the whole scene and for each object using the CacheFile we free the pointer and NULL-ify it (see BKE_cachefile_clean), but at some point this should be re-considered and make use of the dependency graph.
2016-10-27Fix T49829: Removal of custom icon previews during add-on unregister crashes ↵Bastien Montagne
Blender. Issue was happening when removal of custom icons was done while they were still being rendered by preview job. Now add a 'deffered deletion' system, to prevent main thread to delete preview image until loading thread is done with them. Note that ideally, calling `ED_preview_kill_jobs()` on custom icon removal would have been simpler, but we don't have easy access to context here...
2016-10-23Displace modifier: add global/local space option for X/Y/Z/XYZ directions.Quentin Wenger
Reviewed By: brecht Differential Revision: https://developer.blender.org/D2309
2016-10-22GPencil: New option to lock strokes to axisAntonioya
Now, the strokes can be locked to a plane set in the cursor location. This option allow the artist to rotate the view and draw keeping the strokes flat over the surface. This option is similar to surface option but doesn't need a object. The option is only valid for 3D view and strokes in CURSOR mode.
2016-10-17UV Editor: Add filter option to control what is visible when Draw Other ↵Sergey Sharybin
Objects is enabled Previously the editor will always try to only show UV faces with the same exact active image or image texture, which is quite difficult to control on a production shaders, where each material can have multiple objects assigned. The idea of this commit is to bring option which allows to easily control what to display when "Draw Other Objects" is enabled, so currently we can have old behavior ("Same Image") or tell editor to show everything ("All"). In the future we can extend it with such filters as "Same Material" and things like that. Hopefully this will help @eyecandy's workflow of texturing.
2016-10-14Fix T49571: 2d stabilize keys not visible in the Graph Editor and Dope SheetSergey Sharybin
2016-10-07Collision: skip expensive BVH update if the collider doesn't move.Alexander Gavrilov
Since the collision modifier cannot be disabled, it causes a constant hit on the viewport animation playback FPS. Most of this overhead can be automatically removed in the case when the collider is static. The updates are only skipped when the collider was stationary during the preceding update as well, so the state is stored in a field. Knowing that the collider is static can also be used to disable similar BVH updates for substeps in the actual cloth simulation code. Differential Revision: https://developer.blender.org/D2277
2016-09-24Viewport smoke: add options to draw velocity vectors.Kévin Dietrich
This basically exposes to the UI a function that was only available through a debug macro ; the purpose is obviously to help debugging simulations. It adds ways to draw the vectors either as colored needles or as arrows showing the direction of the vectors. The colors are based on the magnitude of the underlying vectors. Reviewers: plasmasolutions, gottfried Differential Revision: https://developer.blender.org/D1733
2016-09-24Viewport smoke: add support for axis aligned slicing.Kévin Dietrich
Current approach uses view aligned slicing to generate polygons for GL texturing such that the generated polygons are always facing the view plane. Now it is also possible to use object aligned slicing, which creates polygons by slicing the object perpendicular to whichever axis is facing the most the view plane. It is also possible to create a single slice for inspecting the volume, or for 2D rendering effects. Settings for this, along with a density multiplier setting, are to be found in a newly added "Smoke Display Settings" panel in the smoke domain properties tab. Reviewers: plasmasolutions, gottfried Differential Revision: https://developer.blender.org/D1733
2016-09-22UI: Theme options for vertex/edge bevel weight colorsPhilipp Oeser
Drawing used colors for select (TH_EDGE_SELECT/TH_VERTEX_SELECT) which was inconsistent with crease, seam, sharp, .. (which all had their own them color -- also was a bit hard to read). NOTE: UI team usually doesn't allow adding more theme options, this is an exception. Differential Revision: https://developer.blender.org/D2234
2016-09-21FFmpeg interface improvementsSybren A. Stüvel
This patch changes a couple of things in the video output encoding. {F362527} - Clearer separation between container and codec. No more "format", as this is too ambiguous. As a result, codecs were removed from the container list. - Added FFmpeg speed presets, so the user can choosen from the range "Very slow" to "Ultra fast". By default no preset is used. - Added Constant Rate Factor (CRF) mode, which allows changing the bit-rate depending on the desired quality and the input. This generally produces the best quality videos, at the expense of not knowing the exact bit-rate and file size. - Added optional maximum of non-B-frames between B-frames (`max_b_frames`). - Presets were adjusted for these changes, and new presets added. One of the new presets is [recommended](https://trac.ffmpeg.org/wiki/Encode/VFX#H.264) for reviewing videos, as it allows players to scrub through it easily. Might be nice in weeklies. This preset also requires control over the `max_b_frames` setting. GUI-only changes: - Renamed "MPEG" in the output file format menu with "FFmpeg", as this is more accurate. After all, FFmpeg is used when this option is chosen, which can also output non-MPEG files. - Certain parts of the GUI are disabled when not in use: - bit rate options are not used when a constant rate factor is given. - audio bitrate & volume are not used when no audio is exported. Note that I did not touch `BKE_ffmpeg_preset_set()`. There are currently two preset systems for FFmpeg (`BKE_ffmpeg_preset_set()` and the Python preset system). Before we do more work on `BKE_ffmpeg_preset_set()`, I think it's a good idea to determine whether we want to keep it at all. After this patch has been accepted, I'd be happy to go through the code and remove any then-obsolete bits, such as the handling of "XVID" as a container format. Reviewers: sergey, mont29, brecht Subscribers: mpan3, Blendify, brecht, fsiddi Tags: #bf_blender Differential Revision: https://developer.blender.org/D2242
2016-09-12Graph editor: Add channel option to make it persistent on displaySergey Sharybin
The idea is to allow certain animation channels to be always visible in animation editors. So, for example, one can pin Camera animation to the editor so it is always possible to refine/tweak camera animation when animating something else in the scene. There is probably some more polishing required, and some current limitations could be solved in the future but should be a good starting point already. Currently only works for object without recursing into deeper datablock (so for example, it's not possible to pin object material animation). Studio request by Colin Levy.
2016-09-07GPencil: New interpolate strokes operatorsAntonioya
Two new modal operators to create a grease pencil interpolate drawing for one frame or a complete sequence between two frames. For drawing the temporary strokes in the viewport, two drawing handlers have been added to manage 3D and 2D stuff. Video: https://youtu.be/qxYwO5sSg5Y The operator shortcuts are Ctrl+E and Ctrl+Shift+E. During the modal operator, the interpolation can be adjusted using the mouse (moving left/right) or the wheel mouse.
2016-09-01D2184 Stamp: Make drawing stamp labels optional.Sybren A. Stüvel
When using metadata stamping, it's often handy to have "Camera" in front of the camera name, "Marker" in front of the marker text, etc., but sometimes those get in the way. This patch allows an artist to turn those labels on/off. Reviewed by: sergey, mont29, venomgfx
2016-08-26Fix over creation of cache files handles (leading to memory leaks).Kévin Dietrich
Multiple threads could create multiple handles for the same cache file, so protect handle creation with a mutex, to make sure only one is created.
2016-08-18Fix T48913: cycles viewport render stuck in loop due to non-unique dupli ID.Brecht Van Lommel