Commit Graph

799 Commits

Author SHA1 Message Date
Daniel Genrich
d7fecc9e96 Fluid control: WIP commit before weekend, not working is crashing on the first 3 frames 2008-07-25 18:57:16 +00:00
Maxime Curioni
0c494442d3 soc-2008-mxcurioni: merged changes to revision 15705 2008-07-23 06:02:18 +00:00
Ian Thompson
6d0e840648 Bug fix for the bug fix. Wasn't closing the clipboard before returning. Thanks b333rt for catching this. 2008-07-22 15:31:22 +00:00
Ian Thompson
20af6c61e8 Bugfix: Pasting non-text data (or trying to retrieve non-text data from the clipboard) crashed blender on Windows. 2008-07-22 14:56:02 +00:00
Daniel Genrich
9bf0bfcae7 Fix for crash with fc and quality < 5 (reported by Nudel) 2008-07-21 13:47:42 +00:00
Daniel Genrich
037f1188e6 svn merge -r 15529:15649 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-07-20 08:52:48 +00:00
Ian Thompson
f042a468fd Merged 15170:15635 from trunk (no conflicts or even merges) 2008-07-18 23:35:34 +00:00
Daniel Genrich
d50d175ba1 Win64 fix: disable 1GB restriction for 64bit windows systems, baking fluid with >4GB is verified to work on Vista64. 2008-07-14 12:24:49 +00:00
Daniel Genrich
8a19adeb58 Win64 fix: if you disable enough things in CMakeList.txt blender compiles on win64 now using cmake --> *BUT* it doesn't say anything about if it works with MEM>4GB (that's next thing to explore!) 2008-07-13 18:29:07 +00:00
Daniel Genrich
37ca3d7a39 Fix to let Ghost compile with win64 msvc compiler. 2008-07-13 17:49:12 +00:00
Maxime Curioni
8398730043 soc-2008-mxcurioni: merge with trunk - rev 15540 2008-07-12 05:02:47 +00:00
Maxime Curioni
d124d3c5cd soc-2008-mxcurioni: first part of the Freestyle Python implementation. A new Freestyle module is added. The following modules are implemented: BinaryPredicate0D, BinaryPredicate1D, Id, Interface0D, Interface1D. I added a Convert module to help in the creation of Python objects for Freestyle's data structures. I also added a missing file for guarded_alloc needed for compilation on Windows. 2008-07-12 04:02:08 +00:00
Daniel Genrich
b369936b11 Fix for several memory leaks in fluidsim (found with Valgrind). 2008-07-11 18:08:25 +00:00
Daniel Genrich
c83e32fc33 svn merge -r 15409:15529 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-07-11 14:44:20 +00:00
Brecht Van Lommel
99fdf27af9 Sync with Apricot Game Engine
=============================

* Clean up and optimizations in skinned/deformed mesh code.
* Compatibility fixes and clean up in the rasterizer.
* Changes related to GLSL shadow buffers which should have no
  effect, to keep the code in sync with apricot.
2008-07-10 12:47:20 +00:00
Daniel Genrich
3bab1eba3a Introduced quality to GUI, not yet tested (WIP commit) 2008-07-08 17:38:33 +00:00
Campbell Barton
1d822b1cda patch from res2k to stop the blender window being upscaled on vista. 2008-07-07 22:11:11 +00:00
Daniel Genrich
2ad696111e Some channel fixes for fc 2008-07-07 20:28:56 +00:00
Daniel Genrich
e409c2463d WIP commit to introduce channels 2008-07-07 14:36:33 +00:00
Daniel Genrich
d3745d70a5 Another addition of time values, yet some things to follow 2008-07-07 09:23:12 +00:00
Daniel Genrich
7bbf88d602 Added 4 gui elements to structs, another 2-3 will follow; Unsolved problems: simulation and control time desync 2008-07-06 21:55:03 +00:00
Maxime Curioni
270184e1b2 soc-2008-mxcurioni: merge-repair with trunk rev 15456 2008-07-06 19:53:32 +00:00
Daniel Genrich
b3303c98b1 Another fluid type 'control' added and introduced to elbeem, still some issues to solve but with 1 change in fluidsim.c it kind of works already (hint for me - disabled for other people so they don't complain) 2008-07-06 18:19:42 +00:00
Maxime Curioni
eda7cdc81d soc-2008-mxcurioni: merged changes to revision 15441 2008-07-05 13:30:48 +00:00
Daniel Genrich
baa1001b47 Initial GUI implementation, yet not functional 2008-07-04 15:23:21 +00:00
Daniel Genrich
2b3df6ea63 svn merge -r 14676:15409 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-07-02 21:55:25 +00:00
Brecht Van Lommel
d5f4b3620f Fix for bug #8680: GameLogic.getRandomFloat() returns very small
values on 64 bit, instead of range 0..1. Also a warning fix.
2008-06-29 20:53:17 +00:00
Campbell Barton
fdb0b003f0 patch from skejoe for gcc 4.3 compatibility 2008-06-24 14:51:02 +00:00
Jean-Luc Peurière
13d081c62c fix for ndof inconsistencies, bug #13954
patch provided by Ettore Pasquini
2008-06-14 18:57:42 +00:00
Ian Thompson
10d59e7208 Merged from trunk
svn merge -r14988:15170 https://svn.blender.org/svnroot/bf-blender/trunk/blender
2008-06-09 14:04:19 +00:00
Maxime Curioni
07001e708e soc-2008-mxcurioni: merged changes to revision 15163 2008-06-08 20:12:29 +00:00
Peter Schlaile
ca8aa8c901 == RED one (redcode) ==
This adds redcode (the file format of RED one, R3D) support to blender.
Seems to work fine with the footage I found on the web, but keep in
mind, that because of the unoptimized nature of libopenjpeg, frame
decoding isn't that fast.

It is also a rather challenging task, to make 4k-float-footage realtime :)
2008-06-02 21:35:57 +00:00
Joshua Leung
86a0afb829 Compiler warning fixes (unused vars).
Notes:
- edgehash.c still has some weirdo code causing warnings on lines 80 and 117
i.e.  if (v1<v0) v0 ^= v1 ^= v0 ^= v1;
- material.c (in pyapi) apparently doesn't seem to be making use of some functions for glossy stuff
2008-06-02 01:02:08 +00:00
Maxime Curioni
59df5a23b4 soc-2008-mxcurioni: merged changes to revision 14967 2008-05-25 18:28:52 +00:00
Benoit Bolsee
31ec51df42 Apply BGE patch 12799: Fix quad buffer stereo mode for Windows 2008-05-25 14:32:26 +00:00
Maxime Curioni
c785d7493e soc-2008-mxcurioni: merged changes to revision 14798, compilation works for rendering/ directry. Still needs to figure out how to compile on non-Unix machines. 2008-05-11 20:28:47 +00:00
Jean-Luc Peurière
360e2f091e protecting by #ifdef0 debug prints for ndof 2008-05-11 13:33:27 +00:00
Maxime Curioni
ec90691384 merge to 14689, Freestyle library changes, SConscript start 2008-05-05 16:56:44 +00:00
Daniel Genrich
4983308a38 svn merge -r 14649:14676 https://svn.blender.org/svnroot/bf-blender/trunk/blender (sorry - forgot half of the commits last time) 2008-05-04 14:14:54 +00:00
Jean-Luc Peurière
ac634f565a remove a debug print 2008-05-02 10:48:14 +00:00
Jean-Luc Peurière
273829de61 fix for #10080 copy/paste operations were
broken after first on os X
2008-05-02 10:38:50 +00:00
Daniel Genrich
27afa69c9a svn merge -r 14561:14627 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-04-30 18:30:11 +00:00
Andrea Weikert
e7c3ff6458 == mmap for win32 ==
replacement for mmap/munmap on Windows.
Implemented using CreateFileMapping/MapViewOfFile.
2008-04-29 18:41:34 +00:00
Daniel Genrich
31fffd00d3 svn merge -r 14505:14561 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-04-27 17:22:57 +00:00
Campbell Barton
6672bb16cf use detectable autorepeat for X11,
this way, holding a key will only give multiple down events, father then down,up,down,up.... etc.
This is needed for apricot so they can play games in blenders :)
2008-04-22 14:32:45 +00:00
Daniel Genrich
c9c3c41815 svn merge -r 14236:14505 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-04-21 21:30:50 +00:00
Daniel Genrich
b43f24a944 Reverting new epsilons since they had bad global impact - instead just remove the problematic normalize() call 2008-04-20 09:57:28 +00:00
Daniel Genrich
4147a5a33d Fluid: got to the real problem of the issue --> wrong float epsilon resulted in normalizing a vector to fail, reverted other change from today 2008-04-18 18:25:11 +00:00
Daniel Genrich
2318e47ae9 Fluid bugfix [#8395] [#6200]: this should solve the popping/inconsistency/flickering issue with fluids, please give feedback :) 2008-04-18 14:12:42 +00:00
Chris Want
5d0a207ecb Patch from GSR that a) fixes a whole bunch of GPL/BL license
blocks that were previously missed; and b) greatly increase my
ohloh stats!
2008-04-16 22:40:48 +00:00
Nils Thuerey
006d4d1176 This version now includes the fluid control sources, however the Blender
interface for it is still missing. Right now there is only a simple hard coded
example, that moves a single control particle with strong attraction
and velocity forces through the domain.

