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-03-12Increase node max width to 700pxJulian Eisel
Opened and collapsed nodes now have a max width of 700px. Animation nodes add-on needs this.
2016-02-12Fix T47379: crash appending materials with node trees.Brecht Van Lommel
2016-01-09Fix T47121: Image node on linked and localized material loses image after ↵Bastien Montagne
reopening project. Code 'localizing' the node of an ID (a material, here) was kind of a joke, setting id.lib to NULL is not enough, by far! Now calling ntreeMakeLocal(). And ntreeMakeLocal was also missing indirect->extern switch for its directly used IDs, which explains why they were lost after a save/reload. Note that here again, a big part of this 'localizing' code should be made generic using library_query stuff, but this is for id-remap, not current master...
2015-11-09Cleanup: avoid incrementing/decrementing id->us outside of BKE_library.Bastien Montagne
We have callbacks for that, they also do some checks and help ensure things are done correctly. Only place where this is assumed not true is blenloader (since here we may affect refcount of library IDs as well...).
2015-10-30Fix T46619: Levels node becomes UndefinedCampbell Barton
regression caused by 79c345ac
2015-10-20First step to handle missing libs/datablocks when reading a file.Bastien Montagne
Idea is, instead of ignoring completely missing linked datablocks, to create void placeholders for them. That way, you can work on your file, save it, and find again your missing data once lib becomes available again. Or you can edit missing lib's path (in Outliner), save and reload the file, and you are done. Also, Outliner now shows broken libraries (and placeholders) with a 'broken lib' icon. Future plans are also to be able to relocate missing libs and reload them at runtime. Code notes: - Placeholder ID is just a regular datablock of same type as expected linked one, with 'default' data, and a LIB_MISSING bitflag set. - To allow creation of such datablocks, creation of datablocks in BKE was split in two step: + Allocation of memory itself. + Setting of all internal data to default values. See also the design task (T43351). Reviewed by @campbellbarton, thanks a bunch! Differential Revision: https://developer.blender.org/D1394
2015-09-17Fix for broken tree offset after recent change for cyclic nodes supportSergey Sharybin
2015-09-17Fix T46139: Crash when inserting a node in a looped node structureSergey Sharybin
2015-08-18Refactor translation code out of blenfontCampbell Barton
- Add blentranslation `BLT_*` module. - moved & split `BLF_translation.h` into (`BLT_translation.h`, `BLT_lang.h`). - moved `BLF_*_unifont` functions from `blf_translation.c` to new source file `blf_font_i18n.c`.
2015-08-01Node Editor: A bunch of new utility functionsJulian Eisel
Needed for node insert offset (Auto-offset in UI), but kept separate so people notice it without having to check insert offset commit (not for commit ratio of course ;) )
2015-07-18Cycles: Point density texture supportSergey Sharybin
This commit implements point density texture for Cycles shading nodes. It's done via creating voxel texture at shader compilation time, Not totally memory efficient, but avoids adding sampling code to kernel (which keeps render time as low as possible), In the future this will be compensated by using OpenVDB for more efficient storage of sparse volume data. Sampling of the voxel texture is happening at blender side and the same code is used as for Blender Internal's renderer. This texture is controlled by only object, particle system and radius. Linear falloff is used and there's no turbulence. This is because falloff is expected to happen using Curve Mapping node. Turbulence will be done as a distortion on the input coordinate. It's already possible to fake it using nose textures and in the future we can add more proper turbulence distortion node, which then could also be used for 2D texture mapping. Particle color support is done by Lukas, thanks!
2015-06-26Fix T45199 crash when editing material nodes.Antony Riakiotakis
Issue is data race between preview job and GPU nodetree evaluation when localizing the nodetree. Data race happens due to localizations doing overrides on original nodes' new_node variable. Solution here could probably be to use a hash for mapping of old to new nodes but will prefer simple brute force lock for now.
2015-06-08Fix crash introduced by recent node tree localizationSergey Sharybin
It should not add temporary datablocks to the bmain.
2015-06-08Fix T44989: Crash on linking external OSL materialSergey Sharybin
Issue was caused by passing NULL bmain to the path remap function when localizing the node tree. Paths are to be remapped, otherwise mapping of paths to OSL scripts might happen in a wrong way.
2015-05-11GHash: avoid redundant castsCampbell Barton
2015-05-06Updating node standard value won't work if node is hidden, patch byAntony Riakiotakis
Alexander Romanov with minor changes.
2015-04-06Multi-View and Stereo 3DDalai Felinto
Official Documentation: http://www.blender.org/manual/render/workflows/multiview.html Implemented Features ==================== Builtin Stereo Camera * Convergence Mode * Interocular Distance * Convergence Distance * Pivot Mode Viewport * Cameras * Plane * Volume Compositor * View Switch Node * Image Node Multi-View OpenEXR support Sequencer * Image/Movie Strips 'Use Multiview' UV/Image Editor * Option to see Multi-View images in Stereo-3D or its individual images * Save/Open Multi-View (OpenEXR, Stereo3D, individual views) images I/O * Save/Open Multi-View (OpenEXR, Stereo3D, individual views) images Scene Render Views * Ability to have an arbitrary number of views in the scene Missing Bits ============ First rule of Multi-View bug report: If something is not working as it should *when Views is off* this is a severe bug, do mention this in the report. Second rule is, if something works *when Views is off* but doesn't (or crashes) when *Views is on*, this is a important bug. Do mention this in the report. Everything else is likely small todos, and may wait until we are sure none of the above is happening. Apart from that there are those known issues: * Compositor Image Node poorly working for Multi-View OpenEXR (this was working prefectly before the 'Use Multi-View' functionality) * Selecting camera from Multi-View when looking from camera is problematic * Animation Playback (ctrl+F11) doesn't support stereo formats * Wrong filepath when trying to play back animated scene * Viewport Rendering doesn't support Multi-View * Overscan Rendering * Fullscreen display modes need to warn the user * Object copy should be aware of views suffix Acknowledgments =============== * Francesco Siddi for the help with the original feature specs and design * Brecht Van Lommel for the original review of the code and design early on * Blender Foundation for the Development Fund to support the project wrap up Final patch reviewers: * Antony Riakiotakis (psy-fi) * Campbell Barton (ideasman42) * Julian Eisel (Severin) * Sergey Sharybin (nazgul) * Thomas Dinged (dingto) Code contributors of the original branch in github: * Alexey Akishin * Gabriel Caraballo
2015-04-04Cleanup: use BKE_animdata_* prefixCampbell Barton
2015-03-27Compositor: Fix heap overflow when copying previewsSergey Sharybin
2015-02-20RNA: correct bool callbacksCampbell Barton
2015-01-26Cleanup: strcmp/strncmp -> STREQ/STREQLEN (in boolean usage).Bastien Montagne
Makes usage of those funcs much more clear, we even had mixed '!strcmp(foo, bar)' and 'strcmp(foo, bar) == 0' in several places...
2015-01-14Fix T43201: Update the "in use" flags of sockets before drawing,Lukas Tönne
so value buttons are displayed when the link is not used.
2015-01-09Fix T43159: Copying of linked datablocks using relpath leads to invalid ↵Bastien Montagne
paths in new copies. Propper fix reverting most of rB60e70c0c6014e5, which was only partial specific fix. This code uses generic `BKE_id_lib_local_paths()` func to handle all possible paths. Reviewers: sergey, campbellbarton Differential Revision: https://developer.blender.org/D977
2014-12-01Cleanup: more int->bool.Bastien Montagne
2014-11-16Cleanup: use BLI_listbase_*** prefix for count,sort,sort_rCampbell Barton
2014-09-25GHash: use bool for comparison (simplify compare)Campbell Barton
2014-08-12Freestyle: Added new UV Along Stroke shader node.Tamito Kajiyama
2014-08-12Changed ntreeCopyTree_ex() to accept a pointer to struct Main.Tamito Kajiyama
2014-08-12Added new Output Line Style shader node for defining a node-based line material.Tamito Kajiyama
2014-07-26New compositor node "Sun Beams"Lukas Tönne
This allows adding a "fake" sun beam effect, simulating crepuscular rays from light being scattered in a medium like the atmosphere or deep water. Such effects can be created also by renderers using volumetric lighting, but the compositor feature is a lot cheaper and is independent from 3D rendering. This makes it ideally suited for motion graphics. The implementation uses am optimized accumulation method for gathering color values along a line segment. The inner buffer loop uses fixed offset increments to avoid unnecessary multiplications and avoids variables by using compile-time specialization (see inline comments for further details).
2014-06-24Make main library safe(er) for the threaded usageSergey Sharybin
Added a lock to the Main which is getting acquired and released when modifying it's lists. Should not be any functional changes now, it just means Main is now considered safe without worrying about locks in the callee.
2014-06-13Cycles: Add dedicated nodes to split/combine vectors.Thomas Dinges
This was already possible via the RGB nodes, but that seems weird.
2014-05-12Fix for typeinfo NULL pointer crash when initializing unknown node types.Lukas Tönne
Noticed by @bdancer on IRC. Happens e.g. when loading a file with pynodes which haven't been registered yet.
2014-05-09Fix T40108: Copying materials leaves a shared Action datablock in nestedLukas Tönne
bNodeTree blocks. This was broken by rB6e99fb0 (own commit). I expected the `do_action` argument to be of no importance in this case due to node trees using material animation, but this is not the case. Anyway, this patch adds back a do_action to the BKE_libblock_copy_nolib function as well to restore the previous behavior.
2014-05-07Fix T40033: Jumping between versions can lead to loss of node storageLukas Tönne
data. Saving a file with a new blender node that uses bNode->storage data and then loading that in an older version will make the node undefined, but still retain the original type identifier (in case it is defined later). If the file is then saved over and loaded again in the newer version, where the node type is defined, it won't have a valid storage struct. To handle such cases gracefully, check if storage data is expected but doesn't exist when initializing node types. User then at least get a chance of fixing the problem manually. Suggested fix by @brecht.
2014-05-03Patch D246: Texture Marks for freestyle strokes, written and contributed by ↵Tamito Kajiyama
Paolo Acampora. Reviewers: brecht, kjym3, #freestyle Reviewed By: brecht, kjym3 Differential Revision: https://developer.blender.org/D246
2014-04-30Code cleanup: remove unused includesCampbell Barton
Opted to keep includes if they are used indirectly (even if removing is possible).
2014-04-15GHash: add typed hash functions (were all (void *))Campbell Barton
- BLI_ghashutil_strhash_n takes string length, to avoid terminating the string before hashing. - BLI_ghashutil_inthash/uinthash take ints, to avoid casting to (void *) This also showed up incorrect use of inthash, which was using a pointer.
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-01Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT defineCampbell Barton
2014-03-31Code cleanup: use boolCampbell Barton
2014-03-21Use the new BKE_libblock_copy_nolib function for bNodeTree datablocksLukas Tönne
as well. These were already doing the same thing, just not as nice. Only difference is the do_action argument (false for BKE_libblock_copy_nolib) but this is of no consequence because the function is only called for trees nested inside material, scene, etc., which never have own actions.
2014-03-11New Corner Pin node: uses explicit corner values for a plane warp ↵Lukas Tönne
transformation. This was suggested by Christopher Barrett (terrachild). Corner pin is a common feature in compositing. The corners for the plane warping can be defined by using vector node inputs to allow using perspective plane transformations without having to go via the MovieClip editor tracking data. Uses the same math as the PlaneTrack node, but without the link to MovieClip and Object. {F78199} The code for PlaneTrack operations has been restructured a bit to share it with the CornerPin node. * PlaneDistortCommonOperation.h/.cpp: Shared generic code for warping images based on 4 plane corners and a perspective matrix generated from these. Contains operation base classes for both the WarpImage and Mask operations. * PlaneTrackOperation.h/.cpp: Current plane track node operations, based on the common code above. These add pointers to MovieClip and Object which define the track data from wich to read the corners. * PlaneCornerPinOperation.h/.cpp: New corner pin variant, using explicit input sockets for the plane corners. One downside of the current compositor design is that there is no concept of invariables (constants) that don't vary over the image space. This has already been an issue for Blur nodes (size input is usually constant except when "variable size" is enabled) and a few others. For the corner pin node it is necessary that the corner input sockets are also invariant. They have to be evaluated for each tile now, otherwise the data is not available. This in turn makes it necessary to make the operation "complex" and request full input buffers, which adds unnecessary overhead.
2014-02-14Code cleanup: duplicate headersCampbell Barton
2014-02-07ListBase API: add utility api funcs for clearing and checking emptyCampbell Barton
2014-02-05Fix T38340 and T38473: fixed Scene pointers in Composite and Defocus nodes ↵Lukas Tönne
don't get updated based on context. As discussed in T38340 the solution is to use the current scene from context whenever feasible. Composite does not use node->id at all now, the scene which owns the compositing node tree is retrieved from context instead. Defocus node->id is made editable by the user. By default it is not set, which also will make it use the contextual scene and camera info. The node->id pointer in Defocus is **not** cleared in older blend files. This is done for backward compatibility: the node will then behave as before in untouched scenes. File Output nodes also don't store scene in node->id. This is only needed when creating a new node for initializing the file format. Reviewers: brecht, jbakker, mdewanchand Reviewed By: brecht Differential Revision: https://developer.blender.org/D290
2014-02-03Code cleanup: use bools where possibleCampbell Barton
2014-01-27Code cleanup: use booleans where appropriateCampbell Barton
2014-01-27Code Cleanup: de-duplicate nested node tree checkingCampbell Barton
2014-01-20Fix T38221: node fcurves in compositor get deleted when muting a node.Lukas Tönne
This is because of the animdata cleanup in rBd2e55cb. This works ok in general, but causes issues with the localized node trees used for compo/ shader/texture previews. These localized trees share the same default action as their original trees, and then remove fcurves when removing muted nodes (which should affect the localized tree only). node_free_node_ex now has an argument for disabling animdata cleanup, which is also not necessary when freeing the whole node tree (because animdata is freed in advance anyway). In addition to that it also checks the NTREE_IS_LOCALIZED flag to prevent freeing of fcurves in the action.