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-10-19Revert "Freestyle: Built-in SVG exporter."Campbell Barton
This reverts commit 61a330baca0ff9bb3cf477c04f539ef276a0356f. This completes reverting D785 This feature is to be reworked into an addon.
2014-10-18Freestyle: Built-in SVG exporter.Tamito Kajiyama
Features: * Both still image and animation rendering, as well as polygon fills are supported. * The exporter creates a new SVG layer for every Freestyle line set. The different layers are correctly sorted. * SVG paths use data from line styles, so the base color of a line style becomes the color of paths, idem for dashes and stroke thickness. * Strokes can be split at invisible parts. This functionality is useful when exporting for instance dashed lines or line styles with a Blue Print shader * The exporter can be used not only in the Parameter Editor mode, but also from within style modules written for the Python Scripting mode. Acknowledgements: The author would like to thank Francesco Fantoni and Jarno Leppänen for their [[ https://github.com/hvfrancesco/freestylesvg | Freestyle SVG exporter ]]. Differential revision: https://developer.blender.org/D785 Author: flokkievids (Folkert de Vries) Reviewed by: kjym3 (Tamito Kajiyama)
2014-10-06Cleanup: remove old preview codeCampbell Barton
2014-09-30Fix T42026: Unit scale affects camera focal length.Bastien Montagne
Not a regression, yet maybe simple/safe enough for 2.72?
2014-09-26Fix for missing initialization of Freestyle RenderData parameters for new ↵Tamito Kajiyama
scenes.
2014-08-27More fixes for renderer material detectionAntony Riakiotakis
2014-08-27Only calculate texture paint slots from mtex if renderer is blenderAntony Riakiotakis
internal. This should eliminate some confusion when people use external render engines.
2014-08-26Move bUnit_getScaleUnit -> BKE_scene_unit_scaleCampbell Barton
unit.c intentionally doesn't include DNA or BKE headers (except its own)
2014-08-24Fix T41550: Python: frame_set skips frame -1; frame_set(n) sets to frame n-1 ↵Bastien Montagne
for (only) negative number n, and sets to frame n for non-negative number n. This appeared in rBrB94cb20ff4e78b, purposedly it seems, but without even a single line of comment to explain why this was needed. For now, remove it.
2014-08-15CleanupCampbell Barton
2014-08-15Fix uninitialized imagepaint values on new scene, report by kopias onAntony Riakiotakis
irc
2014-07-31Fix T41258: Crash when entering edit mode while viewport render is enabledSergey Sharybin
The issue was caused by the render engine loading edit mesh, which re-allocates mesh array which might be referenced by other object's derived meshed. Worst thing about this is that updating render engine happens from the end of scene update function, after all the objects are updated and so. This is needed so render engine gets the update objects which is correct. The only proper way to solve the issue is to make it so viewport engine does not leave objects in inconsistent state, meaning nobody will reference to freed data. In order to reach this we do edit mesh loading before running objects update so all the objects which uses that mesh will have proper references in the derived mesh. This also solves old creepyness which happened before when having single object in edit mode. tweaking it will calculate derived mesh as a part of scene update, then this derived mesh will be freed by edit mesh loading and viewport will be creating derived mesh again. Now render engine is expected to do nothing with meshes which are in edit mode, but they still need to load edit data for non0meshes. It's not really easy to do from the BKE level because needed functions are implemented in the editor. Thanks Campbell for the review! Differential Revision: https://developer.blender.org/D697
2014-07-28Fix T41221: 3d view rendered mode crashes on new sceneSergey Sharybin
2014-07-23Cleanup: BKE_scene_set_name mixed G.main & bmain argCampbell Barton
2014-07-19Fix T41010: MetaBall Duplivert Unwanted Movement Bug.Bastien Montagne
BKE_scene_base_iter_next() was completely messing poor dupli objects' matrices... Note this func should be reworked, but as stated in comments, it should not exist at all, DAG should be used here, so until we have new shinny one we can live with this. Also, mballs do not behave correctly when used as duplis (org object remains visible/rendered, unlike any other object type). This will be fixed in a separate patch/commit, since it proved to be rather tricky to handle.
2014-06-13Code cleanup: spellingCampbell Barton
2014-05-13Folowup for old fix for material animationSergey Sharybin
Need to update node trees, so cycles materials are also updating when tweaking settings from dopesheet/graph editor.
2014-05-03Bake API - bpy.ops.object.bake()Dalai Felinto
New operator that can calls a bake function to the current render engine when available. This commit provides no feature for the users, but allows external engines to be accessed by the operator and be integrated with the baking api. The API itself is simple. Blender sends a populated array of BakePixels to the renderer, and gets back an array of floats with the result. The Blender Internal (and multires) system is still running independent, but we eventually will pipe it through the API as well. Cycles baking will come next as a separated commit Python Operator: ---------------- The operator can be called with some arguments, or a user interface can be created for it. In that case the arguments can be ommited and the interface can expose the settings from bpy.context.scene.render.bake bpy.ops.object.bake(type='COMBINED', filepath="", width=512, height=512, margin=16, use_selected_to_active=False, cage_extrusion=0, cage="", normal_space='TANGENT', normal_r='POS_X', normal_g='POS_Y', normal_b='POS_Z', save_mode='INTERNAL', use_clear=False, use_split_materials=False, use_automatic_name=False) Note: external save mode is currently disabled. Supported Features: ------------------ * Margin - Baked result is extended this many pixels beyond the border of each UV "island," to soften seams in the texture. * Selected to Active - bake shading on the surface of selected object to the active object. The rays are cast from the lowpoly object inwards towards the highpoly object. If the highpoly object is not entirely involved by the lowpoly object, you can tweak the rays start point with Cage Extrusion. For even more control of the cage you can use a Cage object. * Cage Extrusion - distance to use for the inward ray cast when using selected to active * Custom Cage - object to use as cage (instead of the lowpoly object). * Normal swizzle - change the axis that gets mapped to RGB * Normal space - save as tangent or object normal spaces Supported Passes: ----------------- Any pass that is supported by Blender renderlayer system. Though it's up to the external engine to provide a valid enum with its supported passes. Normal passes get a special treatment since we post-process them to converted and "swizzled" Development Notes for External Engines: --------------------------------------- (read them in bake_api.c) * For a complete implementation example look at the Cycles Bake commit (next). Review: D421 Reviewed by: Campbell Barton, Brecht van Lommel, Sergey Sharybin, Thomas Dinge Normal map pipeline "consulting" by Andy Davies (metalliandy) Original design by Brecht van Lommel. The entire commit history can be found on the branch: bake-cycles
2014-05-01Code cleanup: remove file handling headers where they arent neededCampbell Barton
2014-04-30Code cleanup: remove unused includesCampbell Barton
Opted to keep includes if they are used indirectly (even if removing is possible).
2014-04-30Spelling fixesJoshua Leung
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-17Fix error in last commitCampbell Barton
2014-04-17Fix T39758: Blender Crash when removing pinned Scene.Bastien Montagne
2014-04-17Code cleanup: use boolsCampbell Barton
also rename BLI_omp_thread_count -> BLI_system_thread_count_omp
2014-04-04Fix crash happening in DAG_pose_sort() due to threading issuesSergey Sharybin
This function used ugly hack with static variable which was preventing some type checks in DAG nodes. Using this variable form multiple threads is not considered safe, apparently. Solved by moving this variable inside the DAGForest structure. so it's global for the graph now, but different graphs does not run into conflicts. This required passing the forest to some functions, which doesn't look so much nice, but don't want to spend time on making this code look beautiful because it is really to be replaced by the new dependency graph. This is really bad bug actually which is must go to 'a'.
2014-04-01Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT defineCampbell Barton
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-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-24Remove the code which checked whether early object update skip didn't failSergey Sharybin
Was a safety check which never triggered, so likely could be removed now.
2014-03-24Fix T39318: Blender 2.70 crash when I link an assetSergey Sharybin
Issue is a regression since threaded objetc update and caused by the fact that some objects might share the same proxy object. It's all fine but object_handle_update() will call update for a proxy object which screws up threaded update. The thing is, proxy object is marked as depending on a scene object and such a call makes it so the children objetc is being updated. This is really bad and depsgraph is to take all responsibility on updating the proxy objects. So for now used a simple solution (which is safe to backport to 'a') which is skipping proxy update if the scene update is threaded and based on the DAG traversal. There are some still areas which calls object update directly and for that cases proxy object is still being updated from object_handle_update().
2014-03-11Fix T39083: speakers were evaluated multiple times when used in setsCampbell Barton
also skip checking all objects for speakers when no speakers are in the blend file.
2014-03-10Fix T39034 brush always shown even after deactivating the show cursorAntony Riakiotakis
option after reentering a paint mode. Solution by Bastien with modifications, thanks! Show Brush flag need not be reenabled always, but make sure it is at least enabled once on paint initialization.
2014-02-25Fix T38824: curve which is constrained on a hidden layer causes cycles crashSergey Sharybin
Issue was caused by cycles setting scene frame which will update scene for all the layers (not just visible ones) which confuses depsgraph making objects which are needed as dependency are not really evaluated. Made it so setting frame via scene.frame_set() which check whether update need to be flushed to an invisible objects and do this if so. Not ideal solution but seems to be safest at this point.
2014-02-07ListBase API: add utility api funcs for clearing and checking emptyCampbell Barton
2014-02-06Fix compile error in last commit, forgot to include this change.Brecht Van Lommel
2014-02-06Cycles: add pass alpha threshold value to render layers.Brecht Van Lommel
Z, Index, normal, UV and vector passes are only affected by surfaces with alpha transparency equal to or higher than this threshold. With value 0.0 the first surface hit will always write to these passes, regardless of transparency. With higher values surfaces that are mostly transparent can be skipped until an opaque surface is encountered.
2014-02-06Fix T38498: properly unlink scene pointers from SpaceNode.Lukas Tönne
This fixes the first case mentioned in the report. Has to do some ugly DNA access to SpaceNode, unless we'd allow a bad level call there to do it in ED_node ... The second case has been fixed by @sergey in D274: https://developer.blender.org/D274?vs=838&id=879#toc So actually asan just did its job here, good to know!
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-29Move depsgraph debug print under --debug-depsgraph command line argumentSergey Sharybin
2014-01-27Revert the removal of Blender Internal Edge rendering, after artist feedback.Thomas Dinges
This reverts commit fb91a602c756f3ee5a122efa1862b8be7604186b.
2014-01-23Removed the omat matrix from DupliObject.Lukas Tönne
This was storing the original object matrix, which builds on the assumption that obmat is modified during dupli construction, which is a bad hack. Now the obmats are still modified, but this only happens outside of the dupli system itself and the original ("omat") is stored as local variables in the same place where the obmat manipulation takes place. This is easier to follow and avoids hidden hacks as much as possible. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D254
2014-01-21Fix T38302: sequencer animation data lost in original scene when copying scene.Brecht Van Lommel
2014-01-17Fix T38260: Missing object update with two visible scenesSergey Sharybin
It was an issue with early object update check which was screwing up for second scene because of first one reset ID recalc flags. From the comment in the code about this: We need to check all visible scenes, otherwise resetting OB_ID changed flag will only work fine for first scene of multiple visible and all the rest will skip update. This could also lead to wrong behavior scene update handlers because of missing ID datablock changed flags. This is a bit of a bummer to allocate list here, but likely it wouldn't become too much bad because it only happens when objects were actually changed.
2014-01-17Code Cleanup: spellingCampbell Barton
2014-01-16Tweak to early threaded update escapeSergey Sharybin
Issue was caused by some objects being in bMain and tagged for update but not being in the DAG. This means objects wouldn't be updated and their recalc flag remains untouched triggering threaded for the next frame. Solved by tweaking POST_UPDATE_HANDLER_WORKAROUND in the way that it checks objects' recalc flags from the DAG, not from the bMain. This will work a bit longer since DAG stored more nodes than objects in the scene, but this code only runs in cases when there're some objects tagged for update, which keeps overall CPU usage on such a workaround pretty low. Now CPU usage on 11a_comp scene from project Pampa went down from ~15% down to ~5% (2,69 release uses ~%7). Pointed by Thomas Dinges in IRC.
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-13Fix T37886: Material does no update when changing keyframes in dopesheetSergey Sharybin
It was a missing fcurve evaluation in scene update function which lead to materials only being updated on frame change. Added the same exception as we've got for the scene animation. It only runs when there're materials tagged for the update, so wouldn't expect speed regressions or so.
2014-01-13Fix T38139: Objects which are in cyclic dependency are not updatedSergey Sharybin
Graph traversal which is based on counting parents which are still to be updated fails in cases there are cycles in the graph. If there are cyclic dependencies in the scene all the objects from the cycles will be updated in a single thread now one by one. This makes blender behave the same way as it was before multi-threaded DAG landed to master. This needed to tweak depsgraph a bit so now dag_check_cycle() sets is_acyclic field of DAG forest if there are cycles in the graph. TODO: It might be possible to save some time on evaluation when all the tagged objects were updated in multi-threaded DAG traversal.