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
2015-09-09Fix T45839 : Regression - Multi-layer image issues when using non-standard namesDalai Felinto
This was introduced in the fix for T44336 . The code is now what it should have been in the first place at the time of multiview commit. ImageUser->passtype is being removed in favour of bringing ImageUser->pass back. Reviewers: sergey Differential Revision: https://developer.blender.org/D1504
2015-09-09Fix (unreported) crash with undo/outliner and drivers.Bastien Montagne
To reproduce the crash: * Add some shapekeys to default cube. * Add at least on driver (can be default empty one) to a shapekey value. * **Make this driver visible in Outliner**. * Delete all shapekeys. * Undo. * Crash. Root of the issue is outliner reading code in `blo_lib_link_screen_restore()`, which would try to `restore_pointer_by_name()` for all `TreeStoreElement->id` pointers. Thing is, those id pointers are not always IDs, they can be animdata, sequence, RNA struct/property... That's really not so great design, but also has reasons like size of the struct, we have to live with it. So now: * TreeStoreElement->type defines are braught back into DNA. * There we also define a `TSE_IS_REAL_ID` macro to check whether a given TreeStoreElement actually stores an ID pointer or not. * And in Outliner read code we only try to retore pointers by name for actual ID ones, and set the others to default NULL value. Also, added clear comment to TSE types that do not store a real ID pointer!
2015-09-02CMake: use generator expressionsCampbell Barton
2015-08-27DNA/IO: struct ghash lookup didn't set 'lastfind'Campbell Barton
Internal inconsistency: lastfind was being checked on every DNA_struct_find_nr call, but never set. Gives minor speedup reading files.
2015-08-21Fix T45658: linked library object loses particle settings.Bastien Montagne
Simply make ParticleSettings datablock linkable, see absolutely no reason why those were the only 'real data' ID type not linkable so far...
2015-08-20Fix 32bit builds... :/Bastien Montagne
2015-08-19Final 'FileBrowser First Stage' merge.Bastien Montagne
It basically rewrites most of filelist.c, with some more limited changes in other areas of filebrowser. From user perspective, it: * Removes some info in 'long' drawing mode (owner, permissions) - OS-specific data that do not really matter in Blender! * Makes short/long display 'fixed' size (among four choices, like thumbnails mode). * Allows to list several layers of dirtree at once, in a flat way (inside .blend files and/or real directories). * Consequently, adds datablocks types filtering. * Uses way less RAM when listing big directories, especially in thumbnail mode (we are talking of several hundred of MiB spared). * Generates thumbnails way faster. From code perspective, it: * Is ready for asset engine needs (on data structure level in filebrowser's listing). * Simplifies and makes 'generic' file listing much lighter. * Separates file listing in three different aspects: ** 'generic' filelisting (in BLI), which becomes a shallow wrapper around stat struct. ** 'filebrowser drawing' filelisting, which only contains current visible subset of the whole list (sliding window), with extra drawing data (strings for size, date/time, preview, etc.). ** 'asset-ready' filelisting, which is used for operations common to 'basic' filehandling and future asset-related one. * Uses uuid's to handle file selection/state in the browser, instead of using flags in filelisting items. * Uses much lighter BLI_task handling for previews, instead of heavy 'job' system (using the new 'notifier' timer to handle UI refresh, in similar way to jobs). * Moves .blend datablocks preview handling to IMB_thumbnail (necessary to avoid storing all datablock previews at once, and gives better consistency and performances too). Revision: https://developer.blender.org/D1316 Thanks to Campbell & Sergey for the reviews. :)
2015-08-17Cleanup: remove unused Object.ipoflagCampbell Barton
2015-08-14Docs: comment BHead.code valuesCampbell Barton
2015-08-12Displace Modifier: add an option to displace along (averaged) custom ↵Bastien Montagne
normals, instead of vertex normals. User suggestion/request from 'boby'.
2015-08-10Data previews: add utils to generate/clear previews.Bastien Montagne
Not much to add, you can now clear previews from current .blend file, or a set of non-opened files. Likewise, you can generate previews (for mat/tex, objects, groups, scenes, ...).
2015-08-10Data previews: add preview to Object, Group and Scene.Bastien Montagne
This commit does not add anything yet to users, it’s purely internal one. Useful commit is next. ;)
2015-08-03Sculpt: Fix tiling with brushes that use a locked planeAntony Riakiotakis
Patch by Tilman Blumhagen, thanks!
2015-08-03OpenSubdiv: Made it a modifier option to enable OSD for viewportSergey Sharybin
The idea of this commit is to make it so we can enable OpenSubdiv by default for the release builds but keep it limited to the viewport only for a specific meshes. This is a temporary solution for until all the needed features are supported on the OpenSubdiv side. Flag itself is done as a dedicated field in modifier DNA so we can easily remove it in the future without ending up with some temporary flag hanging around forever.
2015-08-03Fix T45649: Adding Point Density Texture to World Color Crashes Blender.Kévin Dietrich
Crash was caused by missing field in NodeShaderTexPointDensity. Committed with @dingto blessings.
2015-08-01Note Editor: Auto-offset nodes on insertionJulian Eisel
Implements "Auto-offset" (called "insert offset" in code) feature for Node Editor, developed during and after LSOC :) Idea and sponsoring by Sebastian König, blendFX, Mathias Eimann, Mikavaa, Knick Design When you drop a node with at least one input and one output socket onto a an existing connection between two nodes, Auto-offset will, depending on the direction setting, automatically and animated move the left or right and all of its following nodes away to make room for the new node. The direction for offsetting can be toggled while you are moving the node by pressing „T“. The auto-offset is enabled by default but can be disabled in the header of the node-editor. The offset margin can be changed in the editing section of the User Preferences. Thanks a lot to the sponsors, and especially to Sebastian who helped *a lot* with this. That's how users can help developing Blender!
2015-07-31Docs: doxy correctionsCampbell Barton
2015-07-31Docs: MLoopTri info and example usageCampbell Barton
2015-07-31Replace MFace w/ vert-tri's for collision modifierCampbell Barton
Note that the collision modifier doesn't have any use for Loop indices, so to avoid duplicating the loop array too, MVertTri has been added which simply stores vertex indices (runtime only).
2015-07-30Fix T45577 tiled sculpting not working with brushes requiring a sculptAntony Riakiotakis
plane. Make sure sculpt plane is recalculated for every tiled dab. Note this is not the optimum thing to do, we could cache the original sculpt plane and reuse that, but this would require us to rearrange the logic of tiled sculpting somewhat. This can be a TODO, but for now this will fix the issue.
2015-07-29Gooseberry animation feature: Add toggle that disables modifiers on fcurves.Antony Riakiotakis
Feature is found as per channel option in graph editor.
2015-07-29Port optimization from gooseberry branch:Antony Riakiotakis
Treat scrubbing as animation. This is checked during various updates to avoid some costly calculations.
2015-07-28Cycles: Expose Clip image extension typeSergey Sharybin
This type causes pixels outside of 0..1 coordinate range to become transparent.
2015-07-28Cycles: Correction to image extension setting commitSergey Sharybin
Technically it was all wrong and it should have been called Extend instead of Clip. Got confused by the naming in different libraries. More options are still to come.
2015-07-27Image painting 2D:Antony Riakiotakis
Deprecate wrap (BRUSH_TORUS) option, we now have paint flags for tiling and we can reuse those. Also allows seperate tiling in X/Y direction for 2D painting now. Only one tiling is allowed for now. Options can be found in new "Tiling" panel under the tools tab. For version patching, we just turn off brush wrapping, to allow reuse of the flag in the future. New option is paint mode wide instead of per brush so a brush having the old wrap option will not enable it for the whole mode in the version patch.
2015-07-23Sculpt Tiling FeatureAntony Riakiotakis
Adds 3D-Tiling options to the sculpt tool. This is very similar to the symmetry options in the sense that it replicates the strokes. For tiling this replication happens with a linear offset to fill the whole object along one or more axis. This allows to create geometry that can be tiled seamless. One use case is the creation of tileable textures by sculpting high resolution geometry and then rendering it with an orthographic camera to create maps for diffuse, normal, etc Notes: Patch by Tilman Blumhagen with minor changes (move tile flags to paint symmetry flags). After some feedback from artists, leaving tiling value to constant offset, though I suspect that some method that uses the object bounding box dynamically might be good to have too. It can be added later though :) Thanks a lot for the patch! Patch: D1426
2015-07-21Fix T43779: Cycles texture interpolation issuesSergey Sharybin
That was basically not an issue with interpolation, but rather missing wrapping options and periodic wrapping was always used. It's still a bit questionable why certain graphics cards were doing clamping in the file from the report, that's not something what is expected to happen from the settings of textures being passed to GPU. In any case this issue i still didn't manage to reproduce on any of the available GPUs, might be something related on driver glitch or so. In any case CPU now should behave just fine, rest of the issues we'll need to be able to reproduce first.
2015-07-21Fix T45471: Blend file: Bad old_addr handling in mesh's customdata writing.Bastien Montagne
Issue is rather well explained in T45471: our current customdata writing code easily generates several different blocks in blend file with same 'old' address. This is bad, because those addresses are used as 'uid' during reading process (it kind of work in Blender's own reading process, by mere luck mostly, but breaks the file specs). Solution (suggested by Campbell, thanks) implemented by this patch is to avoid duplicating everything, and instead just overwrite what we needs to skip some cdlayers on write: * the CustomData's `totlayer` number; * the CustomData's `layers` array of CustomDataLayer (keeping its original address using the `writestruct_at_address` helper). New design allows us to get completely rid of the no_free flag stuff in `write_customdata()`. Note that this implies written data is **not** directly valid from Blend PoV, since its written typemap does not match written layers (this is not an issue because typemap is rebuilt on read anyway - and it's easy to fix this if really needed). Also, the backward compatibility saving of mface data remains an issue here, see comment in code. Reviewers: sergey, campbellbarton Projects: #bf_blender Maniphest Tasks: T45471 Differential Revision: https://developer.blender.org/D1425
2015-07-21Fix T45434: GPencil on editmode surface failsCampbell Barton
Z-offset use for drawing & picking was problematic for extracting locations from depth values. Use flag to optionally disable.
2015-07-20OpenSubdiv: Commit of OpenSubdiv integration into BlenderSergey Sharybin
This commit contains all the remained parts needed for initial integration of OpenSubdiv into Blender's subdivision surface code. Includes both GPU and CPU backends which works in the following way: - When SubSurf modifier is the last in the modifiers stack then GPU pipeline of OpenSubdiv is used, making viewport performance as fast as possible. This also requires graphscard with GLSL 1.5 support. If this requirement is not met, then no GPU pipeline is used at all. - If SubSurf is not a last modifier or if DerivesMesh is being evaluated for rendering then CPU limit evaluation API from OpenSubdiv is used. This only replaces the legacy evaluation code from CCGSubSurf_legacy, but keeps CCG structures exactly the same as they used to be for ages now. This integration is fully covered with ifdef and not enabled by default because there are several TODOs to be solved first: - Face varying data interpolation is not really cleanly implemented for GPU in OpenSubdiv 3.0. It is also not implemented for limit evaluation API. This basically means we'll have really hard time supporting UVs. - Limit evaluation only works with adaptivly subdivided meshes so far, which basically means all the points of CCG are pushed to the limit. This gives different result from old code. - There are some serious optimizations possible on the topology refiner creation, which would speed up initial OpenSubdiv mesh creation. - There are some hardcoded asumptions in the GPU and DerivedMesh areas which could be generalized. That's something where Antony and Campbell can help, making it so the code is structured in a way which is reusable by all planned viewport projects. - There are also some workarounds in the dependency graph to make sure OpenGL buffers are only freed from the main thread. Those who'll be wanting to make experiments with this code should grab dev branch (NOT master) from https://github.com/Nazg-Gul/OpenSubdiv/tree/dev There are some patches applied in there which we're working on on getting into upstream.
2015-07-19Cleanup: styleCampbell Barton
Also 'com' as abbreviation for center-of-mass is a bit confusing, rename to 'center'.
2015-07-18Cycles: Point density texture supportSergey Sharybin
This commit implements point density texture for Cycles shading nodes. It's done via creating voxel texture at shader compilation time, Not totally memory efficient, but avoids adding sampling code to kernel (which keeps render time as low as possible), In the future this will be compensated by using OpenVDB for more efficient storage of sparse volume data. Sampling of the voxel texture is happening at blender side and the same code is used as for Blender Internal's renderer. This texture is controlled by only object, particle system and radius. Linear falloff is used and there's no turbulence. This is because falloff is expected to happen using Curve Mapping node. Turbulence will be done as a distortion on the input coordinate. It's already possible to fake it using nose textures and in the future we can add more proper turbulence distortion node, which then could also be used for 2D texture mapping. Particle color support is done by Lukas, thanks!
2015-07-16Add tessellation data to DerivedMesh (LoopTri)Campbell Barton
This stores loop indices into the loop array giving easier acess to data such as vertex-colors and UV's, removing the need to store an MFace duplicate of custom-data. This doesn't yet move all internal code from MFace to LoopTri just yet. Only applies to: - opengl drawing - sculpting (pbvh) - vertex/weight paint Thanks to @psy-fi for review, fixes and improvements to drawing!
2015-07-10Sequencer: changes to text effect stripCampbell Barton
- default alignment to lower center. - placement is now relative, so changing output size keeps correct placement. - instead of center override, add align option (left/right/center). Also don't use pixel-size for setting the font size, on new strips. Better not have UI prefs impact low level API's.
2015-07-10Code cleanup: White space and dead code.Tamito Kajiyama
2015-07-10Freestyle: new stroke modifiersFolkert de Vries
This patch introduces a couple new stroke modifiers. The ones currently implemented are based on prototypes by @kjym3 and myself. The new modifiers: - Tangent - Thickness noise - Crease Angle - Simplification - Curvature 3D The documentation for these new modifier types can be found [[ http://www.blender.org/manual/render/freestyle/parameter_editor/index.html | in the manual ]]: {F134441} (left: AnisotropicThicknessShader, right: NoiseThicknessShader) {F140499} (left: Curvature 3D, right: Simplification) Author: Folkert de Vries (flokkievids) Reviewers: kjym3 Subscribers: #user_interface, plasmasolutions, kjym3 Projects: #bf_blender Differential Revision: https://developer.blender.org/D963
2015-07-10CustomData: deprecate CD_ID_MCOLCampbell Barton
2015-07-10DNA: replace GCC poison with ifdef for enumsCampbell Barton
2015-07-09Curve selection, de-duplicate & cleanupCampbell Barton
2015-07-05Change default for bevel to match previous behavior.Howard Trickey
Have reconsidered and feel it best to try matching previous behavior (doing "loop slides" where possible) as default. This will avoid the need to change regression tests, among other things.
2015-07-05Add 'loop slide' option to bevel. See T45260Howard Trickey
Current behavior of bevel is to 'loop slide' along unbeveled edges when possible, but this produces uneven bevel widths sometimes, so this option lets user choose between having the loop slide effect or having more even bevel widths. Trying it out with default being 'no loop slide', so different from current behavior. May reverse this choice later, depending on user reactions.
2015-07-03BGE: Add alpha to coverage render mode.Porteries Tristan
This patch add a new option for transparency meshes : Alpha to coverage, in the game setting panel in material. The alpha to coverage request a multisample, the best is 8x but 4x and 2x can also give nice render. 4x alpha clip : http://www.pasteall.org/pic/show.php?id=89464 4x alpha to coverage : http://www.pasteall.org/pic/show.php?id=89463 Reviewers: moguri, kupoman, campbellbarton, psy-fi Reviewed By: psy-fi Subscribers: lordloki, rdb Projects: #game_engine Differential Revision: https://developer.blender.org/D1354
2015-07-02Text effect strip for sequencer.Antony Riakiotakis
Is pretty much what it says :) Easy subtitles for everyone! Supports size, positioning, a cheap shadow effect (probably will need more work), and autocentering on x axis. Now you can go wild with long spanish names in your soap opera videos. Will probably be refined as days go by, but at least it's now ready for testing.
2015-07-02DerivedMesh: cleanup & minor edirsCampbell Barton
- place return args last position - move crazyspace function out of DerivedMesh header - use bool for args - flow control on own lines to ease debugging
2015-07-01Cleanup: Make select grouped effect code a bit more readableAntony Riakiotakis
2015-07-01Sequencer metadata:Antony Riakiotakis
Add option to render strip metadata to final result, bypassing current scene metadata.
2015-07-01User Prefs for NDOF dead-zoneCampbell Barton
D1344 with edits
2015-06-30Transform: add back absolute snapping optionCampbell Barton
This ensures that vertices are grid-aligned while transforming, instead of just snapping the input values for translate.
2015-06-28BGE: added clamping of angular velocity.Sybren A. Stüvel
Angular velocity clamping was missing from the BGE. It is implemented similarly to the linear velocity clamping. It is needed to be able to drive physical simulations of systems that have a limited rotational speed. Reviewed by: campbellbarton, panzergame, ton Differential Revision: https://developer.blender.org/D1365
2015-06-26Fix T45199 crash when editing material nodes.Antony Riakiotakis
Issue is data race between preview job and GPU nodetree evaluation when localizing the nodetree. Data race happens due to localizations doing overrides on original nodes' new_node variable. Solution here could probably be to use a hash for mapping of old to new nodes but will prefer simple brute force lock for now.