I added more detailed information about the control code to the wiki
http://wiki.blender.org/index.php/SoCFluidDevelDoc#The_Fluid-Control_Branch ,
together with some thoughts on how a Blender integration could be done.
2008-04-08 16:56:43 +00:00
Campbell Barton
a7ee2674db added stdio.h includes, gcc-4.3 is picky 2008-03-22 10:53:35 +00:00
Jean-Luc Peurière
126ab7974d NDOF support added to trunk from ndof branch.
The latter is now obsolete and will be soon 
removed.

Some tiny build tweaks for darwin committed
in preparation of bigger changes for proper
SDK suport both on intel and ppc
2008-03-22 01:39:11 +00:00
Jean-Luc Peurière
32b5138e64 update to trunk r14199 2008-03-21 17:00:40 +00:00
Ricki Myers
8bf91e42e7 Fix for Crash on X11. Buffer was not the correct size. So strcpy would blow-up. 2008-03-20 12:27:15 +00:00
Campbell Barton
c8813776c4 Added null check to prevent crashing on paste.
Should look into why XGetWindowProperty isnt working also.
2008-03-18 16:12:43 +00:00
Stephen Swaney
bb48a75c37 compiler warning cleanup 2008-03-15 14:41:47 +00:00
Jean-Luc Peurière
def3575575 forgot return value in C-api
spotted by JM Soler
2008-03-14 19:44:32 +00:00
Jean-Luc Peurière
a68a7f42b0 resolved conflict state with HEAD r14096
blenderbuttons still bad

not let this compile
2008-03-13 23:54:02 +00:00
Jean-Luc Peurière
526d0bec47 final (??) work on NDOF branch
it is now in a state where it can be safely
merged with trunk.

Note: basic icons were provided but I'm not
an icondesigner and working in a 16x15 grid
is way too small for me, so feel free to 
change them.
2008-03-13 15:40:24 +00:00
Campbell Barton
f0316e0ea2 oddly enough this printf was the only problem compiling blender with GCC 4.3 2008-03-12 21:38:51 +00:00
Benoit Bolsee
3444d6612a Delta Loc/Rot/Scale Ipo curve are now supporting in the BGE with the following limitations:
1. All Ipo channels are now independent. 
In Blender 2.45, all 3 Loc Ipo channels were automatically set
together. For example, having just a LocX Ipo channel was sufficient
to fix the X, Y and Z coordinates, with the Y and Z value taken
from the object original Y and Z location in Blender. The same
was true for the 3 Rot and the 3 Scale Ipo channels: the missing
channels were assumed to have constant value taken from the object
original orientation/scale in Blender.
With this patch, all Ipo channels are now independent. 
THIS WILL CREATE BACKWARD COMPATIBILITY PROBLEM if you omit to
define the 3 channels of a same type together in your Blend file:
the undefined Loc, Rot, Scale coordinates of the object will
be influenced by the parent/spawner Loc/Rot/Scale in case the
object is a child or dynamically created.

2. Delta Loc, Rot, Scale are now supported with the following
limitations:
- The delta Loc/Rot Ipo modify the object global (NOT local)
location/orientation
- The delta Scale change the object local scale
- The delta Ipo curves are relative to the object starting
Loc/Rot/Scale when the Ipo was first activated; after that, the
delta Ipo becomes global. This means that the object will return
to this initial Loc/Rot/Scale when you later restart the Ipo
curve, even if you had changed the object Loc/Rot/Scale in the
meantime. Of course this applies only to the specific Loc/Rot/Scale
coordinate that are defined in the Ipo channels as the channels
are now independent.

3. When the objects are converted from Blender to the BGE, the
delta Loc/Rot/Scale that might result from initial non-zero values
in delta Ipo Curves will be ignored. However, as soon as the
delta Ipo curve is activated, the non-zero values will be taken
into account and the object will jump to the same Loc/Rot/Scale
situation as in Blender. Note that delta Ipo curves with initial
non-zero values is bad practice; logically, a delta Ipo curver
should always start from 0.

4. If you define both a global and delta channel of the same
type (LocX and DLocX), the result will be a global channel equivalent
to the sum of the two channels (LocX+DLocX).
2008-03-12 21:33:24 +00:00
Ricki Myers
b5cdd1f2d6 Changed getClipbaord and putClipboard functions to be more ghost like
Changed getClipboard to GHOST_getClipboard and putClipboard to GHOST_putClipboard

Removed ghost calls from blender and added the calls to winlay.h and ghostwinlay.c
This cleand up casts in drawtext.c
2008-03-08 04:22:52 +00:00
Stephen Swaney
7a3c9bb5d1 Remove extraneous class qualifiers for gcc 4.2 / 4.3 on OSX.
Thanks go to jensverwiebe via IRC.
2008-03-07 01:19:36 +00:00
Nathan Letwory
3796abf092 * on win32 with msvc USE_OPENAL was defined for the entire source. Made it so that it is defined only there where needed when needed.
* dxguid is necessary only when building WITH_BF_OPENAL=1. I already added the mingw version to our SVN in lib/windows/openal/lib and now I made sure it is linked against only when needed.
2008-03-06 21:01:55 +00:00
Ricki Myers
6122ee1b21 change error in typing
GlobalLock on line 914
2008-03-04 02:43:51 +00:00
Ricki Myers
ffcbff62dd Added Copy and Paste functions to GHOST.
- Moved WIN32 code to ghost and added code for other systems.
- Added functions getClipboard(flag), and putClipboard(buffer, flag)
    -Flag is used on X11 to request selection buffer or clipboard.
    -If any other system uses flag = 1 the function returns doing nothing.
- Changed ctrl +c/v and shift+ctrl + c/v to do the same thing (use the clipboard).
- Changed the menu items (copy, paste) to use the clipboard.
2008-03-04 00:41:30 +00:00
Benoit Bolsee
44314581dc Mem leak fixed in sound buffer & parent invert node 2008-03-01 19:29:01 +00:00
Daniel Genrich
93034dc3f6 CMakeList fix for fluids 2008-02-24 22:19:17 +00:00
Daniel Genrich
19be91823b Bugfix [#8352]: My OpenMP additions seem to cause errors on MSVC, so I kick them leaving 'only' the original OpenMP additions from N_T 2008-02-24 21:24:39 +00:00
Campbell Barton
b7af3d2cbd fix for [#8257] double-freeing pointers from sculpt code
http://projects.blender.org/tracker/index.php?func=detail&aid=8257&group_id=9&atid=125

Cleaned up scene_copy, and moved some scene copying into this function that was inline in the user interface.

Also moved malloc error prints onto separate lines so you can set breakpoints.
2008-02-16 16:35:47 +00:00
Brecht Van Lommel
a8145c26f2 Bugfix: IK solving could go in infinite loop in SVD decomposition,
the matrix library used didn't have a maximum iterations check for
degenerate cases.
2008-02-06 16:45:51 +00:00
Kent Mein
fd7c729bd1 This is patch: [#8216] Make blender compile with gcc 4.3
minus one small include file that was commented out, I'm not
sure why it was commented out but I'm pretty sure its needed.
If there are still problems later we can sort it out, everything
else is pretty simple.

Kent
2008-02-04 21:52:03 +00:00
Nathan Letwory
e29dba8a5a * make sure opennl is in link list for player. I hope I got the priority for non-windows systems ok. 2008-02-02 22:17:23 +00:00
Brecht Van Lommel
baf7be9e46 Memory usage debugging: now with the -d debug option enabled, at the end
of rendering it prints memory usage for images and all memory blocks.
2008-02-01 12:14:15 +00:00
Daniel Genrich
77685023ca Initial commit of cloth modifier from branch rev 13453 2008-01-29 21:01:12 +00:00
Campbell Barton
6f4c03a091 opengl stamp wasnt working right, stamp assumed an alpha channel existed. 2008-01-20 23:52:48 +00:00
Nathan Letwory
8269b89c15 * fix linking order for l00nix 2008-01-08 17:32:38 +00:00
Nathan Letwory
15da2232f7 * tweak linking priorities - should help for GCC users
* some lib renaming
2008-01-08 09:47:44 +00:00
Chris Want
5e3cffc64a Patch to change license to GPL only, from GSR. 2008-01-07 19:13:47 +00:00
Nathan Letwory
1005d99ea5 * GHOST win32: make sure window gets repositioned to 0,0 when setting state to fullscreen (maximised, borderless) (Patch by Gladstone) 2008-01-05 13:56:40 +00:00
Diego Borghetti
c5488b943d Use XInternAtom by default.
I don't know the name of the "SGI Fast" atom, but this is only request
when blender start so i don't think that this make some "big" difference.

So just use plain X11 calls (thanks GSR for the info).
2008-01-04 23:17:08 +00:00
Diego Borghetti
350d754b16 Add support for GHOST_kWindowState* to Linux.
This add support for the different window state in Linux/X11.
Two think to take care:
	1) m_post_*
	2) motifFullScreen

1) This is only need if we want start a window in FullScreen or Maximized
state. The basic problem is that we can't set this property to a window
until it's really map, so i add a "post init" proccess for this two
special case (check the code for more info).

