Commit Graph

6360 Commits

Author SHA1 Message Date
Campbell Barton
b7ff45f914 new emptys now have default settings for new emptys. 2006-02-27 06:00:00 +00:00
Campbell Barton
9e0d2837d5 Applied JMS's Patch. for better Python Dupli Access.
Made some fixes and changes.
* The matricies returned were wrapped. Wrapping Display Mesh matricies segfaulted sometimes. - Made a copy instead.
* Added 1 missing epydoc from the patch.
* Renamed getDupliMatrices to getDupliObjects, and changed to return a list of (object, matrix) tuples instead of just the matrix. This is much more usefull because it allows python to know what objects are used for dupliGroups and for dupliverts where there is more then 1 child. also cleaned up this function a bit.
2006-02-27 04:05:55 +00:00
Chris Want
9a21866aec pthreads for Makefiles/cygwin (don't forget to update lib/windows). 2006-02-27 00:03:18 +00:00
Campbell Barton
3f5fd39e28 removed typos causing MTL loading to fail. 2006-02-25 15:05:36 +00:00
Nathan Letwory
d9f9e76500 ==SCons==
+ SCons support for pthreads-win32. Library will be committed shortly into
  lib/windows, so be sure to check commit list and update that as well
  when the pthread lib is available.
2006-02-25 14:53:27 +00:00
Kent Mein
fa1129dc1d converted sqrtf to SimdSqrt Solaris has no sqrtf.
Kent
2006-02-25 13:43:15 +00:00
Ton Roosendaal
66e1c90d0f Bugfix: CTRL+select on a Bone, while in editmode Curve, crashed. 2006-02-25 12:49:35 +00:00
Ton Roosendaal
02a931ac4f Replacing SDL threads with pthread.
For some reason I thought SDL thread handling would be much simpler... but
the migration to posix pthread went very smooth and painless. Less code
even, and I even notice a slight performance increase!

All threading code is still wrapped in blenlib/intern/threads.c
Only real change was making the callback functions to return void pointer,
instead of an int.

The mutex handling is also different... there's no test anymore if a
mutex was initialized, which is a bit confusing. But it appears to run
all fine still. :)

Nathan Letwory has been signalled already to provide the Windows pthread
library and make/scons linking. For MSVC we might need help from someone
else later though.
2006-02-25 11:56:08 +00:00
Nathan Letwory
e377a5f721 ==SCons==
* Use same warning flags as with linux2, greatly reducing noise in
  output during compile. Also for developers using win32/mingw now
  in effect: correct *each* and *every* warning in your code. I
  command you to!
2006-02-25 10:40:31 +00:00
Nathan Letwory
8dd19059fc ==SCons==
* Warning flags I had dutifully copied from sirdudes yet unpublished
  make rewrite turned out to be the Paranoia flags, causing the flood
  of warnings. Using better flags instead (like current Makefile level 1).

  All developers on Linux that use SCons for building - (new) code you write is
  supposed to be *entirely* warning-free from now on (Ton said so!)
2006-02-25 01:06:02 +00:00
Nathan Letwory
9202ec2cad ==SCons==
* compile game-engine libs only when actually enabled
2006-02-24 18:55:44 +00:00
Chris Want
5e3163041a I had to disable mmap altogether for Irix. 2006-02-24 14:37:24 +00:00
Ton Roosendaal
d5096f48b1 forgot note for last commit;
There's one 'volatile' warning in pipeline.c still, should be harmless...
it is bad code to be rewritten soon.
2006-02-24 10:21:40 +00:00
Ton Roosendaal
7930c40051 Made the most critical variables in render pipeline "volatile", especially
the ones that get changed within threads, to communicate with the main
thread.

(Part of the long quest to get threaded render safe, especially in Linux)
2006-02-24 10:20:31 +00:00
Ton Roosendaal
3bd57e6a64 Paranoia "volatile" assignment to globals in MEM module. Was suggested to
do this for globals that can be changed within threads.
2006-02-24 10:18:48 +00:00
Campbell Barton
9c4ce4cae1 Should now work with python 2.3, also optimized dictionary's a bit. keys -> iterkeys and has_key -> try/except 2006-02-24 04:03:15 +00:00
Ton Roosendaal
d99d73ad03 restored SDL_WaitThread() again, SDL_KillThread() is not OK. 2006-02-23 23:12:33 +00:00
Ton Roosendaal
1612f6b392 Buttons could crash on wrong scene layer index... not sure how that index
can get wrong, but secure code is always OK. :)
2006-02-23 21:38:48 +00:00
Nathan Letwory
0ec3791d2d ==SCons==
* Add check for WITH_BF_OPENEXR to ensure WITH_OPENEXR is specified when
  needed. Now workyworky again
