Commit Graph

2181 Commits

Author SHA1 Message Date
549248f64b Fix wrongly shorten labels in splash (allocated size was a bit too small, rB3c6b5b72a497). 2014-01-01 16:07:56 +01:00
0775e739b7 Fix T37947: large cursors now also work on linux/mac for the edit mode cross. 2013-12-31 02:00:21 +01:00
0d6ae3fda2 Main API: refactor naming, use BKE_main_ prefix and add main arg. 2013-12-30 13:25:27 +11:00
709041ed0b Threaded object update and EvaluationContext
Summary:
Made objects update happening from multiple threads. It is a task-based
scheduling system which uses current dependency graph for spawning new
tasks. This means threading happens on object level, but the system is
flexible enough for higher granularity.

Technical details:

- Uses task scheduler which was recently committed to trunk
  (that one which Brecht ported from Cycles).

- Added two utility functions to dependency graph:
  * DAG_threaded_update_begin, which is called to  initialize threaded
    objects update. It will also schedule root DAG node to the queue,
    hence starting evaluation process.

    Initialization will calculate how much parents are to be evaluation
    before current DAG node can be scheduled. This value is used by task
    threads for faster detecting which nodes might be scheduled.

  * DAG_threaded_update_handle_node_updated which is  called from task
    thread function when node was fully handled.

	This function decreases num_pending_parents of node children and
	schedules children with zero valency.

    As it might have become clear, task thread receives DAG nodes and
    decides which callback to call for it.

    Currently only BKE_object_handle_update is called for object nodes.

    In the future it'll call node->callback() from Ali's new DAG.

- This required adding some workarounds to the render pipeline.
  Mainly to stop using get_object_dm() from modifiers' apply callback.
  Such a call was only a workaround for dependency graph glitch when
  rendering scene with, say, boolean modifiers before displaying
  this scene.

  Such change moves workaround from one place to another, so overall
  hackentropy remains the same.

- Added paradigm of EvaluaitonContext. Currently it's more like just a
  more reliable replacement for G.is_rendering which fails in some
  circumstances.

  Future idea of this context is to also store all the local data needed
  for objects evaluation such as local time, Copy-on-Write data and so.

  There're two types of EvaluationContext:

  * Context used for viewport updated and owned by Main. In the future
    this context might be easily moved to Window or Screen to allo
    per-window/per-screen local time.

  * Context used by render engines to evaluate objects for render purposes.
    Render engine is an owner of this context.

  This context is passed to all object update routines.

Reviewers: brecht, campbellbarton

Reviewed By: brecht

CC: lukastoenne

Differential Revision: https://developer.blender.org/D94
2013-12-26 17:24:42 +06:00
c1c26c36f6 Style Cleanup: remove preprocessor indentation (updated wiki style guide too) 2013-12-22 14:12:19 +11:00
163e544006 Fix bookmarks not appearing in file browser after "copy previous settings". 2013-12-20 17:57:11 +01:00
2746f7ef28 Change recent fix for T37864, now only check if the file is readonly
Other error cases are already handled elsewhere
2013-12-20 02:27:15 +11:00
01745d359e Fix for T37864, save/save_as blend now refuses to save and report an error, when filepath is not writeable. 2013-12-19 09:57:44 +01:00
e9e08a1d12 Game Engine: Level of detail support and tools
Levels of detail can be added and modified in the object panel. The object
panel also contains new tools for generating levels of detail, setting up
levels of detail based on object names (useful for importing), and
clearing an object's level of detail settings. This is meant as a game
engine feature, though the level of details settings can be previewed in
the viewport.

Reviewed By: moguri, nexyon, brecht

