6 years agoAdd extra Cycles regression tests
Sergey Sharybin [Sat, 31 Jan 2015 19:49:35 +0000 (00:49 +0500)]
Add extra Cycles regression tests

This new tests are aimed to issues/regressions reported to the tracker.

6 years agoCycles: Allow paths customization via environment variables
Sergey Sharybin [Sat, 31 Jan 2015 10:40:09 +0000 (15:40 +0500)]
Cycles: Allow paths customization via environment variables

This is for development and test environment setup only, not for
regular users usage hence no mentioning in the man page needed.

6 years agoerror in last commit
Campbell Barton [Sun, 1 Feb 2015 18:01:48 +0000 (05:01 +1100)]
error in last commit

6 years agoRNA: add readonly pixelsize to userprefs
Campbell Barton [Sun, 1 Feb 2015 17:56:16 +0000 (04:56 +1100)]
RNA: add readonly pixelsize to userprefs

6 years agoDocumentation: updated mathutils documentation
Sybren A. Stüvel [Sun, 1 Feb 2015 15:06:32 +0000 (16:06 +0100)]
Documentation: updated mathutils documentation

Added descriptions of the constructors, and improved the module-level

6 years agocleanup: use const
Campbell Barton [Sun, 1 Feb 2015 14:22:45 +0000 (01:22 +1100)]
cleanup: use const

6 years agoDocumentation: Support documenting constructors in class __doc__
Sybren A. Stüvel [Sun, 1 Feb 2015 13:00:37 +0000 (14:00 +0100)]
Documentation: Support documenting constructors in class __doc__

Python types defined in C can now start their docstring with a
`.. class:: TypeName(args)` line, to document their constructor.
In that case the documentation writer is responsible for indenting the
remainder of the docstring by 3 spaces, matching the generated

6 years agomathutils: added exponential map to Quaternion
Sybren A. Stüvel [Sun, 1 Feb 2015 10:58:10 +0000 (11:58 +0100)]
mathutils: added exponential map to Quaternion

Added conversion to and from exponential map representation. This
representation is useful for interpolation of > 2 quaternions, or in
PD controllers.

Implementation in C functions quat_to_expmap,
quat_normalized_to_expmap, and expmap_to_quat with Python API, unit
tests and documentation.

Added Quaternion.to_exponential_map() and Quaternion(3-vector) to
Python API.

Reviewers: campbellbarton

Projects: #bf_blender

Differential Revision:

6 years agoFix: correctly describing Quaternion.normalize()
Sybren A. Stüvel [Sat, 31 Jan 2015 13:34:27 +0000 (14:34 +0100)]
Fix: correctly describing Quaternion.normalize()

The original comment seems to suggest that only the rotation vector
is normalized, leaving the rotation angle alone. This is not what happens,
though. The new comment matches the actual implementation, and the
implementation matches what is commonly understood as quaternion

6 years agoBMesh: remove redundant connect-nonplanar loop
Campbell Barton [Sun, 1 Feb 2015 08:18:39 +0000 (19:18 +1100)]
BMesh: remove redundant connect-nonplanar loop

6 years agoWM: empty menu so addons can extend the splash
Campbell Barton [Sat, 31 Jan 2015 17:15:34 +0000 (04:15 +1100)]
WM: empty menu so addons can extend the splash

6 years agoCleanup: style
Campbell Barton [Sat, 31 Jan 2015 17:19:43 +0000 (04:19 +1100)]
Cleanup: style

6 years agoBlender metadata changes to accommodate non string data
Martijn Berger [Sat, 31 Jan 2015 16:15:43 +0000 (17:15 +0100)]
Blender metadata changes to accommodate non string data

Work towards T42418

For now got rid of linked list holding key,value pairs for metadata in favour of ID properties.

Reviewers: campbellbarton, sergey

Reviewed By: sergey

Projects: #bf_blender

Differential Revision:

6 years agoAdd PIL_check_seconds_timer_i to avoid casting
Campbell Barton [Sat, 31 Jan 2015 14:57:45 +0000 (01:57 +1100)]
Add PIL_check_seconds_timer_i to avoid casting

note, win32 casts still casts from double.

6 years agoCompiler warning: double-promotion
Campbell Barton [Sat, 31 Jan 2015 06:23:30 +0000 (17:23 +1100)]
Compiler warning: double-promotion

6 years agoComment for math defines, also add M_PI_4
Campbell Barton [Sat, 31 Jan 2015 06:17:12 +0000 (17:17 +1100)]
Comment for math defines, also add M_PI_4

