Commit Graph

432 Commits

Author SHA1 Message Date
Sergey Sharybin
93048873f1 Fix compilation error of blenderplayer after recent constraint commit 2015-03-19 19:10:40 +05:00
Sergey Sharybin
2ef2f085fb Add an option to mesh.calc_tessface() to get rid of polygons and loops
The purpose of this change is to add extra possibility to render engines and
export scripts to reduce peak memory footprint during their operation.

This new argument should be used with care since it'll leave mesh in not really
compatible with blender format, but it's ok to be used on temp meshes.

Unfortunately, it's hard to get scene where it'll show huge benefit because
in my tests with cycles peak memory is reached in MEM_printmemlist_stats().

However, in the file with sintel dragon it gives around 1gig of memory benefit
after removing the polys which would allow other heavy to compute stuff such as
hair (or even pointiness calculation) to not be a peak memory usage.

In any case, this change is nice to have IMO, and only means more parts of
scene export code should be optimized memory-wise.

Reviewers: campbellbarton

Differential Revision: https://developer.blender.org/D1125
2015-03-13 17:39:21 +05:00
Bastien Montagne
9e2abbc9ba FileBrowser: Editable Bookmarks.
Bookmarks are now editable (i.e. you can rename them, and reorder them).
They are also listed in regular UILists, so you can filter/sort them as usual too.

Also, FileBrowser 'T' side area is changed to something similar to 3DView one,
in this case because we need op panel to remain at the bottom, and later because
we'll more than likely need tabs here!

Thanks to Campbell and Sergey for reviews.

Differential Revision: https://developer.blender.org/D1093
2015-02-11 00:09:45 +01:00
Bastien Montagne
4f1e387588 UI: add optional tip callback to uiBut, and use it for per-item tooltips in UIList.
When defined, uiBut->tip_func is called when button's tip is generated. This allows
for advanced, dynamic generation of tooltips.

For now, only used by UIList, which can now optionaly use a given string property
of each item for its tooltip.

Thanks to Campbell for the reviews!
2015-02-11 00:07:09 +01:00
Bastien Montagne
2d86f58e0f And one more infamous BPlayer Fix (tm).
Seriously, please build complete Blender when you change some public func signature...
2015-01-27 16:28:54 +01:00
Sergey Sharybin
c2a7f26cbc Add missing stub to the player, so buildbot keeps delivering gooseberry builds 2015-01-20 09:30:10 +01:00
Bastien Montagne
1187b98d48 Fix T43174: "Record animation" does not update fcurve handles
`INSERT_FAST` implies you call `calchandles_fcurve()` at the end...
For now, since we do not store edited FCurves nor can we get them easily
(requires RNA...), just update handles of all fcurves, it's much more
performant than removing usage of `INSERT_FAST` anyway.
2015-01-09 15:29:47 +01:00
Martin Felke
e0e9cd0163 PyAPI: Call to get the pixel x,y in a text block
This allows scripts to request the screen location of any (line, column) pair.
2015-01-08 01:22:11 +11:00
Antony Riakiotakis
19eb700fef Fix blenderplayer compilation (tm) 2014-12-11 20:34:53 +01:00
Jens Verwiebe
871cf70144 Fix playercompile after ecc03c8ed 2014-12-05 18:51:19 +01:00
Campbell Barton
b00a943fe8 UI: avoid property lookup for uiItemMenuEnumR 2014-11-24 21:05:47 +01:00
Bastien Montagne
19cc516f51 Refactor: Move part of vgroup handling code from ED_mesh/object_vgroup.c to BKE_object_deform.
Along with some minor cleanup and simplifications.

Reviewers: campbellbarton

Subscribers: sergey

Differential Revision: https://developer.blender.org/D903
2014-11-18 23:52:29 +01:00
Jens Verwiebe
ffbb950da9 Fix player compile ( take into account to textcompile with player always aka default on in cmake too) 2014-11-18 16:45:52 +01:00
Bastien Montagne
1e5d508567 Cleanup: Shapekey: get rid of ED_vgroup_object_is_edit_mode()
It was doing exactly the same thing as `BKE_object_is_in_editmode_vgroup()`, tsst...
2014-11-17 20:33:25 +01:00
Campbell Barton
5c6e333780 UI Refactor T41640
Make the UI API more consistent and reduce confusion with some naming.

