Commit Graph

2457 Commits

Author SHA1 Message Date
Campbell Barton
447e9a4cd5 add option to enable auto-execute scripts, but exclude certain directories. 2013-06-18 18:11:52 +00:00
Campbell Barton
0fab77023d fix for building c++ rna api with recently added smoothgroup api call. 2013-06-14 14:57:35 +00:00
Jeroen Bakker
cc3476b07e Fix for
* [#35724] Backdrop zoom can be set to a very small value, making the backdrop disapear.

There were checks in the drawnode that needed to be placed in the readfile.
The checks checked if the zoomlevel was 0.0, then it was defaulted to 1.0, but the zoomvalue had a minimum limit of 0.01, hence it did not work.
Moved the check to the readfile and checked for all values smaller then 0.02. These values are then reset to 1.0

Jeroen & Monique
 - At Mind -
2013-06-14 13:56:00 +00:00
Campbell Barton
a6b505ef0b style cleanup 2013-06-06 06:02:46 +00:00
Lukas Toenne
4c2a51e1f9 Fix #35640, part 1. Set the id.lib pointer for nested bNodeTree data blocks inside material, scene, etc. on lib_link, so that the UI buttons get disabled when editing linked node trees. Thanks to Brecht
van Lommel for suggesting this fix.
2013-06-05 19:06:27 +00:00
Lukas Toenne
281e538be0 Fix #35570, old group nodes with empty socket name strings crash. The identifier assignment was not taking potentially empty name strings into account. In addition some of the BLI_uniquename calls were
not passing a valid defname parameter, also crashing.
2013-05-30 11:51:21 +00:00
Campbell Barton
225c5fee6b move BLO_sys_types.h -> BLI_sys_types.h (it had nothing todo with loading)
remove MEM_sys_types.h which was a duplicate.
2013-05-28 19:35:26 +00:00
Miika Hamalainen
d3a6c0c834 Smoke simulator: Add flow subframes and ability to set custom particle size.
Previously it was nearly impossible to have fast moving objects emitting smoke or they would just leave behind a row of smoke poofs instead of continious stream of smoke. Now it's possible to set number of subframes for each smoke flow.

Another new thing is ability to set size of smoke flow particles instead of using closest smoke cell. This also works with my earlier "full sample" commit, so no more blocky particles either. :)

For more info check my blog post: http://www.miikahweb.com/en/blog/2013/05/17/blender-smoke-subframes

This commit also includes couple of fixes I spotted while testing:
* Fix: dissolve was applied at different time for low res and high res simulations.
* Fix: full sample setting didn't get copied with domain.
2013-05-17 17:45:37 +00:00
Brecht Van Lommel
8160027ff8 Fix for version patch in recent smoke commit, was using && instead of &. 2013-05-10 16:57:20 +00:00
Miika Hamalainen
2f9f3dd590 Smoke: Add new "Full Sample" option to high resolution smoke panel.
This is hopefully the ultimate solution against smoke blockiness near emitter.

Previously high resolution flow/emitter voxels were generated based on the low resolution ones. So if you had 32 resolution and 4 division high resolution, it still used smoke flow generated from those 32 resolution voxels. Now I introduced a new sampling method called "Full Sample" that generates full resolution flow for for high resolution domain as well.

Read more about it in my blog post: https://www.miikahweb.com/en/blog/2013/05/10/getting-rid-of-smoke-blockiness

Also changed "quick smoke" operator default voxel data interpolation mode to "Cubic B-Spline" to smoothen out it even more.
2013-05-10 16:18:00 +00:00
Thomas Dinges
c1f408c058 Partial revert of own commits r56604 and r56603:
* Reverted the changes to code comments, as suggested by Campbell. It makes it more hard to follow.
* Only keep changes to actual UI messages.
2013-05-09 10:03:38 +00:00
Lukas Toenne
3fb67ac16d Fix for do_versions bug with node groups: The special case of direct input-to-output connections was not handled correctly. In this case both the tonode and fromnode pointers in old node groups are NULL. 2013-05-09 08:29:59 +00:00
Thomas Dinges
e0edac4952 UI naming consistency:
* ShapeKey -> Shape Key. Was called "Shape Key" in most places already.