6 years agoFix T43496: Infinite loop in kernel when using surface attribute for volume
Sergey Sharybin [Sat, 31 Jan 2015 09:39:19 +0000 (14:39 +0500)]
Fix T43496: Infinite loop in kernel when using surface attribute for volume

The issue was caused bu the optimization in surface attributes for cases when
there's only a volume shader used. Some attributes doesn't make sense in that
case and were skipped from calculation.

However, it is possible that kernel would still try to access them (because of
the shader setup etc). Prevented an infinite loop in the kernel now, which
should not have much affect on regular renders.

6 years agoCycles: Don't perform re-intersection if ray distance is zero
Sergey Sharybin [Fri, 30 Jan 2015 20:19:08 +0000 (01:19 +0500)]
Cycles: Don't perform re-intersection if ray distance is zero

It is possible that ray distance will be zero which would make intersection
refinement return NaN as the refined position which would later lead to all
sort of mathematical issues.

Don't think there are ways to improve intersection accuracy for such rays
so just return original intersection coordinate.

This should fix T43475.

TODO: Need to look into possible issues in Ashikhmin BSDF which might return
zero-length reflected/transmitted ray?

6 years agoCycles: Use bool for is_lead array
Sergey Sharybin [Fri, 30 Jan 2015 14:52:38 +0000 (19:52 +0500)]
Cycles: Use bool for is_lead array

This way we save 3 bytes per BVH node while building BVH, which overall
gives 100Mb memory save when preparing Frank for render.

It's not really much comparing to overall memory usage (which is 11Gb
during scene preparation here) but still doesn't harm to have solved.

6 years agoCycles: Use fast math functions in hair BSDF
Sergey Sharybin [Fri, 30 Jan 2015 13:25:24 +0000 (18:25 +0500)]
Cycles: Use fast math functions in hair BSDF

Precision of the fast functions seems to be enough in there and
since the code was heavily using inverse trigonometric functions
this change gives few percent speedup on Victor's hair.

From the tests files from ctests storage doesn't have any meaningful
difference, hair on Victor is all below 4% absolute error and only
few pixels are exceeding 1% absolute difference.

In any case, let it be as it is currently so it allows us to have
fast math file in sources for it's further evaluation and possible
usage in other areas as well.

6 years agoCycles: Add fast math function module
Sergey Sharybin [Fri, 30 Jan 2015 12:56:47 +0000 (17:56 +0500)]
Cycles: Add fast math function module

It is based on fmath.h from OIIO and could be used to give some speedup
in areas where absolute accuracy is not so critical.

6 years agoFirst version of constrained line strokes - there's some flickering
Antony Riakiotakis [Fri, 30 Jan 2015 18:47:58 +0000 (19:47 +0100)]
First version of constrained line strokes - there's some flickering
still, will look into it later.

6 years agoOperator that sets proxies needs to cater for all supported strip types
Antony Riakiotakis [Fri, 30 Jan 2015 15:09:55 +0000 (16:09 +0100)]
Operator that sets proxies needs to cater for all supported strip types

6 years agoGet rid of the file touch hack.
Antony Riakiotakis [Fri, 30 Jan 2015 15:00:30 +0000 (16:00 +0100)]
Get rid of the file touch hack.

If user cancels, there's an issue with leftover files.
Instead use a hash to record files that have akready been registered for
generation and skip them if so.

That should guarantee things will go smoothly and when a file exists it
is assumed to be valid.

6 years agoProxy enable operator:
Antony Riakiotakis [Fri, 30 Jan 2015 14:13:59 +0000 (15:13 +0100)]
Proxy enable operator:

* Enable operator for proxies now becomes set operator for selected and
can unset-set all options.
* Properties become read-only labels, only use operator to set proxies.

6 years agoMore hacks for proxy generation:
Antony Riakiotakis [Fri, 30 Jan 2015 13:30:13 +0000 (14:30 +0100)]
More hacks for proxy generation:

Touch the proxy files if they do not exist so subsequent strips
referencing the same source file won't regenerate it.

6 years agoFix T43324: Shrinkwrap projection issue in editmode.
Bastien Montagne [Fri, 30 Jan 2015 11:48:49 +0000 (12:48 +0100)]
Fix T43324: Shrinkwrap projection issue in editmode.

Nice stupid error in low-level `get_cddm` helper, was probably affecting other
modifiers too actualy!

