4 years agoCleanup: subdivide smooth vertex placement
Campbell Barton [Sun, 26 Apr 2015 09:12:20 +0000 (19:12 +1000)]
Cleanup: subdivide smooth vertex placement

4 years agoBMesh: use inverse-square falloff /w smooth-subdiv
Campbell Barton [Sun, 26 Apr 2015 08:35:42 +0000 (18:35 +1000)]
BMesh: use inverse-square falloff /w smooth-subdiv

Resolves ugly artifacts with multi-cut.

4 years agoAdd inverse-square falloff to bmesh, mask & compo.
Campbell Barton [Sun, 26 Apr 2015 08:31:54 +0000 (18:31 +1000)]
Add inverse-square falloff to bmesh, mask & compo.

4 years agoBMesh: use const for API calls
Campbell Barton [Sun, 26 Apr 2015 07:19:23 +0000 (17:19 +1000)]
BMesh: use const for API calls

4 years agoBMesh: BM_ELEM_CD_GET_VOID_P cast removed const
Campbell Barton [Sun, 26 Apr 2015 07:15:34 +0000 (17:15 +1000)]
BMesh: BM_ELEM_CD_GET_VOID_P cast removed const

4 years agoMacro GENERIC_TYPE_ANY map many types to one value
Campbell Barton [Sun, 26 Apr 2015 07:14:15 +0000 (17:14 +1000)]
Macro GENERIC_TYPE_ANY map many types to one value

4 years agoCleanup: Code style.
Thomas Dinges [Sat, 25 Apr 2015 22:42:26 +0000 (00:42 +0200)]
Cleanup: Code style.

4 years agoCleanup: Update Lookup table comments.
Thomas Dinges [Sat, 25 Apr 2015 22:06:38 +0000 (00:06 +0200)]
Cleanup: Update Lookup table comments.

4 years agoCycles: Add Mirror ball mapping to camera panorama options
Lukas Stockner [Sat, 25 Apr 2015 21:49:17 +0000 (23:49 +0200)]
Cycles: Add Mirror ball mapping to camera panorama options

The projection code was already in place, so this just exposes the option.

Differential Revision:

4 years agocorrect own error in recent ngon creation edit
Campbell Barton [Sat, 25 Apr 2015 11:14:55 +0000 (21:14 +1000)]
correct own error in recent ngon creation edit

4 years agoFix neg-scaled project-paint in perspective mode
Campbell Barton [Sat, 25 Apr 2015 10:47:19 +0000 (20:47 +1000)]
Fix neg-scaled project-paint in perspective mode

4 years agoCleanup: use 8 space indent for multi-line args
Campbell Barton [Sat, 25 Apr 2015 10:15:20 +0000 (20:15 +1000)]
Cleanup: use 8 space indent for multi-line args

4 years agoBMesh: simplify BM_face_create_ngon
Campbell Barton [Sat, 25 Apr 2015 07:20:59 +0000 (17:20 +1000)]
BMesh: simplify BM_face_create_ngon

Was doing quite a lot of unnecessary steps.
Now construct the sorted verts, edges /w error checking, in a single loop.

4 years agoUI: Panel drag-collapse
Julian Eisel [Sat, 25 Apr 2015 02:56:24 +0000 (12:56 +1000)]
UI: Panel drag-collapse

D1233, Adds a way to quickly open/close multiple panels by holding LMB and dragging over the desired panels,
Suggested by @maxon

The decision if the panels are opened or closed is made based on the first Panel the user drags over.
If it is closed, all panels he drags over are opened
(including the first one) if it's opened, they get closed (matching existing drag-toggle logic).

4 years agoProject Paint: save 8 bytes per pixel (re-align)
Campbell Barton [Sat, 25 Apr 2015 02:52:51 +0000 (12:52 +1000)]
Project Paint: save 8 bytes per pixel (re-align)

4 years agoCleanup
Campbell Barton [Sat, 25 Apr 2015 02:29:52 +0000 (12:29 +1000)]

