Commit Graph

1231 Commits

Author SHA1 Message Date
a2778a262b Fix #20548: flat shading not drawing right in sculpt mode. 2010-03-22 17:17:36 +00:00
113ea4368e Math Lib: make some more vector functions use const arguments. 2010-03-22 15:55:12 +00:00
1e9bf0cfdb spaces -> tabs, (4 spaces == 1 tab, only for white space preceding text) 2010-03-22 09:30:00 +00:00
74b3336107 rotate_m4 was using degrees rather then radians. 2010-03-22 00:14:56 +00:00
42ac4a3e7d Fix syntax for ID keyword. 2010-03-21 01:14:04 +00:00
07b547980d remove unused includes for blenlib, left ifdef's for non linux os's alone. 2010-03-20 18:52:03 +00:00
391cc2d004 merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
08164794b2 Fix [#21658] file browser "hide invisible" doesn't hide anything
- moved global hide_dot to filelist.
- hiding dot files is now included in the filtering of files, which means that for this directory also doesn't have to be read anymore.
- reverted changes of rev. 27491 and related changes in rev. 27523 in favor of a more general abstraction for the different 'file browser modes' with respect to filtering.
2010-03-20 14:23:56 +00:00
f17dcf58c8 Fixes for thread related render / compositing crashes:
* Viewer node could free image while it is being redrawn, viewer image
  buffers now need acquire/release to be accessed as was already the
  case for render results.
* The Composite node could free the image buffers outside of a lock,
  also causing simultaneous redraw to crash.
* Especially on Windows, re-rendering could crash when drawing an image
  that was freed. When RE_RenderInProgress was true it would access the
  image buffer and simply return it while it could still contain a pointer
  to a render result buffer that was already freed. I don't understand
  why this case was there in the first place, so I've removed it.

Possibly fixes bugs #20174, #21418, #21391, #21394.
2010-03-16 16:58:45 +00:00
8cae162245 [#21580] -- argument tries to load as a blend file
Stop processing arguments on --
2010-03-13 04:51:24 +00:00
4dbf499be3 Fix crash in compositing nodes, due to threading problem. 2010-03-12 13:07:25 +00:00
1708ac0723 rename some functions to use easier to understand names.
'BLI_makestringcode' --> 'BLI_path_rel'
'BLI_convertstringcwd' --> 'BLI_path_cwd'
'BLI_convertstringframe' --> 'BLI_path_frame'
'BLI_convertstringframe_range' --> 'BLI_path_frame_range'
'BLI_make_cwdpath' --> 'BLI_path_cwd'
2010-03-09 17:36:23 +00:00
1b28081102 Mac + OpenMP + pthreads workaround: recent commit broke compile, just
moved it into threads.c now instead of having it duplicated in various
places.
2010-03-09 16:54:25 +00:00
b356eb6a8b image re-project now uses offscreen render function and has input for render size.
unrelated changes that ended up being more trouble to commit separate...

- removed BLI_split_dirfile(), was nasty, occasionaly modifying the source string, it could create directories and used the $CWD in some cases. was only used in 2 places in filesel.c, if this gives problems can address without bringing back this function.
  renamed BLI_split_dirfile_basic --> BLI_split_dirfile

- view3d_operator_needs_opengl was being called for offscreen render when it wasnt needed.
2010-03-08 20:08:04 +00:00
1d21d6ca9a reproject
- use render mesh settings rather then view settings.
- fixed bug with brush size being overwritten and allowing non mesh objects to be projected onto.
- made the paint loop less messy & minor cleanup
2010-03-05 22:01:42 +00:00
bf4d8ffe3a Fix #21458: tangent space normal maps didn't work correct in some
cases due to recent fix to avoid division by zero.
2010-03-05 15:36:05 +00:00
4ad5d16053 Fix include path for GHOST include. 2010-02-28 00:48:05 +00:00
fa6beb4302 System dependent standard directory retrieval functions update : return const strings (as coded in libc) instead of malloc'ed buffers
and plug them into wip BLI_bfile.c to replace the hardcoded paths
2010-02-27 17:03:46 +00:00
7fca47e0cf fix in commit today using strnlen, which is only available for gcc.
This adds a BLI_strnlen() to the blenlib.

Patch provided by Sergey Sharybin (nazgul)
2010-02-27 15:39:13 +00:00
5be3bf73be bugfix [#20694] Copy Paste to buffer missing in Console editor
- console selection working
- copy selection to clipboard
- paste selection from clipboard works with multiline paste

word-wrap is still not working with selection drawing.
2010-02-26 23:56:16 +00:00
878d8b44ee remove rna functions image.get_export_path() and image.get_abs_filename(), filename functions should not be spesific to images.
rename BKE_get_image_export_path() to BKE_rebase_path() and take a filename arg rather then an image.

obj export file copy was also not working because of a missing import.
2010-02-26 11:50:59 +00:00
b7e7a0140b Fix dual quaternions flipping in case of stretched (not scaled) bones. 2010-02-22 18:53:46 +00:00
02e7871149 Mathutils API: Euler support for rotation order.
Examples.
 euler = Euler(1, 2, 3)
 euler.order = 'ZXY'
 
 euler = matrix.to_euler('XZY')


Still missing rna support. this still wont give the right order, defaulting to XYZ.
 eul = object.rotation_euler
2010-02-20 19:49:04 +00:00
712e8c6a5c fix for negative frames messing up image sequence name. 2010-02-17 13:43:50 +00:00
4405b01586 minor adjustment to BLI_uniquename, the last extension is used so "A.B.001" --> "A.B.002" rather then "A.001" 2010-02-16 18:03:10 +00:00
bc9b873f60 bugfix [#20480] crash/lock-up for certain aspect ratios 2010-02-16 15:59:36 +00:00
8497b2f851 typo in zeroing a vector 2010-02-12 14:46:04 +00:00
081c1205a3 correct fsf address 2010-02-12 13:34:04 +00:00
7d2d5c990f fix for uninitialized mempool variable. 2010-02-09 12:06:04 +00:00
945a126170 Warning fixes 2010-02-09 11:01:31 +00:00
ec7df03c86 Warning fixes, one actual bug found in sequencer sound wave drawing. Also
changed some malloc to MEM_mallocN while trying to track down a memory leak.
2010-02-08 13:55:31 +00:00
8b0c6a14f9 while info wont sho in the menu, use this. 2010-02-07 18:14:38 +00:00
60bf5465a4 Fun stuff: conflict detection in argument parsing library (could have been useful to detect a previous bug, prevents further bugs).
Prints a warning in the console at runtime when filling in the arguments if conflicts exist.
2010-02-07 15:36:20 +00:00
d3afaa20be [#20994] seem that -F flags is not honored any more on linux ubuntu 9.10
Case Insensitive flag was reversed, making -F act like -f.
2010-02-06 16:39:44 +00:00
843b0e343b ghash tweak to not do so much preallocation 2010-02-04 00:17:25 +00:00
f590151725 avoid nan tangents which happen with cubes that have generated UVs 2010-02-03 19:16:18 +00:00
116a52ee21 bugfix [#20943] Solidify Modifier working incorrectly
old code was merged chich use the angle degrees.
2010-02-03 12:01:57 +00:00
95bfbd470e vertex group sort operator, access from the vgroup panel, sintels mesh has 144 vertex groups which got quite tedious to look through. 2010-02-02 21:43:26 +00:00
c5ef38a415 Fix #20420: grab brush + subsurf modifier crash. Previously the PBVH nodes
were cached once at the start, but these can change when modifiers are
executed, now it simply doesn't cache them anymore, that was only really
a performance bottleneck when it was caching individual vertices.
2010-02-01 11:36:22 +00:00
678f68550b New argument parsing library supporting multiple passes, case sensitive and insensitive arguments, default handlers and other features that were hacked in the previous ugly switch system. Very simpler system for adding new arguments, easier to see conflicts and no more replication between BG and non BG mode arguments.
I've tested pretty much everything except GE options (-g options), but some small bugs could have sneaked in.
2010-02-01 01:43:31 +00:00
f749d0361f - hash characters in the path would confuse the output file name and not add numbers to it (when rendering animations).
- added an option to BLI_convertstringframe and BLI_convertstringframe_range to add digits if not found.
- removed BLI_convertstringframe where its obviously not needed - such as loading movies and sounds.
2010-01-30 22:33:47 +00:00
ec48cbd267 utility functions is_negative_m3 & is_negative_m4, added python Mathutils access Matrix.is_negative
renamed Mathutils attribute wrapped -> is_wrapped
2010-01-30 13:15:39 +00:00
0621a8e08a Fix for lack of basic error checking in writing compressed .blend files
(which is enabled by default). If there was a problem reading or writing
in the compression process, the original .blend file could get lost. Now
errors are checked, and writing is done as follows:

write .blend@ -> compress .blend@ to .blend@.gz ->
rename .blend@.gz to .blend -> remove .blend@

We've had blender crash here, lose the original .blend and leave an
empty .blend@. It is not clear to me where this would happen in practice 
if there is enough disk space and permissions are correct, so the actual
crash is likely not fixed by this commit.
2010-01-29 11:26:17 +00:00
cd2c4a5834 - change max threads from 8 to 64, need to keep an eye on stack memory use here.
- reload fix didnt work last commit.
2010-01-28 19:18:35 +00:00
abde08b716 Multires displacement files are now also part of absolute/relative path
remapping.
2010-01-28 18:20:28 +00:00
478dc000b3 * Mathutils attributes documented - http://www.blender.org/documentation/250PythonDoc/Mathutils.html
* Vector.difference() needed normalized vectors
* bpy.DEUBG -> bpy.app.debug
2010-01-27 21:33:39 +00:00
709b1a93e6 support for #'s for output animation paths
This was supported...
image: /tmp/foo_###_bar --> /tmp/foo_001_bar.png

But not this...
anim: /tmp/foo_###_bar --> /tmp/foo_001_250_bar.avi
2010-01-26 21:41:38 +00:00
b119ce5fcc Drag and drop 2.5 integration! Finally, slashdot regulars can use
Blender too now! :)

** Drag works as follows:

- drag-able items are defined by the standard interface ui toolkit
- each button can get this feature, via uiButSetDragXXX(but, ...).
  There are calls to define drag-able images, ID blocks, RNA paths, 
  file paths, and so on. By default you drag an icon, exceptionally 
  an ImBuf
- Drag items are registered centrally in the WM, it allows more drag 
  items simultaneous too, but not implemented

** Drop works as follows:

- On mouse release, and if drag items exist in the WM, it converts 
  the mouse event to an EVT_DROP type. This event then gets the full 
  drag info as customdata

- drop regions are defined with WM_dropbox_add(), similar to keymaps 
  you can make a "drop map" this way, which become 'drop map handlers' 
  in the queues.
- next to that the UI kit handles some common button types (like 
  accepting ID or names) to be catching a drop event too.

- Every "drop box" has two callbacks:
  - poll() = check if the event drag data is relevant for this box
  - copy() = fill in custom properties in the dropbox to initialize 
    an operator
- The dropbox handler then calls its standard Operator with its 
  dropbox properties.

** Currently implemented

Drag items:
- ID icons in browse buttons
- ID icons in context menu of properties region
- ID icons in outliner and rna viewer
- FileBrowser icons
- FileBrowser preview images

Drag-able icons are subtly visualized by making them brighter a bit 
on mouse-over. In case the icon is a button or UI element too (most 
cases), the drag-able feature will make the item react to 
mouse-release instead of mouse-press. 

Drop options:

- UI buttons: ID and text buttons (paste name)
- View3d: Object ID drop copies object
- View3d: Material ID drop assigns to object under cursor
- View3d: Image ID drop assigns to object UV texture under cursor
- Sequencer: Path drop will add either Image or Movie strip
- Image window: Path drop will open image


** Drag and drop Notes:

- Dropping into another Blender window (from same application) works 
too. I've added code that passes on mousemoves and clicks to other 
windows, without activating them though. This does make using multi-window
Blender a bit friendler.

- Dropping a file path to an image, is not the same as dropping an 
Image ID... keep this in mind. Sequencer for example wants paths to 
be dropped,  textures in 3d window wants an Image ID.

- Although drop boxes could be defined via Python, I suggest they're 
part of the UI and editor design (= how we want an editor to work), and 
not default offered configurable like keymaps. 

- At the moment only one item can be dragged at a time. This is for 
several reasons.... For one, Blender doesn't have a well defined 
uniform way to define "what is selected" (files, outliner items, etc). 
Secondly there's potential conflicts on what todo when you drop mixed 
drag sets on spots. All undefined stuff... nice for later.

- Example to bypass the above: a collection of images that form a strip, 
should be represented in filewindow as a single sequence anyway. 
This then will fit well and gets handled neatly by design.

- Another option to check is to allow multiple options per drop... it 
could show the operator as a sort of menu, allowing arrow or scrollwheel 
to choose. For time being I'd prefer to try to design a singular drop 
though, just offer only one drop action per data type on given spots.

- What does work already, but a tad slow, is to use a function that 
detects an object (type) under cursor, so a drag item's option can be 
further refined (like drop object on object = parent). (disabled)


** More notes

- Added saving for Region layouts (like split points for toolbar)

- Label buttons now handle mouse over

- File list: added full path entry for drop feature.

- Filesel bugfix: wm_operator_exec() got called there and fully handled, 
while WM event code tried same. Added new OPERATOR_HANDLED flag for this. 
Maybe python needs it too?

- Cocoa: added window move event, so multi-win setups work OK (didnt save).

- Interface_handlers.c: removed win->active

- Severe area copy bug: area handlers were not set to NULL

- Filesel bugfix: next/prev folder list was not copied on area copies

** Leftover todos

- Cocoa windows seem to hang on cases still... needs check
- Cocoa 'draw overlap' swap doesn't work
- Cocoa window loses focus permanently on using Spotlight
  (for these reasons, makefile building has Carbon as default atm)

- ListView templates in UI cannot become dragged yet, needs review... 
it consists of two overlapping UI elements, preventing handling icon clicks.

- There's already Ghost library code to handle dropping from OS 
into Blender window. I've noticed this code is unfinished for Macs, but 
seems to be complete for Windows. Needs test... currently, an external 
drop event will print in console when succesfully delivered to Blender's WM.
2010-01-26 18:18:21 +00:00
9feadd443a Small fixes for particles.
* Particle collision with size was broken since raytrace optimizations by jaguarandi, now the collision code falls back to old slower method when the collision ray has a radius.
* Single goal/avoid object now works for boids.
* Some tiny improvements on collision avoidance for boids.
2010-01-23 15:45:01 +00:00
1bb6ba0605 Thread queue: use _ftime to get current time on windows, same as
pthreads-win32 test suite.
2010-01-23 14:29:56 +00:00