2) The Motif Hint isn't really a "FullScreen" mode, it's only a
"NO DECORATIONS" options, so if the window manager don't support WM-spec
this function only remove the border of the window, don't make it
FullScreen. A simple fix (hack) is check if the Window Manager support
WM-spec, in case that not, remove the decorations and move/resize the
window.

Test in different WM (gnome, kde, etc) and comment are welcome :)
2008-01-03 21:04:16 +00:00
Campbell Barton
86471f8b72 Split guardedalloc print into 2 funcs, 1 that prints on errors, another then prints the memory blocks as a python dict, minor changes to help text 2008-01-03 14:53:44 +00:00
Campbell Barton
9db2035e36 while trying to debug memory leaks, extended MEM_printmemlist to print a python dict and some lines at the end to format it in a useful way when run as a python script. 2008-01-01 16:14:08 +00:00
Nathan Letwory
881fd0cb3a * make sure desktop is redrawn when coming out of GHOST_kWindowStateFullScreen 2008-01-01 14:04:09 +00:00
Nathan Letwory
a11c4cd041 * silence more warnings 2008-01-01 11:14:25 +00:00
Nathan Letwory
7052576344 * some cleanup of warnings 2008-01-01 10:45:48 +00:00
Nathan Letwory
af4678d421 * kill a warning 2008-01-01 09:28:29 +00:00
Diego Borghetti
2d3bbe480c I got confused screenToClient with clientToScreen.
Sorry, i get the wrong value because a print the
wrong variable :/
2007-12-31 14:28:10 +00:00
Diego Borghetti
59751edadd Fix bad argument order to XTranslateCoordinates.
Take me a long time catch this :/ and i really don't know how this
work before, because clientToScreen always return bad values.
2007-12-31 06:19:04 +00:00
Nathan Letwory
8814476714 * make sure decoration is there when toggling away from GHOST_kWindowStateFullScreen to GHOST_kWindowStateNormal (win32) 2007-12-30 23:58:59 +00:00
Nathan Letwory
0f1e7db0b7 * also distinguish between maximised and fullscreen on GHOST win32.
* clean up some warnings (unused vars).
2007-12-30 23:09:33 +00:00
Nathan Letwory
1fec64a402 * revert my change to windowmanager move/size handling.
* made win32 ghost getClientBounds so that it returns area compatible with osx getClientBounds
  - if a window is non-fullscreen, substract decoration, since that'll be added by GHOST_WindowWin32()
* use SetWindowLongPtr/GetWindowLongPtr (instead of SetWindowLong) as it is compatible with 64bit windows.
2007-12-30 22:52:00 +00:00
Nathan Letwory
93058ac3b3 * handle WM_MOVE on win32 in GHOST
* change window move/size handling so that getWindowBounds gets x,y for window and getClientBounds gets w,h
2007-12-30 17:13:36 +00:00
Ton Roosendaal
1039bc26fb Windowmanager, ghost side:
- Added GHOST_kEventWindowMove event, for sending event that the
  window has moved
- Fixed GHOST_GetClientBounds() for OSX (get window rect)

Todos:
- add same event for X11 and Windows
- solve why ghost doesn't call client event-proc while scaling window
  (at least, not in osx)
2007-12-30 13:30:31 +00:00
Campbell Barton
3319ecdcd1 include <ieeefp.h> on solaris and remove incorrect macro so finite() is now correct 2007-12-14 15:36:11 +00:00
Campbell Barton
6d6f5bbc1a fix for own warning 2007-12-13 12:50:36 +00:00
Campbell Barton
ac09c432e0 finite isnt defined on solaris 10, check and define - does the same as Win32 2007-12-13 09:23:06 +00:00
Brecht Van Lommel
37d11907d0 Bugfix for IK locked axes with an initial rotation, gave wrong
starting angle in some cases, but wasn't always noticeable due
to the IK solver changing it anyway.

Bugfix for hidden bones in pose mode still being active, and
preventing other bones from becoming active.
2007-12-06 19:44:17 +00:00
Brecht Van Lommel
4813af326b Fix for bug #7851: crash with LSCM unwrap, due to opennl refactor.
Fix for bug #7856: crash hitting "neg" button for particle vertex groups.
2007-12-01 12:08:46 +00:00
Kent Mein
8cea2a9582 Solaris had a problem finding finite so had to conditionally
#include <ieeefp.h>

Kent
2007-11-29 16:42:36 +00:00
Daniel Genrich
63ef1dfb02 Bugfix: Wrong 32/64bit check was used which resulted in a 2GB limit for some 64bit architecture 2007-11-25 17:10:11 +00:00
Nils Thuerey
7dc1250865 - forgot to include a file in the last commit 2007-11-24 17:10:48 +00:00
Nils Thuerey
818bfcca63 - Added OpenMP code, it is enabled by defining PARALLEL=1 for the elbeem
compilation.  Currently, it is not yet active by default, but 
  Genscher wanted to do some tests. 
  It can be used to distribute the computation load onto multiple shared-
  memory CPUs by splitting the domain along the y-axis (assuming a 
  gravity force along z). However, there is no load balancing: so
  if there's fluid only in one of the y-axis halves you will not get 
  a speedup for 2 CPUs.  

- Added a fix for the memory allocation bugs #7120 and #6775. In 
  solver_init.cpp there are now several variables max___MemChunk 
  (line 692+), that set upper limits for various systems. The same
  problem existed for mac & linux, but the limit is higher, so 
  it probably went by undetected. The windows limit is currently 1GB,
  if the strange 700MB limit problems mentioned in the bug regports the 
  bugs persist, this could be further reduced. For 64bit compilations 
  this problem shouldn't exist anyway.
  What's still missing is a display of how much the resolution was 
  reduced to fit into memory...

- And some minor solver code cleanup.
2007-11-21 22:12:16 +00:00
Ton Roosendaal
ec686f581c Bugfix 7733
New mouse scrollwheels allowing higher precision didn't work in Windows.
Code was assuming only value of +120 or -120 were returned.
2007-11-13 18:01:01 +00:00
Brecht Van Lommel
1b9d661eca Mesh Deform Modifier
====================

The MeshDeform modifier can deform a mesh with another 'cage' mesh.
It is similar to a lattice modifier, but instead of being restricted
to the regular grid layout of a lattice, the cage mesh can be modeled
to fit the mesh better.

http://www.blender.org/development/current-projects/changes-since-244/modifiers/

Implementation Notes:
- OpenNL has been refactored a bit to allow least squares matrices to
  be built without passing the matrix row by row, but instead with
  random access. MDef doesn't need this actually, but it's using this
  version of OpenNL so I'm just committing it now.
- Mean value weights for polygons have been added to arithb.c, a type
  of barycentric coordinates for polygons with >= 3 vertices. This
  might be useful for other parts of blender too.
2007-11-04 22:00:24 +00:00
Brecht Van Lommel
c5d2be76d7 IK
==

Solving is now done independent of scale, by scaling the chain to have a
size of about 1.0. This solves some issues with small or big chains, and
also makes the IK stretch setting independent of scale. The latter breaks
backwards compatibility somewhat, but is an improvement over what it did
before.
2007-11-01 12:40:46 +00:00
Campbell Barton
7718b3d642 render stamp drawing is now done everywhere - (not just when saving
images)
separated stamp metadata and stamp draw functions.
2007-10-28 22:27:07 +00:00
Brecht Van Lommel
30be716fc8 Pole Target for IK
==================

This adds an extra target to the IK solver constraint to define the
roll of the IK chain.

http://www.blender.org/development/current-projects/changes-since-244/inverse-kinematics/

Also fixes a crashes using ctrl+I to set an IK constraint on a bone
due to the recent constraints refactor.
2007-10-24 14:58:31 +00:00
Campbell Barton
14bbff61fe set the alpha value of text, so stamps are always visible in RGBA
images, (reported by basse)
2007-10-24 11:16:48 +00:00
Campbell Barton
46deddcc62 Image Stamping patch by Diego (and peach request)- stamps image info into metadata and optionally
draws into the
frame.

This patch includes some changes I made...   
* use blenders bitmap fonts (rather then own fonts)
* select font size
* user interface layout changes
* Marker as another image stamp option

Also added some new API calls   
BMF_GetFontHeight(font);
BMF_DrawStringBuf(...);  - so we can draw text into an imbuf's image buffer.
get_frame_marker(frame) - get the last marker from the frame.
IMB_rectfill_area(...) - fill in an image buffer with a rectangle area of color.