4 years agoFix T42495: Fullscreen area icon glitch
Julian Eisel [Fri, 24 Apr 2015 23:29:53 +0000 (01:29 +0200)]
Fix T42495: Fullscreen area icon glitch

Tried a couple of things to trigger an update/redraw for the exact right
moment (sending azone update event, timer, delayed redraw, etc) but this
seems to work rock solid without being *that* ugly.

4 years agoFix T44405: Importing keyconfig with changed shortcut in "Screen Global"
Julian Eisel [Fri, 24 Apr 2015 18:08:52 +0000 (20:08 +0200)]
Fix T44405: Importing keyconfig with changed shortcut in "Screen Global"
causes rapid fullscreen toggeling

4 years agoMulti-View: Set Stereo 3D operator support for EXEC calls
Dalai Felinto [Fri, 24 Apr 2015 16:06:04 +0000 (13:06 -0300)]
Multi-View: Set Stereo 3D operator support for EXEC calls

4 years agoMulti-View: rolls back to a non quadbuffer friendly window if displaymode changes...
Dalai Felinto [Fri, 24 Apr 2015 15:51:20 +0000 (12:51 -0300)]
Multi-View: rolls back to a non quadbuffer friendly window if displaymode changes from pageflip to something else

In some cases the graphic card supports quadbuffer, but not the display.
In this case it is nice to go back to a window that does not have
quadbuffer if you change back to anaglyph, interlace, ...

Otherwise you may be stuck with a flickering window

4 years agoMulti-View: Time Sequencial (aka pageflip, aka quadbuffer) stereo support
Dalai Felinto [Fri, 24 Apr 2015 14:58:03 +0000 (11:58 -0300)]
Multi-View: Time Sequencial (aka pageflip, aka quadbuffer) stereo support

TODO: I would be nicer if we could set win at file opening to the
current open window, but I'll implement this later.

4 years agocorrecting typos in python api docs
Ines Almeida [Fri, 24 Apr 2015 13:08:31 +0000 (14:08 +0100)]
correcting typos in python api docs

4 years agoAdd debug option --debug-gpumem to show GPU memory used in status bar.
Antony Riakiotakis [Fri, 24 Apr 2015 12:11:05 +0000 (14:11 +0200)]
Add debug option --debug-gpumem to show GPU memory used in status bar.

Only used in ATIs and NVIDIAs. Used extensions are:

If you read the documentation, the numbers are not supposed to be exact
and also depend on the time when the call is made. The numbers can also
change quite quickly. It's only meant to give a rough measure of what is
going on.

4 years agoFix T44492: knife tool should cut across a split edge.
Howard Trickey [Fri, 24 Apr 2015 11:27:47 +0000 (07:27 -0400)]
Fix T44492: knife tool should cut across a split edge.

Added filter condition in visibility check that prevented
a "butting-up-against" face from obscuring an edge.

4 years agoBGE : fix bugs with physics collision mask/group
Porteries Tristan [Fri, 24 Apr 2015 09:56:58 +0000 (11:56 +0200)]
BGE : fix bugs with physics collision mask/group

Currently there are bugs with physics objects in inactive layers,
character and softbody.
I added a function in CcdPhysicsEnvironement to know if a physics
controller is currently active and for soft body I added the correct function in UpdateCcdPhysicsController to re-add a softbody in the dynamics world.

The bug was introduced in D1243 commit 3d55859

Reviewers: hg1, scorpion81, lordloki, moguri, agoose77, sergof

Reviewed By: sergof

Subscribers: youle, moguri

Differential Revision:

4 years ago3D Textures:
Antony Riakiotakis [Fri, 24 Apr 2015 09:35:49 +0000 (11:35 +0200)]
3D Textures:

If we fail allocating a proxy texture don't fail, instead create a
smaller nearest filtered image to display in its place.

