2 years agoBGE: bge.render.offScreenCreate() takes one more parameter, reflect this in the argum... ge_2df_textures
Benoit Bolsee [Thu, 4 May 2017 11:07:50 +0000 (13:07 +0200)]
BGE: bge.render.offScreenCreate() takes one more parameter, reflect this in the argument format string.

2 years agoBGE: Fix 1-pixel bug with viewport and aspect ratio.
Benoit Bolsee [Mon, 3 Apr 2017 06:46:55 +0000 (08:46 +0200)]
BGE: Fix 1-pixel bug with viewport and aspect ratio.

The canvas viewport is initially set as (0,0,width,height) but treated at
OGL level as (left,bottom,right,top), which differs by 1 pixel.
This was causing a wrong aspect ratio in the render.

2 years agoBGE: new bge.logic.Render() to perform render w/o logic step.
Benoit Bolsee [Fri, 31 Mar 2017 22:57:38 +0000 (00:57 +0200)]
BGE: new bge.logic.Render() to perform render w/o logic step.

This function works only if python has control:
1. add scene custom property, call it __main__
2. give it string value as the name of a text block
3. code game loop in python in text block. Example:

import bge

t = 0.0;
scene = bge.logic.getCurrentScene()
cam = scene.cameras["Camera"]
while not bge.logic.NextFrame():
    cam.useViewport = True
    # second render with viewport enable, clock time unchanged
    # advance animation for next frame
    t += 0.02
    cam.useViewport = False

2 years agoBGE: 2D filter additions.
Benoit Bolsee [Mon, 20 Mar 2017 23:26:52 +0000 (00:26 +0100)]
BGE: 2D filter additions.

gpu_draw: skip color management for textures declared as 'non-color'.

New reserved names in 2D filters: bgl_ObjectTextureX (X=0 to 4) to
access texture channels 0 to 4 of the object on which the 2D filter
is defined.

Force U.use_16bit_textures to 1 in the blender player to give access to
floating point textures in the 2D fitlers shaders.

bge.logic.setOffScreen(True) to define and use a floating point offscreen
render buffer of the same size than the framebuffer in the main BGE loop.
Useful to get floating point results from 2D filters. The offscreen render
buffer will automatically be used by bge.texture.ImageViewport if it's enabled.
It is legal to call bge.logic.setOffScreen(True/False) to disable and reenable
the framebuffer on a frame by frame basis.

New refresh mode for bge.texture.ImageViewport and bge.texture.ImageRender
iv.refresh(buffer, mode)
  mode = "DEPTH" to retrieve floating point depth buffer
       = "RG32F" to retrieve red and green channels as floating point.
       = "RGB32F" to retrieve red, green and blue channels as floating point
       = "RGBA32F" to retrieve red, green, blue and alpha channels as floating point.
For ImageViewport and ImageRender, refresh() bypasses all filters and object
options and retrieve directly from the frame buffer or render buffer.

2 years agoFix T51012: Surface modifier was not working with curves
Germano Cavalcante [Mon, 20 Mar 2017 21:51:32 +0000 (18:51 -0300)]
Fix T51012: Surface modifier was not working with curves

This prevented the Force Field Curve Shape of working

2 years agoFix T50268: Cycles allows to select un supported GPUs for OpenCL
Sergey Sharybin [Mon, 20 Mar 2017 14:37:05 +0000 (15:37 +0100)]
Fix T50268: Cycles allows to select un supported GPUs for OpenCL

2 years agoCycles: Update remaining time once per second without waiting for a tile change
Lukas Stockner [Wed, 18 Jan 2017 23:41:55 +0000 (00:41 +0100)]
Cycles: Update remaining time once per second without waiting for a tile change

Previously, the code would only update the status string if the main status changed.
However, the main status did not include the remaining time, and therefore it wasn't updated until the amount of rendered tiles (which is part of the main status) changed.

