Commit Graph

2080 Commits

Author SHA1 Message Date
Campbell Barton
0b9be70591 typo's and some style cleanup, also added asserts into BLI_vsnprintf and BLI_sprintfN when invalid args are given. 2012-11-28 06:43:04 +00:00
Antony Riakiotakis
c0a7830733 fix crash with path conversion, not all materials have nodes 2012-11-27 17:21:58 +00:00
Campbell Barton
2dbbcb4c73 add osl shader scripts to bpath walker (so making paths absolute or relative applies to shader paths too).
also remove "RNA_types.h" include from BKE_nodes.h.
2012-11-27 16:19:52 +00:00
Campbell Barton
f9e339ef00 fix/workaround [#33281] script goes into not responding
scanfill remove-doubles pass assumes ordered edges (as with curves), otherwise it can hang.
workaround this problem by skipping removing-doubles for mesh ngons, since this isnt such a common case as it is with curves and we can just not support it.
2012-11-26 23:18:04 +00:00
Brecht Van Lommel
42dc0dc5ef Fix #33226: error loading .blend files with different endian on Mac. The cause
was wrong inline and pure attributes on the endian switch function.
2012-11-26 20:37:04 +00:00
Campbell Barton
6857d31180 fix [#33305] Bevel tool crashes Blender if the number of segments exceeds 28
this was infact a general bug in BLI_array_grow_items(), surprising we didnt run into it before.
- growing the array for the first time would use the static var even if it wasn't big enough.
2012-11-26 04:58:33 +00:00
Campbell Barton
7ef78723b7 code cleanup: doxy comment corrections and correct own typo animation player docs. 2012-11-26 00:59:11 +00:00
Jason Wilkins
69b88cf719 Patch [#33196] Warning Fixes 11-16-2012
* MEM_CacheLimitier - Size type to int conversion, should be safe for now (doing my best Bill Gates 640k impression)
* OpenNL CMakeLists.txt - MSVC and GCC have slightly different ways to remove definitions (DEBUG) without the compiler complaining
* BLI_math inlines - The include guard name and inline option macro name should be different. Suppressed warning about not exporting any symbols from inline math library
* BLI string / utf8 - Fixed some inconsistencies between declarations and definitions
* nodes - node_composite_util is apparently not used unless you enable the legacy compositor, so it should not be compiled in that case.

Leaving out changes to BLI_fileops for now, need to do more testing.
2012-11-23 15:12:13 +00:00
Campbell Barton
ebaf1306b8 bmesh operator api:
avoid per vert/edge/face string lookups in BMO_slot_map_* functions --- used in array modifier, subdivide, remove doubles and other tools.
2012-11-20 13:29:27 +00:00
Sergey Sharybin
fb2543a85f Fix bug in endian switch functions.
Seems ti was here since the very first day this functions were added
and issue was happening for switching sign for negative values.

Wrote a brute-force test locally and seems corrected functions indeed
works the same way as old macroses.

This should fix: #33226: File loading issue with svn 52328 (recent BF buildbot compile)
2012-11-20 10:37:11 +00:00
Campbell Barton
973cb29d84 style cleanup: if's on the same line. 2012-11-18 02:41:55 +00:00
Campbell Barton
b867f9f17e style cleanup: comments & spelling 2012-11-18 01:22:31 +00:00
Sergey Sharybin
5392ff780b Fix #33210: Diffuse Pass in scale node leads to problems
Was own mistake in render layers interpolation changes.
2012-11-17 13:38:39 +00:00
Campbell Barton
276c842096 BLI_assert() when math functions that require are normalize vector are called without one. 2012-11-16 12:41:40 +00:00
Campbell Barton
e2fe7751d6 code cleanup: replace most DO_MINMAX2 -> minmax_v2v2_v2
also add UNPACK macros's. handy for printing vectors for eg.
2012-11-15 22:20:18 +00:00
Sergey Sharybin
5c6f6301b0 Image thread safe improvements
This commit makes BKE_image_acquire_ibuf referencing result, which means once
some area requested for image buffer, it'll be guaranteed this buffer wouldn't
be freed by image signal.

To de-reference buffer BKE_image_release_ibuf should now always be used.

To make referencing working correct we can not rely on result of
image_get_ibuf_threadsafe called outside from thread lock. This is so because
we need to guarantee getting image buffer from list of loaded buffers and it's
referencing happens atomic. Without lock here it is possible that between call
of image_get_ibuf_threadsafe and referencing the buffer IMA_SIGNAL_FREE would
be called. Image signal handling too is blocking now to prevent such a
situation.

Threads are locking by spinlock, which are faster than mutexes. There were some
slowdown reports in the past about render slowdown when using OSX on Xeon CPU.
It shouldn't happen with spin locks, but more tests on different hardware would
be really welcome. So far can not see speed regressions on own computers.

This commit also removes BKE_image_get_ibuf, because it was not so intuitive
when get_ibuf and acquire_ibuf should be used.

Thanks to Ton and Brecht for discussion/review :)
2012-11-15 15:59:58 +00:00
Campbell Barton
987f6a7d4f code cleanup: move local math functions into math_geom.c, math_vector.c, no functional changes. 2012-11-15 13:24:14 +00:00
Sergey Sharybin
2417967267 Fix #33171: Sculpt lag in recent builds
Issue was caused by own previous change in PBVH which in this case
lead to unneeded draw buffers rebuilding.
2012-11-14 08:05:40 +00:00
Campbell Barton
a7bee65d38 make smoothing value for ring select compatible with the operator.
also wrap long lines in noise.c
2012-11-13 02:45:42 +00:00
Campbell Barton
89845f280f fix [#33142] Ctrl LMB higher selection mode in edit mode sometimes selects extra elements 2012-11-11 23:33:59 +00:00
Sergey Sharybin
92c8c2ed69 Code de-duplication in imageprocess.c -- made it use interpolation functions from blenlib 2012-11-11 08:48:35 +00:00
Sergey Sharybin
f81e30a41f Solved issue with distorted compositor results in some cases
Originally issue was discovered when using stabilization and movie distortion
nodes, but in fact issue was caused by render layer node always doing nearest
interpolation. Now made it so this node will respect sampler passed to it's
executePixel function and do an interpolation.

Added two new functions to do bilinear/bicubic interpolation in float buffer
with variable number of components per element, so it could interpolate 1, 3
and 4 component vectors. This functions currently mostly duplicates the same
functions from imageprocess.c and it should actually be de-duplicated. Think
it's ok to leave a bit of time with such duplication, since functions should
be generalized one more time to support byte buffers, which could backfire on
readability.

Also removed mark as complex from stabilization node, which isn't needed sine
int fact this node is not complex.
2012-11-10 19:11:25 +00:00
Campbell Barton
2bb174cfa4 style cleanup: indentation 2012-11-09 09:33:28 +00:00
Campbell Barton
eff734203f add fallbacks for BM_vert_calc_shell_factor() and BM_vert_calc_mean_tagged_edge_length() to avoid divide by zero when a vertex has no connected geometry.
also style cleanup.
2012-11-09 08:28:14 +00:00
Campbell Barton
11a5c909f8 code cleanup: move shrinkwrap's benchmark macro into PIL_time.h & some minor style edits. 2012-11-09 04:01:19 +00:00
Campbell Barton
cf08068e10 fix [#33121] crashing when srolling down in text editor ! 2012-11-09 03:36:38 +00:00
Sergey Sharybin
7681488f97 Attempt to fix OSX compilation issue.
BLI_bitmap is not a sctruct, so that should be culptrit.
2012-11-08 14:34:42 +00:00
Sergey Sharybin
ff1e337bb4 Correction to previous commit
pBVH nodes buffers could share some pointers from pBVH itself,
and after updating pointers in pBVH we need to recreate this buffers.

This starts looking a bit awkward and seems it's mainly because of
assumptions made when was working on sculpting on deformed mesh.
Would revision such a sculpting and would try to make it more clear
later.
2012-11-08 14:22:05 +00:00
Sergey Sharybin
eacc74ef1b Fix #33116: Blender Crashes when saving inside Sculpt Mode with with GLSL and textured view enabled.
Issue was caused by call ED_sculpt_force_update from WM_file_write which frees
derived mesh and pBVH and forces them to be re-created. After this sculpt session
wasn't repairing properly.

Freeing data from WM_file_write is not nice by itself, but it exposed possible
real issue when sculpting on modifiers. Made it so BLI_pbvh_grids_update will
update pointers to material flags and hidden grids as well.

This isn't idea solution for particular circumstances from the report, since
pBVH would be rebuilt after save which ends up with small interface lags for
while pBVH is rebuilding.

Would be nice to have multires displacement propagation to higher levels
without freeing data.
2012-11-08 14:01:47 +00:00
Campbell Barton
a9132591e6 code cleanup:
linearrgb_to_srgb_ushort4_predivide() was calling `linearrgb_to_srgb(t) * alpha` twice in the FTOUSHORT macro, which gcc didn't optimize out.
2012-11-07 23:55:52 +00:00
Campbell Barton
34fecdd60e code cleanup: use min/max functions rather then macros. 2012-11-07 12:31:05 +00:00
Campbell Barton
f727448e10 fix [#33106] Decimate modifier/collapse give bad result
FLT_EPSILON was too small to use when checking if the edge collapse result is an error.

add invert_m3_m3_ex(), invert_m3_ex() functiosn which take an epsilon to check the determinant, saves calculating it twice per edge collapse.
2012-11-07 09:28:59 +00:00
Campbell Barton
8740b6cd88 fix [#33108] Running save_as_mainfile breaks relative texture paths
save-as with path remapping left the paths relate to the file written.
2012-11-07 04:13:03 +00:00
Campbell Barton
fb6ded3f59 bad use of assignment within ABS() caused SMHASH_NEXT macro to step the offset twice in some cases. 2012-11-06 04:17:46 +00:00
Campbell Barton
fae6c35ca7 code cleanup: quiet -Wdouble-promotion, disabled this warnings for a few files since its done throughout the code in some places. 2012-11-04 07:18:29 +00:00
Campbell Barton
9b948717b0 code cleanup: float <> double conversion. 2012-11-03 18:23:30 +00:00
Campbell Barton
25591e958d style cleanup: tabs & whitespace 2012-11-03 15:35:03 +00:00
Campbell Barton
f213ae0b19 style cleanup 2012-11-01 09:54:00 +00:00
Campbell Barton
fd2907a0b6 add assert if zero is passed to string copy functions, would copy into first byte anyway. 2012-10-31 04:28:49 +00:00
Campbell Barton
ac86beb0e5 2012-10-31 04:24:55 +00:00
Campbell Barton
dbb40e805d py api: add mathutils.Matrix adjugate(d) methods, also add adjoint_m2_m2() to BLI_math_matrix 2012-10-29 03:36:55 +00:00
Campbell Barton
9c2d72a27d comment testing typechecking code, was causing issues on gcc 4.4 for some reason. 2012-10-27 15:08:40 +00:00
Campbell Barton
9fc95bd7ee use min/max inline functions where MIN2/MAX2 were doing type conversion. 2012-10-27 11:18:54 +00:00
Campbell Barton
aeba4950c3 style cleanup 2012-10-27 10:42:28 +00:00
Campbell Barton
d6d8de015c change BLI_strlen_range_utf8 to the more conventional BLI_strnlen_utf8 2012-10-27 02:47:39 +00:00
Campbell Barton
e903701450 style cleanup 2012-10-27 01:46:47 +00:00
Jiri Hnidek
2821f822c5 * New string property subtype: PASSWORD
When this new subtypes is used, then string of property is hidden using
asterisks, e.g.: mysecretpassword -> ****************

This code was reviewed and modified by Brecht. Thanks very much:
 - https://codereview.appspot.com/6713044/

This new subtype of string property is intended mostly for Add-on developers
writing Add-on which communicates with some server (http, sql, ftp, verse,
etc.). When this server requires user authentication and user has to type
username and password, then current API didn't allow to type 'hidden' password,
e.g. when you want to demonstrate this script, then everybody can see this
security password. Some examples of Add-on which could use this new subtype:
 - On-line database of textures
 - Integration of render farm
 - Integration of Verse

Security Notes:
 - You can copy paste hiddent string of property from text input using (Ctrl-C, Ctrl-V),
but you can do this in other GUI toolkits too (this behavior it is widely used).
 - Text of string property is stored in plain text, but it is widely used in other
GUI toolkits (Qt, Gtk, etc.).

Simple examples:
 - https://dl.dropbox.com/u/369894/draw_op_passwd.py
 - https://dl.dropbox.com/u/369894/blender-password.png
2012-10-26 12:58:54 +00:00
Campbell Barton
b32bf2c462 code cleanup: use min_/max_ math functions, add minmax_v2_v2v2. 2012-10-25 22:47:54 +00:00
Campbell Barton
95ddd19d13 fix for build error in own commit with non gcc compilers. (and remove invalid comment) 2012-10-25 07:53:11 +00:00
Campbell Barton
9e6d27bbf0 add BLI_STATIC_ASSERT macro. 2012-10-25 04:44:46 +00:00