TODO - draw stamp info in 3d view, at the moment it just displays in the animation.
2007-10-20 16:17:27 +00:00
Joshua Leung
672a66905b Patch/Bugfix #7334 by 'gsr b3d:
Some more compiler warning fixes. Some of these seem to be specific to GCC 4.1
2007-09-17 06:11:06 +00:00
Stephen Swaney
59fe967476 more gcc 4.1.x warning cleanup:
applied MT_QueryAssert_patch.diff part of
patch [#6994] Fixing warnings: conversion from string constant to char *

Submitted by Renato Perini (mjordan).
Thanks, Renato!
2007-09-12 01:56:50 +00:00
Stephen Swaney
d61a7d7b33 apply first part of patch #6994 - elbeem_warning_patch.diff
Fixing warnings: conversion from string constant to char *
This should make gcc 4.1.x a little happier.
2007-09-12 01:01:15 +00:00
Kent Mein
4ddec269c2 This does nothing to fix the irix stuff but gets rid of a couple of simple
warnings that showup on irix.

Kent
2007-09-11 04:05:44 +00:00
Diego Borghetti
bd7ebb0abc BugFix #7303
More fix to solaris build, patch by Vladimar Marek
2007-09-06 03:18:07 +00:00
Peter Schlaile
b1c30dff88 == Sequencer ==
Bugfix:

The mem cache limitor didn't take mmap-allocated memory into account,
resulting in effectively disabling it, since all imbuf-data is
currently allocated using mmap.
2007-09-02 19:32:22 +00:00
Kent Mein
6e91048bff This covers bugs # 7130 7131 7132 7133
All small patches submitted by Vladimar Marek (neuron)

Basically fixes up some headers for Solaris's compiler.

Kent
2007-08-31 15:47:45 +00:00
Kent Mein
4e2143f639 This commit fixes up a bunch of svn properties to hopefully make things a little nicer for everyone.
Patch provied by gsrb3d

bug tracker #7061

Kent
2007-08-28 10:07:08 +00:00
Matt Ebb
21c567854a Patch #6770 by James C (sheep)
Tooltip getStringSize and getBoundingBox correction

Not really any user-visible changes here, but a nice clean-up of 
internal font drawing functions, in this case used in tooltips.

Thanks!
2007-08-20 01:02:12 +00:00
Jean-Luc Peurière
7f6bb8d8cc sculpt mode ndof transforms.
please test, especially with multires conditions
2007-08-16 22:00:29 +00:00
Jean-Luc Peurière
42b629a69b add the option of not installing to scons build system
settting WITHOUT_BF_INSTALL='true' will disable
 the copying to INSTALL_DIR

you can use that in your user-config.py or commandline

slipping in minor cleaning for Os X builds
2007-08-14 20:55:59 +00:00
Ken Hughes
37b5472dd2 Tools
-----
Bugfixes for #6816 and #6988: Under Windows, Blender would crash if boolean
operations were done on objects which resulted in an empty mesh.  Problem was
"iterators" created for ConvertCSGDescriptorsToDerivedMesh() tried to access
invalid memory.
2007-08-03 21:34:13 +00:00
Jean-Luc Peurière
1609fd61bc windows ndof support
added by Ettore Pasquini
2007-08-02 20:45:55 +00:00
Jean-Luc Peurière
7965e64e98 linux plugin support for ndof
by Ettore Pasquini
2007-08-02 20:37:30 +00:00
Matt Ebb
df81fa977e Tweak to allow building NDOFManager with old Makefiles 2007-07-31 01:45:19 +00:00
Jean-Luc Peurière
bfa77f611f more work on the ndof system.
turntable code should work reasonabilly well now.
fly code need works but is no more insane on Os X.
transform object is not present here.

if you find the movements a bit slow, you can speed
it in the preferences up to 2x in the view & controls
panel.

button1 (left) of the device let you switch between
the 3 modes. button2 let you switch between 
unconstrained and dominant mode.

the plugin must be named 3DxNdofBlender.plug
and be placed in a folder named plugins in same
folder as executable

check no scaling is done in the plugin

please check it works ok on 3 platforms
2007-07-29 18:03:36 +00:00
Brecht Van Lommel
eb8ee6f568 Updates to opennl for mesh laplacian matrix building, to make matrix
building with random access work together with variable locking.
2007-07-28 14:39:30 +00:00
Jean-Luc Peurière
603da178b9 commiting fixes from Ettore for building on linux & win 32 2007-07-15 14:30:09 +00:00
Ken Hughes
178dc73084 Tools
-----
More improvements to boolean tools.  The main change (although very little in
code) is changing fuzzy comparisons of floating point values.  For testing, a
new define is added in intern/boolop/intern/BOP_MathUtils.h called
VAR_EPSILON, which enables better comparisons.  This is turned on by default;
undefining it will revert to using the previous comparisons.  The downside of
these new comparisons is a loss in speed, but the resulting meshes are more
likely to be manifold (although still not always).

The other changes include speed improvements based on profiling results and
fixes for the improper creation of triangular faces with only two vertices.
2007-07-12 15:24:08 +00:00
Jean-Luc Peurière
1104a39f11 forgot a needed include in the patch 2007-07-10 21:04:32 +00:00
Jean-Luc Peurière
198513c49f committing Ettore Pasquini 6DOF patch for linux
As previously the plugin itself is available
on his site : 
http://cubelogic.org/blender/3dcnxplug-lin.c
or on mine (soon) :
http://jlp.nerim.net/dev/6dof/

Please let me know if any problem, i cannot
test.

We have now patches for our 3 main platforms
features are still minimal, but will follow
soon.
2007-07-10 19:32:30 +00:00
Andrea Weikert
fced2b2471 == MSVC 7.1 project files ==
- removed unused project keymaker
2007-07-04 19:29:59 +00:00
Ken Hughes
676043c314 Tools:
------
Bugfix #6847: Previous fix for "spikes" when using booleans caused creation
of faces with only two unique vertices ("eekadoodles").  This patch cleans up
the test for triangles with near-colinear vertices so PHANTOM faces can be
used again, and also adds a hack for now which removes any eekadoodle faces.

I haven't figured out yet exactly how the faces are being created; if I can
do so and fix it the hack will be removed.
2007-06-30 21:32:24 +00:00
Jean-Luc Peurière
a75f431cd3 committing Ettore Pasquini MS windows support
for NDOF devices

I applied the patch but cant test so please
let me know if any problem.

the plugin itself can be found either 
on Ettore site http://cubelogic/blender/
or on my site http://jlp.nerim.net/dev/6dof/

on my site there is also the source of 
mac plugin
2007-06-28 22:37:38 +00:00
Kent Mein
dcc8022095 Just cleaning up dirs no longer in use.
Kent
2007-06-28 12:24:00 +00:00
Kent Mein
7e85f4df5c a var was declared twice in the same function, just removing the
second declaration.

Kent
2007-06-26 18:15:45 +00:00
Kent Mein
9749bd0379 This is for bug #6883 Add usefull error message to GL failure...
https://projects.blender.org/tracker/index.php?func=detail&aid=6883&group_id=9&atid=125

I just cut and paste the printf provided in the bug report.  Its usefull info
at this point.

Kent
2007-06-26 15:15:41 +00:00
Ken Hughes
133c7fd7c7 Tools
-----
Bugfix #6847: Boolean code was marking some valid faces as "PHANTOM" when the
three vertices were nearly co-linear (according to its tests).  This
introduced holes into one or both meshes which could then result in either
holes in the final results and/or spurrious faces which should have been
split.

This commit removes the code in question until either an alternative test is
coded.
2007-06-21 21:58:04 +00:00
Ken Hughes
34341ce3f1 Fix for very old bug in Boolean code. BSP trees were calculated incorrectly,
which caused faces of convex objects to be classified wrongly.  Also removed
some dead code.  For convex objects, the BSP trees would also be literally
orders of magnitude larger than they were supposed to be (one test with a
5000 face torus reduced the BSP tree size from 5.96 million nodes to just 72.1
thousand).
2007-06-14 14:42:35 +00:00
Jean-Luc Peurière
edc6512ba6 first workable version on Os X
work only in non camera mode in 3D view

need the external plug-in to be compiled separately

line 894 of ghostwinlay.c must be replaced with
values adapted at your system

see mailing list for features planned and how
to use
2007-06-12 20:01:28 +00:00
Jean-Luc Peurière
6cc1269d97 merge from trunk up to rev [10858]
WIP in the NDOF part, dont work yet
2007-06-02 21:42:54 +00:00
Jean-Luc Peurière
6e716521f8 **blush**
I never committed the depth buffer changes from 16 to 32

thanks to meestaplu for spotting it
2007-05-30 21:34:21 +00:00
Jean-Luc Peurière
16340dfe12 adding the initial patch updated to 2.44 in ndof branch
notes : 
it compiles but is non functional
lacks the platform specific changes in ghost ( i cant test windows)
lacks the code for plug-in.

the platform specific code will be added when we sync with Ettore work
the plug-in itself cannot be added here
2007-05-29 04:34:09 +00:00
Campbell Barton
3030e93a5b Added 48x48 blender icon for X11 2007-05-28 16:10:40 +00:00
Campbell Barton
a6113b0059 Made X11 use _NET_WM_STATE_MAXIMIZED_HORZ and _NET_WM_STATE_MAXIMIZED_VERT when opening (if -p isnt given as an arg)
gsr and myself both wrote a patch for this, using gsr's.

import_obj - another error in splitting fixed.
2007-04-15 05:01:34 +00:00
Campbell Barton
afdd54fa37 moved source and text to american spelling
* colour -> color
* centre -> center
* normalise -> normalize
* modelling -> modeling
2007-04-04 13:18:41 +00:00
Nathan Letwory
0326ec77a9 === SCons ===
Bugfix #6168

* instead of compiling mallocn manually for makesdna, use the bf_guardedalloc lib
 that was already created looooooong time ago.
2007-03-27 10:50:03 +00:00
Robert Holcomb
808a5fc05a Scons build system. MSVC 7.1 in a moment. 2007-03-24 18:41:54 +00:00
Stephen Swaney
03edb15afd cleanup compiler warnings for
missing virtual destructors
  out of order initializers
2007-03-20 04:19:30 +00:00
Andrea Weikert
d1b17f8c30 ==== MSVC 7.1 project files ====
- fix for 3DPlugin compile
- cleanup of bullet path
- removed PHY_ODE project from 3D plugin too, not used anymore

Now all configurations should build again, let me know of any problems!

Not been able to test if the 3DPlugin is actually working,is job for another day ;)
Also the 3DPlugin is compiled without OpenExr, this needs to be looked into once too.
2007-03-03 11:28:15 +00:00
Peter Schlaile
ebbd85de25 == Sequencer ==
This fixes Bug #5299 (patch by Vladimir Marek (neuron) ), silencing
Sun CC, which is very picky in it's name mangling behaviour.
2007-01-18 18:22:06 +00:00
Andrea Weikert
663cce10c7 ==== GHOST Win32 ====
- fixed WinTab locking positioning into absolute mode
- hopefully fixes [ #5586 ] Cursor control
Note: Setting the extent of the digitizing context causes Application to override
system settings for pen/mouse control. Removing this fixed the issue.
2007-01-07 18:43:27 +00:00
Erwin Coumans
0e094ffcab Attempt to fix mouse-look in game engine on OS X: setCursorPosition. Thanks Malachy for the fix, it seem to work on MacOS Intel. 2006-12-24 21:21:49 +00:00
Jacques Beuarain
442c959235 CMake: Fix reqular expression message on Windows from Apple framework detection by using common OPENAL_INC variable instead of CMake detection var OPENAL_INCLUDE_DIR 2006-12-13 12:27:11 +00:00
Chris Want
a119216a53 Crude test so that if openal comes from apple framework stuff, use the
headers <al.h>, <alc.h>, and <alut.h> instead of <AL/al.h>, <AL/alc.h>,
and <AL/alut.h>

(cmake generated makefiles now work out of the box on my intel mac)
2006-12-13 02:54:59 +00:00
Chris Want
d80f673f5d Small typo (-DNO_SOUND instead of -DNOSOUND). 2006-12-13 02:11:11 +00:00
Roland Hess
c28e28ec63 Little commit to roll back a previous one. Previous commit caused nVidia
on OSX to have slow selection and mouse response.

Code from the previous commit is still there, but the #define that
triggers it has been commented out.
2006-12-07 16:04:12 +00:00
Erwin Coumans
438d114f1a - GEadded VSYNC for Mac OS X swapbuffers (can be easily undone by commenting out the #define WAIT_FOR_VSYNC 1
- GEdon't crash when attempting to add constraint on game objects without physics controller
- GEimproved some physics -> graphics synchronization issues
- small experiment with game engine timing to smooth framerate/reduce tearing
2006-12-02 22:25:47 +00:00
Nils Thuerey
f1b74d0098 - fixed particle generation bug tracked down by mpan3&gimble,
- removed warnings in attributes.cpp,
- and a first Klockwork bug fix: removed NULL returns in ntl_ray.h,
  several other issues mentioned in the Klockwork report
  are either hard to fix or not really errors...
2006-11-29 19:28:07 +00:00
Chris Want
6a53c0ae6a =Scons=
I should have talked to joeedh before committing last time...

This is an another attempt to fix the mingw long commandline
issue on all versions of windows (I didn't realize that the
2k in Win2k refered to the length of the commandline).

In this version, I break libsrc.a up so that no archive has
more than 30 object files (adjustable with one line of
code). I also fudge the priority numbers to ensure correct
linking. This was done in a "guess the number" way until
it worked, so please test and please check for correctness.
2006-11-28 21:12:31 +00:00
Ton Roosendaal
6d540b6333 More debug goodies:
WINDOWS CRASH EMULATION!

If you use the -d (debug) argument for starting blender, it will now:

- set all freed memory to 0xFFFFFFFF
- set all malloced memory to 0xFFFFFFFF

The first option will give nice crashers when you read from freed memory.
The second option is for OSX especially, it has the nasty habit to give
zeroed mallocs.
2006-11-27 13:59:55 +00:00
Ton Roosendaal
627261da50 Patch by Vladimír Marek (neuron), part of bugfix #5298
Solaris CC compiler choked on wrong .h prototypes for functions using
'const' arguments.
2006-11-25 16:35:56 +00:00
Jacques Beuarain
24f4440d05 CMake lists initial submission. Documentationand further verification for different platforms will follow soon. This was just tested against current CVS on MSVC 2005 with Verse, QuickTime, OpenEXR, Player all on. 2006-11-17 02:27:12 +00:00
Andrea Weikert
32d49a8dae ==== scons ====
- cleanup for wintab library headers
- properly define BF_WINTAB and BF_WINTAB_INC
2006-11-13 06:40:08 +00:00
Andrea Weikert
22d97b2e34 - compile fix for msvc 6 which doesn't declare M_PI at all it seems. 2006-11-12 17:23:26 +00:00
Andrea Weikert
7abf00bbce compile fix for MSVC compiler.
- math.h doesn't include #define M_PI by default (_USE_MATH_DEFINES needs to be defined)
2006-11-12 16:21:16 +00:00
Matt Ebb
20cf5deb46 Some clearer comments on the meaning of the tabletdata struct's variables 2006-11-12 09:52:03 +00:00
Matt Ebb
6f474ccaca Added tablet tilt data collection for GHOST/Win32 - thanks elubie for doing the hard work getting it all set up first! The tilt values still aren't being used anywhere in Blender (yet? :) but at least now the data is there reliably and consistently across platforms. 2006-11-12 09:50:44 +00:00
Brecht Van Lommel
8857f4ce86 Patch #5195 by Anders Gudmundson.
On X11, make the table device name check case insensitive.
2006-11-11 22:47:41 +00:00
Andrea Weikert
708e327b10 ==== MSVC 7 project files ====
boolop and bsplib cleanup
2006-11-09 20:55:13 +00:00
Jens Ole Wund
c1b05cace9 msvc6 sweeping the lints out off the corners 2006-11-09 13:25:57 +00:00
Brecht Van Lommel
f350836342 While I'm breaking build systems anyway, also removed the two img modules,
they are not used anymore in the new image paint code.
2006-11-08 20:33:28 +00:00
Brecht Van Lommel
011f531359 Modified the way booleans preserve face data, and cleaned up some
duplicate code. Also removed redundant files from the bsp module,
that where replaced by boolop last year, no sense in updating them
for these changes. On the user level things should still work the
same, this is only preparation work.

Not counting the removed files, -1501 lines of code, not too bad :)
2006-11-08 20:14:04 +00:00
Jens Ole Wund
eeaf053853 msvc6 still compiles nicely 2006-11-07 10:00:33 +00:00
Nathan Letwory
f0cb272d26 change include path to wintab headers to be searched from SConstruct (and then relatively) 2006-11-07 06:44:44 +00:00
Kent Mein
ba63fdeb41 Fix for makefiles so it can find wintab headers in the libdir.
Kent
2006-11-06 16:58:28 +00:00
Andrea Weikert
6feb2cc4f6 Extended GHOST to support WinTab, in order to better support graphic tablets on Windows
Basic support for normal pressure sensitivity is implemented, adding other features like tilt etc. shouldn't be too difficult, now that basic support is there.
Tested with WACOM Volito on Windows XP using the pressure sensitivity with texture paint to change size of the brush .

Added additional include dir to scons, and MSVC 7 project files - other build systems might have to be updated.
2006-11-05 21:55:28 +00:00
Nils Thuerey
8b77d4241b - some more minor fixes, this time for MSVC 2006-11-05 21:51:27 +00:00
Nils Thuerey
59ef29a073 - another solaris math function fix 2006-11-05 18:11:04 +00:00
Nils Thuerey
c8411cfeab - a minor fix for solaris (problems with round&pow) 2006-11-05 17:28:23 +00:00
Nils Thuerey
3bea663ffa - bugfixes
#4742 exported normals are now correct
  #4821 & 4956 for complex movements in/outflows can now also
  use the animated mesh option
- new features
  * isosurface subdivision: directly
    creates a finer surface mesh from the simulation data.
    this increases simulation time and harddisk usage, though, so
    be careful - usually values of 2-4 should be enough.
  * fluidsim particles: extended model for particle
    simulation and generation. When isosurface subdivision is enabled,
    the particles are now included in the surface generation,
    giving a better impression of a single connected surface.
    Note - the particles are only included in the final surface
    mesh, so the preview surface shows none of the particle
    effects.
  * particle loading: different types of particles can now be selected for
    display: drops, floats and tracers. This is a bit obsolete
    due to the extensions mentioned above, but might still be useful.
    Floats are just particles floating on the fluid surface, could
    be used for e.g. foam.
  * moving objects impact factor: this is another tweaking option,
    as the handling of moving objects is still not conserving
    mass. setting this to zero simply deletes the fluid, 1 is
    the default, while larger values cause a stronger
    impact. For tweaking the simulation: if fluid disappears, try
    increasing this value, and if too much is appearing reduce it.
    You can even use negative values for some strange results :)