2006-02-23 21:37:29 +00:00
Nathan Letwory
2f8f1b8cdf ==SCons==
+ When giving CC and CXX on the command-line you can specify what compiler
  to use:

  scons CC=gcc-3.3 CXX=g++-3.3
2006-02-23 21:08:40 +00:00
Ton Roosendaal
ecdfa5374a Work in progress commit on saving OpenEXR with all render-layers and
passes in single file. Code is currently disabled, commit is mainly to
have a nicer method of excluding OpenEXR dependency from render module.
This should compile with disabled WITH_OPENEXR too.

Reason why EXR is great to include by default in Blender is its feature
to store unlimited layers and channels, and write this tile based. I
need the feature for saving memory; while rendering tiles, all full-size
buffers for all layers and passes are kept in memory now, which can go
into 100s of MB easily.
The code I commit now doesn't allocate these buffers while rendering, but
saves the tiles to disk. In the end is it read back. Overhead for large
renders (like 300 meg buffers) is 10-15 seconds, not bad.

Two more interesting aspects:
- Blender can save such multi-layer files in the temp directory, storing
it with .blend file name and scene name. That way, on each restart of Blender,
or on switching scenes, these buffers can be read. So you always see what was
rendered last. Also great for compositing work.
- This can also become an output image type for rendering. There's plenty of
cases where you want specific layers or passes saved to disk for later use.

Anyhoo, finishing it is another days of work, and I got more urgent stuff
now!
2006-02-23 20:57:31 +00:00
Ton Roosendaal
d9aac9d9b8 Bugfix for very very ancient envmap error. When you scale the envmap
object the OSA filtersize inverse scaled as well. Made small scaled
envmap objects far to blurry.
2006-02-23 20:18:29 +00:00
Stephen Swaney
977c201bc0 patch #3830 Fix for commenting a block of text with highlight enabled
Highlighting would not update when you un/commented a block of code.
Contributed by Ricki Myers (themyers).
2006-02-23 16:27:41 +00:00
Ton Roosendaal
f146e0e04e Composite: Image node now supports "start frame" values up to 10k. 2006-02-23 15:39:01 +00:00
Campbell Barton
6e12747b71 Added UI numeric access to bone radius (for envelopes), needed to accsess the other day to make bones the same radius and had to guess.
See the edit bone properties.

Just added a comment to DNA_armature_types.h about rad_head and rad_tail override, if a parant exists.
2006-02-23 14:45:59 +00:00
Ton Roosendaal
2c1a328f58 Tweak for Speed vector calculus for Ztransp render layer; it used to mask
out moving transparent pixels by checking for alpha>0.95, now it also
checks the solid layer (if present), and if there's no solid face in a
pixel, the speed vector gets also added and used for transparent pixels.

This solves the 'ugly' hard outlines for vectorblur of moving hair.

Before:
http://www.blender.org/bf/h1.jpg
After:
http://www.blender.org/bf/h2.jpg
2006-02-23 11:16:16 +00:00
Campbell Barton
8ab274ee30 Moved to brush cursors hotspot to be at the tip of the brush. 2006-02-23 04:38:33 +00:00
Chris Want
a30dc3866c Some issues compiling on Irix:
+ the code in writemovie.c no longer compiles (since the renderer
refactor). I have #if 0-ed it.

+ OpenGL on Irix doesn't have GL_ARB_vertex_program

+ mmap on Irix doesn't like MAP_ANON.

+ If using the MipsPro 7.3 compiler, the variable MIPS73_ISOHEADERS
can be set to point to the directory with those weird C++ headers
that don't have .h in the name
2006-02-22 23:34:12 +00:00
Chris Want
fc9ba4b323 In some directories (e.g. source/blender/src) there are so many files
now that the command to put the object files into an archive is
exceeding 20k characters, which is a problem for some operating systems.
To avoid this, this modification causes make to change directories before
archiving, to avoid having to specify full file paths to the files
being archived.