This can make viewing slow (it's an extra O^3 operation), but this will
probably help us render the tornado in 3D viewport in gooseberry and
still actually see something - despite the rendering taking longer.
I've added a debug print so we can know when this happens.

4 years agoCMake: add -Wformat-signedness
Campbell Barton [Fri, 24 Apr 2015 09:11:02 +0000 (19:11 +1000)]
CMake: add -Wformat-signedness

4 years agoMath Lib: pow_i for int power-of
Campbell Barton [Fri, 24 Apr 2015 01:37:48 +0000 (11:37 +1000)]
Math Lib: pow_i for int power-of

4 years agoFix project painting on a negative scaled object
Campbell Barton [Fri, 24 Apr 2015 01:03:37 +0000 (11:03 +1000)]
Fix project painting on a negative scaled object

4 years agoMultiview: Quadbuffer (time sequential) working [debug builds only]
Dalai Felinto [Thu, 23 Apr 2015 22:01:49 +0000 (19:01 -0300)]
Multiview: Quadbuffer (time sequential) working [debug builds only]

I'll enable this mode in Release builds once I figure out how to best
handle opening files that are saved with the quadbuffer mode.

In fact I think no display mode should be saved/read from a file.

Tested in Linux with NVidia 3D Vision and NVidia 3D Vision Pro with
NVidia Quadro FX 580 and Quadro FX 4600.

(kudos for the Visgraf Lab at IMPA, for having me around with all those
gadgets ;)

Thanks for C├ędric Paille (cedricp) for the code snippets and tests -

4 years agoCleanup: minor edits
Campbell Barton [Thu, 23 Apr 2015 21:31:51 +0000 (07:31 +1000)]
Cleanup: minor edits

4 years agoOpenEXR: RenderResult should always have a RenderView
Dalai Felinto [Thu, 23 Apr 2015 21:16:33 +0000 (18:16 -0300)]
OpenEXR: RenderResult should always have a RenderView

4 years agoCleanup: casts, correct debug ifdefs
Campbell Barton [Thu, 23 Apr 2015 21:08:07 +0000 (07:08 +1000)]
Cleanup: casts, correct debug ifdefs

4 years agoProject Paint: minor optimization comparing angles
Campbell Barton [Thu, 23 Apr 2015 20:40:59 +0000 (06:40 +1000)]
Project Paint: minor optimization comparing angles

4 years agoFix T44461: Crash and file corruption after calc_normals_split, calc_tessface execution.
Bastien Montagne [Thu, 23 Apr 2015 18:43:29 +0000 (20:43 +0200)]
Fix T44461: Crash and file corruption after calc_normals_split, calc_tessface execution.

This one was nasty, issue comes with temp/nofree CD layers that get 'removed on the fly'
from saved mesh CDData. Since mesh struct itself was written before that cleanup, it would
still have the old, invalid number of layers. That would lead to a buffer overflow when
loading data later (odd you had to do this twice (i.e. have 2 'ghost' layers) to get the crash).

New code prevents that by always making a copy of the mesh (we were already doing that mostly
anyway, since we were saving without tessfaces), copying (by ref of course) in it cddata,
and then writing mesh struct. Makes code a bit more verbose, but... it works!

4 years agoExpose CD_PAINT_MASK to Python API
Campbell Barton [Mon, 3 Nov 2014 22:31:55 +0000 (23:31 +0100)]
Expose CD_PAINT_MASK to Python API

D782 by Stanislav Blinov

4 years ago3D textures: detect if we are pushing OpenGL too hard with the texture
Antony Riakiotakis [Thu, 23 Apr 2015 17:02:08 +0000 (19:02 +0200)]
3D textures: detect if we are pushing OpenGL too hard with the texture

4 years agoCorrect missing NULL check (own mistake)
Campbell Barton [Thu, 23 Apr 2015 16:38:15 +0000 (02:38 +1000)]
Correct missing NULL check (own mistake)

4 years agoMath Lib: add count_bits_i utility function
Campbell Barton [Thu, 23 Apr 2015 15:37:12 +0000 (01:37 +1000)]
Math Lib: add count_bits_i utility function

4 years agoFix T44422: Zoom to mouse fails in camera view
Campbell Barton [Thu, 23 Apr 2015 14:12:16 +0000 (00:12 +1000)]
Fix T44422: Zoom to mouse fails in camera view

Camera now supports all zoom styles too.

4 years agoFix T44498 - Blender crashes in some files after render slots fix
Dalai Felinto [Thu, 23 Apr 2015 13:59:35 +0000 (10:59 -0300)]
Fix T44498 - Blender crashes in some files after render slots fix

This is a temporary fix until I get to investigate it more carefully.
It will help if the report could include the steps to reproduce it
besides the buggy file.

Note: RenderResult should *always* have at least a valid RenderView,
which is not what happens here.

4 years agoFix T44494 crop node changes values during execution.
Antony Riakiotakis [Thu, 23 Apr 2015 12:23:28 +0000 (14:23 +0200)]
Fix T44494 crop node changes values during execution.

We used the node data as a store for node execution,
bad idea, since the data itself is a template from which
execution data should be derived, never to be modified during execution.

4 years agoDisplay slot menu in Properties Region even if render slot is empty
Julian Eisel [Thu, 23 Apr 2015 11:33:29 +0000 (13:33 +0200)]
Display slot menu in Properties Region even if render slot is empty

For the records, this one is caused by 31f984bc3ffcc838343, it wasn't
implemented at all ;)