This commit therefore makes the BlenderSession remember the time of the last status update and forces a status update if the last one was more than a second ago.

Reviewers: sergey

Differential Revision:

2 years agoFix T50975: Cycles: Light sampling threshold inadvertently clamps negative lamps
Sergey Sharybin [Mon, 20 Mar 2017 13:48:37 +0000 (14:48 +0100)]
Fix T50975: Cycles: Light sampling threshold inadvertently clamps negative lamps

2 years agoCleanup: useless call to glRasterPos before `view3d_cached_text_draw_add()`
Bastien Montagne [Mon, 20 Mar 2017 13:36:06 +0000 (14:36 +0100)]
Cleanup: useless call to glRasterPos before `view3d_cached_text_draw_add()`

Probably some leftover from much older code?

2 years agoFix T50990: Random black pixels in Cycles when rendering material with Multiscatter GGX
Sergey Sharybin [Mon, 20 Mar 2017 11:07:41 +0000 (12:07 +0100)]
Fix T50990: Random black pixels in Cycles when rendering material with Multiscatter GGX

2 years agoCorrect unintended splash on loading startup
Campbell Barton [Mon, 20 Mar 2017 01:46:20 +0000 (12:46 +1100)]
Correct unintended splash on loading startup

2 years agoUser Preferences: Split out addon and keymap free
Campbell Barton [Mon, 20 Mar 2017 01:42:19 +0000 (12:42 +1100)]
User Preferences: Split out addon and keymap free

2 years agoRemove register_module use in Cycles
Campbell Barton [Mon, 20 Mar 2017 01:16:51 +0000 (12:16 +1100)]
Remove register_module use in Cycles

2 years agoCleanup: especially non pep8 parts of Py UI
Campbell Barton [Sun, 19 Mar 2017 22:43:18 +0000 (09:43 +1100)]
Cleanup: especially non pep8 parts of Py UI

2 years agoUsual UI/i18n message fixes.
Bastien Montagne [Sun, 19 Mar 2017 16:31:07 +0000 (17:31 +0100)]
Usual UI/i18n message fixes.

Please provide valid description for SurfaceDeform modifier tooltip.
Such place-holders should not pass final checks before merging in master!

2 years agoMoving classes to separate listing broke panel order
Campbell Barton [Sun, 19 Mar 2017 15:34:32 +0000 (02:34 +1100)]
Moving classes to separate listing broke panel order

Although this wasn't so obvious since it
only showed up for factory settings and in the preferences window.

Panel display order depends on registration order,
Sorry for the noise. On the bright side we no longer need to move
classes around to re-arrange panels.

2 years agoAdd missing classes from recent commit
Campbell Barton [Sun, 19 Mar 2017 15:07:24 +0000 (02:07 +1100)]
Add missing classes from recent commit

2 years agoPyAPI: ID Property tests
Jacques Lucke [Sat, 18 Mar 2017 16:37:22 +0000 (03:37 +1100)]
PyAPI: ID Property tests

2 years agoPyAPI: remove bpy.utils.register_module()
Campbell Barton [Sat, 18 Mar 2017 09:03:24 +0000 (20:03 +1100)]
PyAPI: remove bpy.utils.register_module()

In preparation for it being removed, see: T47811

2 years agoAlternate fix for T50899
Campbell Barton [Sat, 18 Mar 2017 07:29:16 +0000 (18:29 +1100)]
Alternate fix for T50899

object_get_derived_final shouldn't have been assuming mesh objects.

It's even valid to use a curve as a target for a shrink-wrap modifier.

2 years agoMissing from recent commit
Campbell Barton [Sat, 18 Mar 2017 01:33:42 +0000 (12:33 +1100)]
Missing from recent commit

2 years agoPyAPI: add BPY_execute_string_as_string
Campbell Barton [Sat, 18 Mar 2017 01:19:03 +0000 (12:19 +1100)]
PyAPI: add BPY_execute_string_as_string