If this causes problems on some systems, let me know and I'll find an
alternative.
2006-02-22 23:26:26 +00:00
Ton Roosendaal
ef257c2519 Composite: filter node now includes image edge in calculation, the outer
pixels even had alpha zero...
2006-02-22 22:23:30 +00:00
Chris Want
ab4f3e4f91 'inline' in C isn't very portable (probably should be made a macro). 2006-02-22 22:05:13 +00:00
Ton Roosendaal
38f0343ae8 Brought back "mapping to translucency" for materials, was temporal replaced
with tests with material layer mapping...
2006-02-22 20:57:21 +00:00
Ton Roosendaal
ef8ec0e4a1 Composite fix: Blur node with option "Bokeh" didn't survive on very small
filtersizes (below 2 pixels). This because Bokeh actually does 2 peaks...

 /\  /\
/  \/  \

I've added some fixes in the filter calculus though, and made sure that
on size 1 at least the image gets copied straight away.
Also fixed error, Bokeh shifted image 1 pixel up.

Todo; make filters become real floats in size...
2006-02-22 20:13:52 +00:00
Geoffrey Bantle
99269c1f32 "Select Random" in editmode for meshes did not do an undo_push... This was
pretty annoying so I fixed it.
2006-02-22 18:35:12 +00:00
Geoffrey Bantle
30437b47ed Fixes small problem with my last commit and MSVC compilers, originally pointed
out on commiters ML here:
http://projects.blender.org/pipermail/bf-committers/2006-February/013677.html
2006-02-22 14:14:43 +00:00
Campbell Barton
2878386546 Added lighten/darken paint modes, works in vertex paint mode and weight paint mode.
Usefull for painting in areas with ~0.5 values without overwriting existing 1.0 weights.
2006-02-22 13:18:30 +00:00
Erwin Coumans
c2782ce10e added 'disable sleeping' option for rigidbodies. + bugfix of out of sync wheels for vehicle 2006-02-22 06:58:05 +00:00
Geoffrey Bantle
dcb751725e [Two Sections here; First is the log that *should* have been included
to my previous commit (whoops). The second part covers the changes I
have made to the code since then (all related to merge tools code).]

# Part One: Complete Log for Commit from 2/13/06

-> Upgraded merge tools.

The new merge tools add several options to blenders Merge submenu,
accessed via the WKEY whilst in Editmode for meshes. The new options
depend on current mode:

- Vertex mode: "At First" and "At Last"

When choosing "At First" or "At last" it will merge all selected
vertices at the first or last selected vertex.

(Note: Blender now keeps track of the last and first verts selected in
editMode (G.editMesh->lastvert and G.editMesh->firstvert
pointers. This meant additions were made to the undomesh code in
editmesh.c as well).

- Edge mode: "Collapse Edges"

When choosing this option, Blender examines the current set of
selected edges and groups them according whether or not they are
topologically connected. It then goes through each group and merges
them one by one to a single point.

- Face Mode: "Collapse Faces"

Works the same as "Collapse Edges", only works on groups of
topologically connected faces.

-> Inclusive selection mode conversion.

This feature extends the ability of blenders selection mode
conversions. Currently when you change selection modes from a "lower
order" mode to a "higher order" one (vertex->edge, vertex->face or
edge->face) blender only selects elements in the new mode whose
elements were completely selected in the previous mode.

This patch does not change blenders default behavior but offers
implicit selection mode conversion as an alternative. To access it,
hold either the left or right CTRL keys and click on a selection mode
in the view 3d selection mode header buttons. This can be accessed via
the CTRL-TAB selection mode switching as well, simply hold CTRL while
clicking the mode you want or entering its number on the keypad.

In some programs, such as Wings and Mirai, it has been demonstrated
that it can also be very useful to exploit selection mode switching to
implicitly select previously unselected elements as well. For instance
switching selection mode from vertex to edges will select all edges
currently associated with the currently selected vertices. The same
behavior is applied to switching between vertex->face and
edge->face. By exploiting this sort of selection conversion complex
selection sets can be built quicker.

