blender.git
4 years agoFix T45283: Blender crashes on some grayscale PNGs with alpha.
Bastien Montagne [Fri, 3 Jul 2015 16:23:55 +0000 (18:23 +0200)]
Fix T45283: Blender crashes on some grayscale PNGs with alpha.

PNG_COLOR_TYPE_GRAY colortype can have some values for alpha, in the same way as
PNG_COLOR_TYPE_PALETTE colortype.

In this case, we need two channels (grayscale and alpha), not one.

4 years agoBGE: Add integer uniforms for 2D Filter
Thomas Szepe [Fri, 3 Jul 2015 15:07:31 +0000 (17:07 +0200)]
BGE: Add integer uniforms for 2D Filter

Actually it is only possible to pass float properties to a 2D filter (GLSL fragment shader).
This patch allows also to use integer properties for the 2D filter.

Reviewers: sybren, agoose77, kupoman, moguri, lordloki, panzergame

Reviewed By: lordloki, panzergame

Projects: #game_engine

Differential Revision: https://developer.blender.org/D1370

4 years agoWalk mode: Add modal shortcuts in UI (header help message).
Bastien Montagne [Fri, 3 Jul 2015 13:54:34 +0000 (15:54 +0200)]
Walk mode: Add modal shortcuts in UI (header help message).

4 years agoCleanup: 'return' parameters to the end of functions, and use 'r_' prefix for them.
Bastien Montagne [Fri, 3 Jul 2015 13:44:38 +0000 (15:44 +0200)]
Cleanup: 'return' parameters to the end of functions, and use 'r_' prefix for them.

4 years agoUI: add ability to access/generate 'shortcuts strings' of modal keymaps.
Bastien Montagne [Fri, 3 Jul 2015 13:07:46 +0000 (15:07 +0200)]
UI: add ability to access/generate 'shortcuts strings' of modal keymaps.

We already had that for global keymaps (used e.g. to generate shortcuts for menu entries),
but this wasn’t possible for modal keymaps yet (e.g. help message in header during
transforms and other modal operation).

This commit only adds needing background code, it does not change anything from user PoV.
Modal operators will be updated to use it in comming weeks.

Thanks to Campbell for revisions & suggestions. :)

Differential Revision: https://developer.blender.org/D780

4 years agoCycles: Code cleanup, double semicolon
Sergey Sharybin [Fri, 3 Jul 2015 13:44:24 +0000 (15:44 +0200)]
Cycles: Code cleanup, double semicolon

4 years agoSequencer: srt export support.
Antony Riakiotakis [Fri, 3 Jul 2015 10:34:23 +0000 (12:34 +0200)]
Sequencer: srt export support.

This commit adds a new operator that will compile the list of text
strips into an srt file. No positioning is supported yet but will
be added later.

The operator can be found in the effect panel in the strip properties.

4 years agoCycles: Error enqueueing split kernels should no longer cause infinite loop
Sergey Sharybin [Fri, 3 Jul 2015 10:13:02 +0000 (12:13 +0200)]
Cycles: Error enqueueing split kernels should no longer cause infinite loop

4 years agoBGE: Extend Python API for KX_BlenderMaterial (specular, diffuse…)
Porteries Tristan [Fri, 3 Jul 2015 09:47:48 +0000 (11:47 +0200)]
BGE: Extend Python API for KX_BlenderMaterial (specular, diffuse…)

Add support for material diffuse, specular… in KX_BlenderMaterial python proxy. And use mathutils in KX_BlenderMaterial for the specular and diffuse color in KX_BlenderMaterial.

Reviewers: sybren, brita_, kupoman, agoose77, dfelinto, moguri, campbellbarton, hg1

Reviewed By: moguri, campbellbarton, hg1

Subscribers: dfelinto

Projects: #game_engine

Differential Revision: https://developer.blender.org/D1298

