d236b4d60f
Cycles bump node: change the Strength value to work better, previously it would
...
give results that were either too weak or too strong, this makes it give more
predictable results. The downside is that it breaks backwards compatibility but
the previous behavior was almost broken.
2013-05-09 14:05:37 +00:00
d326d92b2f
fix [ #35280 ] blender crashes when setting Environment Map imagefile
2013-05-09 14:01:42 +00:00
4c042f2145
bmesh: optimize bmesh_vert_separate, redice allocs (best cast it wont do any allocs).
...
gives approx 16% overall speedup to edgesplit modifier.
also reduce size of smallhash stack, was 521, which got doubled and was quite large on the stack. reduce to 64.
2013-05-09 12:46:35 +00:00
2e0f741d01
can't use alloca in inline functions (fills up stack - I thought compiler would be smart here).
...
also reserve the exact number of vert/face/edge/loops when creating a bmesh during undo.
2013-05-09 11:42:24 +00:00
278240f4b0
bmesh: avoid using BLI_array macros for every face when converting to bmesh, replace with alloca
2013-05-09 10:44:38 +00:00
1e784c54cd
bmesh speedup: skip free-realloc while running CustomData_bmesh_merge() when nothing is changed (happens quite often that there is nothing to do).
2013-05-09 10:41:05 +00:00
c1f408c058
Partial revert of own commits r56604 and r56603:
...
* Reverted the changes to code comments, as suggested by Campbell. It makes it more hard to follow.
* Only keep changes to actual UI messages.
2013-05-09 10:03:38 +00:00
Lukas Toenne
3fb67ac16d
Fix for do_versions bug with node groups: The special case of direct input-to-output connections was not handled correctly. In this case both the tonode and fromnode pointers in old node groups are NULL.
2013-05-09 08:29:59 +00:00
6f8c29ab0b
fix for 2 errors introduced since release
...
- shape key NULL pointer dereference.
- use uninitialized variable for bmesh free.
also update credits and merge dissolve flag assignment.
2013-05-09 07:02:51 +00:00
3d95873cf6
fix [ #35257 ] Brige > Merge sometimes flips result
2013-05-08 23:14:27 +00:00
Dalai Felinto
102c0d76e9
bugfix: [ #31757 ] setGLSLMaterialSetting has no effect
...
original patch by me, with contribution from HG1 and Florian Völker
bug introduced in rev. 40113
2013-05-08 21:43:35 +00:00
e0edac4952
UI naming consistency:
...
* ShapeKey -> Shape Key. Was called "Shape Key" in most places already.
Pointed out by Dalai, thanks!
2013-05-08 21:41:47 +00:00
b98550590b
UI naming consistency:
...
* DopeSheet -> Dope Sheet. No need to glue the words together.
Only changed comments and UI strings, no functional changes. Request by Dalai Felinto.
2013-05-08 21:05:52 +00:00
9037a2d3ab
Blender 2.68 release cycle begin:
...
* BCon1, Alpha. Let's have an awesome one!
2013-05-08 17:23:56 +00:00
Lukas Toenne
8deba33497
Fix for node group user count: since node group pointer uses an explicit setter callback it has to do user count increment/decrement manually.
2013-05-08 16:00:08 +00:00
Lukas Toenne
8542d97f73
2 fixes for node group node_tree pointer property: Make sure the nodeGroupPoll function (which checks for recursion) is used both in the poll callback as well as the actual pointer assignment (set). The poll callback doesn't seem to be used when directly setting the node_tree pointer from the API, so to make sure no dangerous recursion situation can happen this needs a second check.
2013-05-08 15:41:01 +00:00
Lukas Toenne
3234f7e497
Expose the data type property of node group interfaces for easier comparison in python.
2013-05-08 15:40:58 +00:00
Lukas Toenne
ee950c9dcb
Exposed the node socket templates of C nodes in RNA by means of a classmethod. This will allow the node link menu to determine feasible socket connections before an actual node instance is created.
2013-05-08 15:40:49 +00:00
Lukas Toenne
33e990109b
Expose the HIDE_VALUE flag of node sockets in RNA.
2013-05-08 15:40:44 +00:00
Lukas Toenne
bfa97b4710
Workaround for C nodes: In order to make registerable RNA methods of the standard C nodes (e.g. poll or draw_buttons) available in python scripts, they need a specialized Node subtype (called NodeInternal). This is necessary because bpy omits any registerable functions of RNA types in the generated python classes, relying instead on using the supposed native implementation in a registered python class. Since the standard shader/compositor/texture nodes in Blender are not registered but directly created in makesrna they lack all registerable function in the associated python types. The NodeInternal RNA subtype replaces the registerable functions of the base Node type to solve this issue.
2013-05-08 15:40:40 +00:00
Lukas Toenne
6fe753c11b
Extended the draw callback API for node sockets with an explicit text parameter, instead of always using the sock->name string. This can be useful for drawing the socket values separate from the label, e.g. in the node view template.
2013-05-08 14:58:41 +00:00
Lukas Toenne
672d393517
Change to socket draw functions: instead of always only drawing the socket label for connected sockets, leave this check up to the socket draw function itself. This allows future socket types to draw buttons or other info in all cases and handle connected/unconnected state more flexibly.
...
The drawinputfunc/drawoutputfunc callbacks in bNodeType are pretty much empty wrappers now and should be removed at some point. This per-node differentiation should rather be implemented as a specialized socket type if necessary. The only use case for this feature that remains is the file output node in compositor, which displays shortened file format info for each socket.
2013-05-08 14:58:37 +00:00
0ee45c9301
more optimal method of calculating the normal for the solidify modifier.
...
When adding 2 unit length vectors, the length can be used to calculate the angle.
2013-05-08 14:33:02 +00:00
f25e7d62b3
Mask modifier for sequences
...
This modifier uses a mask set in the modifier settings
and multiplies strip by it. Alpha channel will also be
multiplied by mask, which makes it easy to mask some
objects on footage and alpha-over them in sequencer.
Actually, this modifier sets alpha for byte strips
directly (since byte is always straight alpha) and
multiplies float buffer by mask (flaots are premulled)
so in both cases masked strip could be easy alpha-overed
without any artifacts.
It uses own structure with only SequenceModifierData
property in to preserve both forward and backwards
compatibilities (using new structure ensures modifier
will be ignored on load in older blenders, the same
happens for mesh modifiers actually).
Request from Pablo Vazquez.
2013-05-08 14:20:57 +00:00
Lukas Toenne
89eb80fb68
Fix for #35253 , Cannot animate X, Y, Z values in nodes with vector sub-menu. The "component menu" template used for these socket buttons opens a popup, but this ui function does not support RNA info directly. Setting the uiBut rna pointer directly solves it.
2013-05-08 14:18:09 +00:00
7bd7da7cc6
code cleanup: dissolve - use iterator macros, remove unused function.
2013-05-08 14:08:37 +00:00
7dbf6d513e
mesh dissolve vertices: option to split off corners of surrounding faces, makes the result more localized to the area around the vertex.
2013-05-08 14:01:38 +00:00
8193d83cd9
split dissolve into 3 different operators (face/edge/vert).
2013-05-08 13:48:57 +00:00
4d842df17e
Fix #35219 : blender internal auto ray bias to avoid the terminator shadow
...
problem was giving light flickering on a mesh with animated hair strands.
Now strands are not used to compute this auto bias excluded from this, from
tests it does not seem to be helpful for hair and only gives issues.
2013-05-08 13:23:20 +00:00
a07dcd67eb
Fix #35240 : command line -t number of threads option did not work for cycles.
...
Now it works for blender internal, cycles and other multithreading code in
Blender in both background and UI mode.
2013-05-08 13:23:17 +00:00
3e763d7e4d
Fix #35246 : cycles has no simple way to combine bump and normal mapping. Now
...
the Bump node has a Normal input, so you can chain it after a Normal Map node.
Note that normal mapping always has to be done first because it is tied to the
particular mesh surface and tangents.
2013-05-08 13:23:13 +00:00
28617bd710
fix for recent commit, WITH_GUARDEDALLOC wasn't enabled for makesrna, makesdna.
2013-05-08 13:19:55 +00:00
a9a0e2d98f
Fix #35093 : New Basis shape key doesn't act as Basis
...
Made it so Move Shape Key ensures first key is a refkey,
so now it's possible to change basis key from the interface.
It's still needed to manually teak key's relative_key,
not sure whether there's a reliable automated way to tweak
this value when bassi key is changing.
2013-05-08 13:16:45 +00:00
a63be29da3
Fix #35252 : Crash with the node placed partially behind the screen
...
Issue was caused by negative maximal possible text width happening
in label clipping.
Solved by clamping width to 0 if it's negative.
2013-05-08 13:16:39 +00:00
13ddfa921e
fix [ #30862 ] "Lock" and "Box" Quad View options won't stay put when toggling
2013-05-08 13:01:05 +00:00
562ed2b42e
add in asserts when rv3d->viewmatob, rv3d->persmatob are not initialized.
...
This is often hard to spot since in many cases it works correctly even
when not initialized but may still fail in other situations.
2013-05-08 13:00:52 +00:00
a4634bfe67
code cleanup: ui_but_is_rna_undo --> ui_is_but_rna_undo (ui_is_but_*** is used elsewhere)
2013-05-08 13:00:33 +00:00
8ac2fee57a
minor speedup for bmesh - add CustomData_bmesh_free_block_data(), use
...
when the block would be immediately allocated again.
2013-05-08 13:00:25 +00:00
8d0de0c3cf
code cleanup: remove ShapeActionActuator, they are now versioned out.
2013-05-08 13:00:14 +00:00
9514a28e4f
code cleanup: remove redundant check in writedata().
2013-05-08 13:00:06 +00:00
f554c264da
speedup for freeing bmeshes, skip calling free on every
...
vert/edge/face/loop if there are no free functions for the customdata
layers.
2013-05-08 12:59:56 +00:00
c6702a3b91
use BM_face_create_ngon_verts for python api face creation
...
(avoid doing it inline).
2013-05-08 12:59:46 +00:00
f74201190d
code cleanup: remove references to BLI_rand.h
2013-05-08 12:59:35 +00:00
e4aff35020
smooth falloff options for loopcut.
2013-05-08 12:58:28 +00:00
a9fb183901
rename BLI_ghashIterator_notDone() -> BLI_ghashIterator_done()
...
was renamed fairly recently but other similar iterators not negated
like this, would prefer to keep it as it was
2013-05-08 12:58:11 +00:00
df664fa6d5
use bool for customdata functions.
2013-05-08 12:57:18 +00:00
4daf1958cf
de-duplicate draw_new_particle_system() particle drawing.
2013-05-08 12:57:07 +00:00
76b1e8bc09
code clenup: rename BKE_mesh_poly_calc_angles -> BKE_mesh_calc_poly_angles
2013-05-08 12:56:51 +00:00
f433f011cf
add option to only beauty fill between vertices with non-matching tags,
...
useful for beauty filling the result of a bridge between 2 edge-loops.
2013-05-08 12:56:41 +00:00
df502ffd5f
knife tool: use faster method for sort_by_frac_along(), no need to call
...
line_point_factor_v3().
2013-05-08 12:56:31 +00:00