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
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.
2014-01-15Python/Depsgraph: bpy.data.*.is_updated now detects add/remove of any datablock.Tom Edwards
Previously this only worked for some datablocks relevant to rendering, now it can be used to detect if any type of datablock was added or removed (but not yet to detect if it was modified, we need many more depsgraph tags for that). Most of the changes are some function parameter changes, the important parts are the DAG_id_type_tag calls. Reviewed By: sergey, brecht Differential Revision: https://developer.blender.org/D195
2014-01-10Fix for random crash in localized node group freeing while tweakingLukas Tönne
group default values. This can happen when using value sliders for node group input values. The localized copies were setting the "interface_type" runtime pointer of the original tree to NULL instead of the new tree (which is created on-the-fly in general). This type is used in RNA update functions however, the original tree DNA should not be modified there.
2014-01-07Cycles Volume Render: scattering support.Brecht Van Lommel
This is done by adding a Volume Scatter node. In many cases you will want to add together a Volume Absorption and Volume Scatter node with the same color and density to get the expected results. This should work with branched path tracing, mixing closures, overlapping volumes, etc. However there's still various optimizations needed for sampling. The main missing thing from the volume branch is the equiangular sampling for homogeneous volumes. The heterogeneous scattering code was arranged such that we can use a single stratified random number for distance sampling, which gives less noise than pseudo random numbers for each step. For volumes where the color is textured there still seems to be something off, needs to be investigated.
2013-12-28Cycles Volume Render: support for rendering of homogeneous volume with ↵Brecht Van Lommel
absorption. This is the simplest possible volume rendering case, constant density inside the volume and no scattering or emission. My plan is to tweak, verify and commit more volume rendering effects one by one, doing it all at once makes it difficult to verify correctness and track down bugs. Documentation is here: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Materials/Volume Currently this hooks into path tracing in 3 ways, which should get us pretty far until we add more advanced light sampling. These 3 hooks are repeated in the path tracing, branched path tracing and transparent shadow code: * Determine active volume shader at start of the path * Change active volume shader on transmission through a surface * Light attenuation over line segments between camera, surfaces and background This is work by "storm", Stuart Broadfoot, Thomas Dinges and myself.
2013-12-28Cycles Volume Render: work on nodes and closures.Brecht Van Lommel
* Henyey-Greenstein scattering closure implementation. * Rename transparent to absorption node and isotropic to scatter node. * Volume density is folded into the closure weights. * OSL support for volume closures and nodes. * This commit has no user visible changes, there is no volume render code yet. This is work by "storm", Stuart Broadfoot, Thomas Dinges and myself.
2013-12-28Fix T37939, concern raised in rBd9e0a94: Avoid access to linked nodeLukas Tönne
tree ID data when freeing bNodeTree data blocks, while also making sure localized node group copies get freed properly.
2013-12-26Fix T37939: Crash on exit (reading from freed node trees)Campbell Barton
2013-12-22Style Cleanup: remove preprocessor indentation (updated wiki style guide too)Campbell Barton
2013-12-09Compositor node preview:Jeroen Bakker
moved the hide preview logic to a method on bNodeTreeType. This way the node.c keeps clean, but logic could still be shared. Implementing this per node, can lead to future errors.
2013-12-09Enhancement: By default do not show the previews of composite nodesJeroen Bakker
only input nodes will show the preview by default.
2013-12-05Fix T37698: Crash from invalid context access when freeing customLukas Tönne
python nodes on Blender exit. The nodeFreeNode function is calling a customizable freefunc callback, which can be implemented by python. However, the context is invalid when using this callback while the node tree data block is freed on exit. Luckily it is also not necessary: When freeing the bNodeTree data blocks all that is needed is freeing of the DNA data, no other side effects should happen. So now disable the api callbacks when freeing nodes in the ntreeFreeTree function. Also some minor cleanup: checking node->typeinfo is not necessary, all nodes will always have a valid typeinfo pointer - if a node type is unknown this will be a stub bNodeType to avoid the need for such checks.