Commit Graph

54597 Commits

Author SHA1 Message Date
Sergey Sharybin
b56151ff13 Cycles: Fix compilation error on platforms without SSE2 2014-06-16 23:35:44 +06:00
Campbell Barton
f2a0062042 Use ARRAY_SIZE to replace (sizeof(a) / sizeof(*a)) 2014-06-17 02:47:57 +10:00
Campbell Barton
a6e290166b Quiet warning 2014-06-17 02:08:10 +10:00
Joshua Leung
37fce22201 Bugfix: Units for time translate transforms (action/nla editors) was messed up
When autosnap mode was nearest frame or nearest marker, this was incorrectly
converting the units to seconds, making this display unusable for anything.
2014-06-16 21:46:03 +12:00
Joshua Leung
8e722b0232 Feature Request T40643: Animation channels can be renamed by double-clicking on them too 2014-06-16 21:46:02 +12:00
Sergey Sharybin
38d6841687 Need to consider blender-v* a release branch, not just blender-
This is because of blender-tiles branch we've got..
2014-06-16 15:16:18 +06:00
Sergey Sharybin
0125ae1eb2 Forgot this in previous commit 2014-06-16 15:13:01 +06:00
Sergey Sharybin
be553273b8 Make blender-* branches not being displayed on the splash 2014-06-16 14:58:56 +06:00
Sergey Sharybin
ecfc2db6e2 I'd tend to declare dead code is forbidden
All this code blocks commented out with UNUSED comment are
really useless.
2014-06-16 14:08:22 +06:00
Sergey Sharybin
6d4f06299f Fix T40606: Blender 2.71RC1 for Windows uses too old blender.mo file in Japanese
Update submodules to v2.71-rc1, it got lost on re-tag leading to wrong addons
and translations used in RC1.
2014-06-16 14:04:49 +06:00
Sergey Sharybin
db750b9843 Add missing dependency to CMake's msgfmt
This could have lead to situation when CMake wouldn't re-generate
.mo file from changed .po file.
2014-06-16 14:04:46 +06:00
Campbell Barton
c95d093e81 Code cleanup: move editfont drawing into its own function. 2014-06-16 17:23:44 +10:00
Campbell Barton
3f444d9984 Object Drawing: minor refactor, don't check glsl in wire-mode
also don't call glBlendFunc for hidden objects.
2014-06-16 17:23:44 +10:00
Bastien Montagne
5ca44ff952 Fix T40648: Bevel Tool - Amount value slider maximum does not adapt to Amount Type settings automaticly. 2014-06-16 09:03:54 +02:00
Campbell Barton
31e15b56a4 Fix T40617: Ortho view selects objects behind camera 2014-06-16 16:55:57 +10:00
Tamito Kajiyama
f325ddb0d7 Fix Python fails to execute text-blocks including non-mbcs chars (T35176, D595) 2014-06-16 15:29:25 +10:00
Tamito Kajiyama
8365cebe32 Freestyle: Python API docstring updates. 2014-06-16 10:12:52 +09:00
Tamito Kajiyama
840891e22a D545: Freestyle Python API: new methods for Stroke and StrokeVertexIterator.
This revision extends the Freestyle Python API to make for style module writing
easier.

- freestyle.types.Stroke: A proper support for reversed() is implemented.  It
works the same with other Python sequence objects (returns an iterator starting
from the end).  This is in effect equivalent to Stroke.stroke_vertices_end().

- freestyle.types.StrokeVertexIterator: An incremented, decremented and reversed
method are added.  The first two methods return a new StrokeVertexIterator
object that has been incremented and decremented, respectively. The reversed
method returns a new StrokeVertexIterator object that will traverse stroke
vertices in the opposite direction.

- freestyle.types.Interface0DIterator: Its constructor now accepts a Stroke
object to create an Interface0DIterator that traverses stroke vertices.  This is
in effect equivalent to Stroke.vertices_begin().  The new API makes stroke
shaders involving function calls much simpler as illustrated below:

  # in the old API
  it = stroke.stroke_vertices_begin()
  for vert in it:
      result = somefunc(Interface0DIterator(it))

  # in the new API
  it = Interface0DIterator(stroke)
  for vert in it:
      result = somefunc(it)


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

Reviewers: kjym3
2014-06-16 10:12:51 +09:00
Campbell Barton
ea3bca75d9 Curve: remove unused displist members 2014-06-15 14:56:59 +10:00
Campbell Barton
4b4bb410e0 Curve: replace calloc with malloc for values immediately written into 2014-06-15 14:36:33 +10:00
Campbell Barton
57372f4ef8 Curve: use zero length array for BevList for less confusing syntax 2014-06-15 14:23:23 +10:00
Campbell Barton
716430ab64 Code cleanup: comments 2014-06-15 12:15:53 +10:00
Campbell Barton
fff18e049a Text Editor: dropping id's now paste in Python data path (like pyconsole) 2014-06-15 12:15:53 +10:00
Thomas Dinges
6443bfdeb1 * Fix OpenCL after uchar4 commit. 2014-06-15 01:09:59 +02:00
Howard Trickey
b5213b2dea Fix T40007 Bevel tool resets after getting to 1.
If the side of a beveled edge hit another vertex, the offset
amount reset to zero. This was the result of commit rB1582dd5e4d7c
which clamped the amount to zero to avoid creating spikes with
obtuse angles. Now we clamp the amount to the closest end of
the edge to where the amount wants to be.
Also fixes the first part of T40365.
2014-06-14 17:47:44 -04:00
Campbell Barton
fa17e3b14c UI: refactor text cache to use zero length arrays
also correct some bad casts
2014-06-15 04:32:41 +10:00
Campbell Barton
9c1728457b BLI_gsqueue: refactor to use zero length array 2014-06-15 04:32:37 +10:00
Campbell Barton
d6287b213b BLI_gsqueue: use size_t for elem_size (was casting all over) 2014-06-15 03:49:25 +10:00
Campbell Barton
ea2043eb3a UI: Add support for popups to refresh their layput (D578)
This is needed for popups to chance state once activated,
currently it makes use of operators `check` callback, after values are modified,
as the file selector does already.
2014-06-15 01:42:31 +10:00
Thomas Dinges
5713d80804 Fix for last commit, forgot changes in Cycles itself. 2014-06-14 16:14:54 +02:00
Bastien Montagne
871a8eb6b2 Fix T40609: Wrong WS between word and '?' (no space in english typography in those cases). 2014-06-14 15:59:12 +02:00
Thomas Dinges
6603a2be9d Cycles: Don't show "Sharp" distribution in the Anisotropic node. 2014-06-14 15:45:13 +02:00
gaiaclary
a2936d1ffe Expose Weigth tools for edit mode
Most weight tools also work in edit mode.
This change exposes all applicable tools
within a separate weight tool panel
in the tools tab of the tool shelf

Reviewers: campbellbarton

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D592
2014-06-14 15:18:46 +02:00
b12151eceb Cycles: glossy and anisotropic BSDF changes
* Anisotropic BSDF now supports GGX and Beckmann distributions, Ward has been
  removed because other distributions are superior.
* GGX is now the default distribution for all glossy and anisotropic nodes,
  since it looks good, has low noise and is fast to evaluate.
* Ashikhmin-Shirley is now available in the Glossy BSDF.
2014-06-14 13:49:57 +02:00
ceb68e809e Cycles: internal code support for anisotropic Beckmann and GGX reflection
Based on:

Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs
E. Heitz, Research Report 2014
2014-06-14 13:49:57 +02:00
Karsten Schwenk
8ce1090d4e Cycles: Ashikhmin-Shirley anisotropic BSDF
* Ashikhmin-Shirley anisotropic BSDF was added as closure
* Anisotropic BSDF node now has two distributions

Reviewers: brecht, dingto

Differential Revision: https://developer.blender.org/D549
2014-06-14 13:49:57 +02:00
f5cb0cf1a5 Cycles: improved importance sampling for Beckmann and GGX glossy
Samples render slower than before, but hopefully this is made up for with
reduced noise in most cases. The main slowdown comes from samples that would
previously be wasted and turn out black, which are now continued.

GGX sampling is about the same speed as before, while for Beckmann it is slower
still. Perhaps optimizations are still possible there, but didn't find anything
easy.

Code from this paper, which comes with sample code:

Importance Sampling Microfacet-Based BSDFs using the Distribution of Visible Normals.
E. Heitz and E. d'Eon, EGSR 2014

Differential Revision: https://developer.blender.org/D572
2014-06-14 13:49:56 +02:00
5fa68133c9 Cycles: volume sampling method can now be set per material/world.
This gives you "Multiple Importance", "Distance" and "Equiangular" choices.

What multiple importance sampling does is make things more robust to certain
types of noise at the cost of a bit more noise in cases where the individual
strategies are always better.

So if you've got a pretty dense volume that's lit from far away then distance
sampling is usually more efficient. If you've got a light inside or near the
volume then equiangular sampling is better. If you have a combination of both,
then the multiple importance sampling will be better.
2014-06-14 13:49:56 +02:00
a29807cd63 Cycles: volume light sampling
* Volume multiple importace sampling support to combine equiangular and distance
  sampling, for both homogeneous and heterogeneous volumes.

* Branched path "Sample All Direct Lights" and "Sample All Indirect Lights" now
  apply to volumes as well as surfaces.

Implementation note:

For simplicity this is all done with decoupled ray marching, the only case we do
not use decoupled is for distance only sampling with one light sample. The
homogeneous case should still compile on the GPU because it only requires fixed
size storage, but the heterogeneous case will be trickier to get working.
2014-06-14 13:49:56 +02:00
d644753319 Cycles code refactor: move some surface and volume path code to separate files. 2014-06-14 13:49:56 +02:00
51a1d6481b Cycles code refactor: deduplicate and symmetrize some path tracing code. 2014-06-14 13:49:56 +02:00
5ab565283d Cycles code refactor: minor changes to light emission code. 2014-06-14 13:49:55 +02:00
Antony Riakiotakis
781de742eb Fix T40610. This is a critical bug caused by own bugfix that does not
allow editing any object type without bounding boxes.

This should be included in the final release!
2014-06-14 14:30:22 +03:00
Antony Riakiotakis
9073a81bce Fix compilation in cycles 2014-06-14 13:54:38 +03:00
Thomas Dinges
0c1b4c35cd Code cleanup: Avoid duplicate functions for vector combination/separation in SVM.
Differential Revision: https://developer.blender.org/D597
2014-06-14 12:29:15 +02:00
Campbell Barton
8ccf9993cf BLI_dynstr: use function attributes and move comments into C file 2014-06-14 18:40:48 +10:00
Campbell Barton
ee87c161db UI: use BLI_strdup to store the original string. 2014-06-14 18:32:18 +10:00
Campbell Barton
23d7fa11c9 Skin Modifier: use BLI_bitmap to tag edges 2014-06-14 18:24:41 +10:00
Campbell Barton
34ae5bd378 UI: uiContextActivePropertyHandle wasn't passing the event to the uiBlockHandleFunc 2014-06-14 18:14:53 +10:00
Campbell Barton
8d96ea8322 BLI_rand: add BLI_rng_get_float_unit_v2 2014-06-14 18:12:19 +10:00