Pointed out by Dalai, thanks!
2013-05-08 21:41:47 +00:00
Campbell Barton
9514a28e4f code cleanup: remove redundant check in writedata(). 2013-05-08 13:00:06 +00:00
Ton Roosendaal
aa959b4e7d Putting undefined versioning to only older than 2.67. 2013-05-07 16:35:37 +00:00
Sergey Sharybin
5455928262 Fix #35122: Blenderplayer crashes when loading level
Issue was caused by ntreeUpdateTree calling for a ntree
which is not in G.main.

This lead to issues in ntreeVerifyNodes (which is called
from ntreeUpdateTree).

Made is so ntreeUpdateTree now accepts main as an argument.
Will work for the release, later we could either solve the
TODO mentioned in ntreeUpdateTree which will eliminate need
in main there or make it so context's main is used from all
over where ntreeUpdateTree is called (currently there're
still some usages of G.main).
2013-05-07 15:28:42 +00:00
Sergey Sharybin
88129ac395 Fix for crash when using 2D stabilization for float movie clips
Also removed unneeded image buffer scaling, it was only needed
for "early output" if there was no rotation. That is no longer
supported since it used to pixelate result a lot and interpolation
is always used now.

Saves quite a few of memory and CPU cycles.
2013-05-06 17:59:02 +00:00
Sergey Sharybin
ad7a74f58d Another correction to svn rev56509
Initial fix was not fully working, because faulty
edge shared the same address as screen area. This
lead to screen freeing issues -- double free (which
was supressed by guarded allocation actually) but
also freed memory access when iterating via edges
to free them.

Solved by a small hack which removes edges with bad
vertices from edges list. This prevents double-free
and freed memory access cased by corrupted files we're
currently fixing. In other cases this tweak is likely
be harmless -- in worst case scenario it'll lead to
small memory leak, which is not as much lethal as
freed memory access.
2013-05-06 12:27:14 +00:00
Sergey Sharybin
5282c4d003 Fix for uninitialized variable in previous commit. 2013-05-06 11:38:21 +00:00
Ton Roosendaal
b299b039f7 Bug fix #35179
Added provision for saved corrupt blend files - caused by a startup.blend 
addressing > 16 GB space, which was read in 32 bits.