4 years agoCycles: Use explicit indices for split kernel queues
Sergey Sharybin [Fri, 3 Jul 2015 09:05:28 +0000 (11:05 +0200)]
Cycles: Use explicit indices for split kernel queues

4 years agoCycles: Code cleanup in split kernel, whitespaces
Sergey Sharybin [Fri, 3 Jul 2015 08:56:40 +0000 (10:56 +0200)]
Cycles: Code cleanup in split kernel, whitespaces

4 years agoMulti-View UI: convergence is only useless for the parallel camera (toe-in still...
Dalai Felinto [Fri, 3 Jul 2015 04:10:56 +0000 (01:10 -0300)]
Multi-View UI: convergence is only useless for the parallel camera (toe-in still uses it)

4 years agoFix vertex slide regression w/ rotated objects
Campbell Barton [Fri, 3 Jul 2015 00:49:57 +0000 (10:49 +1000)]
Fix vertex slide regression w/ rotated objects

This could only be done with certain rotations.

4 years agoBLI_GHash: add BLI_gset_str_new helpers.
Bastien Montagne [Thu, 2 Jul 2015 18:35:05 +0000 (20:35 +0200)]
BLI_GHash: add BLI_gset_str_new helpers.

4 years agoSupport debug contexts on win32
Antony Riakiotakis [Thu, 2 Jul 2015 18:06:02 +0000 (20:06 +0200)]
Support debug contexts on win32

4 years agoMake OpenGL debug contexts a flag --debug-gpu instead of a compile time
Antony Riakiotakis [Thu, 2 Jul 2015 17:30:08 +0000 (19:30 +0200)]
Make OpenGL debug contexts a flag --debug-gpu instead of a compile time
option.

This makes sense, since contexts get created at runtime, there is little
reason to require recompilation for this.

Only works on linux currently, will be doing more OSs later

4 years agoRNA Doc: Camera shift affects all cameras (perspective, orthographic and even panoramic)
Dalai Felinto [Thu, 2 Jul 2015 16:53:36 +0000 (13:53 -0300)]
RNA Doc: Camera shift affects all cameras (perspective, orthographic and even panoramic)

4 years agoGame Engine: Camera Lens Shift: support to change it during game
Dalai Felinto [Thu, 2 Jul 2015 16:47:27 +0000 (13:47 -0300)]
Game Engine: Camera Lens Shift: support to change it during game

4 years agoText effect strip for sequencer.
Antony Riakiotakis [Wed, 1 Jul 2015 18:29:18 +0000 (20:29 +0200)]
Text effect strip for sequencer.

Is pretty much what it says :)
Easy subtitles for everyone!

Supports size, positioning,
a cheap shadow effect (probably will need more work),
and autocentering on x axis.

Now you can go wild with long spanish names
in your soap opera videos.

Will probably be refined as days go by,
but at least it's now ready for testing.

4 years agoRender: Solve wrong vertex parent in linked objects with Locked UI
Sergey Sharybin [Thu, 2 Jul 2015 14:12:08 +0000 (16:12 +0200)]
Render: Solve wrong vertex parent in linked objects with Locked UI

The cleanup function was a bit too much aggressive here, made it much more
conservative. It means memory usage will not be so low anymore, and to
address this we'll need to make this function depsgraph aware.

4 years agoFix crash in background mode after the NDof deadzone commit
Sergey Sharybin [Thu, 2 Jul 2015 13:59:12 +0000 (15:59 +0200)]
Fix crash in background mode after the NDof deadzone commit

4 years agoFix: Keyframe indicators for NLA Strip properties fails if the AnimData has an active...
Joshua Leung [Thu, 2 Jul 2015 01:19:42 +0000 (13:19 +1200)]
Fix: Keyframe indicators for NLA Strip properties fails if the AnimData has an active action

4 years agoBGE: remove check for area in start-game operator
Campbell Barton [Thu, 2 Jul 2015 11:25:25 +0000 (21:25 +1000)]
BGE: remove check for area in start-game operator

This prevented the BGE from being started from the command-line,
the exec() function checked already.