Utility to execute a string and get the resulting string,
matching BPY_execute_string_as_number.

Not used just yet but generally useful function.

2 years agoCleanup: use return args last and 'r_' prefix.
Campbell Barton [Fri, 17 Mar 2017 22:39:36 +0000 (09:39 +1100)]
Cleanup: use return args last and 'r_' prefix.

2 years agoVarious icon adjustments
raa [Fri, 17 Mar 2017 13:47:19 +0000 (16:47 +0300)]
Various icon adjustments

2 years agoFix T50968: Cycles crashes when image datablock points to a directory
Sergey Sharybin [Fri, 17 Mar 2017 13:47:12 +0000 (14:47 +0100)]
Fix T50968: Cycles crashes when image datablock points to a directory

See more details about root of the cause there:

2 years agoCycles: Fix mistake in previous split kernel commits
Sergey Sharybin [Fri, 17 Mar 2017 10:55:59 +0000 (11:55 +0100)]
Cycles: Fix mistake in previous split kernel commits

Own stupid mistake. Reported by nirved in IRC, thanks!

2 years agofix: redraw dope sheet / action editor when pose bone selection changes
Sybren A. Stüvel [Fri, 24 Feb 2017 17:21:46 +0000 (18:21 +0100)]
fix: redraw dope sheet / action editor when pose bone selection changes

2 years agoCycles: Cleanup, indentation
Sergey Sharybin [Fri, 17 Mar 2017 09:25:21 +0000 (10:25 +0100)]
Cycles: Cleanup, indentation

2 years agoRefactor writefile handling of data-blocks.
Bastien Montagne [Fri, 17 Mar 2017 09:02:08 +0000 (10:02 +0100)]
Refactor writefile handling of data-blocks.

Instead of calling a function looping over whole list of a given ID
type, make whole loop over Main in parent function, and call functions
writing a single datablock at a time.

This design is more in line with all other places in Blender where we
handle whole content of Main (including readfile.c), and much more easy
to extend and add e.g. some generic processing of IDs before/after
writing, etc.

From user point, there should be no change at all, only difference is
that data-block types won't be saved in same order as before (.blend
file specs enforces no order here, so this is not an issue, but it could
bug some third party users using other, simplified .blend file reader maybe).

Reviewers: sergey, campbellbarton

Differential Revision:

2 years agoCycles: Fix compilation error of LCG RNG
Sergey Sharybin [Fri, 17 Mar 2017 08:58:08 +0000 (09:58 +0100)]
Cycles: Fix compilation error of LCG RNG

2 years agoCycles: Silence strict compiler warning
Sergey Sharybin [Fri, 17 Mar 2017 08:56:44 +0000 (09:56 +0100)]
Cycles: Silence strict compiler warning

2 years agoCycles: Improve memory usage of CPU split kernel by using smaller global size
Mai Lavelle [Fri, 17 Mar 2017 05:31:11 +0000 (01:31 -0400)]
Cycles: Improve memory usage of CPU split kernel by using smaller global size

2 years agoCycles: Fix handling of barriers
Mai Lavelle [Thu, 16 Mar 2017 06:16:02 +0000 (02:16 -0400)]
Cycles: Fix handling of barriers

2 years agoMesh Convert: remove meaningless modifier check
Campbell Barton [Thu, 16 Mar 2017 23:10:55 +0000 (10:10 +1100)]
Mesh Convert: remove meaningless modifier check

Meshes w/o modifiers wouldn't have their derived mesh applied.
Check was to avoid crash but its in fact meaningless,
since the modifier might be disabled, or there may be virtual modifiers.

2 years agoFix T50950: Converting meshes fails w/ boolean
Campbell Barton [Thu, 16 Mar 2017 22:58:05 +0000 (09:58 +1100)]
Fix T50950: Converting meshes fails w/ boolean