Furthermore I modified blenders UndoMesh code to make selection mode
switching "undo coherent". Aside from its relevance to inclusive
selection mode conversion, this really counts as a "bug" in my
mind. Previously selection mode switch could cause the selection state
of the mesh to be invalid when certain modeling operations were
undone. An example of this would be "edge subdivide-> switch to face
mode-> undo"; you end up with edges selected while still in face mode!


# Part Two: Log for this Commit

-> Code Cleanup

As per Ton's request I reformatted all my code, changed variable names
and eliminated my use of "LinkNode" structs and replaced them with
"ListBase" instead. There should be no warnings while compiling now
either.

-> Remove doubles bug

Fixed small problem in removedoublesflag() in editmesh_tools.c that
caused editface structs to get their UV's scrambled. Vertex colors
might not be safe though? Need to investigate later.

-> Small bug in in the the code for merge last/first

It could cause a crash when exiting editmode, switching meshes, then
entering editmode again. "lastvert" and "firstvert" pointers are now
set to NULL whenever exiting editmode now (see load_editmesh() in
editmesh.c). I will find a better solution to this *soon*...

-> All merge tools now UV aware (optional)

The default behavior is to leave UVs alone, but if you hold CTRL while
clicking on the menu entry, UV's are merged. This works fine in most
situations, although some investigation into how to best handle
merging of UVs at the border of UV islands needs to be done.

This last item brings up a point about the current state of the
interface: several functions accessed through the WKEY menu now use
the CTRL modifier to change how they behave (This convention has been
in place for a while, see subdivide for example). Unfortunately there
is no way to communicate the way modifier keys change the behavior of
certain functions to the user. This makes such options invisible for
all intents and purposes...
2006-02-22 02:17:56 +00:00
Ton Roosendaal
ecaee2e3c8 Fix for very old annoyance; when an object is deformed far away from its
object center, it doesn't generate displaylist (or derivedmesh). This
error showed especially on loading files, and you had to advance frame,
zoom out or press Numpad-9 to see stuff.
2006-02-21 22:42:33 +00:00
Ton Roosendaal
4a7409186f Fix for crashing border select in FaceSelect mode. This was part of the
exr & floatbuffer merge of january 9... faulty code I didn't check.
2006-02-21 22:11:46 +00:00
Chris Want
96a21d5924 Making blender compile with Makefiles if WITH_OPENEXR is false. 2006-02-21 21:24:06 +00:00
Chris Want
957832ecf1 Trying to get the bullet re-org to work with Makefiles. 2006-02-21 20:45:20 +00:00
Campbell Barton
ab4bca8db9 Tracked a redrawing crash down to drawtext.c - was doing ... % 0 causeing a devide by zero, just check for a zero value. 2006-02-21 15:49:45 +00:00
Nathan Letwory
30a9f0b053 ==SCons==
* accidently left WITH_BF_STATICOPENGL enabled for non-linux. tsktsk.
2006-02-21 14:24:08 +00:00
Ton Roosendaal
b9eb5620b5 Bug in Composite AddAlpha node. The option premul added alpha wrong. 2006-02-21 12:41:48 +00:00
Nathan Letwory
11fd198a70 ==SCons==
* when WITH_BF_STATICOPENGL=1 on Linux Blender will be statically linked
  against GL libraries. NOTE: I used values that worked on my machine -
  platform managers and people who have better knowledge about this, please
  modify config/linux2-config.py accordingly.
2006-02-21 12:36:50 +00:00
Ton Roosendaal
a2a2ad98e2 Carefully went over all scanline updating while rendering, to ensure only
updates are allowed to draw when a part is within a scanline rendering
loop. Might solve threads issues with opengl...
2006-02-21 10:47:08 +00:00
Erwin Coumans
02dc8de55d included WheelInfo headerfile rather then forward declare (gcc stl container needs actual class information) 2006-02-21 07:33:19 +00:00
Erwin Coumans
e3b840d086 exposed a few more tuning paramters 2006-02-21 07:08:23 +00:00
Erwin Coumans
e4d8bd5984 added vehicle specific files + updated scons file (Makefile/projectfiles need updating) 2006-02-21 06:08:58 +00:00