- more code cleanup, e.g. removed config file writing in fluidsim.c,
  added additional safety checks for particles & fluidsim domains (these
  currently dont work together). I also removed the "build particles"
  debug message in effects.c (seemed to be unnecessary?).

Some more info on the new features:
Here are two test animations showing the difference between
using the particle generation with isosurface subdivision.
This is how it would look with the old solver version:
http://www10.informatik.uni-erlangen.de/~sinithue/blender/fluid6_fl6manc4_1noparts.mpg
and this with the new one:
http://www10.informatik.uni-erlangen.de/~sinithue/blender/fluid6_fl6manc4_2wparts.mpg
Both simulations use a resolution of 64, however, the version with particles
takes significantly longer (almost twice as long).
The .blend file for a similar setup can be found here:
http://www10.informatik.uni-erlangen.de/~sinithue/blender/fluid6_testmanc4.blend
(Minor Tips for this file: dont enable subdivions of characters until rendering,
thus leave off for simulation, as it uses the rendering settings! For making
nice pictures switch on subdivion, and OSA.)

And here's a picture of old vs. new (for webpage or so):
http://www10.informatik.uni-erlangen.de/~sinithue/blender/fluid6_manc4compare.png
2006-11-05 16:30:29 +00:00
Ton Roosendaal
fde6fc6dd4 Bugfix #4540
Boolean crashed when using vertexcolors or UVs. The fix is disputable... it
just always returns a valid char * for "face vertex material", whatever
that may be... this fix seems not to break anything.