Differential Revision: http://developer.blender.org/D109
2013-12-17 17:03:27 -08:00
e45a9a3aaa Radial control operator support for pixel properties 2013-12-12 20:07:40 +02:00
2195dd32cc Fix T37595: Switching modal transform broke with trackball rotation.
Id properties may have different sized "values" array depending on the
transform operator
2013-12-13 00:35:12 +11:00
5afc2a9a44 Code cleanup: assign win size to const vars and some renaming 2013-12-11 13:07:00 +11:00
8dc80e9d73 Style Cleanup 2013-12-10 13:45:17 +11:00
c6620905a7 Tooltips: abbreviate long python operator tooltips
Some tooltips would end up containing long string/array args spanning the screen.
2013-12-09 14:25:03 +11:00
51263c6637 Fix T37731: some window manager operators unnecessarily required a window to be active. 2013-12-08 00:00:51 +01:00
3f82e829e5 Correction to fix of T37688
rB68d39a262c90 didn't check correct file for doing
versioning code. It shall check userprefs.blend not
startup.blend.
2013-12-06 01:12:13 +06:00
68d39a262c Fix T37688: User Preferences do not load correctly
Issue was caused by from_memory=true passing to wm_homefile_read
in case there's a configuration folder for current blender.

But the thing is, we still might fallback to reading home file
from memory (i.e. in cases there's no startup.blend in config
folder).

In this case we still need to run versioning code for userprefs.
2013-12-05 19:32:48 +06:00
6976866d5a User Interface: Ctrl+C over a menu copies the py command
also use bools rather then ints
2013-12-05 17:26:03 +11:00
8cc229da93 Correct previous commit with BLF & buildinfo 2013-12-02 22:20:27 +11:00
bf55eeb216 Code cleanup: minor changes to custom startup file property use 2013-11-30 18:41:42 +11:00
72272d2e4f D54: Added a filepath attribute to the read_homefile operator.
This attribute allows to open a blend file as an alternative
start-up file. The attribute is only available from python.
This is an example call:

    bpy.ops.wm.read_homefile(filepath='path/to/a/file.blend')

This patch also changes readfile.c to ensure that unintentionally
stored cursor states are not imported from the loaded file.
2013-11-29 23:13:55 +01:00
285e09bceb Fix T37149: Macros store settings from a cancelled operation 2013-11-29 16:01:03 +11:00
57b3878efb Code cleanup: avoid using function calls within macros 2013-11-29 15:26:17 +11:00
95bf31e4fe Resolve T37240: saving a new file always had absolute paths, now remap. 2013-11-27 21:15:19 +11:00
8a54336ff7 Fix T36976: drag and drop tooltip not working with retina and drawing off
screen near top of the window.

The code here was not updated for retina / DPI changes yet. The tooltip also
could draw off screen when dragging to a button at the top of the window, now
it places the tooltip lower in such cases.

Offscreen drawing fix is based on patch by Antony Riakiotakis.
2013-11-26 21:36:53 +01:00
02f90c0001 User Interface: don't show macro args in tooltips
was often making much too big strings to show in a tip.
2013-11-26 09:00:24 +11:00
07bde9e797 Usual ui messages fixes... 2013-11-25 22:51:46 +01:00
63caaa2b12 Code Cleanup: rename vars for detecting change to be more consistent
rename change/is_change/is_changed/modified -> changed
also use bools over int/short/char and once accidental float.
2013-11-26 06:39:14 +11:00
24990ff0bf UI: hide internal properties of radial control operator from user.
Ref T37438 for the associated design task.

Reviewed By: brecht, dingto

Differential Revision: http://developer.blender.org/D37
2013-11-25 12:21:46 +01:00
c5944812d6 User Defaults: Change user defaults based on decission by new UI team - T37518
Currently these changes are not saved in startup.blend to avoid bloating
our repo whenever we want to make minor changes.
2013-11-25 11:51:23 +11:00
a5183d7a87 Code Cleanup: use NULL for pointer checks and remove joke. 2013-11-22 10:43:42 +11:00
b0ea93aa9d * Remove more code for stars, missed those. Sorry! 2013-11-20 19:37:23 +01:00
106699ecd7 Fix T37301: Command line render gives seg fault 11 on OS X
Issue was caused by wm->defaultconf being NULL when in
background mode which made keymap modifications from a
script crash.

Reviewed by Brecht, thanks!
2013-11-18 15:01:02 +06:00
f9785bdeb4 * Some less technical tooltip for the splash screen. 2013-11-17 00:44:08 +01:00
87c66bc6a4 Documentation:
* Update readme for 2.70 (content + links), also updates for new tracker/git.
* Fix some links to the new blender.org website
* Release logs now point directly to the wiki, I don't see a reason to point to the website, just to redirect to the wiki after all.
2013-11-17 00:37:12 +01:00
927dea436e Further tweaks to buildinfo
Summary:
Old idea with changes since previous release tag
didn't work good enough. In most of the cases tag
was done in a branch hence not actually reachable
from the master branch.