6 years agoCorrections to Cycles ctests
Sergey Sharybin [Fri, 30 Jan 2015 10:13:09 +0000 (15:13 +0500)]
Corrections to Cycles ctests

- Apply VERBOSE to idiff result as well
- Don't treat verification failed error as unknown

6 years agoCycles: Remove confusing labels usage in hair BSDF
Sergey Sharybin [Fri, 30 Jan 2015 09:00:24 +0000 (14:00 +0500)]
Cycles: Remove confusing labels usage in hair BSDF

BSDF sampler function shouldn't give labels it's not intended to do.
That said reflection shouldn't give transmission ray and transmission
give reflection ray.

Added an assert in the transmission sampling but reflection still
needs some investigation because even after recent fixes the check
for projection onto the reflected ray could give both positive and
negative values.

It shouldn't have any affect on renders just makes internal logic
consistent and unleashes an issue to be investigate further.

6 years agoFix T43458: Crashes with hair transmission BSDF
Sergey Sharybin [Fri, 30 Jan 2015 08:03:01 +0000 (13:03 +0500)]
Fix T43458: Crashes with hair transmission BSDF

Hair BSDF did not have proper behavior because of non-normalized
tangent direction (which it expected to be normalized).This lead
to wrong labels being returned by the hair BSDF samplers.

6 years agoCommitting the impressive RTheme to the default collection
Daniel Salazar [Fri, 30 Jan 2015 05:24:30 +0000 (23:24 -0600)]
Committing the impressive RTheme to the default collection

6 years agoCorrect location of 'text' button in frame-node
Campbell Barton [Fri, 30 Jan 2015 02:41:07 +0000 (13:41 +1100)]
Correct location of 'text' button in frame-node

6 years agoFix T43472: IMBuf: crash on loading top-to-bottom bitmaps.
Bastien Montagne [Thu, 29 Jan 2015 19:33:37 +0000 (20:33 +0100)]
Fix T43472: IMBuf: crash on loading top-to-bottom bitmaps.

Height of bitmap may be negative, which indicates a 'top to bottom' line storage.

Also, fixed header handling, bitmaps using other header than 'BM' would most likely
have lead to errors/crashes too...

6 years agoFix texture sampling getting srgb color after fix for subsurf sampling.
Antony Riakiotakis [Thu, 29 Jan 2015 18:34:51 +0000 (19:34 +0100)]
Fix texture sampling getting srgb color after fix for subsurf sampling.

6 years agoGooseberry request: Dithering support for byte images when painting on
Antony Riakiotakis [Thu, 29 Jan 2015 18:23:45 +0000 (19:23 +0100)]
Gooseberry request: Dithering support for byte images when painting on
projection painting (2D will be separate commit).

6 years agoFix T43473: mathtutils.geometry.interpolate_bezier returns only 2d coordinates
Bastien Montagne [Thu, 29 Jan 2015 17:09:55 +0000 (18:09 +0100)]
Fix T43473: mathtutils.geometry.interpolate_bezier returns only 2d coordinates

Fixed/enhanced a few usages of `mathutils_array_parse()` in this file actually...

6 years agoCycles: Fix for bump node not working with object texture mapping
Sergey Sharybin [Thu, 29 Jan 2015 16:47:02 +0000 (21:47 +0500)]
Cycles: Fix for bump node not working with object texture mapping

This was intended to be in the original patch of texco copy from object.

6 years agoFix T43207 fill brush fails in perspective mode
Antony Riakiotakis [Thu, 29 Jan 2015 16:45:36 +0000 (17:45 +0100)]
Fix T43207 fill brush fails in perspective mode