Also moved the report to Todo tracker, with message:

-> Need new Boolean maintainer!
2006-11-04 13:47:11 +00:00
Nathan Letwory
cdd4748692 * add freebsd3 to X list 2006-11-02 05:17:46 +00:00
Kent Mein
4657db2a38 More bugs found thanks to klockwork
mallocn.c  check malloced memory before using it.
ssp_blas2.c free memory that wasn't but should have been.

Kent
2006-10-27 15:00:31 +00:00
Kent Mein
5fdd9bcb9e Another klockwork patch.
Check to make sure BOP_newEmptyMesh returns a mesh before trying to use it.

Kent
2006-10-25 19:47:21 +00:00
Kent Mein
00b2d4f052 Another bug found by klockwork.com
This one is just a simple test to make sure a malloc works before using
the variable allocated.

Kent
2006-10-24 16:42:12 +00:00
Kent Mein
0360be49f5 This patch is the first of many to follow that deals with various
problems reported by klockwork.com who was very nice and has offered to
provide free source code analisys for us.

This one deals with freeing memory for an object when there is an
error.  (The function allocated memory intending to return it but
then ran into problems, and was forgetting to free it before it returned
NULL)

Kent
2006-10-24 15:17:39 +00:00
Nathan Letwory
88446eeca4 Patch 5105 by Joshua Leung (Aligorith), slightly modified by me
* Add WITH_BF_YAFRAY, which per default is 'true', so no visible changes for developers (and users).

Set WITH_BF_YAFRAY to 'false', and you'll save some major compile time :) Also handy if you're strapped for memory and compilation fails on yafray compilation due
 to this.

- this commit also has a few whitespace changes and
- made BF_NO_ELBEEM a proper BoolOption. This will be renamed to WITH_BF_ELBEEM in the near future...
2006-10-18 05:45:47 +00:00
Andrea Weikert
857f7a66fa ==== MSVC 7 project files ===
maintenance work:
- added missing files in blenkernel
- updated Bullet in extern
- Python: SurfNurb.c
- removed compile and dependency of PHY_Ode
- made blenderplayer compile again (had to add pthreads lib)
2006-09-17 17:55:57 +00:00
Jens Ole Wund
b71a05227a adding include pathes 2006-09-15 19:21:11 +00:00
Ken Hughes
67ef2c05d8 Scons update for today's earlier boolean commit. 2006-09-08 02:36:44 +00:00
Kent Mein
4b5badf9cb Updated boolop Makefile so that it can find various headers it needs now.
Kent
2006-09-07 18:09:55 +00:00
Ken Hughes
d731945f01 ===Tools===
Experimental boolean tool optimization: for very large meshes a significant
amount of time is spend performing linear searches of edges.  This patch
implements a "hash" table (really more of a bucket table) to narrow the
search space.

If someone should need to disable this, just remove the "#define HASH" at
the beginning of BOP_Mesh.h
2006-09-07 17:22:57 +00:00
Brecht Van Lommel
e7d6537f1c Added support for threadsafe MEM_mallocN/MEM_freeN in the guardedalloc
module itself, replacing the special MEM_mallocT/MEM_freeT functions.
Mutex locking is only enabled when threads are running.

There was no good reason to have these separate, it just led to ugly
hacks when calling functions with non-threadsafe malloc from threads.
2006-09-06 19:13:23 +00:00
Nils Thuerey
f21f3cb290 - modified patch #4681, for scons compiling
of the fluidsim can now be disabled with the
	flag: BF_NO_ELBEEM='true', e.g. for irix systems.
	(The number of ifdefs from the original
	patch was reduced, and the defines are now
	only necessary when elbeem is switched off.)
- particle generation option is available again
2006-08-22 11:18:00 +00:00
Nils Thuerey
b6257305c9 elbeem update:
- slightly improved and optimized
  handling of moving obstacles
- cleanup of debug messages and minor fixes
2006-08-22 10:45:19 +00:00
Kent Mein
e4a9ad6d62 I Added a dummy Error Handler temporarly while it trys to
open the tablet and friends up....

Basically the issue this fixes is this.  On my linux machine at
work someone setup a generic xorg.conf file that defines all
kinds of devices (a tablet and other stuff) which are not on my
machine.  So blender was exiting when it tried to open the tablet
and failed.  Now it doesn't.... :)

I also did some very minor reformatting... (replaced parts that had spaces
with tabs)

Kent
2006-08-04 15:08:36 +00:00
Matt Ebb
8899116fc2 * Added tablet tilt data collection for X11 2006-08-03 16:10:16 +00:00
Matt Ebb
c85de34c26 * Tablet Pressure support in GHOST
This is 'ported' from Nicholas Bishop's sculpting GSoC tree. I'm bringing it
over now so a) it can be there for when lukep does his GHOST refactor b) it's
something that GHOST should have anyway, particularly now there's interest in
painting tools and c) it's missing support in Windows, so hopefully now some
enterprising Windows coder can add that more easily in the main bf tree.

Right now X11 and Mac OS X are supported. I added and can maintain the Mac OS X
part, but I'm not familiar with the Xinput stuff, which Nicholas wrote. Both
X11 and Mac are collecting active device and pressure, and Mac is also
collecting x and y tilt data. Up to coders how they want to use this info! :)

Although the data's coming in, I haven't actually made this do anything. I
thought it best to leave it to brecht to figure out what he wants to do with the
painting stuff, and I wonder what other interesting uses there could be for it
(proportional edit?). I'll write implementation details in a separate mail to
the committers list.
2006-08-03 12:23:00 +00:00
Kent Mein
6c89868386 Adds scons support for SunOS...
(I have one small problem with linking python's static library but
other than that this should work)