Now change since release is gone, and date of
the latest commit is used instead.

The date is displayed in format YYYY-MM-DD HH:mm
in the splash.

New bpy.app fields:

- build_commit_timestamp is an unix timestamp of
  the commit blender was build from.
- build_commit_date is a date of that commit.
- build_commit_time is a time of that commit.

Reviewers: campbellbarton

Differential Revision: http://developer.blender.org/D5
2013-11-15 18:05:27 +06:00
ad34a5cc1b Fix [#34675] *AFTER 2.69* Info view shows duplicate operators with incorrect values of args
Refactored a bit WM api to generate operator's pystring, now it can also handle correctly macro operators. Thanks to Campbell for the review!
2013-11-06 20:56:18 +00:00
Lukas Toenne
61c411068b Patch #37274: Circle select for node editor, by Henrik Aarnio (hjaarnio).
Circle select was missing from node editor, and C key was assigned to now defunct "show cyclic dependencies". This patch remaps the key and adds circle select operator.
Functions to check intersection between rctf/rcti and a circle were also added to rct.c for code cleanliness and consistency.
2013-11-06 19:21:42 +00:00
78d8a14174 OSX: complety remove the cocoa options, definitions and conditionals now 2013-11-05 15:37:59 +00:00
8bc46d5be2 OSX/cmake: carbon cleanout 2013-11-05 14:05:37 +00:00
518c505a15 OSX: remove obsolete file and adapt scons 2013-11-05 14:02:33 +00:00
2010c6ad6c Made buildinfo aware of builds from GIT
- Use commit number since last annotated tag as a
  revision number replacement. It'll eb followed
  by 'M' symbol if there're local modification in
  the source tree.

- Commit short SHA1 is included. Helps getting
  information about commit used to build blender
  with much faster.

- If build is not done from master branch, this also
  will be noticed in the splash screen.

This commit also replaces revision stored in the
files with git-specific fields (change and hash).
This is kind of breaks compatibility, meaning
files which were saved before this change wouldn't
display any information about which revision they
were saved with. When we'll finally switch to git,
we'll see proper hash and change number since
previous release in the files, for until then
svn version will be used as a change number and
hash will be empty.

Not a huge deal, since this field was only used
by developers to help torubleshooting things and
isn't needed for blender itself.

Some additional tweaks are probably needed :)
2013-11-04 13:21:39 +00:00
Lukas Toenne
c9fdec14f5 Fix #37261 Rendering a Render Layer from another scene doesn't update.
The scene pointer used for looking up the appropriate source of render result images in the image editor was always taken from context. This means that render results for a different scene would never be
displayed in the image editor.

To give feedback on running renders, try to get the running render job's scene pointer in the image editor for render result type images. This only happens during rendering, apart from that the regular
context scene result is displayed.
2013-10-31 17:20:31 +00:00
bd17d2371f cancelling an operator popup now calls the operators cancel callback. 2013-10-30 23:15:27 +00:00
7267221715 remove return argument from wmOperatorType->cancel, was only ever returning OPERATOR_CANCELLED. 2013-10-30 23:08:53 +00:00
41587de016 patch [#37217] Make WM_gesture_lines draw the lasso unfilled. (Adding reroute nodes, cutting node links)
by Henrik Aarnio (hjaarnio)
2013-10-29 00:05:03 +00:00
304a32bf1f style cleanup 2013-10-23 02:52:27 +00:00
ef765b3606 Fix [#37077] User prefs > Input and Outliner Keymaps mismatch in representation.
Remove KeyMap mode from outliner, was an old half-finished features redondant with user preferences settings...

Also moved key map item's "event type to map type" and map type defines at WM level, this is too much generic to be at RNA level.

Also added a check in versionning code to convert all outdated outliner modes to a valid one (seems old 'verse' ones were not handled as well).

Thanks to Brecht for reviews and advices!
2013-10-15 13:55:06 +00:00
eabf7ab335 code cleanup: utility function for getting a bool as a string. 2013-10-13 00:32:31 +00:00
ea8b44cc15 style cleanup 2013-10-09 21:19:25 +00:00