mainly:
- API function calls
- enum values

some internal static functions have been left for now
2014-11-10 23:06:54 +01:00
Campbell Barton
26b5fb8f58 Correct stub 2014-10-29 17:27:32 +01:00
Jens Verwiebe
485293647f Player: fix conflicting type introduced in 2f0bdcb306999 2014-10-28 21:39:54 +01:00
Campbell Barton
2f0bdcb306 Fix T41041: 'Delete keyframe' removes markers too
Operators that trigger UI events (but nothing else)
were using 'CANCELLED' making it impossible to tell if an invoke
function failed, or opened a menu.
2014-10-28 17:51:43 +01:00
Campbell Barton
cb7afe5e41 WM: unneeded alloc the operator-type iterator 2014-10-28 15:41:05 +01:00
Antony Riakiotakis
928be3013a Classic blenderplayer fix + small optimization 2014-10-09 16:05:00 +02:00
Bastien Montagne
b4860de6f1 One more bplayer infamous stub fix! 2014-10-06 20:28:21 +02:00
Bastien Montagne
69356b0b9b Fix freestyle/bplayer build (usual stub stuff). 2014-10-02 12:47:05 +02:00
Campbell Barton
e8f3fa99de Support more object types scene-scale (on creation)
- lamp
- camera
- font
- empty & effector

Also fix inconsistency with apply transform
(modified shape-keys for meshes but not curve/lattice)
2014-09-01 21:01:11 +10:00
Antony Riakiotakis
028fd29eeb Pie Menus C code backend.
This commit merges the code in the pie-menu branch.

As per decisions taken the last few days, there are no pie menus
included and there will be an official add-on including overrides of
some keys with pie menus. However, people will now be able to use the
new code in python.

Full Documentation is in http://wiki.blender.org/index.php/Dev:Ref/

Thanks:
Campbell Barton, Dalai Felinto and Ton Roosendaal for the code review
and design comments

Jonathan Williamson, Pawel Lyczkowski, Pablo Vazquez among others for
suggestions during the development.

Special Thanks to Sean Olson, for his support, suggestions, testing and
merciless bugging so that I would finish the pie menu code. Without him
we wouldn't be here. Also to the rest of the developers of the original
python add-on, Patrick Moore and Dan Eicher and finally to Matt Ebb, who
did the research and first implementation and whose code I used to get
started.
2014-08-11 11:02:26 +02:00
Bastien Montagne
5e3af04b08 Fix build player... 2014-07-31 17:34:13 +02:00
Antony Riakiotakis
f745564e4e GSOC 2013 paint
Yep, at last it's here!

There are a few minor issues remaining but development can go on in
master after discussion at blender institute.

For full list of features see:

http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.72/Painting

Thanks to Sergey and Campbell for the extensive review and to the
countless artists that have given their input and reported issues during
development.
2014-07-21 12:02:05 +02:00
Antony Riakiotakis
48eececdba Follow up to previous commit.
* Expose is_tablet property to events to determine if event contains
tablet data.
* Expose tablet tilt for events as a 2D vector in python
2014-07-14 17:49:00 +03:00
Antony Riakiotakis
45f0bd6eb1 Feature request:
Expose pressure from event system to python. This will return the tablet
pressure, if a tablet is present, or 1.0 if not.
2014-07-14 17:06:53 +03:00
Bastien Montagne
2e64b8354b Fix T40885: "Reset Curve" is backwards on Custom Falloff Curves (Lights).
Add ability to define negative slope by default to curvemapping template...
2014-06-30 16:23:47 +02:00
Bastien Montagne
ef5d6edb4a Fix blenderplayer compile... 2014-06-18 19:56:56 +02:00
Antony Riakiotakis
990eb2d737 blenderplayer stuff 2014-06-12 02:28:48 +03:00
27cebb2651 Fix T39711: cycles particle motion blur affected by viewport draw method. 2014-05-21 15:51:37 +02:00
Bastien Montagne
036de9bfa5 Make bpy.types.EditBone.matrix writeable.
Makes importing armatures from matrices (FBX...) *much* easier.
2014-05-05 20:57:52 +02:00
Thomas Beck
0cd49fde56 Make blenderplayer compilable again after recent commit b7f085d9c128f31d576c732c6439b5a71e8922ee by Tamito.
Inserted a stub in stub.c and added the struct keyword to make gcc happy
2014-05-03 12:51:51 +02:00
Bastien Montagne
091f13a618 Fix blenderplayer build. 2014-05-01 09:35:32 +02:00
Bastien Montagne
a5e30fc79c Fix player build. 2014-04-21 10:19:13 +02:00
Campbell Barton
9ae0e585b0 View2d: API Cleanup for view<->region conversion
View2D had some inconsistencies making it error prone in some cases.