Kent
2006-08-03 02:46:37 +00:00
Ton Roosendaal
56322ca051 Minor fix: default name for dupli-alloc was mixed up, using mapalloc for
malloc, and vice versa.
2006-07-22 17:04:18 +00:00
Nils Thuerey
10215a8ff4 - fixed bug #4517:
there was a wrong divisor for memory estimate
2006-07-07 14:17:08 +00:00
Erwin Coumans
8e9acb4f96 uninitialized var 2006-07-06 01:16:30 +00:00
Ed Halley
f12b19cc2d Needed to add the conditional commands to ranlib for the darwin platforms.
Matches the example of the other intern/*/Makefile libraries.
2006-07-06 00:05:33 +00:00
Ton Roosendaal
64ff9ae4a8 Mac intel commit
- patch from Douglas with endian fixes
- Makefile adds static libiconv.a from lib/
- this version will use OpenEXR libs from lib/ too, and is latest release
  with threading support
- openAL is missing, added it as default to not include it
2006-07-03 19:50:53 +00:00
Brecht Van Lommel
51f0717a78 Fix for bug #4425:
- Assert was causing blender to crash on non-manifold meshes with a decimation
  modifier. Even in a debug build, there's no reason to crash blender then,
  because the modifier handles this ok and displays a warning message.

  Part of the problem is NDEBUG not being set in scons/linux for release builds,
  but always enabled for makefiles even in debug builds.
2006-07-01 17:51:48 +00:00
Joseph Gilbert
3851ea07d4 *msvc project update
- commiting fixes for vc8
- updating projects for added files
2006-06-23 15:25:57 +00:00
Jean-Luc Peurière
5eb20cb91a fix of the previous security patch for file opening on Os X.
nobody noticed it was broken for 3 month ;)
2006-06-20 20:24:07 +00:00
Nils Thuerey
c63efa6243 - minor fix for moving object boundary conditions
and to prevent surface flickering near obstacle sides
2006-06-20 11:32:56 +00:00
Matt Ebb
3e272f6797 * Patch from Ed Halley:
"Swaps left and right bytes of small cursors for Carbon on Intel."

This fixes garbled cursors on Intel Mac builds. Tested on my G4 too and it works fine.
2006-06-19 04:04:31 +00:00
Nils Thuerey
b0a22902ec - another minor solver update to fix
obstacle fluid surface generation bug
- also contains some code clean ups
  and safer initializations
2006-06-12 12:55:51 +00:00
Nils Thuerey
a0d94e6727 - added fix for fluidsim copying bug
(surface mesh structs werent handled correctly,
  copying is now done in a new function)
2006-06-12 06:18:57 +00:00
Stephen Swaney
43e776690f removed extra qualifier on class memeber bool BOP_Mesh::isClosedMesh(); 2006-06-10 17:50:52 +00:00
Ken Hughes
6d2adf66e5 ===Tools===
Another boolean bugfix: don't add faces which contain only two vertices
(actually, triangles with two identical vertices).
2006-06-10 16:00:38 +00:00
Ken Hughes
7fcc5800ae ===Tools===
Adding back some code to booleans that got lost in the Orange merge.

I've also added back the code which checked that meshes were solid
("manifolds") but have the actual check in
intern/boolop/intern/BOP_Interface.cpp, since from my testing it was
not causing crashes or hangs.  It *can* give odd results depending on
what you're trying to intersect, but seems useful.  Additionally, since
existing bugs in the current code can create non-solid/non-manifold
meshes, seems hypocritical to create a mesh that can't later be used in
another boolean operation.
2006-06-10 15:47:19 +00:00
Ken Hughes
5c95302043 ===Tools===
Previous patch for "problems with STL iterators/vectors that only show up under
Visual Studio 2005" could cause a crash when object used as a boolean modifier
was changed (for example, flipping all the normals).  The problem is that result
of boolean operations (apparently) can result in empty meshes.  Patched to
use the vector::size operator to check for empty vectors before trying to
check the iterator.
2006-06-08 03:10:26 +00:00
Ken Hughes
b8c6c1fdf0 ===Tools===
Bug "fix" for #3932, and possibly for #3799.  Booleans can get into an endless loop (at least until memory runs out); through triangulation somehow a face is repeatedly added to the list of faces to triangulate.  This patch checks the face list for duplicates prior to a list add and aborts if a dup is found.

The real issue is why the triangulation is creating the face in the first place, but that will take a more thorough (and longer) examination of the code.  If I can fix that issue that prior to the 2.42 release, then this code can be removed.
2006-06-06 17:43:57 +00:00
Ken Hughes
a57bb6bee1 Bugfix #4081: support for OpenBSD platform for scons. Big thanks to Nathan Houghton for this contribution. 2006-06-05 15:52:26 +00:00
Erwin Coumans
abd8fba47f applied patch [ #4207 ] Boolean operations fix
Also fixed other problems with STL iterators/vectors, that only show up under Visual Studio 2005.

See also http://projects.blender.org/pipermail/bf-committers/2006-May/014608.html
2006-06-02 18:17:40 +00:00
Nils Thuerey
38547345e7 - fixed geometry init (object id init was missing)
- added more std::string fixes from bjornmose
2006-05-16 08:54:08 +00:00
Joseph Gilbert
3be8e53c10 update to msvc7 projectfiles 2006-05-13 14:46:48 +00:00
Jens Ole Wund
1e23c080de Happy msvc6 again .. however some new std::std::strings in El'Beem
i'll give it to nils later on
2006-05-12 22:00:27 +00:00
Nils Thuerey
74fc4fa254 - fixed MSVC problem in fluidsim.c
- removed some more debug output in the solver
2006-05-11 13:19:41 +00:00
Nils Thuerey
6d935aee42 - New options for mesh voxelization: shell only (also
works for non closed objects), volume ("normal"/old way of
  doing it), and a combination of both:
  http://www10.informatik.uni-erlangen.de/~sinithue/blender/voltcomp_sm.jpg
- Finally included bjornmose MSVC6 fixes
- Added support for animated meshes, e.g. meshes with
  parented skeletons. Is enabled for obstacles with a new button.
  A simple example with Bassam's mancandy can be found here:
  http://www10.informatik.uni-erlangen.de/~sinithue/blender/fluid2_mancandy.mpg
  http://www10.informatik.uni-erlangen.de/~sinithue/blender/fluid2_mancandy.blend
  (Warning - keep meshes as simple as possible, e.g. turn off subsurf
  for baking. Export probably shoulb be further optimized.)
- Changed handling of no/free/part slip obstacles, see:
  http://www10.informatik.uni-erlangen.de/~sinithue/blender/bndtcomp_sm.jpg
- Removed surface particle option for upcoming release,
  needs more testing & tweaking
- Added tracer particles instead (swimming along in the fluid)
- Updated wiki (description of IPOs still missing).
2006-05-11 08:09:02 +00:00
Kent Mein
d5ae204275 This is a bit of a hack, but it looks like sun
Used F11 and friends for its special keys Stop,again etc..
                  So this little patch enables F11 and F12 to work as expected
                  following link has documentation on it:
                  http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4734408
                  also from /usr/include/X11/Sunkeysym.h
#define SunXK_F36               0x1005FF10      // Labeled F11
#define SunXK_F37               0x1005FF11      // Labeled F12

I also added a comment explaning why the heck its there...

What this means is XK_F11 and XK_F12 do not line up with the F11 and F12
keys on sun keyboards.  So I've added special cases to correct the issue.

Doing a quick grep for XK_F shows there are some files in the
gameengine that use them when they probably shouldn't, but I'm not going to
attempt to fix them, Files that should be looked at are:
gameengine/BlenderRoutines/KX_BlenderInputDevice.h
gameengine/Converter/KX_ConvertSensors.cpp
gameengine/GameLogic/SCA_IInputDevice.h
gameengine/GamePlayer/common/unix/GPU_KeyboardDevice.cpp
gameengine/GamePlayer/common/windows/GPW_KeyboardDevice.cpp
gameengine/GamePlayer/ghost/GPG_KeyboardDevice.cpp
gameengine/Ketsji/KX_PythonInit.cpp

Kent
2006-05-10 19:46:06 +00:00
Jens Ole Wund
70c7865e85 msvc6 project linking with shell32.lib to see SHGetFolderPath()
removing dead files in el'beem however the "std::std::string" problem is still there
still no GE
2006-04-18 08:56:55 +00:00
Joseph Gilbert
f54a113cde Update to the VC7 projectfiles.
This should bring the projectfiles upto date for msvc7.

Moving these to version 7.1 so that the version 8 people don't have such a hard time importing into 2005.

Build intern.sln, extern.sln and then blender.sln. Enjoy. :p
2006-04-17 20:05:39 +00:00
Kent Mein
3815e20ad6 I renamed a couple of simple variables to prevent warnings about
variable blah at a higher scope is already defined...
(one of these was introduced by me when I moved a variable declaration
to the top of the function.)

Kent
2006-04-06 17:27:15 +00:00
Ton Roosendaal
f3d8d8e067 Upgrading in 10.3 to quicktime 7 seems to remove a header file, which
stops Ghost from compiling.

Information on this link here:
http://www.cocoadev.com/index.pl?CarbonSound
2006-04-05 11:59:20 +00:00
Chris Want
d61be50bee ==Nothing to see here, move along==
Removing some outdated files from elbeem, as suggested by Nils.
(Compiles OK without them.)
2006-03-30 14:23:25 +00:00
Chris Want
7fb2bf5430 ==Nothing to see here, move along==
Try to get the yy_wrap and yy_parse definitions for IRIX. Hoping
that it will also help Kent's multiply resolved warnings, I've done
this so that these symbols are defined only if they are currently
undefined. I'm not sure if it will work though, please test!
2006-03-29 23:14:37 +00:00
Kent Mein
42930c643c Added BOP_Mesh constructor to get rid of this:
BOP_Mesh.h:45: warning: ‘class BOP_Mesh’ only defines private constructors and h
as no friends

drawimasel.c initalized a variable so it didn't give warnings about it.
(wasn't really needed but if the code changes could be potential issue)

Kent
2006-03-29 16:47:56 +00:00
Nils Thuerey
0a63b3c0ca Several minor fixes:
- Added part of Austin's msvc8 fixes (vector::erase function
  was "misused"), hopefully compiles better now.
- Ctrl-b now also bakes a selected fluidsim domain
  similar to the softbodies.
- Added surface smoothing option for domains: default is
  1, higher values result in a smoother surface (and probably
  slightly higher comupation times), while 0 means the surface
  is not modified at all.
- Added BLENDER_ELBEEMBOBJABORT environment variable in readBobj,
  if >0 quits blender when a not yet existing fluidsim
  frame should be loaded. Useful for rendering simulations
  as far as possible from the command line.
- Surface normals pointer is now set to NULL in readfile.c
- Fixed win32 error string handling, now uses a function
  to return the string from the solver.
- Fixed fluidsim particle halo scaling problem.
- Solver update
2006-03-29 07:35:54 +00:00
Kent Mein
337928c97b I fixed some warnings about multiply defined yy_parse (etc) fuctions.
Did some small indentation fixes, and moved some variables so they
were declared at the top of the function blocks.

Kent
2006-03-28 20:56:58 +00:00
Kent Mein
391ae8f7ac Updated mallocn.c MEM_check_memory_integrity was casting
a string as an int and it was causing a warning.
I changed it to check to see if the string == 0
return 0 else return 1.

The only thing that called this function was memtest.c and it
had outdated code, so I fixed that...
        was calling MEM_set_error_stream updated to
                    MEM_set_error_callback

Kent
2006-03-23 17:45:40 +00:00
Ton Roosendaal
c8d295080c mmap allocs now fall back on regular malloc when mmap fails. 2006-03-15 15:06:53 +00:00
Jean-Luc Peurière
868874bd10 security patch #3910 provided by Joerg Sonnenberger on Os X
file opening
2006-03-13 18:27:51 +00:00
Nathan Letwory
36a4af22c3 ==SCons==
* These changes bring cross-compiling Blender for Windows on Linux one step
  closer to reality. The 'biggest' change is in makesdna SConscript to make
  sure a linux native makesdna is built, that can be run, too. Next to that
  proper checks for env['OURPLATFORM']=='linuxcross' are added in various
  places.

  Switch change in pluginapi.c was necessary, and AFAIK it should work like
  that also on WIN32, if not, slap me.

  Note: everything *compiles* now nicely, it is just that the final *linking*
  doesn't work (yet). Anyone who fixes this will be the
  hero of cross-compilers :)
2006-03-13 11:42:49 +00:00
Chris Want
46daa8d742 It looks like Irix works alright with the /dev/zero trick for mmap().
I had to include fcntl.h for Irix to get symbol O_RDWR.
2006-03-05 14:58:56 +00:00
Ton Roosendaal
2286118acc To prevent confusement; used %u (unsigned int) for printing memory error. 2006-03-04 22:22:38 +00:00
Brecht Van Lommel
2f5df4631d Fixes for some gcc 4 warnings in intern/. More than 100 lines of warnings
for 2 unused parameters in templated c++ code, that's just ridiculous.
2006-03-04 16:23:15 +00:00
Ton Roosendaal
61824579b0 Improved error print in case malloc returns NULL; it now adds the current
total allocated.
2006-03-02 19:49:51 +00:00
Jens Ole Wund
a040e208ee mscv6 projects again
no GE right now ( need to adapt to erwins file reshuffle
so may be i wait a bit until he has his mind made up )
elbeem is running when you remove the extra std:: at some places
well the msvc6 preprocessor is not very smart
--> std:: is not a member of std:: :)
so i guess there is a "using namespace std" somewhere
2006-02-28 08:31:33 +00:00
Kent Mein
4764cbe71b commented out a debugging message... was getting errors about cast to int
losses percision on 64bit linux with gcc4.X

Kent
2006-02-27 20:05:05 +00:00
Nils Thuerey
e48af6f10b - elbeem.h header file was missing 2006-02-27 11:56:04 +00:00
Nils Thuerey
0b7b0162eb - typo in SConscript 2006-02-27 11:48:25 +00:00
Nils Thuerey
9a36e9b651 Sorry for the big commit, but I've been fixing many of these
issues in parallel... So this commit contains: an update of
the solver (e.g. moving objects), integration of blender IPOs,
improved rendering (motion blur, smoothed normals) and a first particle
test. In more detail:

Solver update:
- Moving objects using a relatively simple model, and not yet fully optimized - ok
  for box falling into water, water in a moving glass might cause trouble. Simulation
  times are influenced by overall no. of triangles of the mesh, scaling meshes up a lot
  might also cause slowdowns.
- Additional obstacle settings: noslip (as before), free slip (move along wall freely)
  and part slip (mix of both).
- Obstacle settings also added for domain boundaries now, the six walls of the domain are
  obstacles after all as well
- Got rid of templates, should make compiling for e.g. macs more convenient,
  for linux there's not much difference. Finally got rid of parser (and some other code
  parts), the simulation now uses the internal API to transfer data.
- Some unnecessary file were removed, the GUI now needs 3 settings buttons...
  This should still be changed (maybe by adding a new panel for domain objects).

IPOs:
- Animated params: viscosity, time and gravity for domains. In contrast
  to normal time IPO for Blender objects, the fluidsim one scales the time
  step size - so a constant 1 has no effect, values towards 0 slow it down,
  larger ones speed the simulation up (-> longer time steps, more compuations).
  The viscosity IPO is also only a factor for the selected viscosity (again, 1=no effect).
- For objects that are enabled for fluidsim, a new IPO type shows up. Inflow
  objects can use the velocity channels to animate the inflow. Obstacles, in/outflow
  objects can be switched on (Active IPO>0) and off (<0) during the simulation.
- Movement, rotation and scaling of those 3 types is exported from the normal
  Blender channels (Loc,dLoc,etc.).

Particles:
- This is still experimental, so it might be deactivated for a
  release... It should at some point be used to model smaller splashes,
  depending on the the realworld size and the particle generation
  settings particles are generated during simulation (stored in _particles_X.gz
  files).
- These are loaded by enabling the particle field for an arbitrary object,
  which should be given a halo material. For each frame, similar to the mesh
  loading, the particle system them loads the simulated particle positions.
- For rendering, I "abused" the part->rt field - I couldnt find any use
  for it in the code and it seems to work fine. The fluidsim particles
  store their size there.

Rendering:
- The fluidims particles use scaled sizes and alpha values to give a more varied
  appearance. In convertblender.c fluidsim particle systems use the p->rt field
  to scale up the size and down the alpha of "smaller particles". Setting the
  influence fields in the fluidims settings to 0 gives equally sized particles
  with same alpha everywhere. Higher values cause larger differences.
- Smoothed normals: for unmodified fluid meshes (e.g. no subdivision) the normals
  computed by the solver are used. This is basically done by switching off the
  normal recalculation in convertblender.c (the function calc_fluidsimnormals
  handles other mesh inits instead of calc_vertexnormals).
  This could also be used to e.g. modify mesh normals in a modifier...
- Another change is that fluidsim meshes load the velocities computed
  during the simulation for image based motion blur. This is inited in
  load_fluidsimspeedvectors for the vector pass (they're loaded during the
  normal load in DerivedMesh readBobjgz). Generation and loading can be switched
  off in the settings. Vector pass currently loads the fluidism meshes 3 times,
  so this should still be optimized.

Examples:
- smoothed normals versus normals from subdividing once:
  http://www10.informatik.uni-erlangen.de/~sinithue/temp/v060227_1smoothnorms.png
  http://www10.informatik.uni-erlangen.de/~sinithue/temp/v060227_2subdivnorms.png
- fluidsim particles, size/alpha influence 0:
  http://www10.informatik.uni-erlangen.de/~sinithue/temp/v060227_3particlesnorm.png
  size influence 1:
  http://www10.informatik.uni-erlangen.de/~sinithue/temp/v060227_4particlessize.png
  size & alpha influence 1:
  http://www10.informatik.uni-erlangen.de/~sinithue/temp/v060227_5particlesalpha.png
- the standard drop with motion blur and particles:
  http://www10.informatik.uni-erlangen.de/~sinithue/temp/elbeemupdate_t2new.mpg
  (here's how it looks without
  http://www10.informatik.uni-erlangen.de/~sinithue/temp/elbeemupdate_t1old.mpg)
- another inflow animation (moving, switched on/off) with a moving obstacle
  (and strong mblur :)
  http://www10.informatik.uni-erlangen.de/~sinithue/temp/elbeemupdate_t3ipos.mpg

Things still to fix:
- rotating & scaling domains causes wrong speed vectors
- get rid of SDL code for threading, use pthreads as well?
- update wiki documentation
- cool effects for rendering would be photon maps for caustics,
  and motion blur for particles :)
2006-02-27 11:45:42 +00:00
Chris Want
5e3163041a I had to disable mmap altogether for Irix. 2006-02-24 14:37:24 +00:00