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-09-05Code cleanup: use boolean instead of int for colormanagementSergey Sharybin
2013-09-05Expose theme color of shadow UVs (These include UVs that are drawn inAntony Riakiotakis
texture paint modes and as modified mesh uvs overlay) and UVs of other objects.
2013-09-05Bugfix #35920Ton Roosendaal
Adding a new node in Node Editor failed for "High DPI" (Only Mac retina now). - Py script for adding nodes was doing dpi magic, which it shouldn't. It has been replaced with a (temporary) API call to set the correct cursor location. (Thanks to Lukas T for helping here) - The SpaceNode->cursor[2] property now is *only* storing the coordinate in "adding new node space". Use of this has been removed from the code where possible, with as only exception the code to draw noodles while adding them. Special coder note: Nodes should respect the DPI value, and draw larger with larger buttons if you increase this size. The hack here is that this can only work nice if also the node positions are scaled accordingly. A better fix could be to check on scaling the node view itself for it. That then would also remove this Python API call that was added in this commit. However, that again might fight with how buttons layout code works now... needs some careful checking.
2013-09-05simplify idprop reallocation with MEM_recallocNCampbell Barton
2013-09-05BGE: Removing the touch sensor and converting all touch sensors to collision ↵Mitchell Stokes
sensors.
2013-09-04Added better support for line styles in the Outliner.Tamito Kajiyama
2013-09-04Cycles: add a sharpness input to the Cubic SSS falloff. When set to 1 this willBrecht Van Lommel
give a result more similar to the Compatible falloff option. The scale is x2 though to keep the perceived scatter radius roughly the same while changing the sharpness. Difference with compatible will be mainly on non-flat geometry.
2013-09-03Related to #36382: for linked object point caches, show a message that diskBrecht Van Lommel
cache must be used for baking.
2013-09-03add checks for bad args to RNA_def_property_ui_range & ↵Campbell Barton
RNA_def_property_range and fix one instance where (min > max). also remove redundant float/double conversion in ui_get_but_step_unit()
2013-09-03allow negative offset for floor constraint.Campbell Barton
(since this isnt a projection, it just clamps on an axis this can be supported).
2013-09-02Ack... Followup to r59743: in fact, bitflags groups are not always ↵Bastien Montagne
wanted/needed, thanks to Campell for notifying me about this! So now, their generation is controlled by a flag, else previous "simple values" group ids are generated (one per poly region, no need here to reduce the number of used IDs!). Will update obj exporter too.
2013-09-02fix odd (intentional) behavior with vertex parent,Campbell Barton
curve children of a triangle vertex parent would only display their relationship line to the first vertex. (confusing) also added OB_TYPE_SUPPORT_PARVERT macro.
2013-09-02Cleanup!Bastien Montagne
Also fixed a nasty (but inofensive for now) stuff, we had both MOD_UVPROJECT_MAX and MOD_UVPROJECT_MAXPROJECTORS (the former used in RNA code, the later in modifier code)! Kept MOD_UVPROJECT_MAXPROJECTORS.
2013-09-01Move GCC attributes into a centraized definesSergey Sharybin
Instead of having ifdef __GNUC__ all over the headers to use special compiler's hints use a special file where all things like this are concentrated. Makes code easier to follow and allows to manage special attributes in more efficient way. Thanks Campbell for review!
2013-08-31RenderEngine API: add viewport draw utility functions to bind a GLSL fragmentBrecht Van Lommel
shader for converting colors from linear to display space, based on the scene color management settings. if engine.support_display_space_shader(scene): # test graphics card support engine.bind_display_space_shader(scene) # draw pixels .. engine.unbind_display_space_shader()
2013-08-30Cleanup, bitflags as bitshift ops, and some formating...Bastien Montagne
2013-08-30minor ui editsCampbell Barton
- move addon refresh button into header - uilist, use icon for sorting by name (gives more room for name, icon is used in fileselector for same purpose). - rename orderby to sort in rna and flag names. - simplify BKE_nurb_handle_calc_simple
2013-08-29Support transformation around 2D cursor in movie clip editor.Sergey Sharybin
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-29fix [#36570] Changing the filename of a image strip doesnt refresh sequencerCampbell Barton
was casting a StripElem as a Sequencer struct.
2013-08-28Fix #36555: preview render in properties editor did not get cancelled andBrecht Van Lommel
restarted fast enough on resizing the editor, especially noticeable with e.g. luxrender which does a progressive refining render.
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-28Fix #36584, in python inputs/outputs of created node group not accessable by ↵Lukas Toenne
their names. The lookupstring function for node sockets and node tree interface items was using the identifier strings of bNodeSocket. This would ensure uniqueness, but doesn't work nicely because the identifier is not the RNA name property and differs for node groups (with regular nodes it only differs if socket names are duplicate). Now removed the specialized callbacks, so that inputs/outputs collections simply use the name property. In cases where socket names are duplicate (e.g. math node "Value" + "Value") only the first socket is returned, but in such cases access by index is the preferred method anyway.
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-27Followup to r59536: make "is_argument_optional" available to py, and use it ↵Bastien Montagne
in API doc generation. Thanks Campbell for the much better name suggestion!
2013-08-27This commit adds optional parameters for pyfunc implementations of RNA API ↵Bastien Montagne
(i.e. callbacks, e.g. draw functions of panels, uiLists, or exec/poll/etc. of operators). Thanks to Brecht for he review! Any parameter after the first flagged with PROP_PYFUNC_OPTIONAL will be considered as optional, hence the python code does not have to define/use it. This will ease API evolutions by avoiding to break existing code when adding non-essential new parameters. Note: this will need some update to API doc generation, patch is ready, will have it reviewed by Campbell asap.
2013-08-26RNA fixes regarding dynamic array properties in functions parameters ↵Bastien Montagne
(reviewed by Brecht, thanks!): * It was not clear that RNA_parameter_length_get() & co only affected dynamic properties, renamed them to RNA_parameter_dynamic_length_get() and such. * Fixed RNA_function_find_parameter(), we can't use BLI_findstring() here, need to call RNA_property_identifier()! * Fixed RNA_parameter_get() and RNA_parameter_set(), which were completely wrong for dynamic properties. * Fixed RNA_parameter_dynamic_length_get/set_data(), they did not check the property was actually a dynamic one and were using again ugly blackmagic casting intead of ParameterDynAlloc structure! * makesrna was still using an ugly hackish (and perhaps not always working) code when handling dynamic parameters, now synchronized with RNA_parameter_dynamic_length_get_data and RNA_parameter_get code.
2013-08-26Revert r59500, has too much drawbakcs in term of speed... This bug ↵Bastien Montagne
([#36289]) is not really solvable for now, will mark it as todo. :/
2013-08-25Fix [#36289] Not change children object on freez layer when change frame.Bastien Montagne
When hiding the layer of an object, switching to a different fram, and showing again that layer, things like object's parenting were not handled... Just set do_time option of DAG_on_visible_update() to True when updating layers. Note: maybe we could re-enable layers animation... not sure though ;)
2013-08-24style cleanup: space around for loop wrappersCampbell Barton
2013-08-24code cleanup: change to r59443, TRUE/FALSE are deprecated, see BLI_sys_types.hCampbell Barton
2013-08-24Code cleanup: use TRUE/FALSE instead of 1/0 for bool properties default ↵Bastien Montagne
values...
2013-08-23set function args in BLI_math_rotation as const where possible.Campbell Barton
2013-08-23Tracking Python API improvementsSergey Sharybin
- Solved issue with changing marker's frame number for tracks which doesn't belong to camera object. - Support find_frame, insert_frame and delete_frame functions for plane markers.
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-21rename recently added BLI_ghash_assign() -> BLI_ghash_reinsert()Campbell Barton
2013-08-20disable material index clamping, fbx importer doesn't know the total number ↵Campbell Barton
of materials when meshes are loading, also, its possible to have values outside this range by removing materials (though not from the UI)
2013-08-19Usual UI messages fixes...Bastien Montagne
2013-08-19Fix [#36438] Adding Metaball when unit scale is smaller than 0.01 seemingly ↵Bastien Montagne
hangs Blender Wiresize and rendersize were not handled regarding scene scale, leading to insane precision when working in cm or less...
2013-08-19Fix [#36454] 'Tiles' settings in Render/Performance panel don't respect ↵Bastien Montagne
keyframes These are not animatable! Note this is the case of most (all?) render settings, maybe we should go over both Cycles and internal ones, there are still quite a bunch of them that are marked as animatable... :/
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-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-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-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-18add hash function BLI_ghash_assign, BLI_edgehash_assignCampbell Barton
avoids remove,insert and only hashes the key once.
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-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-16Remove unused and unfinished py bindingsSergey Sharybin
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-15Fix #36384: Inconsistent curve fill behaviourSergey Sharybin
Creating new splines via Python API didn't take curve dimension into account. Now adding new splines will set 2D/3D flag for spline according to curve's dimension.