Now an invalid screen will get removed immediate after read. Might give
a memory-not-in-memlist print, but that's quite safe.
2013-05-06 11:23:13 +00:00
Lukas Toenne
f01986c97c Fix for #35147, view in backdrop and image editor in compositor don't work anymore. The active_viewer_key which sets the active node tree to use for the viewer image was not initialized in do_versions yet. 2013-04-30 07:40:15 +00:00
Mitchell Stokes
46dad61e50 BGE: Fix for [#34383] Blender crash Steering actuator 2.66 -> 2.59 -> 2.66. Reported and fixed by HG1. 2013-04-28 06:13:24 +00:00
Brecht Van Lommel
dbeec2be86 Fix #34783: smoke simulation crash when changing frame while preview rendering.
Added a mutex lock for smoke data access. The render was already working with a
copy of the volume data, so it's just a short lock to copy things and should not
block the UI much.
2013-04-24 17:31:09 +00:00
Antony Riakiotakis
157244b13c Add stencil control for mask overlay. Key combinations are the same as
regular stencil but use Alt as well, so Alt-Rclick is translation, Alt-
clamping to avoid scaling of stencil to zero.
2013-04-23 00:06:22 +00:00
Sergey Sharybin
53479be581 Fix #35037: Compositor: MultilayerEXR + undo loses image. Crash when selecting in Image Editor
Issue was cause dby ima->ibufs being stored in a ma on
undo/redo and ima->rr not. In case of multilayer image
ibufs hares pointer with render result, so current
undo/redo policy lead to a dead pointer stored in ibuf.

Made it so ima->rr also stores in the map and restores
on redo/undo keeping all the pointers fine.
2013-04-22 10:08:58 +00:00
Campbell Barton
5c72a19c09 add display mode for sharp edges. 2013-04-18 17:09:56 +00:00
Campbell Barton
8a06acfd7a add mesh distort display mode (highlights distorted faces) 2013-04-18 04:24:18 +00:00
Lukas Toenne
3d78032251 Fix for node editor lib_link and memfile restore (undo): The snode->nodetree/first tree path pointer was not properly mapped on file load due to the fact that it's stored locally in other ID data blocks. Undo was restoring the pointer correctly, but used an ugly hack. Now the SpaceNode->id pointer is linked first, then the datablock is checked for an internal node tree, which is then used instead of trying to lib-link the node tree pointer. 2013-04-17 15:55:10 +00:00
Campbell Barton
14f9f167b2 display options to help with 3d printing.
editmesh debug info,
- overhang (with axis angle options)
- wall thickness (with min/max distance)
- self-intersections.

access below 'Mesh Display' panel.
2013-04-17 09:27:23 +00:00
Ton Roosendaal
ae58968e0a Blender Internal Render in viewport
Because of our release soon, feature has been added behind the Debug Menu.
CTRL+ALT+D and set it to -1. Or commandline --debug-value -1.

When debug set to -1, you can put the viewport to 'render' mode, just like
for Cycles. Notes for testers: (and please no bugs in tracker for this :)

- It renders without AA, MBlur, Panorama, Sequence, Composite
- Only active render layer gets rendered. Select another layer will re-render.
- But yes: it works for FreeStyle renders!
- Also does great for local view.
- BI is not well suited for incremental renders on view changes. This only
  works for non-raytrace scenes, or zoom in ortho or camera mode, or for 
  Material changes. In most cases a full re-render is being done.
- ESC works to stop the preview render.
- Borders render as well. (CTRL+B)
- Force a refresh with arrow key left/right. A lot of settings don't trigger
  re-render yet.

Tech notes:

- FreeStyle is adding a lot of temp objects/meshes in the Main database. This
caused DepsGraph to trigger changes (and redraws). I've prepended the names
for these temp objects with char number 27 (ESC), and made these names be
ignored for tag update checking.

- Fixed some bugs that were noticable with such excessive re-renders, like 
  for opening file window, quit during renders.
2013-04-16 17:39:20 +00:00
Antony Riakiotakis
c1276960e8 Fix some names, and move overlay flag to overlay_flags. 2013-04-16 15:59:02 +00:00
Lukas Toenne
d1f90abfa9 Removed the extra ntree->update flag check in lib_verify_nodetree in readfile.c. This is unnecessary as the update flag will be checked internally in ntreeUpdateTree anyway, except for the generic bNodeTreeType->update callback (it could even be harmful by preventing necessary updates that don't use the ntree->update flag). Executing this once after loading a node tree is a useful feature for pynodes, so they can do initial verification. 2013-04-15 07:58:15 +00:00
Campbell Barton
2baa59e36d code cleanup: remove unused string formatting in bli_adddirstrings(), also remove unused initializations and comment unused vars. 2013-04-13 14:57:08 +00:00
Brecht Van Lommel
55ac53fcde Fix #34322: cycles crash with (undo) save during threaded render. The mesh save
code was modifying pointers in the Mesh which gave crashes with another thread
accessing the data at the same time. This could crash other threaded operations
like blender internal render or physics baking too but was less likely.

As a solution I've now changed the save code that it does not modify the mesh
data structure in place but rather a copy, as undo file saving should probably
be fully read-only regardless of how an improved threading architecture might
work.

Thanks to Sergey for tracking down the cause of this crash.
2013-04-12 15:33:09 +00:00
Sergey Sharybin
27097d1373 Blender is compilable with strict compiler flags again 2013-04-12 13:01:50 +00:00
Sergey Sharybin
0d86c3f84c Image draw method option
This option replaces previously added GPU limit
option, which became tricky to follow after GLSL
display space conversion.

There're 4 modes available:
- AUTO which will try to guess which mode is
  best to use.
  Currently It'll try using GLSL and if it fails,
  will fallback to 2D textures.
  Probably it'll make sense checking on whether
  2D textures works well but currently such behavior
  shall be sufficient.
  Later we could make this method smarter (for example
  don't try to use GLSL on certain GPU or so).
- GLSL will currently behave the same way as AUTO,
  but it is intended to always try using GLSL
  (unless it can not be used because of existing
  limitation of dither and RGB curves).
- 2D Textures will use CPU-based color space conversion
  and use OGL 2D Texture to display the image.
  Image will be displayed in tiles, so there shall be
  no big GPU memory consumption.
- DrawPixels will straightly fallback to glDrawPixels
  without trying to use any fancy GPU stuff.

Hopefully this will also fix
#34943: Blender crashes when resizing the Compositing Screen Window
2013-04-12 10:52:47 +00:00
Antony Riakiotakis
eaa577dfc9 Compatibility and robustness:
* Make masking depend on texture mode only if there's an actual texture
present
* New stroke system uses diameter to calculate stroke spacing, while old
texture painting brushes and system used radius. So divide spacing of
brushes in old files to half. Since I expect trunk users to have already
adapted this, I do this for an old subversion of blender.
2013-04-08 19:56:38 +00:00
Campbell Barton
fcf137dbd7 style cleanup 2013-04-08 04:39:09 +00:00
Tamito Kajiyama
4c16d3e231 Pre-merger changes.
Deprecated Freestyle-specific elements were removed from the code base,
in order to address all comments from branch code reviews.
https://codereview.appspot.com/7416049/

Backward compatibility won't be maintained in the following components:

- Freestyle edge/face marks in old .blend files are ignored.

Old .blend files can be converted by loading and saving the files using
a Freestyle branch build between revision 55581 and 55842.

- External style modules are no longer supported.

Instead text datablocks must be used to keep style module files within
.blend files.  A branch build between revision 55741 and 55842 is useful
for identifying the style module file names that need reconfiguring.
2013-04-06 14:45:50 +00:00
Sergey Sharybin
acfc0ea511 svn merge ^/trunk/blender -r55815:55840 2013-04-06 13:24:34 +00:00
Campbell Barton
93ac968db3 code cleanup: include order 2013-04-05 17:56:54 +00:00
Campbell Barton
89926a0598 svn merge ^/trunk/blender -r55776:55813 2013-04-05 15:42:31 +00:00
Lukas Toenne
b31ca01357 Fix #34873, Custom min/max node values get reset randomly while working and on save and quit. Node group socket interface was not storing the default_value struct in writefile.c, forgot to add this back when returning to DNA data for node sockets. 2013-04-05 11:16:06 +00:00
Campbell Barton
83fff218cc svn merge ^/trunk/blender -r55700:55776 2013-04-04 13:37:07 +00:00
Sergey Sharybin
845aea6864 Clip editor prefetch changes
Made it an operator instead of automatic prefetching.
Filling the whole memory with frames is not always
desired behavior.

Now prefetching is available via P-key, or from Clip
panel in toolbox or from Clip menu.

Also enabled prefetching for non-proxied movies.
2013-04-04 09:50:38 +00:00
Lukas Toenne
07677e836f Fix for old compatibility issue: 2.59.2 do_versions was not handling all local node trees (world and lamp missing). 2013-04-03 11:36:48 +00:00
Campbell Barton
d407aeecc7 code cleanup: use more (blender) conventional naming for group functions.
also change dump_rna2xml.py to dump bpy.data by default.
2013-04-03 11:28:42 +00:00
Lukas Toenne
9512ae1a4a Fix #34838, Can not append mesh from 2.5 (Crash in Nodes). The compatibility code for node group socket indices was assuming the new group node types even for 2.56.2 files, before these node groups had actually been converted ... Needs to use old way of identifying node group links (fromnode/tonode == NULL) instead of input/output node types. 2013-04-03 08:25:29 +00:00
Tamito Kajiyama
1e8d69ac74 Use of text datablocks for storing Python style modules.
Suggested by Brecht Van Lommel and Campbell Barton through code review comments.

Previously style modules were external Python script files whose absolute paths
were kept in .blend files.  Now style modules are stored in .blend files as text
datablocks.

Style modules are configured in three steps:
1. Open an external style module file (or create a new text datablock) in the
Text Editor in Blender.
2. Add a style module to the list of style modules (by pressing the "Add" button)
in the Render Layer properties window.
3. Click the name entry and select the style module from the drop-down menu.
2013-04-03 00:00:29 +00:00
Tamito Kajiyama
eec0d2ee53 Removed ME_CDFLAG_FREESTYLE_EDGE and ME_CDFLAG_FREESTYLE_FACE from Mesh::cd_flag.
Suggested by Campbell Barton through a review comment of the Freestyle branch.
2013-04-01 18:32:19 +00:00