4 years agoFix slot menu not displayed if render result slot is empty
Julian Eisel [Thu, 23 Apr 2015 11:21:36 +0000 (13:21 +0200)]
Fix slot menu not displayed if render result slot is empty

Caused by own mistake in 31f984bc3ffcc83834, reported by @sebastian_k in

4 years agoBMesh: mesh-data picking, edge+vert improvement
Campbell Barton [Thu, 23 Apr 2015 06:11:54 +0000 (16:11 +1000)]
BMesh: mesh-data picking, edge+vert improvement

When zoomed out vert bias over edges meant it wasn't possible to select edges.
Now pick the edge if the cursor is closer to its center.

4 years agoCleanup: warnings
Campbell Barton [Thu, 23 Apr 2015 06:09:30 +0000 (16:09 +1000)]
Cleanup: warnings

4 years agoPy API: Remove deprecated callback_add
Campbell Barton [Thu, 23 Apr 2015 02:57:58 +0000 (12:57 +1000)]
Py API: Remove deprecated callback_add

4 years agoFix T44396 - Compositing render slots don't work
Dalai Felinto [Wed, 22 Apr 2015 21:44:30 +0000 (18:44 -0300)]
Fix T44396 - Compositing render slots don't work

Note 1: If you go to a render slot previously rendered and change
something in the compositing the buffer will still vanish.