2 years agoAdd BKE_blendfile_userdef_read_from_memory
Campbell Barton [Thu, 16 Mar 2017 20:01:11 +0000 (07:01 +1100)]
Add BKE_blendfile_userdef_read_from_memory

Needed to read user-preferences from in-memory startup.blend

Also skip data-blocks when reading preferences.

2 years agoAdd support for loading preference struct
Campbell Barton [Thu, 16 Mar 2017 18:10:36 +0000 (05:10 +1100)]
Add support for loading preference struct

Previously it would always load into 'U' global.
Needed for loading & merging template preferences.

2 years agoPyAPI: Menu.path_menu: Add path filter callback
Campbell Barton [Thu, 16 Mar 2017 18:17:39 +0000 (05:17 +1100)]
PyAPI: Menu.path_menu: Add path filter callback

Needed if we want to filter based on filenames (not just extension).

2 years agoCorrect reading missing property
Campbell Barton [Thu, 16 Mar 2017 18:20:09 +0000 (05:20 +1100)]
Correct reading missing property

2 years agoFix missing undo pushes in outliner's new datablock management operations.
Bastien Montagne [Thu, 16 Mar 2017 16:02:11 +0000 (17:02 +0100)]
Fix missing undo pushes in outliner's new datablock management operations.

Not sure why I did not put those from start... Actually *not* having an
undo point here can be problematic, since undoing some previous action
was trying to restore from bad pointer (I think) in UI, generating

Note however that it's not a 'pure' undo, in that you may not find your
linked data in exact same state as before deleting it, after an undo,
since it actually implies *reloading* the deleted libraries (and not
restoring from a previously stored memory dump).

Reported by @sergey, thanks.

2 years agoFix outliner contextual menu allowing to delete indirect libraries.
Bastien Montagne [Thu, 16 Mar 2017 15:47:56 +0000 (16:47 +0100)]
Fix outliner contextual menu allowing to delete indirect libraries.

There is no way currently to prevent the option from showing in menu, so
instead report a warning to user (and curse again current nightmarish
system of operation in outliner...).

Reported by @sergey, thanks.

2 years agoDepsgraph: Fixed crash with curve bevel indirect dupligroups
Sergey Sharybin [Thu, 16 Mar 2017 14:27:03 +0000 (15:27 +0100)]
Depsgraph: Fixed crash with curve bevel indirect dupligroups

Need to expand all object's dupli-groups, not only the dupli-groups
of objects directly linked to the scene.

2 years agoDepsgraph: Use string and vector in the DEG namespace only
Sergey Sharybin [Thu, 16 Mar 2017 11:31:19 +0000 (12:31 +0100)]
Depsgraph: Use string and vector in the DEG namespace only

2 years agoDepsgraph: Don't use explicit values in runtime only enum
Sergey Sharybin [Thu, 16 Mar 2017 11:29:43 +0000 (12:29 +0100)]
Depsgraph: Don't use explicit values in runtime only enum

Lower risk of forgetting to update some values here.

2 years agoCleanup: differentiate startup/prefs in home-file reading
Campbell Barton [Thu, 16 Mar 2017 13:37:28 +0000 (00:37 +1100)]
Cleanup: differentiate startup/prefs in home-file reading

2 years agoSupport passing in UserDef for free function
Campbell Barton [Thu, 16 Mar 2017 13:18:20 +0000 (00:18 +1100)]
Support passing in UserDef for free function

Needed so we can load and free non-global user preferences.

2 years agoCycles: Define ccl_local variables in kernel functions
Sergey Sharybin [Wed, 8 Mar 2017 12:34:29 +0000 (13:34 +0100)]
Cycles: Define ccl_local variables in kernel functions

Declaring ccl_local in a device function is not supported
by certain compilers.

2 years agoCycles: Workaround for compilation error caused by passing KernelGlobals
Sergey Sharybin [Wed, 8 Mar 2017 11:49:04 +0000 (12:49 +0100)]
Cycles: Workaround for compilation error caused by passing KernelGlobals