Also use API calls to find area, region.

4 years agoBGE: Fix T45267 Lib load without material caching.
Porteries Tristan [Thu, 2 Jul 2015 10:20:13 +0000 (12:20 +0200)]
BGE: Fix T45267 Lib load without material caching.

4 years agoFix T45269: Blender 2.75 crashes when I run my the game
Sybren A. Stüvel [Thu, 2 Jul 2015 10:05:38 +0000 (12:05 +0200)]
Fix T45269: Blender 2.75 crashes when I run my the game

Velocity clamping on static objects caused a crash.

4 years agoBGE: Fix T45196 armature action on libloading.
Porteries Tristan [Thu, 2 Jul 2015 09:56:49 +0000 (11:56 +0200)]
BGE: Fix T45196 armature action on libloading.

4 years agoLinux desktop spec: Add a 'Keyword' field.
Bastien Montagne [Thu, 2 Jul 2015 06:53:45 +0000 (08:53 +0200)]
Linux desktop spec: Add a 'Keyword' field.

4 years agoDerivedMesh: cleanup & minor edirs
Campbell Barton [Thu, 2 Jul 2015 06:20:22 +0000 (16:20 +1000)]
DerivedMesh: cleanup & minor edirs

- place return args last position
- move crazyspace function out of DerivedMesh header
- use bool for args
- flow control on own lines to ease debugging

4 years agoMinor edits to --help
Campbell Barton [Thu, 2 Jul 2015 02:50:09 +0000 (12:50 +1000)]
Minor edits to --help

4 years agoCleanup: Use bool instead of int
Julian Eisel [Wed, 1 Jul 2015 19:48:42 +0000 (21:48 +0200)]
Cleanup: Use bool instead of int

4 years agoTransform: use snap-to-grid behavior from D910
Campbell Barton [Wed, 1 Jul 2015 16:13:15 +0000 (02:13 +1000)]
Transform: use snap-to-grid behavior from D910

Excuse the trashing here, but seems users prefer this most (though both can be useful).

Note that the UI remains the same,
so this is an option for 'Incremental' snapping instead of a new snapping mode.

4 years agoLinux XDesktop spec: add '%f' file specifier to 'Exec' field.
Bastien Montagne [Wed, 1 Jul 2015 15:39:31 +0000 (17:39 +0200)]
Linux XDesktop spec: add '%f' file specifier to 'Exec' field.

Also reorder alphabetically generic names & comments, and add french comment.

4 years agoCleanup: Make select grouped effect code a bit more readable
Antony Riakiotakis [Wed, 1 Jul 2015 15:37:14 +0000 (17:37 +0200)]
Cleanup: Make select grouped effect code a bit more readable

4 years agoRefactoring:
Antony Riakiotakis [Wed, 1 Jul 2015 15:32:56 +0000 (17:32 +0200)]
Refactoring:

Make sure SEQ_TYPE_EFFECT is only used as a flag, not as number
comparison.
This should allow us to add new non-effect types in between
effect types (every 8 indices).

Dirty, but alternative of separating type/subtype means we lose
forward compatibility.

4 years agoBGE: Fix T44069 playing action during libfree.
Porteries Tristan [Wed, 1 Jul 2015 14:38:31 +0000 (16:38 +0200)]
BGE: Fix T44069 playing action during libfree.

4 years agoCorrect --help message
Campbell Barton [Wed, 1 Jul 2015 14:20:09 +0000 (00:20 +1000)]
Correct --help message

4 years agoRemoving gaps will now also move the scene markers, unless markers are
Antony Riakiotakis [Wed, 1 Jul 2015 14:25:28 +0000 (16:25 +0200)]
Removing gaps will now also move the scene markers, unless markers are
locked

4 years agoSequencer metadata:
Antony Riakiotakis [Wed, 1 Jul 2015 13:23:09 +0000 (15:23 +0200)]
Sequencer metadata:

Add option to render strip metadata to final result, bypassing current
scene metadata.

4 years agoBGE: Remove KX_PolygonMaterial reference in documentation.
Porteries Tristan [Wed, 1 Jul 2015 12:56:02 +0000 (14:56 +0200)]
BGE: Remove KX_PolygonMaterial reference in documentation.

4 years agoBPlayer compile fix ©
Bastien Montagne [Wed, 1 Jul 2015 10:34:04 +0000 (12:34 +0200)]
BPlayer compile fix ©

4 years agoatomic_ops: Fix MSVC versions of add/sub returning original value instead of result...
Bastien Montagne [Wed, 1 Jul 2015 10:24:04 +0000 (12:24 +0200)]
atomic_ops: Fix MSVC versions of add/sub returning original value instead of result of operation.

Thanks to Brecht for tip about how to fix this!

4 years agoatomic_ops: fix typo in func names (uint32 instead of uint64).
Bastien Montagne [Wed, 1 Jul 2015 10:21:14 +0000 (12:21 +0200)]
atomic_ops: fix typo in func names (uint32 instead of uint64).

4 years agoCycles: Fix zero-size buffer allocation with OpenCL devices
Sergey Sharybin [Wed, 1 Jul 2015 09:56:48 +0000 (11:56 +0200)]
Cycles: Fix zero-size buffer allocation with OpenCL devices

This is not really supported by OpenCL but might happen in certain
configurations. There might be some remained cases when this happens
but so far can not find any,

4 years agoFix T45253: Particle emitter volume mode and grid mode broken in 2.75.x
Sergey Sharybin [Wed, 1 Jul 2015 08:32:30 +0000 (10:32 +0200)]
Fix T45253: Particle emitter volume mode and grid mode broken in 2.75.x

This is a regression since dced56f and root of the issue comes to the fact
that grid distribution sets UNEXIST flag during distribution, which is then
being reset in initialize_all_particles().

This commit solves the issue, but it's not really nice and some smart guy
might want to revisit it.

4 years agoParticles: Code cleanup, whitespace
Sergey Sharybin [Wed, 1 Jul 2015 07:32:12 +0000 (09:32 +0200)]
Particles: Code cleanup, whitespace

4 years agoCleanup: use bools
Campbell Barton [Wed, 1 Jul 2015 06:57:18 +0000 (16:57 +1000)]
Cleanup: use bools

4 years agoCleanup: use cross_v2v2 function
Campbell Barton [Wed, 1 Jul 2015 06:37:05 +0000 (16:37 +1000)]
Cleanup: use cross_v2v2 function

4 years agoCleanup: doxygen comments
Campbell Barton [Wed, 1 Jul 2015 06:30:26 +0000 (16:30 +1000)]
Cleanup: doxygen comments

4 years agoCleanup: use swap math funcs
Campbell Barton [Wed, 1 Jul 2015 06:02:30 +0000 (16:02 +1000)]
Cleanup: use swap math funcs

4 years agoUser Prefs for NDOF dead-zone
Campbell Barton [Wed, 1 Jul 2015 03:45:19 +0000 (13:45 +1000)]
User Prefs for NDOF dead-zone

D1344 with edits

4 years agoUse macro for user-prefs version checks
Campbell Barton [Wed, 1 Jul 2015 02:47:44 +0000 (12:47 +1000)]
Use macro for user-prefs version checks

4 years agoCycles: Solve some harmless NULL pointer magic
Sergey Sharybin [Tue, 30 Jun 2015 21:23:38 +0000 (23:23 +0200)]
Cycles: Solve some harmless NULL pointer magic

Was harmless but confused some sanity checks, also kinda makes sense
to be more verbose about what's going on there.

4 years agoFix 1px gap in regions drawn with region overlap
Julian Eisel [Tue, 30 Jun 2015 19:02:19 +0000 (21:02 +0200)]
Fix 1px gap in regions drawn with region overlap

