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-01-23Cleanup: int/short to bool in BKE_cdderivedmesh.h functions (and TRUE/FALSE ↵Bastien Montagne
to true/false in code using them).
2014-01-13Code Cleanup: replace checks for ima->source with BKE_image_is_animatedCampbell Barton
2013-12-26Threaded object update and EvaluationContextSergey Sharybin
Summary: Made objects update happening from multiple threads. It is a task-based scheduling system which uses current dependency graph for spawning new tasks. This means threading happens on object level, but the system is flexible enough for higher granularity. Technical details: - Uses task scheduler which was recently committed to trunk (that one which Brecht ported from Cycles). - Added two utility functions to dependency graph: * DAG_threaded_update_begin, which is called to initialize threaded objects update. It will also schedule root DAG node to the queue, hence starting evaluation process. Initialization will calculate how much parents are to be evaluation before current DAG node can be scheduled. This value is used by task threads for faster detecting which nodes might be scheduled. * DAG_threaded_update_handle_node_updated which is called from task thread function when node was fully handled. This function decreases num_pending_parents of node children and schedules children with zero valency. As it might have become clear, task thread receives DAG nodes and decides which callback to call for it. Currently only BKE_object_handle_update is called for object nodes. In the future it'll call node->callback() from Ali's new DAG. - This required adding some workarounds to the render pipeline. Mainly to stop using get_object_dm() from modifiers' apply callback. Such a call was only a workaround for dependency graph glitch when rendering scene with, say, boolean modifiers before displaying this scene. Such change moves workaround from one place to another, so overall hackentropy remains the same. - Added paradigm of EvaluaitonContext. Currently it's more like just a more reliable replacement for G.is_rendering which fails in some circumstances. Future idea of this context is to also store all the local data needed for objects evaluation such as local time, Copy-on-Write data and so. There're two types of EvaluationContext: * Context used for viewport updated and owned by Main. In the future this context might be easily moved to Window or Screen to allo per-window/per-screen local time. * Context used by render engines to evaluate objects for render purposes. Render engine is an owner of this context. This context is passed to all object update routines. Reviewers: brecht, campbellbarton Reviewed By: brecht CC: lukastoenne Differential Revision: https://developer.blender.org/D94
2013-12-26Code Cleanup: remove object arg to CDDM_from_mesh mesh_create_derivedCampbell Barton
2013-12-22Modifier: New Wireframe ModifierCampbell Barton
Based on patch originally by Thomas Beck, uses options similar to solidify.
2013-11-24Mesh Modifiers: Added Laplacian DeformAlexander Pinzon
Part of soc-2013-sketch_mesh branch See: http://wiki.blender.org/index.php/User:Apinzonf/Doc:2.6/Manual/Modifiers/Deform/Laplacian_Deform
2013-10-20Code cleanup: de-duplicate implementation of get_texture_valueSergey Sharybin
Expect to be no functional changes :)
2013-07-16fix own regression [#36154] Simple deform modifier doesn't recalculate normalsCampbell Barton
get_cddm and get_dm are called within modifiers so they wont ensure normals are valid, added an arg to optionally ensure valid normals.
2013-07-15Fix #36058: Displace Modifier errors using a baked Image and displace baking ↵Sergey Sharybin
inconsistency between 2.67/2.68RC and previous versions This was in fact really nasty bug, caused by multitex_nodes function using global variable R (which is a copy of current renderer). this variable is not initialized to anything meaningful for until first rendering (preview or final) happened. Since multitex_nodes might be used outside of render pipeline, made it so whether CM is on or off as an argument to functions multitex_ext_safe and multitex_ext. Now multitex_nodes() is only shall be used for stuff happening from render pipeline! Also needed to make some changes to other places, so all the usages of texture sampling knows for the fact whether CM is on or off. And one more change is related on behavior of dispalcement, wave, warp, weightvg modifiers and smoke. They'll be always using CM off since texture is used for influence, not for color. It's rather bigger patch, but it's mostly straightforward changes, which we really need to be done. Reviewed by Brecht, thanks!
2013-05-30modifier stack: lazy initialize normalsCampbell Barton
many modifiers were calculating normals, when those normals were ignored by the next modifier. now flag normals as dirty and recalculate for modifiers that set use `dependsOnNormals()` callback. Quick test on mesh with 12 modifiers (mostly build type), calculated normals 6 times, now it only runs once - so this will give some speedup too.
2013-01-21mesh-cache deform modifier,Campbell Barton
supports MDD and PC2 formats. see wiki docs: http://wiki.blender.org/index.php/Doc:2.6/Manual/Modifiers/Deform/Mesh_Cache
2013-01-21Fixed render time regression in Blender InternalSergey Sharybin
It was caused by image threading safe commit and it was noticeable only on really multi-core CPU (like dual-socket Xeon stations), was not visible on core i7 machine. The reason of slowdown was spinlock around image buffer referencing, which lead to lots of cores waiting for single core and using image buffer after it was referenced was not so much longer than doing reference itself. The most clear solution here seemed to be introducing Image Pool which will contain list of loaded and referenced image buffers, so all threads could skip lock if the pool is used for reading only. Lock only needed in cases when buffer for requested image user is missing in the pool. This lock will happen only once per image so overall amount of locks is much less that it was before. To operate with pool: - BKE_image_pool_new() creates new pool - BKE_image_pool_free() destroys pool and dereferences all image buffers which were loaded to it - BKE_image_pool_acquire_ibuf() returns image buffer for given image and user. Pool could be NULL and in this case fallback to BKE_image_acquire_ibuf will happen. This helps to avoid lots to if(poll) checks in image sampling code. - BKE_image_pool_release_ibuf releases image buffer. In fact, it will only do something if pool is NULL, in all other case it'll equal to DoNothing operation.
2012-12-14UV Warp Modifier:Campbell Barton
Based on patch [#30837] UV Offset Modifier by Pawel Kowal (pkowal) - Allows you to setup a transformation between objects to apply to UV coords. - Option to select which axis apply to U/V. - Option to select the UV center (needed for transformations that scale or rotate). - Uses from/to objects in a similar way to the Warp modifier. - Vertex group can be used to adjust influence.
2012-11-20Triangulate modifierAntony Riakiotakis
Useful for bump map baking where a consistent triangulation should be enforced when baking/exporting/importing, to avoid artifacts caused by a different triangulation of the mesh by that which was used for baking by internal/external tools. documentation is here http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.65/More_Features Will probably add some pictures too to demonstrate the issue that is solved more clearly. Currently using the skin modifier icon, will soon change that. Review by Brecht, thanks!
2012-10-24Merge GSoC project from branch: Laplacian Smooth (Operator & Modifier)Daniel Genrich
by Alexander Pinzon Fernandez (apinzonf) Supported by Google Summer of Code 2012 Project Documentation: http://wiki.blender.org/index.php/User:Apinzonf Manual Page: http://wiki.blender.org/index.php/User:Apinzonf/Doc:2.6/Manual/Modifiers/Deform/Laplacian_Smooth
2012-10-24add CDDM_from_bmesh(), avoids using BMEditMesh in modifiers.Campbell Barton
2012-10-22code cleanup: check defgroup_name_index() return value != -1, rather then ↵Campbell Barton
checking >= 0. also remove unused bmesh decimator code.
2012-05-22Add skin modifier: DNA, RNA, UI, and MOD_skin.c implementation.Nicholas Bishop
Skin modifier documentation: http://wiki.blender.org/index.php/User:Nicholasbishop/SkinModifier Implementation based in part off the paper "B-Mesh: A Fast Modeling System for Base Meshes of 3D Articulated Shapes" (Zhongping Ji, Ligang Liu, Yigang Wang) Note that to avoid confusion with Blender's BMesh data structure, this tool is renamed as the Skin modifier. The B-Mesh paper is current available here: http://www.math.zju.edu.cn/ligangliu/CAGD/Projects/BMesh/ The main missing features in this code compared to the paper are: * No mesh evolution. The paper suggests iteratively subsurfing the skin output and adapting the output to better conform with the spheres of influence surrounding each vertex. * No mesh fairing. The paper suggests re-aligning output edges to follow principal mesh curvatures. * No auxiliary balls. These would serve to influence mesh evolution, which as noted above is not implemented. The code also adds some features not present in the paper: * Loops in the input edge graph. * Concave surfaces around branch nodes. The paper does not discuss how to handle non-convex regions; this code adds a number of cleanup operations to handle many (though not all) of these cases.
2012-05-12style cleanup: mostly whitespace in rnaCampbell Barton
2012-05-09code cleanup: color/bw conversion - use BLI color function.Campbell Barton
change modifier to use the average of the RGB since perceptual conversion isn't really needed for modifiers.
2012-05-06style cleanup: modifiersCampbell Barton
2012-05-06code cleanup: naming - BKE_mesh_*Campbell Barton
2012-05-05code cleanup: naming - pose/armature/image Campbell Barton
also use ..._find_name(..., name) rather then ..._find_named(..., name) --- both were used.
2012-04-29style cleanup: whitespace / commasCampbell Barton
2012-04-28style cleanup: changes to brace placement / newlines - for/while/if/switchCampbell Barton
2012-04-10Fix #30882: using an image sequence in the displace modifier did not updateBrecht Van Lommel
properly in animation rendering.
2012-03-24style cleanup: follow style guide for/with/if spacingCampbell Barton
2012-03-24style cleanup: follow style guide for formatting of if/for/while loops, and ↵Campbell Barton
else if's
2012-03-09style cleanup: comment blocksCampbell Barton
2012-02-21remove NGon Interp modifier (which was merged as apart of BMesh),Campbell Barton
this didnt really give any advantage over subsurf's Simple-Subdiv mode.
2012-01-30remove CDDM_copy second argument, added CDDM_copy_from_tessface instead.Campbell Barton
this function caused too many conflicts and in most cases was zero anyway.
2012-01-20replace CDDM_calc_normals_mapping with CDDM_calc_normals when used within ↵Campbell Barton
modifiers. this way modifiers wont be calculating tessface's which CDDM_calc_normals_mapping will do if not already calculated.
2012-01-18dissable editmode tessface creation in 'get_dm' looked over uses and all ↵Campbell Barton
that use editmode data are deform modifiers.
2012-01-18argument for CDDM_from_BMEditMesh() so creating tessface data is optional, ↵Campbell Barton
no functional changes since all callers use this so far.
2012-01-11svn merge ^/trunk/blender -r43278:43294Campbell Barton
2012-01-11Longer names support for all ID and other object namesSergey Sharybin
This commit extends limit of ID and objects to 64 (it means 63 meaning characters and 1 for zero-terminator). CustomData layers names are also extended. Changed DNA structures and all places where length constants were hardcoded. All names which are "generating" from ID block should be limited by MAX_ID_NAME-2, all non-id names now has got own define called MAX_NAME which should be used all over for non-id names to make further name migration stuff easier. All name fields in DNA now have comment with constant which corresponds to hardcoded numeric value which should make it easier to further update this limits or even switch to non-hardcoded values in DNA. Special thanks to Campbell who helped figuring out some issues and helped a lot in finding all cases where hardcoded valued were still used in code. Both of forwards and backwards compatibility is stored with blender versions newer than January 5, 2011. Older versions had issue with placing null-terminator to DNA strings on file load which will lead to some unpredictable behavior or even crashes.
2012-01-06rename CDDM_calc_normals() --> CDDM_calc_normals_mappingCampbell Barton
2012-01-05get texture coords from MLoopUV's rathers then MTFace's with ↵Campbell Barton
get_texture_coords().
2012-01-04svn merge ^/trunk/blender -r43092:43092Campbell Barton
2012-01-04bugfix - get_texture_coords() used by wave/warp/weight modifiers could ↵Campbell Barton
initialize a verts coords from the 4th UV of a triangle face.
2011-12-31svn merge ^/trunk/blender -r43009:43033Campbell Barton
2011-12-31Add remesh modifier (dual contouring).Nicholas Bishop
This patch adds a new remeshing modifier. The algorithm is based on the paper "Dual Contouring of Hermite Data", and the implementation was contributed to Blender by Dr. Tao Ju. The contributed code is in intern/dualcon, and was modified to compile under gcc and work on 64-bit systems. Files not needed for Blender were removed and a small C wrapper was added in order to interface it with Blender. The rest of the patch is just standard modifier stuff. Reviewed by Sergey, code review link: http://codereview.appspot.com/5491053/ The remesh icon was contributed by Zafio: http://blenderartists.org/forum/showthread.php?240751-Request-for-modifier-icon/page2. Thanks to everyone in that thread for the icon proposals and discussion. Documentation and examples on the Blender wiki: http://wiki.blender.org/index.php/User:Nicholasbishop/RemeshModifier In case the history is needed for anything, check the remesh-modifier branch of this git repository: https://gitorious.org/~nicholasbishop/blenderprojects/nicholasbishop-blender
2011-11-29svn merge ^/trunk/blender -r42245:42261Campbell Barton
2011-11-29remove header text:Campbell Barton
"The Blender Foundation also sells licenses for use in proprietary software under the Blender Licens" also remove NaN references from files that have been added since blender went opensource.
2011-11-15svn merge -r41779:41847 ^/trunk/blenderCampbell Barton
2011-11-13Ocean Sim modifier patchLukas Toenne
by Matt Ebb, Hamed Zaghaghi This adds a new Modifier "Ocean" to simulate large-scale wave motion. Details can be found in the wiki documentation [1], the project homepage [2] and the patch tracker [3] The modifier is disabled by default for now. To enable it, the WITH_OCEANSIM (cmake) / WITH_BF_OCEANSIM (scons) flags have to be set. The code depends on fftw3, so this also has to be enabled. [1] http://wiki.blender.org/index.php/Doc:2.6/Manual/Modifiers/Simulation/Ocean [2] http://www.savetheoceansim.com [3] http://projects.blender.org/tracker/?group_id=9&atid=127&func=detail&aid=28338
2011-11-11svn merge -r41722:41723 ^/trunk/blenderCampbell Barton
2011-10-28Merge with trunk r41342Miika Hamalainen
2011-10-24svn merge ^/trunk/blender -r41226:41227 .Campbell Barton
2011-10-23remove $Id: tags after discussion on the mailign list: ↵Campbell Barton
http://markmail.org/message/fp7ozcywxum3ar7n