Pass globals as a bare pointer, same as it sued to be prior to split kernel rework.

AMD CPU platform and Intel OpenCL were complaining about this.

Perhaps we shouldn't pass globals as pointer at all, this isn't something what is
really portable and can cause issues on 32 bit perhaps.

2 years agoCycles: Avoid some ccl_local in various kernels
Sergey Sharybin [Tue, 14 Mar 2017 13:44:52 +0000 (14:44 +0100)]
Cycles: Avoid some ccl_local in various kernels

2 years agoCycles: Adjust global size for OpenCL CPU devices to make them faster
Mai Lavelle [Thu, 16 Mar 2017 06:57:45 +0000 (02:57 -0400)]
Cycles: Adjust global size for OpenCL CPU devices to make them faster

2 years agoFix BGE building.
Bastien Montagne [Thu, 16 Mar 2017 09:30:02 +0000 (10:30 +0100)]
Fix BGE building.

When you use typedef'ed enum, you need to define all supported values
explicitely in enum, else compiler goes grumpy...

2 years agoComments: wmOperator.cancel & modal
Campbell Barton [Wed, 15 Mar 2017 19:37:09 +0000 (06:37 +1100)]
Comments: wmOperator.cancel & modal

2 years agoMissed BGE in recent commit
Campbell Barton [Wed, 15 Mar 2017 19:28:03 +0000 (06:28 +1100)]
Missed BGE in recent commit

2 years agoLoad user-preferences before startup file
Campbell Barton [Wed, 15 Mar 2017 16:54:58 +0000 (03:54 +1100)]
Load user-preferences before startup file

Internal change needed for template support.
Loading the user preferences first so it's possible
for preferences to control startup behavior.

In general it's useful to load preferences before data-files,
so we know security settings for eg.

2 years agoCycles: Allow rendering a range of resumable chunks
Sergey Sharybin [Wed, 15 Mar 2017 14:52:27 +0000 (15:52 +0100)]
Cycles: Allow rendering a range of resumable chunks

The range is controlled using the following command line arguments:


Those are 1-based index of range for rendering.

2 years agoCycles: Use argument parser for resumable render feature
Sergey Sharybin [Wed, 15 Mar 2017 14:36:40 +0000 (15:36 +0100)]
Cycles: Use argument parser for resumable render feature

Currently there is no functional changes, but we will be adding
couple more of options here soon.

2 years agoFix bug on Blender version string
Dalai Felinto [Wed, 15 Mar 2017 14:42:01 +0000 (15:42 +0100)]
Fix bug on Blender version string

Reported by Pablo Vazquez (venomgfx) over irc.

2 years agoMove Blender version string handling to its own function
Dalai Felinto [Wed, 15 Mar 2017 13:10:20 +0000 (14:10 +0100)]
Move Blender version string handling to its own function

Planning to use this util function in 2.8 for doversioning (to communicate converted layers)

2 years agoFix strict compiler warning in the previous commit
Sergey Sharybin [Wed, 15 Mar 2017 11:48:07 +0000 (12:48 +0100)]
Fix strict compiler warning in the previous commit

2 years agoFix T50938: Cache not being reset when changing simulation settings with new depsgraph
Sergey Sharybin [Wed, 15 Mar 2017 10:10:42 +0000 (11:10 +0100)]
Fix T50938: Cache not being reset when changing simulation settings with new depsgraph

The thing i'm really starting to hate is the requirement to specify both
operation code and node type. Seems to be duplicated enums without real
need for that.

2 years agoBGE: Fix blenderplayer stub.
Porteries Tristan [Tue, 14 Mar 2017 21:15:50 +0000 (21:15 +0000)]
BGE: Fix blenderplayer stub.

Add dummy definition of WM_operator_is_repeat.

2 years agoWM: free operators when repeating
Campbell Barton [Tue, 14 Mar 2017 18:16:07 +0000 (05:16 +1100)]
WM: free operators when repeating

