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-04Units: Add milligrams for massSergej Reich
Avoids having small values displayed as "0kg".
2014-01-04Revert "Units: Make grams base unit for mass"Sergej Reich
This reverts commit ead6d397fda12d8287dff7d6a6fff6ea1948cd69.
2014-01-04Rigidbody: Code cleanupSergej Reich
Convert int to bool.
2014-01-03Fix T38045: Clone stamp crashesSergey Sharybin
Issue seems to be caused by thread-unsafe IMB_freeImBuf. Now use generic BKE_image_release_ibuf to de-reference image buffer which was acquired from image datablock.
2014-01-03Code clean-up change naming of gpu buffers used by pbvh to betterAntony Riakiotakis
reflect that. Previous name GPU_Buffers was very similar to GPU_Buffer, renamed to GPU_PBVH_Buffers
2014-01-03Text3d: store number of characters and utf8 length separatelyCampbell Barton
EditFont's use of Curve.len was very confusing, in editmode it represented the number of characters, in object mode the number of bytes. add Curve.len_wchar and keep track of both. Also don't convert the editmode text into utf8 on every keystroke. Now this is done on exiting editmode or save - to match most other object types. This also fixes curves 'body_format' being reported with an invalid size.
2014-01-03Text3d: avoid converting utf8 to wchar_t in editmodeCampbell Barton
2014-01-01Code cleanup: line wraps and file names in doxy commentsSergey Sharybin
2014-01-01Fix crash happening in Cycles fcurve modifierSergey Sharybin
Summary: Crash was happening because of fcurve modifier stack used modifier's DNA to store temporary data. Now made it so storage for such a thing is being allocated locally per object update so multiple objects which shares the same animation wouldn't run into threading conflict anymore. This storage might be a part of EvaluationContext, but that'd mean passing this context all over in object_where_is which will clutter API for now without actual benefit for this. Optimization notes: storage is only being allocated if there're Cycles modifier in the stack, so there're no extra allocations happening in all other cases. To make code a bit less cluttered with this storage passing all over the place added extra callbacks to the FModifier storage which runs evaluation with the given storage. Reviewers: brecht, campbellbarton, aligorith CC: plasmasolutions Differential Revision: https://developer.blender.org/D147
2014-01-01Split tracking.c into several filesSergey Sharybin
File tracking.c became rather huge and annoying to maintain and it really contains several independent areas of motrack pipeline. Now we've got: * tracking.c: general-purpose functions which are used by blender, clip editor, RNA and so. * tracking_detect.c: feature detection functions (blender-side, logic is still in libmv). * tracking_plane_tracker.c: blender-side 2D tracking logic. * tracking_plane_tracker.c: plane track tracker. * tracking_solver.c: functions for camera solving. * tracking_stabilize.c: 2D stabilization functions. * tracking_util.c: utility functions for all those files and which shouldn't be public.
2014-01-01Fix deadlock happening when using Save Buffers for renderSergey Sharybin
Summary: Issue was caused by the same tile being written twice to the EXR file. This was happening because of partial update of work-in-progress tiles was merging result to the final render result in order to make color management pipeline happy. We need to avoid such a merges and keep memory usage as low as possible when Save Buffers is enabled. Now render pipeline will allocate special display buffer in render layer which will contain combined pass in the display space. This keeps memory usage as low as we can do at this moment. There's one weak thing which is changing color management settings during rendering would lead to lossy conversion. This is because render result's display buffer uses color space from the time when rendering was invoked. This is actually what was happening in previous release already actually so not a big issue. Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D162
2013-12-31Units: Make grams base unit for massSergej Reich
2013-12-30Main API: refactor naming, use BKE_main_ prefix and add main arg.Campbell Barton
2013-12-30Code Cleanup: unused defines & styleCampbell Barton
2013-12-29Text3d: add assert's to check the selection and length are validCampbell Barton
2013-12-29Follow up to the previous commit: vfont_get_data is to use the same RW lockSergey Sharybin
2013-12-29Fix T37980: Multiple font objects sharing an external font gives problemsSergey Sharybin
Solved by adding RW lock to BKE_vfont_to_curve. So now all the threads are allowed to read chars from ghash, but they'll be locked as soon as one thread would need to load more chars from font to the ghash.
2013-12-29Fix missing check if isect_plane_plane_v3 fails to find an intersection.Campbell Barton
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 regression T37971: Crash setting recursive dupli-vertsCampbell Barton
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-28Fix for text3d issue, \n was attempting to find a character tooCampbell Barton
2013-12-28Fix for 3d fonts loading the character of the string terminator.Campbell Barton
also remove redundant call to wcslen and ensure FT_Init_FreeType runs once the font loads.
2013-12-283D Text: use ghash for character lookupsCampbell Barton
2013-12-28Fix for BKE_nurb_handles_autocalc using 2d tests on 3d dataCampbell Barton
2013-12-27Typo fix in a commentSergey Sharybin
2013-12-27Code Cleanup: styleCampbell Barton
2013-12-27Rigidbody: Code cleanupSergej Reich
Make some functions private. Remove unneeded nested if statements. Avoid mixing short and bool.
2013-12-27Fix T37955: Freestyle render misalignmentSergey Sharybin
Issue was caused by missing objects update for temporary freestyle objects. This happened because of the fact that such objects doesn't have any relations, as in they're corresponding to root nodes in the DAG. This situation wasn't handled by DAG_threaded_update_begin() which considered there's only one root node in the DAG.
2013-12-26Rigidbody: Allow triangle mesh shapes to deform during simulationSergej Reich
Only supported when using the "Deform" mesh source.
2013-12-26Rigidbody: Use own structure to store mesh data for collision shapesSergej Reich
This gives us better access to the data and should also be faster to create.
2013-12-26Rigidbody: Add option to choose mesh source for collision shapesSergej Reich
The options are: Base: Base mesh Deform: shape keys and deform modifiers Final: All deformations and modifiers It would be nice to have a way of specifying where exactly in the modifier stack the collision shape is generated. However this is not staight forward since the rigid body simulation is not part of the modifier system and would require hacks to make it work.
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-26Fix T37939: Crash on exit (reading from freed node trees)Campbell Barton
2013-12-26Code Cleanup: remove object arg to CDDM_from_mesh mesh_create_derivedCampbell Barton
2013-12-25Fix T37709: Memory corruption when freeing custom bone shape objectsSergey Sharybin
Summary: Issue was caused by access to pchan->custom object from channel free function when freeing all objects from main. Order of objects free is not defined and such an access might easily end up with access to freed memory. We don't need to do user counter stuff when freeing main, so added an _ex functions with do_id_user flag which is used when freeing main. We had the same issue with other datablocks, so now it should be easier to support relevant user counter. This issue was caused by the fix for T36391, so perhaps that's indeed high time to do real user counter. Reviewers: brecht, campbellbarton Reviewed By: campbellbarton Maniphest Tasks: T37709 Differential Revision: https://developer.blender.org/D137
2013-12-23Fix for converting unfilled 3d text into a meshCampbell Barton
2013-12-23Dupliverts: avoid calculating normals if not usedCampbell Barton
2013-12-22Style Cleanup: remove preprocessor indentation (updated wiki style guide too)Campbell Barton
2013-12-21Mesh Modifiers: refactor copying using a generic functionCampbell Barton
2013-12-21Support units in modal numinputBastien Montagne
Summary: This completly changes the way modal numinput is handled. Now, edited expression is a string, which then gets unit- and py-evaluated to get a float value. We gain many power and flexibility, but lose a few "shortcuts" like '-' to negate, or '/' to inverse (if they are really needed, we still can add them with modifiers, like e.g. ctrl-/ or so). Features: - units (cm, ", deg, etc.). - basic operations from python/BKE_unit (+, *, **, etc.), and math constants and functions (pi, sin, etc.). - you can navigate in edited value (left/right key, ctrl to move by block) and insert/delete chars, e.g. to fix a typo without having to rewrite everything. - you can go to next/previous value with (ctrl-)TAB key. - As before, hitting backspace after having deleted all leading chars will first reset the edited value to init state, and on second press, the whole "modal numinput" editing will be cancelled, going back to usual transform with mouse. Notes: - Did not touch to how values are shown in header when modal numinput is not enabled (would do that in another commit), so this is still quite inconsistent. - Added back radian support in BKE_unit. - Added arcminute/arcsecond to BKE_unit. (those unit changes affect all angle UI controls, btw, so you can now enter radians or longitude/latitude values when in degrees units). Related to T37600. Reviewers: brecht, campbellbarton, carter2422 Reviewed By: brecht, campbellbarton, carter2422 Thanks everybody! Differential Revision: http://developer.blender.org/D61
2013-12-20Code Cleanup: styleCampbell Barton
2013-12-20Don't use with_resol suffix for functions which doesn't get resolutionSergey Sharybin
2013-12-20Code cleanup: remove unused functions from mask moduleSergey Sharybin
This functions doesn't seem to be used even from a commented code.
2013-12-19Followup for fix T37718: image was not saving with proper settings second timeSergey Sharybin
This was actually a regression after color management re-implementation, need to copy settings from saved image buffer to an original one since they might be modified during save. Also noticed image format planes detection didn't work properly from an image buffer. Made it so save operator works fine now, but also marked a TODO in BKE_imbuf_to_image_format() which needs to be investigated further.
2013-12-18Fix T37177, sculpting can act on opposite side of mesh in orthographic camera.Antony Riakiotakis
Summary: Issue here most probably is that the start point in ray-casting is too far away from the mesh. As a result the triangle intersection code can sometimes miss the ray intersection. To solve this, we project the ray segment to the boundary of the root node. Reviewers: brecht, sergey, campbellbarton Reviewed By: brecht Maniphest Tasks: T37177 Differential Revision: http://developer.blender.org/D115
2013-12-18Style Cleanup: minor edits in recent changesCampbell Barton
2013-12-18Style CleanupCampbell Barton
2013-12-18Game Engine: Level of detail support and toolsDaniel Stokes
Levels of detail can be added and modified in the object panel. The object panel also contains new tools for generating levels of detail, setting up levels of detail based on object names (useful for importing), and clearing an object's level of detail settings. This is meant as a game engine feature, though the level of details settings can be previewed in the viewport. Reviewed By: moguri, nexyon, brecht Differential Revision: http://developer.blender.org/D109