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-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.
2015-06-23Fix T45051: Curve parent bug.Bastien Montagne
PARCURVE is deprecated parting type, should never have been exposed to user! Not a regression, but safe enough for final 2.75 imho.
2015-06-12Support metadata display in clip editorAntony Riakiotakis
2015-06-11Fix T45032 allow float rotational values for numpad rotationAntony Riakiotakis
2015-06-11File Browser Arrow Keys NavigationJulian Eisel
Adds support for selecting/deselecting files in File Browser using the arrow keys. All directions (up, down, left, right) are possible. When to Select, When to Deselect? Standard behaviour is selecting, however if we move into a block of already selected files (meaning 2+ files are selected) we start deselecting Possible Selection Methods Simple selection (arrow-key): All other files are deselected Expand selection (Shift+arrow key): Add to/remove from existing selection ill-Expand selection (Ctrl+Shift+arrow key): Add to/remove from existing selection and fill everything in-between From which file do we start navigating? From each available selection method (Mouse-, Walk-, All-, Border Select), we use the last selected file. If there's no selection at all we use the first (down/right arrow) or last (up/left arrow) file. (Ideally, the view would automatically be set to the new selection, but this behaviour overlaps with an other patch I've been working on, so prefer to do that separately) (Also tweaks color for highlighted file for better feedback) D1297, Review done by @campbellbarton, thx a lot :)
2015-06-11Expose debug type into the interfaceSergey Sharybin
This way it is now possible to select which exact debug pass is to be used by the render engine. Accessible from the Passes panel. Currently it could only be one debug pass, in the future we can make menus and image users smarter and support multiple passes of the same type.
2015-06-05Check ftell return valuesCampbell Barton
2015-06-04BMesh decimate, improve behavior with weightsCampbell Barton
Add slider to adjust the influence of weights relative to geometry distortion. This allows subtle influences to be applied - without drastic changes in behavior.
2015-06-04Fix modifiers stack not recalculated when mapping requirements changeAntony Riakiotakis
Reported by pixaal on irc, basically reproducable by inserting bevel modifier on cube and entering/exiting texture paint mode. Now object stores last needsMapping variable as well as customdata mask. Also now texture painting only needs mapping when we are in texture paint selection mode, so modifiers that don't support mapping can still be used to paint now.
2015-05-26Images: Solve broken forward compatibility with packed imagesSergey Sharybin
Use first packed image as legacy image->packedfile, so saving .blend file with latest builds makes it so packed images are not lost when opening with previous releases. This will only work reliably if mutliview is not used, otherwise it'll be only first view in the .blend file, which is rather expected since previous releases are not aware of views.
2015-05-17CMake: correct file listingCampbell Barton
2015-05-15Scene audio naming cleanup:Antony Riakiotakis
Remane sound_scene_handle to playback handle. sound_scene_handle was a part of scene so we could see code like scene- often in the same function. If I understand things correctly, in audaspace lingo, the playback_handle corresponds to a Reader while the scene_sound corresponds to a Factory. More cleanups will be done here later, but changing this now because my brain hurts trying to remember which is which...
2015-05-15Zoom to frame options, requested by the Hwoozeberry (dutch translation)Antony Riakiotakis
team. There are 3 options here: 1) Keep range (previous behaviour) 2) Seconds - allows a specified offset in seconds around current frame 3) keyframes - zoom to include a number of keyframes around the cursor Options 2 and 3 have their own properties to tweak the behaviour and all options can be found in User Preferences->Interface under the 2D viewports section. Number 3 will probably need some refinement so commiting here for the hwoozeberry team to test first.
2015-05-12Depsgraph: Attempt to fix alignment issue on 32bit platformsSergey Sharybin
2015-05-12Depsgraph: New dependency graph integration commitSergey Sharybin
This commit integrates the work done so far on the new dependency graph system, where goal was to replace legacy depsgraph with the new one, supporting loads of neat features like: - More granular dependency relation nature, which solves issues with fake cycles in the dependencies. - Move towards all-animatable, by better integration of drivers into the system. - Lay down some basis for upcoming copy-on-write, overrides and so on. The new system is living side-by-side with the previous one and disabled by default, so nothing will become suddenly broken. The way to enable new depsgraph is to pass `--new-depsgraph` command line argument. It's a bit early to consider the system production-ready, there are some TODOs and issues were discovered during the merge period, they'll be addressed ASAP. But it's important to merge, because it's the only way to attract artists to really start testing this system. There are number of assorted documents related on the design of the new system: * http://wiki.blender.org/index.php/User:Aligorith/GSoC2013_Depsgraph#Design_Documents * http://wiki.blender.org/index.php/User:Nazg-gul/DependencyGraph There are also some user-related information online: * http://code.blender.org/2015/02/blender-dependency-graph-branch-for-users/ * http://code.blender.org/2015/03/more-dependency-graph-tricks/ Kudos to everyone who was involved into the project: - Joshua "Aligorith" Leung -- design specification, initial code - Lukas "lukas_t" Toenne -- integrating code into blender, with further fixes - Sergey "Sergey" "Sharybin" -- some mocking around, trying to wrap up the project and so - Bassam "slikdigit" Kurdali -- stressing the new system, reporting all the issues and recording/writing documentation. - Everyone else who i forgot to mention here :)
2015-05-11Expose PreviewImage & custom icons to py API.Bastien Montagne
This commit mainly: * Exposes PreviewImage struct in RNA, including ways for user to set images data. * Adds a new kind of PreviewImage, using a file path and IMB_thumb to get image. * Adds a new kind of custom icon using PreviewImage, unrelated to ID previews system. * Adds a python API (utils.previews) to allow python scripts to access those custom previews/icons. Note that loading image from files' thumbnails is done when needed (deferred loading), not when defining the custom preview/icon. WARNING: for release addons who would want to use this, please keep it to a strict minimum, really needed level. We do not want our UI to explode under hundreds of different flashy icons! For more info, see also the release notes of Blender 2.75 (http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.75/Addons) and the example/templates featured with Blender. Patch by Campbell (ideasman42), Inês (brita) and Bastien (mont29). Differential Revision: https://developer.blender.org/D1255
2015-05-11GHash: avoid redundant castsCampbell Barton
2015-05-11Outliner: postpone rebuilding the treeCampbell Barton
On existing Blender could rebuild tree many times (on freeing each ID). Use a flag instead of immediately rebuilding.
2015-05-08Revert "Motionpaths: Use scene range option, takes start/end frame andAntony Riakiotakis
preview" Looks like this does not work for animators here after all, will use a different code for this (probably not hardcoded) This reverts commit 3bbb4020e7f0fae80a5edd31e19b7fa97d2149e4.
2015-05-08Motionpaths: Use scene range option, takes start/end frame and previewAntony Riakiotakis
settings into account.
2015-05-07DNA; document how to ignore a structCampbell Barton
2015-05-06Feature request: Dyntopo detail expressed in percentage of brush radius.Antony Riakiotakis
Not sure how useful this will be but people have requested it so, here it is...
2015-05-04Cleanup: style & const'sCampbell Barton
2015-05-04Separate scene simplification into viewport and renderSergey Sharybin
This way it is possible to have viewport simplification bumped all the way up, making viewport really responsive but still have final render to use highest subdivision possible. Reviewers: lukastoenne, campbellbarton, dingto Reviewed By: campbellbarton, dingto Subscribers: dingto, nutel, eyecandy, venomgfx Differential Revision: https://developer.blender.org/D1273
2015-05-04Support displaying metadata for images in sequencer preview windows (notAntony Riakiotakis
backdrop)
2015-04-30UI: use enum for thumbnail sizeCampbell Barton
2015-04-29File browser - change thumbnails size with a sliderBastien Montagne
We can now scale from 32px up to 256px (default has been upgraded to 128px). Thumbnails are now generated as 'large', i.e. 256px. Previews are scaled up if necessary, unlike icons (for folders or files without preview images). Note that .blend thumbnails themselves remain in 128px for now (they are embeded in .blend files, not quite sure we want to make them four times bigger...). Patch by DMS (Yaron Dames), with final edits by myself. Reviewers: mont29 Subscribers: Severin, mont29 Differential Revision: https://developer.blender.org/D1260
2015-04-28Curves: don't use 'charidx' for regular curvesCampbell Barton
Code attempted to sync them with materials, but its not needed (and wasn't reliable).