Needed since the active operator isn't ensured to be the last.

2 years agofix D2552: Collada - Follow up change to complete the fix in rBda6cd7762810 (use...
Gaia Clary [Tue, 14 Mar 2017 18:31:15 +0000 (19:31 +0100)]
fix D2552: Collada - Follow up change to complete the fix in rBda6cd7762810 (use unique id for bones with same name in different armatures)

2 years agoCollada simplify: avoid duplicate negation in boolean
Gaia Clary [Tue, 14 Mar 2017 14:07:31 +0000 (15:07 +0100)]
Collada simplify: avoid duplicate negation in boolean

2 years agoWM: add Operator.is_repeat() check for C & Py
Campbell Barton [Tue, 14 Mar 2017 16:43:44 +0000 (03:43 +1100)]
WM: add Operator.is_repeat() check for C & Py

This addresses an issue raised by D2453 -
that there was no way to check if operators are run
multiple times in a row.

Actions are still ignored that don't cause an UNDO event.

2 years agoWM: store operators with undo flag
Campbell Barton [Tue, 14 Mar 2017 15:37:33 +0000 (02:37 +1100)]
WM: store operators with undo flag

This is needed so we can tell if operators are executed repeatedly.

2 years agoUpdate path_menu for recent API change
Campbell Barton [Tue, 14 Mar 2017 15:59:32 +0000 (02:59 +1100)]
Update path_menu for recent API change

2 years agoCycles: Cleanup, indentation
Sergey Sharybin [Tue, 14 Mar 2017 15:54:16 +0000 (16:54 +0100)]
Cycles: Cleanup, indentation

2 years agoFix T50926: python crashes with path containing utf8 characters.
Bastien Montagne [Tue, 14 Mar 2017 15:04:03 +0000 (16:04 +0100)]
Fix T50926: python crashes with path containing utf8 characters.

Default text encoding is platform-dependent in python, and windows
usually do not use utf-8 as default...

2 years agofix D2552: Collada - use unique id for bones with same name but in different armature...
Jon Allee [Tue, 14 Mar 2017 13:17:04 +0000 (14:17 +0100)]
fix D2552: Collada - use unique id for bones with same name but in different armatures. Co-authored-by: Gaia <>

2 years agoCLNor: rework threaded computation.
Bastien Montagne [Tue, 14 Mar 2017 10:48:11 +0000 (11:48 +0100)]
CLNor: rework threaded computation.

Was using some threaded queue on top of task pool, tssk...

Now using properly task pool directly to crunch chunks of smooth fans.

No noticable changes in speed.

Tried to completely get rid of the 'no threading with few loops' code,
but even just creating/freeing the task pool, without actually pushing
any task, is enough to make code 50% slower in worst case scenario (i.e.
few thousands of simple cube objects).

2 years agoCLNor code: use averaged debug timing.
Bastien Montagne [Mon, 13 Mar 2017 15:44:58 +0000 (16:44 +0100)]
CLNor code: use averaged debug timing.

2 years agoFix T50876: Cycles Crash - Cycles crashes before sampling when certain meshes have...
Bastien Montagne [Mon, 13 Mar 2017 15:13:47 +0000 (16:13 +0100)]
Fix T50876: Cycles Crash - Cycles crashes before sampling when certain meshes have autosmooth enabled.

The root of the issue was in custom normal code, so far it assumed that
we could only have one cyclic smooth fan around each vertex, which is...
blatantly wrong (again, the two cones sharing same vertex tip e.g.).

This required a rather deep change in how smooth fans/clnor spaces are processed,
took me some time to find a 'good' solution.

Note that new code is slightly slower than previous one (maybe about 5%),
not much to be done here, am afraid.

Tested against all older report files I could find, seems OK.

2 years agoFix own mistake in recent 'edge split' refactor.
Bastien Montagne [Mon, 13 Mar 2017 15:11:48 +0000 (16:11 +0100)]
Fix own mistake in recent 'edge split' refactor.

We do can have some vertices to split, while not having any edge (think
about two cones sharing the same tip vertex e.g.).

2 years agoCycles: Try to avoid infinite loops by catching invalid ray states
Mai Lavelle [Sat, 11 Mar 2017 12:03:17 +0000 (07:03 -0500)]
Cycles: Try to avoid infinite loops by catching invalid ray states

2 years agoWM: Option to load startup w/o closing the splash
Campbell Barton [Tue, 14 Mar 2017 10:05:00 +0000 (21:05 +1100)]
WM: Option to load startup w/o closing the splash

Not user visible, needed for switching templates.

2 years agoPyAPI: extend Menu.path_menu
Campbell Barton [Tue, 14 Mar 2017 09:58:16 +0000 (20:58 +1100)]
PyAPI: extend Menu.path_menu

- Add optional 'display_name' callback
  so callers can construct own names.
- Add optional 'prop_filepath' argument
  (for operators that don't use "filepath").
- Add doc-string.
- Use keyword only arguments.

2 years agoFix T50932: depth picking w/ pose-bone constraints
Campbell Barton [Tue, 14 Mar 2017 07:01:04 +0000 (18:01 +1100)]
Fix T50932: depth picking w/ pose-bone constraints

2 years agoCycles: Cleanup, wipe obviously outdated parts of split kernel comments
Sergey Sharybin [Mon, 13 Mar 2017 16:15:40 +0000 (17:15 +0100)]
Cycles: Cleanup, wipe obviously outdated parts of split kernel comments

2 years agofix msvc warnings about unknown opencl pragmas
lazydodo [Mon, 13 Mar 2017 16:07:36 +0000 (10:07 -0600)]
fix msvc warnings about unknown opencl pragmas

2 years agoCycles: Add missing header in the file
Sergey Sharybin [Mon, 13 Mar 2017 15:59:09 +0000 (16:59 +0100)]
Cycles: Add missing header in the file

2 years agoFix T50920: Adds missing edges on return of bisect operator
Germano Cavalcante [Mon, 13 Mar 2017 12:22:11 +0000 (09:22 -0300)]
Fix T50920: Adds missing edges on return of bisect operator

2 years agoFix T50925: Add AO approximation to split kernel
Hristo Gueorguiev [Sun, 12 Mar 2017 21:41:11 +0000 (22:41 +0100)]
Fix T50925: Add AO approximation to split kernel

2 years agoCycles: Make MESA compiler more happy
Sergey Sharybin [Mon, 13 Mar 2017 08:55:18 +0000 (09:55 +0100)]
Cycles: Make MESA compiler more happy

While this compiler is not officially supported yet, getting it to work is
a nice thing because more and more AMD cards will fall under MESA driver.

It's also nice to use explicit comparison with NULL, which makes it more
clear whether variable is a boolean or pointer. Even Rust enforces this!

Patch by Ian Bruce with own modifications.

2 years agoUI: expose mesh conversion in apply menu
Campbell Barton [Sun, 12 Mar 2017 20:28:37 +0000 (07:28 +1100)]
UI: expose mesh conversion in apply menu

The mesh convert operator can 'freeze' a mesh
(WYSIWYG, modifiers, shape keys etc).
However its not very obvious that the way to perform this
operation is to convert a mesh to a mesh.

Expose this as 'Visual Geometry to Mesh' in the 'Apply' menu,
since this is where users might expect to see it.

2 years agoComments: minor clarification
Campbell Barton [Sun, 12 Mar 2017 20:12:28 +0000 (07:12 +1100)]
Comments: minor clarification

2 years agofix T50923: Inconsistent default values and wrong order of parameters in api call
Gaia Clary [Sun, 12 Mar 2017 19:31:34 +0000 (20:31 +0100)]
fix T50923: Inconsistent default values and wrong order of parameters in api call

2 years agoFix T50930 Typo in 'jpeg2k_codec' description
Aaron Carlisle [Sun, 12 Mar 2017 17:55:43 +0000 (13:55 -0400)]
Fix T50930 Typo in 'jpeg2k_codec' description

2 years agoBMesh: rename cryptic functions
Campbell Barton [Sun, 12 Mar 2017 16:45:15 +0000 (03:45 +1100)]
BMesh: rename cryptic functions

Use expanded names for bmesh primitive operations
(urmv jvke semv jfke).

Use 'bmesh_kernel_' prefix,
these functions aren't intended for wide use so favor readability.

Remove BM_face_vert_separate,
it wasn't used and only skipped step of finding correct loop of face.

2 years agoCleanup: style
Campbell Barton [Sun, 12 Mar 2017 17:25:21 +0000 (04:25 +1100)]
Cleanup: style

2 years agoUI: Always open enum-search popups with empty search string
Julian Eisel [Sun, 12 Mar 2017 17:14:43 +0000 (18:14 +0100)]
UI: Always open enum-search popups with empty search string

It might be useful to keep the search string stored in some cases, but
in most it's not useful but confusing. Especially if the string is taken
from a menu showing a different enum.

2 years agoFix T50788: blender startup crash on macOS with some types of volumes available.
Brecht Van Lommel [Sun, 12 Mar 2017 14:48:44 +0000 (15:48 +0100)]
Fix T50788: blender startup crash on macOS with some types of volumes available.

2 years agoFix T50628: gray out cycles device menu when no device configured only for GPU Compute.
Brecht Van Lommel [Sun, 12 Mar 2017 05:45:29 +0000 (06:45 +0100)]
Fix T50628: gray out cycles device menu when no device configured only for GPU Compute.

2 years agoFix icon alignment for pie buttons
raa [Sat, 11 Mar 2017 19:34:09 +0000 (22:34 +0300)]
Fix icon alignment for pie buttons

2 years agoCleanup: code style & cmake
Campbell Barton [Sat, 11 Mar 2017 15:40:04 +0000 (02:40 +1100)]
Cleanup: code style & cmake

2 years agoAdd support for Objects in Drive variable `Rotational Difference`
Germano Cavalcante [Sat, 11 Mar 2017 13:43:23 +0000 (10:43 -0300)]
Add support for Objects in Drive variable `Rotational Difference`

Thus it is according to the Manual

2 years agoBMesh: Fix BM_face_loop_separate_multi
Campbell Barton [Sat, 11 Mar 2017 12:21:37 +0000 (23:21 +1100)]
BMesh: Fix BM_face_loop_separate_multi

When the loop region passed in had no loops to edge-split from,
it was assumed nothing needed to be done.

This ignored the case where loops share a vertex
without any shared edges.

Now BM_face_loop_separate_multi behaves like BM_face_loop_separate.

Fixed error where faces remained connected by verts in BM_mesh_separate_faces.

2 years agoCorrect recent bmesh separate addition
Campbell Barton [Sat, 11 Mar 2017 12:19:49 +0000 (23:19 +1100)]
Correct recent bmesh separate addition

- Was setting flag incorrectly to avoid re-use.
- Check edge has loops before accessing.

2 years agoFix T50888: Numeric overflow in split kernel state buffer size calculation
Mai Lavelle [Sat, 11 Mar 2017 10:23:11 +0000 (05:23 -0500)]
Fix T50888: Numeric overflow in split kernel state buffer size calculation

Overflow led to the state buffer being too small and the split kernel to
get stuck doing nothing forever.

2 years agoBMesh: add BM_mesh_separate_faces
Campbell Barton [Sat, 11 Mar 2017 09:39:28 +0000 (20:39 +1100)]
BMesh: add BM_mesh_separate_faces

Fast-path for bmesh split operator which duplicates and deletes.
Use when only separating faces, currently used by the intersect tool.