Divide only the length of the edge by the homogenous coordinate, not the
final coordinate. Also fix the swapping (though it's still a bit
doubtfull if it's really needed)

6 years agoFollowup for previous commit: fix mismatches between menu entry and shortcut properties.
Bastien Montagne [Thu, 29 Jan 2015 16:34:05 +0000 (17:34 +0100)]
Followup for previous commit: fix mismatches between menu entry and shortcut properties.

For now, did most of the changes in menu entries (i.e. py space UI scripts).

Note we do not get 100% same results as previously, but current situation is
globally better than previous one, though the whole system to retrieve shortcuts
remains a bit weak...

6 years agoFix T41757: Inconsistent hotkey label with setting.
Bastien Montagne [Thu, 29 Jan 2015 16:32:34 +0000 (17:32 +0100)]
Fix T41757: Inconsistent hotkey label with setting.

Issue is double here:

* Quite a handfull of menu entries actually diverge slightly from their shortcut
  counterpart (often one has a prop explicitely set to its default value,
  when the other keep it unset).
* Current code was actually basically sending 'is_strict' option into canal,
  by doing a second check in `wm_keymap_item_find` setting unset op props
  to their default value!

Now, is_strict mostly says one thing: "never consider an unset property as
equal to a set one". Even if set property matches default value. Default values
are not always the same things as unset ones, as demonstrated by this report.

So we are being much stricter now, and also have to check shortcuts and
menu entries definitions actually matches, added some code (triggered by
--debug-wm option) that prints when it finds some (potential) issue.

There is one exception though - Macros. Those have their whole prop set defined
in menu entries currently, this shall probably not be the case, but is another issue,
so for now for macro operators we always do non-strict comparison (pretty much
the same as previously, in this case).

Also 'enum' operators are still tricky. Currently, shortcut extraction relies on
`ot->prop` being set, so even if this is not aboslutely needed anymore (when defining
UI you can specify an arbitrary enum property by name), `ot->prop` shall be set.

Note fix commit for mismatches between menu entries and shortcuts is needed next.

6 years agoRevert "mathutils: let Vector.normalize() return the original length."
Campbell Barton [Thu, 29 Jan 2015 15:12:02 +0000 (02:12 +1100)]
Revert "mathutils: let Vector.normalize() return the original length."

Please discuss changes to core mathutils functions first.

Changes like this should be considered and applied to all areas of the API (or not at all).
Missed quaternion, matrix normalize for eg.

6 years agoFix T43454 color is washed out in textured brushes
Antony Riakiotakis [Thu, 29 Jan 2015 14:46:39 +0000 (15:46 +0100)]
Fix T43454 color is washed out in textured brushes

Yet another color space issue, we multiplied texture color with srgb
brush color and retrasnformed it to srgb. Now use the linear brush color
for the multiplication.

6 years agomathutils: let Vector.normalize() return the original length.
Sybren A. Stüvel [Thu, 29 Jan 2015 13:47:20 +0000 (14:47 +0100)]
mathutils: let Vector.normalize() return the original length.

The length has to be calculated for normalization anyway, and it is already
returned by normalize_vn(vec, size).

6 years agoAdd override setting to proxy enable operator
Antony Riakiotakis [Thu, 29 Jan 2015 13:40:06 +0000 (14:40 +0100)]
Add override setting to proxy enable operator

6 years agoSequencer: Report proxies which are being skipped to the console
Sergey Sharybin [Thu, 29 Jan 2015 11:57:44 +0000 (16:57 +0500)]
Sequencer: Report proxies which are being skipped to the console

6 years agoWhitespace cleanup
Antony Riakiotakis [Thu, 29 Jan 2015 11:37:43 +0000 (12:37 +0100)]
Whitespace cleanup

6 years agoAdd some convenience operators to sequencer proxy panel:
Antony Riakiotakis [Thu, 29 Jan 2015 11:36:23 +0000 (12:36 +0100)]
Add some convenience operators to sequencer proxy panel:

Enable proxies for all selected movie strips (won't do recursive
enabling for metastrips yet)
Generate proxies operator here, as well as in strip menu

6 years agoNode UI: add support to show text-blocks in frames
Campbell Barton [Thu, 29 Jan 2015 10:56:32 +0000 (21:56 +1100)]
Node UI: add support to show text-blocks in frames

Some node setups benefit from being documented like this.

6 years agoBGE: Remove duplicated audio panel from Render context
Jorge Bernal [Thu, 29 Jan 2015 07:22:42 +0000 (18:22 +1100)]
BGE: Remove duplicated audio panel from Render context

This commit removes the audio panel from Render context as it exists a similar panel in Scene context.
Also, it gives to the Distance Model a similar UI layout as it was in the removed render->audio panel

6 years agoFix crash on joystick access (if SDL's not found)
Campbell Barton [Thu, 29 Jan 2015 06:17:29 +0000 (17:17 +1100)]
Fix crash on joystick access (if SDL's not found)

D985 by @pgi

6 years agoFix T42858: Non uniform gamelogic names on copy
Jorge Bernal [Thu, 29 Jan 2015 05:03:19 +0000 (16:03 +1100)]
Fix T42858: Non uniform gamelogic names on copy

Use generic function for consistent behavior

D949 by @lordloki

6 years agocleanup: shebang lines
Campbell Barton [Thu, 29 Jan 2015 04:56:23 +0000 (15:56 +1100)]
cleanup: shebang lines

D888 by @sambler

6 years agoBone calculate roll (pos/neg options in menu)
Campbell Barton [Thu, 29 Jan 2015 04:40:29 +0000 (15:40 +1100)]
Bone calculate roll (pos/neg options in menu)

This change means you can see the option to do +/- aligned axis when calculating roll
(in that case the flip-axis option is ignored).

This is added since you mostly don't want to set the option in the toolbar each time.

6 years agocleanup: pep8
Campbell Barton [Thu, 29 Jan 2015 04:35:06 +0000 (15:35 +1100)]
cleanup: pep8

also remove empty class parenthesis

6 years agoAudaspace: Fix typo in speed of sound initialization value by lordloki (Jorge Bernal)
Jörg Müller [Wed, 28 Jan 2015 23:20:01 +0000 (12:20 +1300)]
Audaspace: Fix typo in speed of sound initialization value by lordloki (Jorge Bernal)

6 years agoFile Browser: Remove unused fileselect event value
julianeisel [Wed, 28 Jan 2015 22:35:46 +0000 (23:35 +0100)]
File Browser: Remove unused fileselect event value

This was initially added for a later support of making the automatic File
Browser fullscreen optional. As this idea was rejected for now (D1037) it
doesn't really make sense to leave these things in.

6 years agoBGE: draw contact points + normals in yellow
Sybren A. Stüvel [Tue, 27 Jan 2015 18:06:44 +0000 (19:06 +0100)]
BGE: draw contact points + normals in yellow

Red was used with different semantics in the physics visualisation,
switching to yellow to prevent confusion.

A screenshot can be found at -- it's
the yellow balls + lines.

Reviewers: brita_, lordloki, campbellbarton

Reviewed By: lordloki, campbellbarton

Subscribers: lordloki

Projects: #game_physics

Differential Revision:

6 years agoBGE: draw contact points as sphere + line indicating the surface normal.
Sybren A. Stüvel [Tue, 27 Jan 2015 18:05:43 +0000 (19:05 +0100)]
BGE: draw contact points as sphere + line indicating the surface normal.

A screenshot can be found at -- it's the yellow balls + lines.

Reviewers: brita_, lordloki, campbellbarton

Reviewed By: lordloki, campbellbarton

Subscribers: lordloki

Projects: #game_physics

Differential Revision:

6 years agoBased on Sergey's suggestion, use spinlocks for threaded loading of
Antony Riakiotakis [Wed, 28 Jan 2015 18:45:16 +0000 (19:45 +0100)]
Based on Sergey's suggestion, use spinlocks for threaded loading of

6 years agoUpdate scons build documentation
Sergey Sharybin [Wed, 28 Jan 2015 18:37:45 +0000 (23:37 +0500)]
Update scons build documentation

  - fix dead link (build dependencies)
  - rewrite $BLENDERHOME/{config,tools}/* to $BLENDERHOME/build_files/scons/{config,tools}/*

Patch by David Creswick, thanks!

Reviewers: jesterking

Differential Revision:

6 years agoAdded default install location from to FindOpenEXR.cmake
Sergey Sharybin [Wed, 28 Jan 2015 18:36:09 +0000 (23:36 +0500)]
Added default install location from to FindOpenEXR.cmake

Patch by Oliver Weissbarth, thanks!

Differential Revision:

6 years agoFix clicking into texpaint slots not changing active image in blender
Antony Riakiotakis [Wed, 28 Jan 2015 14:34:11 +0000 (15:34 +0100)]
Fix clicking into texpaint slots not changing active image in blender
internal when using nodes.

Using nodes in blender internal is not well supported, but there's no
harm in allowing this and it will help manu do his texturing better :)

6 years agoFix warning from previous commit:
Antony Riakiotakis [Wed, 28 Jan 2015 14:24:21 +0000 (15:24 +0100)]
Fix warning from previous commit:

Set slot to NULL when no active slot is found.

6 years agoCode cleanup: break up project_paint_begin() into smaller functions
Nicholas Bishop [Mon, 26 Jan 2015 16:01:25 +0000 (17:01 +0100)]
Code cleanup: break up project_paint_begin() into smaller functions

This initialization function was massive with lots of local variables,
quite hard to follow. Splitting up doesn't make it perfectly clear,
but a bit better.

The changes are mostly quite mechanical splitting apart code, plus a
few new temporary structs for passing data without too many confusing
args. No intentional changes to functionality.

Reviewed By: psy-fi

Differential Revision:

6 years agoTexture painting, support cycles UV Map nodes:
Antony Riakiotakis [Wed, 28 Jan 2015 13:42:47 +0000 (14:42 +0100)]
Texture painting, support cycles UV Map nodes:

Support UV Map nodes for determining active UV layer. Now when an image
node is enocuntered, the system will recursively search the node's input
sockets for any UV Map nodes. Obviously this won't fetch any coordinate
transforms into painting, and it will only choose the first UV Map node
encountered if more than one UV Map nodes are combined.

However it should allow custom UV setups per materials and tweaking of
the UV Map node's UV layer from the Slots panel.

6 years agoSequencer: Option to skip strip proxy generation if they already exists
Sergey Sharybin [Wed, 28 Jan 2015 12:30:15 +0000 (17:30 +0500)]
Sequencer: Option to skip strip proxy generation if they already exists

This is a per-strip option next to the build proxy size which tells blender
whether to skip building proxy size if the file for it already exists or not.
The option is called "Overwrite" for simplicity.

This option is enabled by default to avoid changes in the file behavior.

TODO: Would be nice to do something like that for movie clips as well.

6 years agoAdd theme option for cliping border
Antony Riakiotakis [Wed, 28 Jan 2015 12:03:42 +0000 (13:03 +0100)]
Add theme option for cliping border

6 years agoFix dreaded black screen for missing proxies - if requested proxy size
Antony Riakiotakis [Wed, 28 Jan 2015 10:48:22 +0000 (11:48 +0100)]
Fix dreaded black screen for missing proxies - if requested proxy size
is not found, use the original footage instead

6 years agoProperly decrease users of images when deleting a paint slot.
Antony Riakiotakis [Wed, 28 Jan 2015 10:09:19 +0000 (11:09 +0100)]
Properly decrease users of images when deleting a paint slot.

6 years agoSwitch windows MSVC builds to OpenAL-soft
Martijn Berger [Wed, 28 Jan 2015 09:36:19 +0000 (10:36 +0100)]
Switch windows MSVC builds to OpenAL-soft

6 years agocleanup: py imports
Campbell Barton [Tue, 27 Jan 2015 06:46:07 +0000 (17:46 +1100)]
cleanup: py imports

6 years agoStacked fullscreen area support (proper implemenation)
julianeisel [Wed, 28 Jan 2015 01:32:52 +0000 (02:32 +0100)]
Stacked fullscreen area support (proper implemenation)

Adds support for stacked fullscreens. This basically means, if a user opens a
temporary fullscreen mode, such as the File Browser or the Image Editor render
view, from a different fullscreen, the "Back to Previous" function or the other
ways to escape those temporary fullscreens don't return to the split screen
layout but to the previous fullscreen he has been in.

I already committed something similar (f7e844570fea862) but that was only
supposed as a fix, it didn't work for the "Back to Previous" operator and the
implementation wasn't really reusable. This one looks a bit nicer + makes some
older hacks unnecessary :)

6 years agoOSL: Updates for OSL 1.5 API changes.
Thomas Dinges [Wed, 28 Jan 2015 00:07:59 +0000 (01:07 +0100)]
OSL: Updates for OSL 1.5 API changes.

* create() and destroy() are deprecated since OSL 1.5, use regular constructors / destructors.

6 years agoFix T43388 Cycles Baking gives different results than Cycles Render
Dalai Felinto [Tue, 27 Jan 2015 15:02:55 +0000 (13:02 -0200)]
Fix T43388 Cycles Baking gives different results than Cycles Render

Reported and nailed down by Michale (MeshLogic).
The code that fixes this was commented out, but Brecht gave the go ahead to use it even if it is not the real solution

6 years agoInterface get rid of some quadstrips in favor of trianglestrips
Martijn Berger [Tue, 27 Jan 2015 19:18:39 +0000 (20:18 +0100)]
Interface get rid of some quadstrips in favor of trianglestrips

If we ever want OpenGL 3.2 core context quadstrips need to go anyway and while there is much more things that need to be done this is something that can be tackled without any mayor surgery.
And without losing any kind of compatibility with ancient GL.

Reviewers: psy-fi

Reviewed By: psy-fi

Subscribers: psy-fi

Projects: #bf_blender

Differential Revision:

6 years agoCorrection to tooltip, object texture space is supported by both SVM and OSL
Sergey Sharybin [Tue, 27 Jan 2015 18:53:50 +0000 (23:53 +0500)]
Correction to tooltip, object texture space is supported by both SVM and OSL

6 years agoFix T43398: Viewport "Renderend" ist not updated when a material is assigned to a...
Sergey Sharybin [Tue, 27 Jan 2015 17:40:55 +0000 (22:40 +0500)]
Fix T43398: Viewport "Renderend" ist not updated when a material is assigned to a face

The issues goes back to eb016eb and now it becomes clear object could be tagged for
update from the edit mode as well.

6 years agoFix T43309 saving takes longer.
Antony Riakiotakis [Tue, 27 Jan 2015 16:58:29 +0000 (17:58 +0100)]
Fix T43309 saving takes longer.

Issue is that world shader compilation and loading may take long so we
just draw file previews with premultiplied background. Should create the
old familiar transparent background files.

Thanks to Sergey for figuring out the issue.

6 years agoFollowup fix for T43394: Reconnect feature was using identity matrix for
Lukas Tönne [Tue, 27 Jan 2015 16:49:34 +0000 (17:49 +0100)]
Followup fix for T43394: Reconnect feature was using identity matrix for
transforming hair into world space, but this is already happining due to
the global flag.

Still is a horrible mess, legacy code headache as always ...

6 years agoFix T43346: Window mapping is wrong in preview render
Sergey Sharybin [Tue, 27 Jan 2015 16:36:14 +0000 (21:36 +0500)]
Fix T43346: Window mapping is wrong in preview render

The issue was caused by the whole viewplane used for mapping calculation
which would for sure lead to differences between final camera render and
viewport render from the camera view.

This commit makes it so window texture mapping is the same as final render
when viewing from the camera in viewport render.

It's not totally clear what's the right thing to do when viewport is not
in the camera view mode and that part is left unchanged.

6 years agoFix T43250, lamp node did not use energy when used with nodes in blender
Antony Riakiotakis [Tue, 27 Jan 2015 15:34:27 +0000 (16:34 +0100)]
Fix T43250, lamp node did not use energy when used with nodes in blender

Similar to fix for T42074 we need to multiply with energy -after-
texture application.

6 years agoAnd one more infamous BPlayer Fix (tm).
Bastien Montagne [Tue, 27 Jan 2015 15:28:54 +0000 (16:28 +0100)]
And one more infamous BPlayer Fix (tm).

Seriously, please build complete Blender when you change some public func signature...

6 years agoFix T43367: Non-wacom tablets broken on Blender in linux?
Bastien Montagne [Tue, 27 Jan 2015 15:17:27 +0000 (16:17 +0100)]
Fix T43367: Non-wacom tablets broken on Blender in linux?

Looks like with some versions of Xlib (at least the 1.6.2 currently used on Debian testing)
and/or evdev generic driver (2.9.0 currently on Debian testing), you have to also 'select'
DeviceButton1Motion with the extended tablet's motion event, otherwise you won't get any
tablet motion event once pen is pressed, leading to no pressure (each stroke keeping its
init pressure until the end). Crap!

6 years agoFix T43371 lamps not updated on appenidng. Remove GPU materials on
Antony Riakiotakis [Tue, 27 Jan 2015 14:37:49 +0000 (15:37 +0100)]
Fix T43371 lamps not updated on appenidng. Remove GPU materials on

6 years agoCorrect path to mingw64 libs so some minimal blender subset is possible to be compile...
Sergey Sharybin [Tue, 27 Jan 2015 14:29:22 +0000 (19:29 +0500)]
Correct path to mingw64 libs so some minimal blender subset is possible to be compiled with older gcc

6 years agoFix T43429: bpy.ops.render.render() not working with scene in VSE
Sergey Sharybin [Tue, 27 Jan 2015 12:13:21 +0000 (17:13 +0500)]
Fix T43429: bpy.ops.render.render() not working with scene in VSE

Was a mistake in threading conflict prevention condition.

6 years agoProxy job: make user cancelling actually matter
Antony Riakiotakis [Tue, 27 Jan 2015 11:29:45 +0000 (12:29 +0100)]
Proxy job: make user cancelling actually matter

6 years agoFix T43427: Particle system children sometimes not generated on reload
Sergey Sharybin [Tue, 27 Jan 2015 11:14:53 +0000 (16:14 +0500)]
Fix T43427: Particle system children sometimes not generated on reload

The issue was caused by the conflict between preview render which would set
R_NO_IMAGE_LOAD flag on the renderer and texture samplers called outside of
the render pipeline trying to use this flag.

Now the sampler functions accepts extra argument so render pipeline can
still skip image load, but calls outside of the pipeline will nicely load
all the images.

Not cleanest change in the world but good enough to unlock gooseberry team,
and assuming we already had pool passed all over the place it should be all

Will need to reshuffle arguments into SamplerOptions structure later.

6 years agoCycles: Support texture coordinate from another object
Sergey Sharybin [Wed, 21 Jan 2015 17:19:31 +0000 (22:19 +0500)]
Cycles: Support texture coordinate from another object

This is the same as blender internal's texture mapping from another object,
so this way it's possible to control texture space of one object by another.

Quite straightforward change apart from the workaround for the stupidness of
the dependency graph. Now shader has flag telling that it depends on object
transform. This is the simplest way to know which shaders needs to be tagged
for update when object changes. This might give some false-positive tags now
but reducing them should not be priority for Cycles and rather be a priority
to bring new dependency graph.

Also GLSL preview does not support using other object for mapping.

This is actually correct for BI shading as well and to be addressed as
a part of general GLSL viewport improvements since it's not really clear
how to support this in GLSL.

Reviewers: brecht, juicyfruit

Subscribers: eyecandy, venomgfx

Differential Revision:

6 years agoFix T43408: Putting steps and keys properties into an inactive sublayout
Lukas Tönne [Tue, 27 Jan 2015 08:06:45 +0000 (09:06 +0100)]
Fix T43408: Putting steps and keys properties into an inactive sublayout
based on the interpolate property does not make any sense at all.

These settings are still totally confusing - this code has not been
touched since 2009 at least! Go figure ...

6 years agomissed last commit
Campbell Barton [Mon, 26 Jan 2015 16:41:05 +0000 (03:41 +1100)]
missed last commit

6 years agoBGE: remove Py3.1 workaround
Campbell Barton [Mon, 26 Jan 2015 15:17:56 +0000 (02:17 +1100)]
BGE: remove Py3.1 workaround

6 years agoCleanup: current/parent paths: add helpers in BLI_path_utils.
Bastien Montagne [Mon, 26 Jan 2015 15:58:02 +0000 (16:58 +0100)]
Cleanup: current/parent paths: add helpers in BLI_path_utils.

Also, avoid calling ugly strcmp with '.' or '..', making direct char checks is
much cheaper here!

6 years agoCleanup: strcmp/strncmp -> STREQ/STREQLEN (in boolean usage).
Bastien Montagne [Mon, 26 Jan 2015 15:03:11 +0000 (16:03 +0100)]
Cleanup: strcmp/strncmp -> STREQ/STREQLEN (in boolean usage).

Makes usage of those funcs much more clear, we even had mixed '!strcmp(foo, bar)'
and 'strcmp(foo, bar) == 0' in several places...

6 years agoCode cleanup: de-duplicate codegen texid assignment
Nicholas Bishop [Sat, 24 Jan 2015 16:07:38 +0000 (17:07 +0100)]
Code cleanup: de-duplicate codegen texid assignment

Reviewed By: campbellbarton

Differential Revision:

6 years agoCode cleanup: use GPUDynamicType instead of int
Nicholas Bishop [Sat, 24 Jan 2015 14:50:03 +0000 (15:50 +0100)]
Code cleanup: use GPUDynamicType instead of int

Reviewed By: campbellbarton

Differential Revision:

6 years agoCode cleanup: use GPUDataSource enum instead of int
Nicholas Bishop [Sat, 24 Jan 2015 14:33:34 +0000 (15:33 +0100)]
Code cleanup: use GPUDataSource enum instead of int

Reviewed By: campbellbarton

Differential Revision:

6 years agoCode cleanup: use bool instead of int
Nicholas Bishop [Sat, 24 Jan 2015 14:20:26 +0000 (15:20 +0100)]
Code cleanup: use bool instead of int

Reviewed By: campbellbarton

Differential Revision:

6 years agoCode cleanup: use an enum for GPUNodeLink.image
Nicholas Bishop [Sat, 24 Jan 2015 14:09:18 +0000 (15:09 +0100)]
Code cleanup: use an enum for GPUNodeLink.image

Reviewed By: campbellbarton

Differential Revision:

6 years agoCode cleanup: use enums instead of defines
Nicholas Bishop [Sat, 24 Jan 2015 14:02:54 +0000 (15:02 +0100)]
Code cleanup: use enums instead of defines

Reviewed By: campbellbarton

Differential Revision: