Commit Graph

56025 Commits

Author SHA1 Message Date
Sergey Sharybin
0fa7e4c853 Cycles: Decouple object flags update to a separate update step
This way there's much less cross-references between objects and meshes
device update functions.

The only thing remained s the object bounds calculation which is needed
by bvh update. This could also be decoupled, but it's not that crucial
yet because its's how it used to be for ages now.
2014-10-03 12:13:41 +02:00
Bastien Montagne
9ce645e7d9 Better fix for T42054 - modifiers have a callback to say whether they need normals or no.
Thanks Campbell for the headup!
2014-10-03 12:12:10 +02:00
Bastien Montagne
d4758badf6 Fix T42054: Problem when using Cast modifier with Wireframe modifier.
Wireframe modifier needs valid normals, let's ensure that!
2014-10-03 11:58:29 +02:00
Sergey Sharybin
502f6d538d Fix T41920: Changing Use Alpha settings doesn't refresh viewport properly 2014-10-03 11:27:05 +02:00
Sergey Sharybin
a654512356 Cycles: Implement preliminary test for volume stack update from SSS
This adds an AABB collision check for objects with volumes and if there's a
collision detected then the object will have SD_OBJECT_INTERSECTS_VOLUME flag.

This solves a speed regression introduced by the fix for T39823 by skipping
volume stack update in cases no volumes intersects the current SSS object.
2014-10-03 10:52:04 +02:00
Sergey Sharybin
b86f199a98 Cycles: Fix for non-initialized variable 2014-10-03 10:44:24 +02:00
Sergey Sharybin
527d049c5c Cycles: Make camera-in-volume an official feature
This means it's no longer needed to enable experimental feature set in order to
have proper camera in volume support. And this also means if there's something
wrong going on, or if there's speed regression for cases when camera is obviously
not in the volume -- this issues are to be reported and handled in the regular
matter.

Happy blending!
2014-10-03 12:55:31 +06:00
Sergey Sharybin
7dabfb2048 Cycles: Speedup of kernel side camera-in-volume detection
The idea is to only count intersections with objects which has volumetric shader
and ignore all other objects.

This is probably as fast as we can go without involving some forth level magic.
2014-10-03 12:55:31 +06:00
Campbell Barton
50af4d208d Cleanup: spelling, ws 2014-10-03 08:21:14 +02:00
Campbell Barton
230c272fe3 Comments: note on bmesh_region_match
also correct buffer type
2014-10-03 08:21:14 +02:00
Sergey Sharybin
a1d80b9c56 Update link to the Support an Animation Movie link
This is to be in the final release.
2014-10-02 20:47:24 +02:00
Sergey Sharybin
faa10d1ced Cycles: optimization of panoramic camera in volume
Now we do much better preliminary check for panoramic camera is inside the
volume object boundings.

Also we're now cacheing the has_volume in the mesh, which makes it unneeded
iterations for each object's shaders.

Should be no functional changes, just faster sync and panoramic-in-volume
rendering.
2014-10-02 20:45:30 +02:00
Antony Riakiotakis
e64ecaea4a Code cleanup:
calc_manipulator_stats is only used in manipulator (and soon will only
use the context for such queries)
2014-10-02 20:18:57 +02:00
Sergey Sharybin
591caab731 Fix for wrong bit mask magic happening in gpu_update_lamps_shadows() 2014-10-02 18:19:54 +02:00
Sergey Sharybin
480d9eab73 Fix black matcap when using particle system
Using matcap with a displist is not really good thing to try
and it's actually a regression since we've enabled matcaps
for all objects instead of just an active one.
2014-10-02 18:17:33 +02:00
Sergey Sharybin
bcab08c50a Libmv: Fix wrong variable use in scons 2014-10-02 17:12:49 +02:00
Campbell Barton
6a8ff9ee4b Fix error in last commit 2014-10-02 17:10:24 +02:00
Campbell Barton
7901faf335 Fix T42049: Crash exiting /w GL1.1 2014-10-02 16:24:14 +02:00
Sergey Sharybin
96c2d67797 Fix T42030: Grabbing the whole mask interfere with grabbing individual curve
This fix is for the final 2.72 release.
2014-10-02 19:28:07 +06:00
Sergey Sharybin
e99919f713 Freestyle: For until c++11 is accepted only static members could b initialized in-lined 2014-10-02 19:24:16 +06:00
Sergey Sharybin
617131410c Fix T42008: Dragging and packing issue about new blank image
The issue was caused by the fact that we never used to store the
generated image color in DNA, so image reload will loose this
information.

Now we store the color in DNA, making ti so re-loading the image
will preserve it's generated color.

It is now also possible to change generated image color using the
color swatch in image properties after the image was created.
2014-10-02 19:06:35 +06:00
Antony Riakiotakis
9ac0b4ff05 Fix T42033 UVs shown while rendering in texture paint mode.
This should be included in final release build.
2014-10-02 14:35:08 +02:00
Howard Trickey
a2aa3eb2e5 Fix for regression on bevel material: need do_version support for earlier files. 2014-10-02 07:50:23 -04:00
Bastien Montagne
69356b0b9b Fix freestyle/bplayer build (usual stub stuff). 2014-10-02 12:47:05 +02:00
Tamito Kajiyama
1b0214cb88 Freestyle: Fix for a compiler failure in makesrna. 2014-10-02 17:52:18 +09:00
Tamito Kajiyama
c47682d6ab Freestyle: Fix for destructive view map modifications during chaining operations.
The view map is mostly treated as a read-only data structure by line stylization
operations (i.e., selection, chaining, splitting, sorting and stroke creation).  The
only exception is the chaining operation in some cases where insertion of extra
FEdge objects is necessary to ensure the continuity of underlying FEdges from
which a chain is constructed.

The present revision addresses the removal of extra FEdges so to keep the view
map clean and suitable for reuse in subsequent render frames.
2014-10-02 17:52:16 +09:00
Tamito Kajiyama
c946a450ed Freestyle: Finer memory statistics with CXX_GUARDEDALLOC. 2014-10-02 17:52:14 +09:00
Tamito Kajiyama
dd9c53b312 Freestyle: View map caching.
New render layer option named "View map cache" is added to reuse a
previously computed view map for subsequent rendering.  The cache is
automatically updated when the mesh geometry of the input 3D scene has
been changed.

This functionality offers a major performance boost for Freestyle
animation rendering when camera-space mesh geometry is static, as well
as for repeated still renders with updates of line stylization options.

Although the "View map cache" toggle is a render layer option, the cache
memory is shared by all render layers and scenes.  This means that if
Freestyle is used for two or more render layers (possibly in different
scenes through the compositor), then the cached view map for one render
layer is replaced by a new view map for another render layer and hence
no performance gain is expected.
2014-10-02 17:52:13 +09:00
Campbell Barton
6bde5381bb Cleanup: indentation 2014-10-02 10:33:15 +02:00
Sergey Sharybin
3dada2f8cf Compositor: Reduce number of int<->float conversions in keying screen operation 2014-10-02 13:39:59 +06:00
Sergey Sharybin
957b945a18 Compositor: Simplify logic in keying blur operation 2014-10-02 13:39:50 +06:00
Sergey Sharybin
db62a80869 Libmv: Remove old workaround for 10.5 hash tables
We on'don't really support 10.5 anymore for my knowledge and in any case
the defined symbol was never checked in the sources, so this workaround
was basically doing nothing for quite some time now.
2014-10-02 13:01:34 +06:00
Sergey Sharybin
178f8400ee Libmv: Add an option to disable schur specializations build-time
This way folks with few ram or those who wants to hack into Ceres
code might compile Blender much faster.
2014-10-02 13:01:34 +06:00
Sergey Sharybin
5ab4c6b7aa Libmv: Silence some warnings about C11 usage
This makes headers a bit less clean (with the anonymous structs
mainly and headers inclusion from another header.

Makes compilation with clang a bit less noisy.
2014-10-02 13:01:34 +06:00
Gaia Clary
2040666fd1 fix T42046 Improved the option label for clarity 2014-10-02 08:55:13 +02:00
Antony Riakiotakis
805bb22f46 Code cleanup, use bit shifting for lamp flags. 2014-10-01 19:16:19 +02:00
Campbell Barton
497d06d64d Fix T41971: BMesh mapping slot arg error 2014-10-01 22:36:09 +10:00
Campbell Barton
5f948fb77f Anim Playback: Optionally draw flipped
useful to view animations from different POV.
FKey: X, Shift+FKey: Y
2014-10-01 22:01:01 +10:00
Campbell Barton
b8f6941776 Cleanup: de-duplicate playanim matrix 2014-10-01 22:01:00 +10:00
Daniel Genrich
1a72c83355 Fix Smoke UI property: Low resolution values are needed for pyroclastic smoke effects.
Example values for such an effects are resolution = 10 and high resolution = 5.

Patch by nudelZ
2014-10-01 13:32:52 +02:00
Bastien Montagne
fb7f06288d Smooth vertex: User request: tweak hard min/max smoothness.
Keep soft min/max to usual values, but allow artists to play with strange values
if they really want it.
2014-10-01 10:46:50 +02:00
Tamito Kajiyama
2cb134be2b Freestyle: New line style options for sorting and chain selection.
The following two sort keys are added for sorting chains.

* Projected X - Sort by the projected X value in the image coordinate system.
* Projected Y - Sort by the projected Y value in the image coordinate system.

A new line style option for the selection of first N chains is also added.

Moreover, the chain sorting and chain selection operations are now executed
in this order instead of the reverse order used previously.  The UI has also
changed accordingly.  This functional change is backward compatible and
won't result in visual differences.
2014-10-01 16:01:40 +09:00
Tamito Kajiyama
55aa42ad6f Freestyle: Fix for a typo in the definition of NotBP1D.
This is a safe fix for a regression from 2.71, so should be back ported to 2.72.
2014-10-01 16:01:38 +09:00
Thomas Dinges
832f54a1aa Cycles: Filter Shader and Output nodes to their respective object/world node tree.
Some nodes only work in certain node trees, so don't show them in the Add Node menu when this is the case.
This can probably be expanded to Input Nodes too, but need to double check some cases here still.
2014-10-01 07:23:16 +02:00
Lukas Tönne
c68c32a409 Fix for duplicate member in UserDef from own commit (merge mistake). 2014-09-30 18:37:42 +02:00
Lukas Tönne
6fa46ad315 Support for "virtual pixelsize" on 4k screens.
On 4k devices the default pixel size leads to tiny OpenGL drawing
that is hardly usable without doubling the DPI. The retina system
on OSX aims to alleviate this problem by introducing a general 2x
pixel size.

No equivalent feature exists on other platforms so far. However,
to emulate the effect this patch introduces a "virtual" pixel size
factor for OpenGL drawing.

Note that the user currently has to enable this manually by selecting
the "Virtual Pixel Mode" in the user preferences (defaults to native).
All windows of a Blender instance share the same virtual pixel size as well.
It may be possible to handle this on a per-window basis and automate
the selection somewhat (if enabled by the user), so working with
multiple screens becomes more convenient, but technical limitations
make this a bit difficult (on X11 with nvidia drivers the actual screen size
is not reported correctly).

Reviewers: ton, campbellbarton

Differential Revision: https://developer.blender.org/D669
2014-09-30 18:29:32 +02:00
Bastien Montagne
c7684b456a Fix T42026: Unit scale affects camera focal length.
Not a regression, yet maybe simple/safe enough for 2.72?
2014-09-30 15:07:44 +02:00
Bastien Montagne
aaa2f7f3ec Fix compilation on GCC (good old mixed declaration and code). 2014-09-30 14:22:20 +02:00
Sergey Sharybin
202831fc4f Style cleanup 2014-09-30 17:28:29 +06:00
gaiaclary
c0276251d2 fix T42022 Attempt to export empty set of objects resulted in an exception 2014-09-30 13:22:55 +02:00