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
2013-08-29Last uiList patch (for now!): filtering and reordering of shown elements.Bastien Montagne
Thanks to Brecht for the reviews. :) This commit adds a show/hide extension below each uiList, containing by default an option to filter and/or reorder items by name (and to reverse those filtering and reordering). Each derived uiList class in Python can define more specific filtering by implementing callbacks: the draw_filter() function to draw options in UI, and the filter_items() function to effectively filter/reorder items. Note: the advanced options for vgroups shown as "proof od concept" in patches do not go in trunk for now, we have to find a better way to get those vgroups info for UI code, we can't afford to loop over each vertex here! And doc (release notes and uiList example) is still to be updated, will do this in next days.
2013-08-28Cycles / Sky Texture:Thomas Dinges
* Added a new sky model by Hosek and Wilkie: "An Analytic Model for Full Spectral Sky-Dome Radiance" http://cgg.mff.cuni.cz/projects/SkylightModelling/ Example render: http://archive.dingto.org/2013/blender/code/new_sky_model.png Documentation: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Textures#Sky_Texture Details: * User can choose between the older Preetham and the new Hosek / Wilkie model via a dropdown. For older files, backwards compatibility is preserved. When we add a new Sky texture, it defaults to the new model though. * For the new model, you can specify the ground albedo (see documentation for details). * Turbidity now has a UI soft range between 1 and 10, higher values (up to 30) are still possible, but can result in weird colors or black. * Removed the limitation of 1 sky texture per SVM stack. (Patch by Lukas Tönne, thanks!) Thanks to Brecht for code review and some help! This is part of my GSoC 2013 project, SVN merge of r59214, r59220, r59251 and r59601.
2013-08-27Small enhancement to grab-resize of uiLists, suggested by plasmasolutions: ↵Bastien Montagne
do not effectively apply auto-size until we stop grabbing, avoid size of uiLists to switch between rows and maxrows while dragging.
2013-08-27uiLists enhacements: dragresize and better GRID layout.Bastien Montagne
Many thanks to Brecht for the review! * You can now drag-resize uiLists (in default or grid layouts). ** Note about "default" size: when you drag below minimal size of the uiList, it will automatically reset to automatic sizing (i.e. size between rows and maxrows, depending on the number of items to show). This often means (e.g. in Materials list with many mat slots) that the list will grow again to maxrows! * Grid uiLists now have a customizable number of columns (previously it was a fixed value of 9), and they will respect the rows/maxrows settings as well (i.e. show a scrollbar when needed), instead of growing indefinitly!
2013-08-27Mask primitivesSergey Sharybin
Currently only circle and square, might be easily extended in the future. New primitives are creating at cursor location. This also implied adding 2d cursor to space clip. Also fix set 2D cursor location which didn't work in image editor's mask mode since 2.67. TODO: draw_image_cursor better be moved to some more generic file, but it's not so much important for now and might be solved later. Thanks Campbell for the review!
2013-08-26Cleanup: move defines into anon enums, as suggested by Joshua, thx.Bastien Montagne
Note I let a few as defines for now (esp. base options are not clear to me, how they should be aranged in groups).
2013-08-26Cleanup (bitflags are *so much* easy to handle and clear as bit-shift ↵Bastien Montagne
operations than raw values!).
2013-08-24ghash: reserve size when its known or can be guessed close enough.Campbell Barton
also avoid allocs per node in pbvh_bmesh_node_limit_ensure()
2013-08-24Fix state losses for recursive outliner trees (e.g. datablocks editor)Sv. Lockal
In previous optimization in outliner I assumed that order in treehash was not important. But testing outliner in datablocks mode revealed a problem: when user expands multiple recursive levels and then closes any element, it always closed the top level of recursion. Now it should work fine with recursive trees. Now treehash contains groups of elements indexed by (id,nr,type). Adding an element with the same (id,nr,type) results in appending it to existing group. No duplicates are possible in treehash. This commit should also make lookups a little bit faster, because searching in small arrays by "used" is faster than searching in hashtable with duplicates by "id,nr,type,used".
2013-08-22Fix [#36530] Texture tab refreshing problemBastien Montagne
That was not really a bug (code working as expected), but the way tex context was handled was a bit raw, now it is much smarter: * Default fallback context (when current one is no more valid) will now choose "most specific" ones first (i.e. material/lamp/particules before world and "others"). * When using that default fallback context, previous one is stored and we try to revive it later, if possible. Thus e.g. object[mat tex ctxt] -> empty[default world ctxt] -> object[mat tex ctxt] is now working as expected. * However, when user explicitely or implicitely (through e.g. going to Material context...) sets a tex context, previous one is not stored, so that only default fallback context switch may later automatically revive a previous (presumably user-set) context.
2013-08-21Partial revert of recenr cu->disp merge commitSergey Sharybin
That ended up in tricky code trying to mimic depsgraph branch behavior API-wise preserving texspace and bound box calculation compatible with previous releases. So for now bring cu->disp back to the trunk but keep texpsace and boundbox APIs the same as in the branch. This keeps texpsapce and boundbox behavior fully compatible with previous releases and still makes API the same as for meshes.
2013-08-19Speedup for guarded allocatorSergey Sharybin
- Re-arrange locks, so no actual memory allocation (which is relatively slow) happens from inside the lock. operation system will take care of locks which might be needed there on it's own. - Use spin lock instead of mutex, since it's just list operations happens from inside lock, no need in mutex here. - Use atomic operations for memory in use and total used blocks counters. This makes guarded allocator almost the same speed as non-guarded one in files from Tube project. There're still MemHead/MemTail overhead which might be bad for CPU cache utilization
2013-08-19Optimization and threading fix for shapekeys weights calculationSergey Sharybin
This commit fixes two different issues, which were caused by how weights are being calculated for relative shapekeys. Weights for key block used to saved in KeyBlock DNA structure, which lead to situations when different objects could start writing to the same weights array if they're sharing the same key datablock. Solved this in a way so weights are never stored in KeyBlock and being passed to shapekeys routines as an array of pointers. This way weights are still computed run-time (meaning they're calculated before shapekey evaluation and freed afterwards). This required some changes to GameEngine as well, to make it never cache weights in the key blocks. Another aspect of this commit makes it so weight for a given vertex group is only computed once. So if multiple key blocks are using the same influence vertex group, they'll share the same exact weights array. This gave around 1.7x speedup in test chinchilla file which is close enough to if we've been caching weights permanently in DNA (test machine is dual-code 4 threads laptop, speedup measured in depsgraph_mt branch, trunk might be not so much high speedup). Some further speed is optimization possible, but it could be done later as well. Thanks Brecht for idea of how the things might be solved in really clear way. -- svn merge -r58786:58787 ^/branches/soc-2013-depsgraph_mt
2013-08-19Make lattice deform safe for threadingSergey Sharybin
Lattice deformation used to store some runtime data inside of lattice datablock itself. It's something which is REALLY bad. Ideally DNA shouldn't contain and runtime data. For now solved it in a way that initialization of lattice deform will create a structure which contains lattice object for which deformation is calculating and that runtime data which used to be stored in lattice datablock itself. It works really fine for mesh deform modifier, but there's still runtime data stored in particle system DNA, It didn't look something easy to be solved, so leaving this as-is for now. -- svn merge -r58277:58278 -r58795:58796 ^/branches/soc-2013-depsgraph_mt
2013-08-19Tag object-data level boundbox as invalid rather than freeing itSergey Sharybin
Object update used to free object-data level bounding box to trigger it's re-calculation in the future. Such a freeing performed from object update isn't thread-safe because mesh could be shared between multiple objects. Rather than freeing bounding box, tag it's as invalid, this is safe from threading point of view and also prevents unnecessary memory re-allocation. Object-level bounding box is still reallocating, but think we could change this easily in the future as well. -- svn merge -r58154:58156 -r59258:59259 ^/branches/soc-2013-depsgraph_mt
2013-08-19Remove unused bounding box from MetaBallSergey Sharybin
-- svn merge -r58150:58151 ^/branches/soc-2013-depsgraph_mt
2013-08-19Move bevel list and path from Curve to Object datablockSergey Sharybin
I know this is not so much nice to have this guys hanging around in a general Object datablock and ideally they better be wrapped around into a structure like DerivedMesh or something like this. But this is pure runtime only stuff and we could re-wrap them around later. Main purpose of this is making curves more thread safe, so no separate threads will ever start freeing the same path or the same bevel list. It also makes sense because path and bevel shall include deformation coming from modifiers which are applying on pre-tesselation point and different objects could have different set of modifiers. This used to be really confusing in the past and now data which depends on object is stored in an object, making things clear for understanding even. This doesn't make curve code fully thread-safe due to pre-tesselation modifiers still modifies actual nurbs and lock is still needed in makeDispListsCurveTypes, but this change makes usage of paths safe for threading. Once modifiers will stop modifying actual nurbs, curves will be fully safe for threading. Actually, this commit also contains wrapping runtime curve members into own structure This allows easier assignment on file loading, keeps curve- specific runtime data grouped and saves couple of bytes in Object for non-curve types. -- svn merge -r57938:57939 ^/branches/soc-2013-depsgraph_mt svn merge -r57957:57958^/branches/soc-2013-depsgraph_mt
2013-08-19Get rid of a display list stored in Curve datablockSergey Sharybin
This display list was only used for texture space calculation, and even there this display list was only used for bounding box calculation. Since we already do have bounding box in a curve datablock there's no reason to duplicate non-modified display list just to calculate bounding box later, let's just calculate bounding box at the first point. This makes code a little be more thread-safe but curves are still not safe for threads at all because of bevel list and path. That would be solved later. -- svn merge -r57939:57940 ^/branches/soc-2013-depsgraph_mt
2013-08-19Add comments for outliner's treestore and treehash (no functional changes)Sv. Lockal
2013-08-18Cycles: Subsurface ScatteringBrecht Van Lommel
New features: * Bump mapping now works with SSS * Texture Blur factor for SSS, see the documentation for details: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Shaders#Subsurface_Scattering Work in progress for feedback: Initial implementation of the "BSSRDF Importance Sampling" paper, which uses a different importance sampling method. It gives better quality results in many ways, with the availability of both Cubic and Gaussian falloff functions, but also tends to be more noisy when using the progressive integrator and does not give great results with some geometry. It works quite well for the non-progressive integrator and is often less noisy there. This code may still change a lot, so unless you're testing it may be best to stick to the Compatible falloff function. Skin test render and file that takes advantage of the gaussian falloff: http://www.pasteall.org/pic/show.php?id=57661 http://www.pasteall.org/pic/show.php?id=57662 http://www.pasteall.org/blend/23501
2013-08-18Code cleanup:Thomas Dinges
* Forgot to remove RNA/DNA in r59043. No need to keep this here, we never used it in Trunk.
2013-08-18add assert for hashes if an existing element is ever inserted into a ↵Campbell Barton
ghash/edgehash. the outliner does this intentionally, so add a flag to allow this situation optionally.
2013-08-17Cycles / Sky Model:Thomas Dinges
* Replaced the Preetham model with the newer Hosek / Wilkie model: "An Analytic Model for Full Spectral Sky-Dome Radiance" http://cgg.mff.cuni.cz/projects/SkylightModelling/ * We use the sample code data, which comes with the paper, but removed some unnecessary parts, we only need the xyz version. * New "Albedo" UI paraemeter, to control the ground albedo (between 0 and 1). * Works with SVM only atm (CPU and CUDA). Example render: http://www.pasteall.org/pic/show.php?id=57635 ToDo / Open Questions: * OSL still uses the old model, will be done later. In the meantime it's useful to compare the two models this way. * The new model needs a much weaker Strength value (0.01), otherwise it's white. Can this be fixed? * Code cleanup.
2013-08-17change CHECK_TYPE_INLINE macro not to add the pointer in the macro.Campbell Barton
2013-08-17BGE: Flipping vsync constants so VSYNC_ON is 0.Mitchell Stokes
This will make transitions from older versions of Blender easier since VSYNC_ON will be the default. This could have been changed in a do_version, but the vsync code has yet to see an official release, so I figured this would be a bit nicer. Also, this makes VSYNC_ON the default for new scenes as well.
2013-08-16Merge plane track feature from tomato branchSergey Sharybin
This commit includes all the changes made for plane tracker in tomato branch. Movie clip editor changes: - Artist might create a plane track out of multiple point tracks which belongs to the same track (minimum amount of point tracks is 4, maximum is not actually limited). When new plane track is added, it's getting "tracked" across all point tracks, which makes it stick to the same plane point tracks belong to. - After plane track was added, it need to be manually adjusted in a way it covers feature one might to mask/replace. General transform tools (G, R, S) or sliding corners with a mouse could be sued for this. Plane corner which corresponds to left bottom image corner has got X/Y axis on it (red is for X axis, green for Y). - Re-adjusting plane corners makes plane to be "re-tracked" for the frames sequence between current frame and next and previous keyframes. - Kayframes might be removed from the plane, using Shit-X (Marker Delete) operator. However, currently manual re-adjustment or "re-track" trigger is needed. Compositor changes: - Added new node called Plane Track Deform. - User selects which plane track to use (for this he need to select movie clip datablock, object and track names). - Node gets an image input, which need to be warped into the plane. - Node outputs: * Input image warped into the plane. * Plane, rasterized to a mask. Masking changes: - Mask points might be parented to a plane track, which makes this point deforming in a way as if it belongs to the tracked plane. Some video tutorials are available: - Coder video: http://www.youtube.com/watch?v=vISEwqNHqe4 - Artist video: https://vimeo.com/71727578 This is mine and Keir's holiday code project :)
2013-08-15BGE: The Action Actuator can now make use of additive blending.Mitchell Stokes
2013-08-12Fix #36408: Setting `image.colorspace_settings.name` changes saved alphaSergey Sharybin
Issue was caused by reload caused by input colorspace change. For generated images generated alpha flags weren't saved to DNA, which lead to fallback from 32 bit depth to 24 when doing any kind reload of generated image. The same alpha loss happens when you save .blend file with generated images. Now added generated depth to DNA, so reload image and .blend file wouldn't loss alpha.
2013-08-03Cycles / SSS:Thomas Dinges
* Render Passes are now available for Subsurface Scattering (Direct, Indirect and Color pass). This is part of my GSoC project, SVN merge of r58587, r58828 and r58835.
2013-08-03fix for [#36260] 2,300 Objects Makes Blender UnresponsiveSv. Lockal
- performance of outliner was low because of unoptimal data structures. - now it uses BLI_mempool instead of custom mempool and GHash to make searches for duplicates faster. - also fix undesired behaviour of BLI_mempool_as_arrayN thanks to Campbell Barton and Lukas Tönne for helping me get a better fix put together.
2013-08-03Dynamic Paint: Added a new "smoothness" parameter for waves.Miika Hamalainen
It greatly helps getting rid of that "noise" that occurs if you use really steep objects (like cubes) as a brush. New default value is 1.0 which is just high enough to only get rid of the sharpest spikes, so if you want really smooth waves it's better use higher values. This also seems to "fix" bug [#35413].
2013-08-01remove unused headers and NULL checkCampbell Barton
2013-08-01Cycles / Vector Transform node:Thomas Dinges
* Add a note to convert a Vector, Point or Normal between World <=> Camera <=> Object coordinate space. Documentation: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/More#Vector_Transform Part of my GSoC 2013 project, SVN merge of r57599, r57670, r57918, r57919, r58245 and r58775.
2013-07-30Missed a couple of files for the vsync commit (r58729).Mitchell Stokes
2013-07-23remove use_relative option from simple deform,Campbell Barton
all modifiers should be using object transformations relatively.
2013-07-23code cleanup: remove deprecated bevel code (unused since 2.64)Campbell Barton
2013-07-20hidden wireframe option for mesh editmode, important for retopology mode ↵Campbell Barton
(can be used with xray).
2013-07-19patch [#36000] View lock offset (allow panning when the view is locked)Campbell Barton
own patch
2013-07-17fix [#36176] Connected font Bevel moves inwards for some letter combinationsCampbell Barton
bevel wasn't taking into account overlapping text (bug goes back to 1.8).
2013-07-14recent changes to particle normal orientation change behavior in a way you ↵Campbell Barton
might not want (even though in general I think its an improvement). split this into 2 options, added 'Normal-Tangent' orientation that makes the mesh orient towards the tangent, otherwise it uses Z-Up as before.
2013-07-13correct bad allocation sizes, unwrap was over-allocating, makesdna was under ↵Campbell Barton
allocating.
2013-07-09fix [#36066] crash when Tab out text objectCampbell Barton
the way Curve.len is used at the moment is really stupid, calculate string size on save for now, but should really store the length in bytes and total number of characters.
2013-06-25patch [#35830] Add Catmull-Rom spline as an option for lattice deformerCampbell Barton
2013-06-24lattice: use functions rather then defines, also added a function to get uvw ↵Campbell Barton
from an index. - BKE_lattice_index_from_uvw() - BKE_lattice_index_to_uvw()
2013-06-23Added polished Vertex Weights Panel (properties sidebar)Gaia Clary
2013-06-20transform: 2d option for proportional editmode,Campbell Barton
Uses for view orientation for distance calculation, can give nicer results when you dont want twisting caused by changes in depth.
2013-06-18add option to enable auto-execute scripts, but exclude certain directories.Campbell Barton
2013-06-16replace strcat with BLI_strcpy_rlen in draw_selected_name(), view3d function.Campbell Barton
also fix for incorrect flag checking for shape key pin.
2013-06-12fix [#35710] Mesh explodes while using solidify modifier with tubular ↵Campbell Barton
non-manifold base mesh.
2013-06-10Bugfix [#35643] Animated textures are invisible in Graph Editor if it is notJoshua Leung
linked via material Textures linked to modifiers are now shown in the AnimEditor channel hierarchy under object level now (i.e. on same level as ob-data, shapekeys, and object's action). This makes it possible to edit such animation data without having to ensure that these textures are also linked to the object's material so that they will appear. As a side-effect of how this is implemented, if playback is slower on scenes following this commit, disable the "modifier" filter under the filtering settings in the relevant animation editor header. In particular, it may be beneficial to disable this when you've got scenes with meshes that have many modifiers (but none of these have any linked data with settings which can be animated), as Blender will still try to go through all those modifiers checking for anything to show.