This is an old bug, T44181, and not addressed here
(I'm basically just fixing the regression introduced with multiview)

Note 2: I have a work in progress patch to get rid of
RenderResult->rectf/rect32/rectz entirely. It still not working, and we
should have a working code base before doing refactoring anyways.

4 years agoFix broken uiTemplateIconView().
Bastien Montagne [Wed, 22 Apr 2015 20:40:19 +0000 (22:40 +0200)]
Fix broken uiTemplateIconView().

Was using enum **value** as **icon id**... tripple sigh!
Guess it was working for its only current use (matcaps), but still.

4 years agoFix T44472: Stereo 3D save options missing in File Browser
Julian Eisel [Wed, 22 Apr 2015 19:50:21 +0000 (21:50 +0200)]
Fix T44472: Stereo 3D save options missing in File Browser

4 years agoFix T44463 - crash on "Full Sample"
Dalai Felinto [Wed, 22 Apr 2015 19:38:30 +0000 (16:38 -0300)]
Fix T44463 - crash on "Full Sample"

4 years agoShow buttons to change render layer/pass in UV Editor header
Julian Eisel [Wed, 22 Apr 2015 18:42:26 +0000 (20:42 +0200)]
Show buttons to change render layer/pass in UV Editor header

Previousely this was "hidden" in the Properties Region, this makes it
more visible/usable.

Requested by @sebastian_k

4 years agoTracking: Show plane track outline if image failed to load
Sergey Sharybin [Wed, 22 Apr 2015 18:20:00 +0000 (23:20 +0500)]
Tracking: Show plane track outline if image failed to load

4 years agoTracking: Fix missing pointer array check when reading plane track
Sergey Sharybin [Wed, 22 Apr 2015 18:00:41 +0000 (23:00 +0500)]
Tracking: Fix missing pointer array check when reading plane track

This could cause memory corruption when moving files from system with one
bitness to another.

4 years agoDouble click selection on animation channels selects all keyframes of the range
Antony Riakiotakis [Wed, 22 Apr 2015 13:42:03 +0000 (15:42 +0200)]
Double click selection on animation channels selects all keyframes of the range

4 years agoFreestyle: Fixed a crash due to missing call of StrokeShader.__init__() in Python.
Tamito Kajiyama [Wed, 22 Apr 2015 14:19:43 +0000 (23:19 +0900)]
Freestyle: Fixed a crash due to missing call of StrokeShader.__init__() in Python.

Many thanks to the problem report by flokkievids (Folkert de Vries)
through a comment in Patch D963.

4 years agoFix crashes when moving game property with invalid index (from py/redo
Julian Eisel [Wed, 22 Apr 2015 15:19:23 +0000 (17:19 +0200)]
Fix crashes when moving game property with invalid index (from py/redo

Also hides index option in redo panel to be consistent with similar

4 years agoPlaceholder image strips feedback session changes no.2:
Antony Riakiotakis [Mon, 20 Apr 2015 16:07:34 +0000 (18:07 +0200)]
Placeholder image strips feedback session changes no.2:

Change paths operator can also have the same placeholder logic now

4 years agoPlaceholder image strips feedback session changes no.1:
Antony Riakiotakis [Mon, 20 Apr 2015 15:35:09 +0000 (17:35 +0200)]
Placeholder image strips feedback session changes no.1:

Autodetect range of strips.

4 years agoPlaceholders for sequencer take one.
Antony Riakiotakis [Mon, 20 Apr 2015 14:33:10 +0000 (16:33 +0200)]
Placeholders for sequencer take one.

Placeholder images, means that the image sequence reserves a range for
images, displaying black while we wait for them to finish rendering.

This is meant as a feature to not break the layout of gooseberry
sequence edits while we wait for those frames to arrive.

4 years agoFix T44476: Hiding Grease Pencil from Outliner RMB doesn't update 3D
Julian Eisel [Wed, 22 Apr 2015 12:02:48 +0000 (14:02 +0200)]
Fix T44476: Hiding Grease Pencil from Outliner RMB doesn't update 3D

4 years agoFix T44477: Overlapping tooltips in Outliner
Julian Eisel [Wed, 22 Apr 2015 11:41:26 +0000 (13:41 +0200)]
Fix T44477: Overlapping tooltips in Outliner

Tooltips for buttons in the Outliner could overlap the Outliner's RMB
menu in some cases (and there's no way to get rid of the tooltip again).
This disables the button's tooltip before creating the menu (as we do it
for the normal RMB menu)

4 years agoFix and simplify vertical positioning and calculation of metadata
Antony Riakiotakis [Wed, 22 Apr 2015 11:19:58 +0000 (13:19 +0200)]
Fix and simplify vertical positioning and calculation of metadata
display more.

4 years agoRename stamp panel to metadata panel.
Antony Riakiotakis [Wed, 22 Apr 2015 10:35:59 +0000 (12:35 +0200)]
Rename stamp panel to metadata panel.

Rationale - this panel also enables metadata that get written on files.

Also moved draw_stamp property in the panel - to make it clearer it only
controls the drawing, not individual metadata.

4 years agoFix stamp missing after multiview merge.
Antony Riakiotakis [Wed, 22 Apr 2015 10:03:06 +0000 (12:03 +0200)]
Fix stamp missing after multiview merge.

Was not using acquired render result correctly, most likely a copy paste

4 years agoStamp cannot be written to file.
Antony Riakiotakis [Wed, 22 Apr 2015 09:50:57 +0000 (11:50 +0200)]
Stamp cannot be written to file.

Make sure stamp data is avaliable before writing stamp to image - this
still does not fix stamp, looks like issue is availability of the images
themselves for the view, investigating next.

4 years agoTracking: Some more code de-duplication
Sergey Sharybin [Wed, 22 Apr 2015 07:46:29 +0000 (12:46 +0500)]
Tracking: Some more code de-duplication

4 years agoTracking: Code cleanup, de-duplicate some code in tracking context finish
Sergey Sharybin [Wed, 22 Apr 2015 07:34:01 +0000 (12:34 +0500)]
Tracking: Code cleanup, de-duplicate some code in tracking context finish

4 years agoCleanup: pep8, spelling
Campbell Barton [Wed, 22 Apr 2015 06:26:00 +0000 (16:26 +1000)]
Cleanup: pep8, spelling

4 years agoFix T44470: File Selection sometimes surpresses last Character.
Bastien Montagne [Wed, 22 Apr 2015 06:15:05 +0000 (08:15 +0200)]
Fix T44470: File Selection sometimes surpresses last Character.

Tweak hack of `file_draw_string()` (there may be better solution, but not worth
spending time on this, the whole filebrowser drawing code is to be rewritten anyway).

4 years agoFix T44475: Merge option of Mirror Modifier behavior reversed.
Bastien Montagne [Wed, 22 Apr 2015 05:54:14 +0000 (07:54 +0200)]
Fix T44475: Merge option of Mirror Modifier behavior reversed.

Glitch in rB57d9badc.

4 years agoLogic Editor: Buttons for moving game properties up/down
Tristan Porteries [Tue, 21 Apr 2015 21:33:24 +0000 (23:33 +0200)]
Logic Editor: Buttons for moving game properties up/down

D1163 by @panzergame, with minor edits by me (@Severin)

4 years agoTracking: Add missing plane track remapping when joining two point tracks
Sergey Sharybin [Tue, 21 Apr 2015 21:10:13 +0000 (02:10 +0500)]
Tracking: Add missing plane track remapping when joining two point tracks

4 years agoTracking: Cleanup, move some plane tracks code to utility functions
Sergey Sharybin [Tue, 21 Apr 2015 20:54:45 +0000 (01:54 +0500)]
Tracking: Cleanup, move some plane tracks code to utility functions

4 years agoBGE: scene.pre_draw_setup[] callback
Dalai Felinto [Tue, 21 Apr 2015 20:36:18 +0000 (17:36 -0300)]
BGE: scene.pre_draw_setup[] callback

This callback allows the user to change the camera data right before the
rendering calculations.

scene.pre_draw[] is not enough here, because if you want to change the
camera matrices (projection/modelview) the culling test is done before
that (after pre_draw_setup[] though).

Reviewers: moguri, campbellbarton

Differential Revision:

Python sample code using this. The sample scene would need a default
camera (not used for rendering), a dummy camera ('Camera.VR'), and two
cameras ('Camera.Left', 'Camera.Right') that will be used for the actual

import bge

def callback():
    scene = bge.logic.getCurrentScene()
    objects = scene.objects

    vr_camera = objects.get('Camera.VR')

    if bge.render.getStereoEye() ==  bge.render.LEFT_EYE:
        camera = objects.get('Camera.Left')
        camera = objects.get('Camera.Right')

    vr_camera.worldOrientation = camera.worldOrientation
    vr_camera.worldPosition =  camera.worldPosition

def init():
    scene = bge.logic.getCurrentScene()
    main_camera = scene.active_camera
    main_camera.useViewport = True


    objects = scene.objects
    vr_camera = objects.get('Camera.VR')
    vr_camera.useViewport = True
            bge.render.getWindowHeight() )

4 years agoTracking: Fix over-allocation in plane track's point tracks pointers when removing...
Sergey Sharybin [Tue, 21 Apr 2015 20:35:32 +0000 (01:35 +0500)]
Tracking: Fix over-allocation in plane track's point tracks pointers when removing point track

4 years agoFix T44474: Rotation manipulator not hidden completely with all axes
Julian Eisel [Tue, 21 Apr 2015 19:55:10 +0000 (21:55 +0200)]
Fix T44474: Rotation manipulator not hidden completely with all axes

Really doesn't look like a bug on a first glance but the line of code
that was there previously seemed to be there to prevent the manipulator
from drawing in this case.

4 years agoBLI_string: add BLI_snprintf_rlen
Campbell Barton [Tue, 21 Apr 2015 19:37:22 +0000 (05:37 +1000)]
BLI_string: add BLI_snprintf_rlen

use when the length of the destination string is needed.

4 years agoMath Lib: handling bits handling into own file
Campbell Barton [Tue, 21 Apr 2015 18:10:15 +0000 (04:10 +1000)]
Math Lib: handling bits handling into own file

4 years agoMinor edits to metadata commit
Campbell Barton [Tue, 21 Apr 2015 18:43:13 +0000 (04:43 +1000)]
Minor edits to metadata commit

No need to calculate height of each line, just use height of font.

4 years agoInitialize and use the theme for metadata text
Antony Riakiotakis [Tue, 21 Apr 2015 17:01:09 +0000 (19:01 +0200)]
Initialize and use the theme for metadata text

4 years agoStamp refactoring:
Antony Riakiotakis [Tue, 21 Apr 2015 16:33:33 +0000 (18:33 +0200)]
Stamp refactoring:

Write those on render result during rendering, so we can cleanly write a
render result image after rendering.

4 years agoMetadata:
Antony Riakiotakis [Tue, 21 Apr 2015 15:15:40 +0000 (17:15 +0200)]

* Theme support for metadata display
* Increase text DPI with scaling.

4 years agoMetadata display support - patch by Julian and me.
Antony Riakiotakis [Mon, 20 Apr 2015 17:57:57 +0000 (19:57 +0200)]
Metadata display support - patch by Julian and me.

Basically, blender adds a few metadata fields to images when
we render an image. Those metadata can now be viewed in the
image editor.

Also, made sure metadata are available when we write imbufs
to disc with "Save As". There may be more cases here that need
fixing, but this means that loading an image with metadata
will now properly preserve them in blender.

4 years agoVSE: Allow GPencil drawing without having a strip loaded
Julian Eisel [Tue, 21 Apr 2015 15:35:11 +0000 (17:35 +0200)]
VSE: Allow GPencil drawing without having a strip loaded

Previously the GPencil strokes were just not drawn (even though they
were generated) until a strip was loaded.

4 years agoMinor edit to edit-mesh selection bias
Campbell Barton [Tue, 21 Apr 2015 14:43:31 +0000 (00:43 +1000)]
Minor edit to edit-mesh selection bias

only choose verts over edges (not faces)

4 years agoCleanup: minor corrections
Campbell Barton [Tue, 21 Apr 2015 14:13:33 +0000 (00:13 +1000)]
Cleanup: minor corrections

4 years agoFix T44465: Crash using VSE OGL render + Grease Pencil
Julian Eisel [Tue, 21 Apr 2015 14:04:14 +0000 (16:04 +0200)]
Fix T44465: Crash using VSE OGL render + Grease Pencil

Likely caused by rBd5f1b9c22233

4 years agoBMesh: mesh-data picking, general improvements
Campbell Barton [Tue, 21 Apr 2015 11:16:19 +0000 (21:16 +1000)]
BMesh: mesh-data picking, general improvements

Generalize logic for vert/edge/face selection:
- index cycling.
- selection bias with mixed modes.

- Edges now support index cycling (as verts/faces did already)
- Cycling over near elements is now only enabled when the mouse position remains the same.
- No longer do 2 selection passes to perform index cycling.

- Edges behind the view could be selected (surprising nobody reported!)
- Selection bias now only changes the element that gets picked without interning the return distance
  (was buggy with mixed modes).

4 years agoBackdrop strictly shows image result only - it could get influenced by
Antony Riakiotakis [Tue, 21 Apr 2015 10:13:02 +0000 (12:13 +0200)]
Backdrop strictly shows image result only - it could get influenced by
scopes setting of space if one changed the space type back and forth.

Thanks to Sergey for reporting.

4 years agoAllow editing of active strip proxy settings again in addition to the
Sergey Sharybin [Tue, 21 Apr 2015 09:57:31 +0000 (11:57 +0200)]
Allow editing of active strip proxy settings again in addition to the
set operator

4 years agoCleanup: style
Campbell Barton [Tue, 21 Apr 2015 05:53:32 +0000 (15:53 +1000)]
Cleanup: style

4 years agoCorrect crash in last commit (spacebar search)
Campbell Barton [Tue, 21 Apr 2015 05:18:16 +0000 (15:18 +1000)]
Correct crash in last commit (spacebar search)

4 years agoAdd eyedropper for selecting object & obdata
Julian Eisel [Tue, 21 Apr 2015 04:24:13 +0000 (14:24 +1000)]
Add eyedropper for selecting object & obdata

In addition to the unlink icon to clear a value,
When cleared, show an eyedropper to select objects or object-data
(was already available via the EKey).

4 years agoFix T44432: Zoom to mouse fails /w FCurve editor
Campbell Barton [Tue, 21 Apr 2015 03:10:32 +0000 (13:10 +1000)]
Fix T44432: Zoom to mouse fails /w FCurve editor

4 years agoFixes for backbuf selection logic
Campbell Barton [Mon, 20 Apr 2015 18:45:26 +0000 (04:45 +1000)]
Fixes for backbuf selection logic

- Fix ED_view3d_backbuf_sample_rect, r_dist was set completely wrong.
- Avoid duplicate calculations picking the nearest edge.
- Bias against picking selected edges is now optional.
- Remove unused callback reading the backbuf.
- Remove unused strict option picking vertices.

4 years agoCleanup: use ED_view3d_backbuf_* prefix
Campbell Barton [Mon, 20 Apr 2015 17:19:27 +0000 (03:19 +1000)]
Cleanup: use ED_view3d_backbuf_* prefix

4 years agoFix T44383: Select face fails in some positions
Campbell Barton [Mon, 20 Apr 2015 16:06:20 +0000 (02:06 +1000)]
Fix T44383: Select face fails in some positions

When mixing vert/edge/face with select-visible,
face selection could fail when not close enough to the center.

This also fixes a bug where the bias for verts over edges would
prefer faces over edges too, making edges harder to pick.

Mixing edge with other selection modes works more predictably now.

4 years agoEditmesh select nearest fixes
Campbell Barton [Mon, 20 Apr 2015 15:33:09 +0000 (01:33 +1000)]
Editmesh select nearest fixes

- distance from edge check wasn't clamping 0-1
- vertex bias wasn't taking pixelsize into account.
- index & pass counter were floats

Also some improvements

- use BMesh lookup tables when available.
- use structs to avoid issues getting out of sync.

4 years agoCleanup: use macro for common view3d zbuf check
Campbell Barton [Mon, 20 Apr 2015 13:39:54 +0000 (23:39 +1000)]
Cleanup: use macro for common view3d zbuf check