4 years agoFix T45240: New depsgraph ignores animation applied on the curve data
Sergey Sharybin [Tue, 30 Jun 2015 16:11:21 +0000 (18:11 +0200)]
Fix T45240: New depsgraph ignores animation applied on the curve data

4 years agoFix T45238: New depsgraph flickers with the lattice modifier
Sergey Sharybin [Tue, 30 Jun 2015 16:00:24 +0000 (18:00 +0200)]
Fix T45238: New depsgraph flickers with the lattice modifier

4 years agoFix T45241: New depsgraph was lacking update of python drivers on time change
Sergey Sharybin [Tue, 30 Jun 2015 15:34:57 +0000 (17:34 +0200)]
Fix T45241: New depsgraph was lacking update of python drivers on time change

It's quite tricky to see if the driver actually depends on time or not,
so currently used approach when we'll be doing some extra updates.

This seems to correspond to how old depsgraph was dealing with this.

4 years agoFix T45239: New depsgraph does not work with IK pole target
Sergey Sharybin [Tue, 30 Jun 2015 14:48:02 +0000 (16:48 +0200)]
Fix T45239: New depsgraph does not work with IK pole target

4 years agoFix T45251 custom directory not taken into account for image proxies.
Antony Riakiotakis [Tue, 30 Jun 2015 14:31:14 +0000 (16:31 +0200)]
Fix T45251 custom directory not taken into account for image proxies.

4 years agoFix for mistake in grid-snap patch
Campbell Barton [Tue, 30 Jun 2015 13:42:17 +0000 (23:42 +1000)]
Fix for mistake in grid-snap patch

4 years agoSelect flush deleting edgeloop in edge mode too
Campbell Barton [Tue, 30 Jun 2015 12:50:32 +0000 (22:50 +1000)]
Select flush deleting edgeloop in edge mode too

4 years agoCMake: remove helper text
Campbell Barton [Tue, 30 Jun 2015 12:46:55 +0000 (22:46 +1000)]
CMake: remove helper text

Its out of date, better use the wiki building docs.

4 years agoCMake: minor edits
Campbell Barton [Tue, 30 Jun 2015 12:44:27 +0000 (22:44 +1000)]
CMake: minor edits

4 years agoTransform: add back absolute snapping option
Campbell Barton [Tue, 30 Jun 2015 08:57:17 +0000 (18:57 +1000)]
Transform: add back absolute snapping option

This ensures that vertices are grid-aligned while transforming,
instead of just snapping the input values for translate.

4 years agoCleanup: transform grid snap round, not floor
Campbell Barton [Tue, 30 Jun 2015 08:26:37 +0000 (18:26 +1000)]
Cleanup: transform grid snap round, not floor

4 years agoNote that closest_point_on_mesh is in object space
Campbell Barton [Tue, 30 Jun 2015 05:47:44 +0000 (15:47 +1000)]
Note that closest_point_on_mesh is in object space

4 years agoCleanup: use const for screen functions
Campbell Barton [Tue, 30 Jun 2015 05:31:55 +0000 (15:31 +1000)]
Cleanup: use const for screen functions

4 years agoCleanup: move BLI_char_switch into BLI_string
Campbell Barton [Tue, 30 Jun 2015 05:18:03 +0000 (15:18 +1000)]
Cleanup: move BLI_char_switch into BLI_string

4 years agoCleanup: use BLI_str prefix for BLI_replacestrN
Campbell Barton [Tue, 30 Jun 2015 04:50:34 +0000 (14:50 +1000)]
Cleanup: use BLI_str prefix for BLI_replacestrN

4 years agoCleanup: move BLI_timestr to BLI_timecode
Campbell Barton [Tue, 30 Jun 2015 04:47:31 +0000 (14:47 +1000)]
Cleanup: move BLI_timestr to BLI_timecode

4 years agoFix T45237: Dither dosn't work in Blender Internal Renderer after Multi-View
Dalai Felinto [Mon, 29 Jun 2015 21:09:49 +0000 (18:09 -0300)]
Fix T45237: Dither dosn't work in Blender Internal Renderer after Multi-View