- Inconstant checking for NULL x/y args.
  Disallow NULL args for x/y destination pointers, instead add:
  - UI_view2d_region_to_view_x/y
  - UI_view2d_view_to_region_x/y

- '_no_clip' suffix wasn't always used for non-clipping conversion,
  switch it around and use a '_clip' suffix for all funcs that clip.

- UI_view2d_text_cache_add now clips before adding cache.

- '_clip' funcs return a bool to quickly check if its in the view.

- add conversion for rectangles, since this is a common task:
  - UI_view2d_view_to_region_rcti
  - UI_view2d_region_to_view_rctf
2014-04-21 16:59:40 +10:00
Bastien Montagne
4faef1e10c Add drag-resize to uiTemplatePreview (mat/tex/etc. preview widget).
This is done by adding a new button type, GRIP, similar to other numbuttons
(scroll, slider, ...), which here controls the preview height.

Then, we add a new DNA struct to be able to save that height in Blend files
(note I choose not to use Panel struct for this, because we would then have the
same limitation we used to have with uiLists, only one preview per panel
and no preview outside panel).

This implies a change to template_preview UI RNA/py API (each preview needs an ID),
but this is backward compatible, as by default datablock type will be used if no ID is
given (which means e.g. all material previews with no ID will have same height).

Reviewers: brecht

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D342
2014-04-02 13:03:11 +02:00
Campbell Barton
617557b08e Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT define 2014-04-01 15:22:28 +11:00
Jens Verwiebe
2020a15153 Fix playercompile after boolifications 2014-03-31 14:58:22 +02:00
Campbell Barton
7b7196e3ad Code cleanup: modifier_skin_customdata_ensure was a bad level call 2014-03-16 21:55:30 +11:00
Campbell Barton
2097e621ed Code cleanup: use r_ prefix for return args 2014-03-16 03:26:23 +11:00
Campbell Barton
35ed7486c7 Mesh API: rename 'octree' to 'spatial' since internally its using kdtree 2014-03-13 01:49:47 +11:00
Campbell Barton
5bceb00a61 Mesh API: replace octree mirror with kdtree 2014-03-13 01:49:47 +11:00
Jens Verwiebe
0b63704c30 Fix player stubs after change in compositor 2014-02-05 18:44:48 +01:00
Jens Verwiebe
2f8de5075d Fix another player stub after type change 2014-02-03 11:55:55 +01:00
Jens Verwiebe
62a3fe2323 Fix player stub after type change 2014-01-31 20:56:51 +01:00
Campbell Barton
8fa4517a20 BGE: remove freestyle from stubs, all functions were out of use 2014-01-28 17:59:00 +11:00
Jens Verwiebe
8bf9bf37ec Identified the freestyle stubs breaking pragma GCC diagnostic error "-Wmissing-prototypes”, diasabling this case for now 2014-01-27 23:01:03 +01:00
Jens Verwiebe
74108e2d6c Fix player compile in scons and disable -Wmissing-prototypes for Apple atm. 2014-01-27 19:36:05 +01:00