4 years agoNode Editor: Use Smaller Factor for Grid Snapping
Julian Eisel [Mon, 29 Jun 2015 20:00:31 +0000 (22:00 +0200)]
Node Editor: Use Smaller Factor for Grid Snapping

An attempt to treat @sebastian_k's blood pressure a bit.

4 years agoRemove WITH_TESTS_PERFORMANCE option.
Bastien Montagne [Mon, 29 Jun 2015 18:26:58 +0000 (20:26 +0200)]
Remove WITH_TESTS_PERFORMANCE option.

Performance tests now have their own CMake macro, which ensures they do not get
added to ctest list, so we do not have to bother about them anymore, and can always
build them (when GTests are enabled, of course).

4 years agoGTests: do not add 'performance' tests to auto-ran tests (with ctest or 'make test...
Bastien Montagne [Mon, 29 Jun 2015 16:15:02 +0000 (18:15 +0200)]
GTests: do not add 'performance' tests to auto-ran tests (with ctest or 'make test')...

4 years agoFix .obj testing.
Bastien Montagne [Mon, 29 Jun 2015 16:14:27 +0000 (18:14 +0200)]
Fix .obj testing.

4 years agoFix 73841 : Game Engine - Camera Lens Shift
Dalai Felinto [Mon, 29 Jun 2015 13:45:27 +0000 (10:45 -0300)]
Fix 73841 : Game Engine - Camera Lens Shift

This is essential for video projection, and the alternative until now was to manually change the projection matrix via Python.
( http://www.blender.org/manual/game_engine/camera/introduction.html#camera-lens-shift
- this page will be removed as soon as I commit this)

Also this is working for perspective and orto cameras BUT if the sensor is not AUTO it will only look correct in blenderplayer (this is an unrelated bug, but just in case someone runs into it while testing this, now you know why you got the issue).

Kudos for the BlenderVR project for supporting this feature development.

Differential Revision: https://developer.blender.org/D1379

4 years agoFix T45234: Stereo Parallel vs. Off-Axis
Dalai Felinto [Mon, 29 Jun 2015 13:24:25 +0000 (10:24 -0300)]
Fix T45234: Stereo Parallel vs. Off-Axis

Parallel rendering was not working.

The idea of having parallel convergence mode to render as parallel but
visualize as off-axis was good, but it was leading to some complications
in the code.

I think it's more clear to the user if parallel looks and render as
parallel, and if she wants to pre-visualize the converged planes, simply
temporarily set the camera to off-axis.

4 years agoFix T45022: Update missing when linking objects with new depsgraph
Sergey Sharybin [Mon, 29 Jun 2015 10:58:23 +0000 (12:58 +0200)]
Fix T45022: Update missing when linking objects with new depsgraph

4 years agoFix T45156: scaling region crash
Campbell Barton [Mon, 29 Jun 2015 10:46:23 +0000 (20:46 +1000)]
Fix T45156: scaling region crash

4 years agoFix T45154: Translation binary file(blender.mo) for Japanese is too small
Sergey Sharybin [Mon, 29 Jun 2015 10:26:15 +0000 (12:26 +0200)]
Fix T45154: Translation binary file(blender.mo) for Japanese is too small

The issue was caused by some changes made to msgfmt which were needed to make
modified (cleaned-up, stripped-comments messages) working.

Unfortunately that fix was merged into the release branch, so this fix is to
be ported there as well and verified against rc1 translations.

4 years agoPartial fix T45156: scaling region crash
Campbell Barton [Mon, 29 Jun 2015 06:44:18 +0000 (16:44 +1000)]
Partial fix T45156: scaling region crash

'ar->winy' may not be initialized, making regions zoom in (past limits)
and attempt to draw very large text (~10x10k size characters), often crashing.

Fix isn't complete since it only corrects factory startup.

4 years agoCleanup: Style in for loops header.
Thomas Dinges [Sun, 28 Jun 2015 22:56:04 +0000 (00:56 +0200)]
Cleanup: Style in for loops header.

4 years agoFix T45227: Light optimization commit broke world MIS
Sergey Sharybin [Sun, 28 Jun 2015 18:47:35 +0000 (20:47 +0200)]
Fix T45227: Light optimization commit broke world MIS

4 years agoCycles: Avoid having duplication of BVH arrays during build
Sergey Sharybin [Sun, 28 Jun 2015 16:07:48 +0000 (18:07 +0200)]
Cycles: Avoid having duplication of BVH arrays during build

Previous idea behind having vector during building and array for actual storage
was needed in order to minimize amount of re-allocations happening during the
build, but it lead to double memory overhead used by those arrays at the vector
to array conversion stage.

Issue with such approach was that for BVH without spatial split size of arrays
is known in advance and it never changes, which made vector to array conversion
totally redundant.

Also after testing with several rather complex from spatial split scenes (such
as trees) it seems even conservative approach of reallocation (when we perform
re-allocation when leaf does not fit into the memory) doesn't give measurable
difference in time.

This makes it so we can switch to array, which will avoid unneeded memory
re-allocations when spatial split is disabled without harming other cases.

it's a bit difficult to measure exact benefit of this change on our production
files here, but depending on the scene it might give quite reasonable memory
save.

4 years agoCycles: Add assert to an array at() function to be sure we don't have bad memory...
Sergey Sharybin [Sun, 28 Jun 2015 09:18:48 +0000 (11:18 +0200)]
Cycles: Add assert to an array at() function to be sure we don't have bad memory access

4 years agoCycles: Minor code style cleanup, whitesaces
Sergey Sharybin [Sun, 28 Jun 2015 08:51:49 +0000 (10:51 +0200)]
Cycles: Minor code style cleanup, whitesaces

4 years agoBGE: added clamping of angular velocity.
Sybren A. Stüvel [Tue, 23 Jun 2015 13:02:28 +0000 (15:02 +0200)]
BGE: added clamping of angular velocity.

Angular velocity clamping was missing from the BGE. It is implemented
similarly to the linear velocity clamping. It is needed to be able to
drive physical simulations of systems that have a limited rotational
speed.

Reviewed by: campbellbarton, panzergame, ton

Differential Revision: https://developer.blender.org/D1365

4 years agoBGE Fix: apply velocity clamping on every physics subtick
Sybren A. Stüvel [Thu, 18 Jun 2015 12:43:30 +0000 (14:43 +0200)]
BGE Fix: apply velocity clamping on every physics subtick

This patch uses the Bullet "internal tick callback" functionality to
ensure that velocity clamping is performed after every physics update.
This makes a difference when physics subticks > 1, as in that case the
too-high velocity could have impacted the simulation.

This patch follows the examples at [1] and [2]; the latter example
also explains that the way we limit velocity in the BGE (before this
patch) is wrong.

[1] http://bulletphysics.org/mediawiki-1.5.8/index.php/Simulation_Tick_Callbacks
[2] http://www.bulletphysics.org/mediawiki-1.5.8/index.php/Code_Snippets#I_want_to_cap_the_speed_of_my_spaceship;

Reviewed by: panzergame

Differential Revision: https://developer.blender.org/D1364

4 years agoCleanup: remove BLI prefix from BKE funcs
Campbell Barton [Sun, 28 Jun 2015 09:09:20 +0000 (19:09 +1000)]
Cleanup: remove BLI prefix from BKE funcs

4 years agoFix T45214: BI render: maximum saturation bug in shadow pass with non-shadow lighting.
Bastien Montagne [Sun, 28 Jun 2015 08:46:42 +0000 (10:46 +0200)]
Fix T45214: BI render: maximum saturation bug in shadow pass with non-shadow lighting.

In case scene lighting would only have non-shadow light source, shadow intensity
would remain to 'pitch black'...

4 years agoTemporarily disable absolute snapping
Campbell Barton [Sun, 28 Jun 2015 00:03:55 +0000 (10:03 +1000)]
Temporarily disable absolute snapping

This really should have been finalized as a design task first,
there are too many open topics on how it should work.

4 years agoFix T45216: File Browser shows negative sizes for large files.
Bastien Montagne [Sat, 27 Jun 2015 21:39:48 +0000 (23:39 +0200)]
Fix T45216: File Browser shows negative sizes for large files.

Simply backport small part of work from asset-experiments here (using double and
adding tera-bytes unit), looks like off_t is not always 64bits even on a 64bit OS...

4 years agoCycles: Use aligned blender allocator when using guarded allocation
Sergey Sharybin [Sat, 27 Jun 2015 19:07:43 +0000 (21:07 +0200)]
Cycles: Use aligned blender allocator when using guarded allocation

This way we solve possible issues caused by regular allocator not being aware of
some classes preferring 16 bytes alignment needed for SSE to work properly. This
caused random crashes during rendering.

Now we always use aligned allocation in GuardedAllocator which shouldn't be any
measurable performance impact and the code is only used by developers after
defining special symbol, so there is no impact on release builds at all.

4 years agoOpenGL debug contexts:
Antony Riakiotakis [Sat, 27 Jun 2015 15:20:30 +0000 (17:20 +0200)]
OpenGL debug contexts:

Enable debug output in debug contexts for gl 4.3+

4 years agoCycles: Fix for wrong device enumeration in CUDA
Sergey Sharybin [Sat, 27 Jun 2015 13:11:46 +0000 (15:11 +0200)]
Cycles: Fix for wrong device enumeration in CUDA

it is the same issue as described in the previous commit, original changes
in this area were wrong and only worked on a bugger optimus driver which
simply appeared to work by co-incident and in fact used wrong device..

4 years agoCycles: Rework the way how OpenCL devices are created
Sergey Sharybin [Sat, 27 Jun 2015 13:03:51 +0000 (15:03 +0200)]
Cycles: Rework the way how OpenCL devices are created

It was annoying copy-paste happened across OpenCL device constructor, device
enumeration and split kernel checks. Now those areas are using an utility
function which returns pairs of platform and device IDs for devices which are
supported by Cycles and enumeration is happening inside that list.

This makes it so filtering is happening in a single place, so there's no need
to keep 3 different functions in sync.

This commit also fixes a bug with wrong enumeration of devices caused by recent
fixes. Those fixes were in fact wrong and only happened to appear to be working
on laptop with optimus card on Linux. Root of those issues is in fact in bad
Linux driver for optimus cards.

4 years agoCycles: Allow using custom allocators for vector class
Sergey Sharybin [Fri, 26 Jun 2015 20:36:31 +0000 (22:36 +0200)]
Cycles: Allow using custom allocators for vector class

4 years agoCycles: Ignore light which has no contribution to the scene
Sergey Sharybin [Thu, 25 Jun 2015 15:00:32 +0000 (17:00 +0200)]
Cycles: Ignore light which has no contribution to the scene

This commit makes it so light which has zero energy or doesn't has
emission shader at all is being ignored by the path tracing.

4 years agoTransform: absolute grid snapping
Campbell Barton [Sat, 27 Jun 2015 05:30:17 +0000 (15:30 +1000)]
Transform: absolute grid snapping

D910 by @donfabio with edits

New icon for menu is still TODO

4 years agoCycles standalone: add support for reading UV coordinates to the XML scene reader
Martijn Berger [Sat, 27 Jun 2015 10:05:05 +0000 (12:05 +0200)]
Cycles standalone: add support for reading UV coordinates to the XML scene reader

4 years agoCleanup: int/uint mismatch in printf...
Bastien Montagne [Sat, 27 Jun 2015 09:02:58 +0000 (11:02 +0200)]
Cleanup: int/uint mismatch in printf...