Commit Graph

85 Commits

Author SHA1 Message Date
Brecht Van Lommel
bdfe7d89e2 Merge of trunk into blender 2.5:
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r12987:17416

Issues:
* GHOST/X11 had conflicting changes. Some code was added in 2.5, which was
  later added in trunk also, but reverted partially, specifically revision
  16683. I have left out this reversion in the 2.5 branch since I think it is
  needed there.
  http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16683
* Scons had various conflicting changes, I decided to go with trunk version
  for everything except priorities and some library renaming.
* In creator.c, there were various fixes and fixes for fixes related to the -w
  -W and -p options. In 2.5 -w and -W is not coded yet, and -p is done
  differently. Since this is changed so much, and I don't think those fixes
  would be needed in 2.5, I've left them out.
* Also in creator.c: there was code for a python bugfix where the screen was not
  initialized when running with -P. The code that initializes the screen there
  I had to disable, that can't work in 2.5 anymore but left it commented as a
  reminder.

Further I had to disable some new function calls. using src/ and python/, as
was done already in this branch, disabled function calls:
* bpath.c: error reporting
* BME_conversions.c: editmesh conversion functions.
* SHD_dynamic: disabled almost completely, there is no python/.
* KX_PythonInit.cpp and Ketsji/ build files: Mathutils is not there, disabled.
* text.c: clipboard copy call.
* object.c: OB_SUPPORT_MATERIAL.
* DerivedMesh.c and subsurf_ccg, stipple_quarttone.

Still to be done:
* Go over files and functions that were moved to a different location but could
  still use changes that were done in trunk.
2008-11-12 21:16:53 +00:00
Campbell Barton
ac4ff83ca6 added scons option BF_WITH_PYTHON (defined as DISABLE_PYTHON) 2008-10-28 18:47:13 +00:00
Joshua Leung
63f6932fa5 Reduced number of MSVC compiler warnings (mostly just casting issues). 2008-10-20 06:39:08 +00:00
Joshua Leung
80a4bbf473 Bugfix:
Keyframing from Buttons Window was broken for Materials/Lamps/Worlds due to a mixup regarding the correct adrcodes for texture-slots.
2008-09-30 11:52:59 +00:00
Joshua Leung
a8e97fe1ed Bugfix #17708: layer IPOs doesn't return the correct layer anymore
When doing IPO-cleanup, added two break statements to hopefully optimise the evaluation process a teeny-weeny bit. However, that caused more problems than it was worth!
2008-09-29 11:39:58 +00:00
Joshua Leung
cf683729f6 Second try at committing IPO code cleanups... 2008-09-28 23:17:44 +00:00
Martin Poirier
1e62b58bcc reverting revision 16784 that broke compilation. Aligorith, please fix and recommit 2008-09-28 15:37:37 +00:00
Joshua Leung
21640badf7 IPO System - Code Cleanup and Commenting:
Went through and commented all the code in ipo.c, tidying up formating and coding style in places, and also rearranging to have a more logical order in some places. There shouldn't be any major issues arising from this commit.
2008-09-28 12:01:41 +00:00
Campbell Barton
fe5dd01595 linear ipo curves were still using their handles to calculate an extrapolated value.
It would only work when the bezier point had its handles set to auto before changing to a linear IpoCurve since the handles were being recalculated during transform.
2008-09-27 10:08:19 +00:00
Daniel Genrich
d2c13039ed svn merge -r 16320:16369 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-09-05 00:12:01 +00:00
Brecht Van Lommel
cb89decfdc Merge of first part of changes from the apricot branch, especially
the features that are needed to run the game. Compile tested with
scons, make, but not cmake, that seems to have an issue not related
to these changes. The changes include:

* GLSL support in the viewport and game engine, enable in the game
  menu in textured draw mode.
* Synced and merged part of the duplicated blender and gameengine/
  gameplayer drawing code.
* Further refactoring of game engine drawing code, especially mesh
  storage changed a lot.
* Optimizations in game engine armatures to avoid recomputations.
* A python function to get the framerate estimate in game.

* An option take object color into account in materials.
* An option to restrict shadow casters to a lamp's layers.
* Increase from 10 to 18 texture slots for materials, lamps, word.
  An extra texture slot shows up once the last slot is used.

* Memory limit for undo, not enabled by default yet because it
  needs the .B.blend to be changed.
* Multiple undo for image painting.

* An offset for dupligroups, so not all objects in a group have to
  be at the origin.
2008-09-04 20:51:28 +00:00
Daniel Genrich
8cf385a93d svn merge -r 16222:16320 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-08-31 21:00:20 +00:00
Daniel Genrich
25c116e80a Fixing typo to make compile working again 2008-08-30 23:12:01 +00:00
Nathan Letwory
ff0aab05b2 patch for bug #17553: material emit is allowed to go from 0.0 to 2.0; however curves only make it go to 1.0
reported and patched by slikdigit
2008-08-30 21:41:02 +00:00
Daniel Genrich
5dafc1a553 svn merge -r 16060:16222 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-08-22 09:31:32 +00:00
Janne Karhu
57d1a1eac2 New things for particle effectors:
- For newtonian particles a "self effect" button in particle extras makes the particles be effected by themselves if a particle effector is defined for this system, currently this is a brute force method so things start getting slow with more than ~100 particles, but this will hopefully change in the future.
- Two new effector types: charge and a Lennard-Jones potential based force (inter-molecular forces for example).
   -Charge is similar to spherical field except it changes behavior (attract/repulse) based on the effected particles charge field (negative/positive) like real particles with a charge.
   -The Lennard-Jones field is a very short range force with a behavior determined by the sizes of the effector and effected particle. At a distance smaller than the combined sizes the field is very repulsive and after that distance it's attractive. It tries to keep the particles at an equilibrium distance from each other. Particles need to be at a close proximity to each other to be effected by this field at all.
- Particle systems can now have two effector fields (two slots in the fields panel). This allows to create particles which for example have both a charge and a Lennard-Jones potential.
2008-08-21 21:12:27 +00:00
Janne Karhu
a6514f0c39 Animateable (ipos) power and fall-off for particle effectors. 2008-08-16 16:21:01 +00:00
Daniel Genrich
e409c2463d WIP commit to introduce channels 2008-07-07 14:36:33 +00:00
Brecht Van Lommel
6d7a43dd54 Fix for bug #13757: camera lens minimum value for ipo's was
different than the button.
2008-06-29 21:06:18 +00:00
Brecht Van Lommel
205d06f5f4 Fix for bug #11002: particle ipo clump did not allow negative values
like the button in the user interface.
2008-05-08 08:41:56 +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
Chris Want
5e3cffc64a Patch to change license to GPL only, from GSR. 2008-01-07 19:13:47 +00:00
Ton Roosendaal
372ee054c0 Some notes for those who try to follow this :)
- first work on getting area/screen handling back
- added structure for where to put stuff, is still under
  review, wait a bit for docs?

Campbell is working on removing every bad level include from
sources, so we can safely rebuild the src/ directory.
2008-01-01 18:29:19 +00:00
Campbell Barton
58bf29e389 removed blenderdef.h, BIF_*, BDR_* and BSE_* header files (except for BIF_gl.h and BIF_glutil.h) 2008-01-01 18:16:10 +00:00
Peter Schlaile
146b0aec14 == Sequencer ==
Fixed IPO calculation for threaded prefetch rendering. (do_seq_ipo used
global CFRA tststs...)
2007-12-23 21:27:12 +00:00
Campbell Barton
1e32ec2000 minor update, "Draw Handles" wasnt working when disabled everywhere and replaced some magic numbers 2007-12-01 23:25:00 +00:00
Ton Roosendaal
45c41ffb69 Two fixes:
- new option for Local Constraint Ipos did not set user counter in
  Ipo at file reading, causing data to get lost (not saved).

- Driver feature: the channels "Loc X Y Z" now also use the result
  of constraints, but transformed back into local space, as if it 
  was action X Y Z. Nice stuff for those who understand this... 
  it means you can drive something with a bone that has constraints.
2007-12-01 10:48:33 +00:00
Brecht Van Lommel
7da56f4a9b Particles
=========

Merge of the famous particle patch by Janne Karhu, a full rewrite
of the Blender particle system. This includes:

- Emitter, Hair and Reactor particle types.
- Newtonian, Keyed and Boids physics.
- Various particle visualisation and rendering types.
- Vertex group and texture control for various properties.
- Interpolated child particles from parents.
- Hair editing with combing, growing, cutting, .. .
- Explode modifier.
- Harmonic, Magnetic fields, and multiple falloff types.

.. and lots of other things, some more info is here:

http://wiki.blender.org/index.php/BlenderDev/Particles_Rewrite
http://wiki.blender.org/index.php/BlenderDev/Particles_Rewrite_Doc

The new particle system cannot be backwards compatible. Old particle
systems are being converted to the new system, but will require
tweaking to get them looking the same as before.

Point Cache
===========

The new system to replace manual baking, based on automatic caching
on disk. This is currently used by softbodies and the particle system.

See the Cache API section on:
http://wiki.blender.org/index.php/BlenderDev/PhysicsSprint

Documentation
=============

These new features still need good docs for the release logs, help
for this is appreciated.
2007-11-26 22:09:57 +00:00
Joshua Leung
89317afbdf Patch #7767: Constraint Subtargets can now target anywhere on a bone, not just the head or tail
Patch by: Roland Hess (harkyman)

For example, a constraint can be sub-targeted at the 50% (or 31.2% or 85% etc.) point of its target bone, giving you enormous rigging flexibility and removing the need for complex contraptions to do such things as:

- A bone whose base slides only between to points on a rig (CopyLoc with a variable, animated subtarget point)
- Bones that attach to multiple points along another bone (CopyLocs, each with a different head/tail percentage)
- Bones that need to stretch to a point midway between specific spots on two other bones (old way: too crazy to mention; new way: stretch bone between points on end bones, then another stretch to the midpoint of the first stretch)

It is only used for the constraint types for which it is relevant: CopyLoc, TrackTo, StretchTo and MinMax, TrackTo, and Floor.

Notes:
- This is accessed by the Head/Tail number-slider. 
- This value can be animated per constraint
- The old "Copy Bone Tail" option for the CopyLoc constraint has been automatically converted to 1.0 Head/Bone values for the affected constraints
- In the code, this value is in the bConstraint struct, so it is available for all constraints, even though only a few implement it.
2007-11-12 04:17:03 +00:00
Ton Roosendaal
044ae7f82f A different approach for the new driver option: it now uses pose-space
instead of bone-space. This makes it visual easier to use. For the todo:
a large array of buttons for users to pick what kind of 'space' is used?
2007-11-04 19:41:21 +00:00
Ton Roosendaal
f996607632 New driver option for the poor suffering riggers:
"Rotation Difference"

This option, for Bones, allows the angle between two Bones to be
the driver for another Ipo channel. This angle now is hardcoded 
based on the Bone-space orientation (without parenting rotation).

Thanks to nathan for poking and test!
2007-11-04 17:14:39 +00:00
Joshua Leung
0cc2de1b37 == Action Editor Bugfixes (BugReport #7049) ==
This commit fixes several issues related to using the Action Editor with Shapekeys. I've known about most of them for a while, so now's the time to fix that.

1) When the shapekey anim data for an object comes from an Action (key's IPO block is linked to the "Shape" action-channel), the names of the individual shapekeys is now shown. They will only do so if the Action Editor is not pinned though.

2) Slider limits for the case described above should now be sane again

3) "Add New" option from the popup menu in the Action Editor header will now convert shapekey animation data from IPO to Action if the action editor is displaying Shapekey data at the time. Many users have often found the old way of having to toggle the "running man" in the IPO-editor header, too clumsy and confusing.
2007-08-15 10:04:45 +00:00
Joshua Leung
c4114780d4 Little code cleanup.
bsystem_time was being called with an extra variable, which was useless. Most of the places that called it, were passing NULL for that variable anyway.

I've also cleaned up that function a bit, but the underlying problems with that part of the code still exist (EVIL GLOBALS that are exported for frame_to_float), for mblur and fields rendering features. That remains for another time.
2007-08-05 09:21:29 +00:00
Joshua Leung
aad13c1b87 == IPO Muting ==
It is now possible to temporarily 'mute' and IPO-block or IPO-curve. This functionality has been requested by the Plumiferos team, and is based off Patch #6866 by Juho Vepsäläinen (bebraw).


Usage:
* In the IPO Editor header, there is a toggle button (open/closed eye used for Outliner Visibility restriction) beside the IPO-blocktype menu, when there is an active IPO-block in the IPO Editor.

* In the Action Editor, beside the 'lock' icon for channel protection on Action/Constraint channels, there is the open/closed 'eye' that can be toggled to set the mute status of said channel's IPO-block.

* Also in the Action Editor, you can mute individual IPO-curve channels in a similar manner.
2007-06-22 11:09:31 +00:00
Nathan Letwory
180d58430b Ortho type of camera is now also controlled by CAM_LENS ipo. 2007-05-02 16:45:13 +00:00
Ton Roosendaal
d0d9899e76 Bugfix #6201
Shape key drivers were not copied correctly, when choosing the option
"ADD NEW Scene -> Full copy".
2007-03-11 12:14:50 +00:00
Ton Roosendaal
c01aaac311 Two in one:
- Bugfix #5714
  New option "Save changed images" didn't respect relative file names

- Bugfix #5621
  New camera (shiftx, shifty) was missing in IpoWindow as animatable option
2007-01-15 12:44:45 +00:00
Ton Roosendaal
e61dec0767 Defocus Composite Node, by Alfredo de Greef
Log:
http://www.blender3d.org/cms/Composite__Defocus.836.0.html

An incredible quality composite effect, might be slow but worth waiting
for!
2006-12-21 18:11:07 +00:00
Ton Roosendaal
a720296999 Another 3-in-one commit:
- Unitialized variable in new shadow code caused Sun lamp shadow to not
  work.
- Ipo handle bug: when the handle was vertical it flipped around
- Loop select: unitialized variable caused it to work unpredictable in
  cases. Also found an unitialized var in collaps_edgeuvs().
2006-12-06 11:17:34 +00:00
Joshua Leung
d68d2528ac == Action Editor ==
Cleaned-up drawing code of keyframes. Code redundancy has been
reduced, and there should be slight performance gains (less looping,
no sorting of keys needed, possibly less memory usage).
2006-12-05 01:11:51 +00:00
Ton Roosendaal
342c900220 Proxy Objects revisited!
The first incarnation assumed that proxies were local objects per
definition. Unfortunately that makes it impossible to - for example -
reference-link an entire Scene with proxies, to be used as a special
character set.

This commit makes the proxy implementation also a bit more clear.

Related work: the scene-sets were not executed fully or correctly for
the dependency graph. That happens now (in 3d view) as well.
2006-11-30 15:54:21 +00:00
Ton Roosendaal
ed25eb9d9e Group Proxy: now drivers from proxy to Shape keys work :) 2006-11-14 21:06:11 +00:00
Ton Roosendaal
787ba4ea08 Bugfix #5085
An Ipo optimize commit of 2 months ago broke the Ipo "Linear" type for
extending.
2006-11-03 14:23:19 +00:00
Campbell Barton
a8461d2c40 DNA_ipo_types.h comments only
other are changes so calchandles_ipocurve only calc handels on a bezier line.
This makes bvh import faster but should also speed up internal IPO operations.
2006-08-04 14:08:21 +00:00
Ton Roosendaal
0458c50f63 Bug #4597
More Driver fixing...
Commit of over week ago to make drivers update correctly on cyclic
situations, forgot to fix another driver call... which then got called
always with 'current frame' set to zero.

Error only happened with animated (Ipos) Object-Object driver relations.

Also in this commit: when loading file, lattices with hooks were not
updated correctly.
2006-07-04 10:19:26 +00:00
Ton Roosendaal
1fa9af5dbc Plumiferos report: Ipo for material 'hardness' didn't go beyond 128
(Note; this value is stored in the curve when you make it, so you have
to remove the curve and insert it again...)
2006-06-26 16:57:44 +00:00
Ton Roosendaal
1aab013bcc Bugfix #4483
Fix for bugfix! The code added to solve Driver lag should not be called
when Bones in Armature are drivers (only when Objects are drivers).
2006-06-26 11:29:33 +00:00
Ton Roosendaal
03a1ee30b6 Bugfix #4420 + #3975
Found reasonable OK solution for a cyclic dependency that was bothering
a lot of (character) animators. They would like to drive bones with
Objects, but that lagged when you parent these Objects to the
armature, since that's a circular dependency.

Since Driver relations are only looking at local object properties (i.e.
it's local position/rotation) there's a simple way to solve it. In case
such Objects have an Ipo, it reads driver values directly from the
Object Ipo (on correct time) instead of Object values.
2006-06-23 12:15:22 +00:00
Ton Roosendaal
71f349e9dd Plumiferos bugfix:
The new (months ago) added option for "Local Constraint" always copied
and restored a PoseChannel quaternion, that disabled the required
normalizing of quaternions.

Only visible when you manually draw Ipo Curves, but it's probable that
it showed in other cases too.
2006-06-03 11:49:30 +00:00
Ton Roosendaal
e5b39b69d1 So! Finally time to work on finishing render pipeline project.
This commit brings back:

- Field Render
- MBlur Render (old style)
- Border render with or without cropping

Note: Field Render is not supported in Compositor yet. Blurring or filter
will destroy field information.
Both MotionBlur as Field render are done before Compositing happens.

Fixes:

- The "Save Buffers" option only worked on single frame renders, not for
  Anim render.
- Found an un-initalized variable in Render initialize... this might have
  caused the unknown random crashes with render.

Code restructure:

Cleaned up names and calls throughout the pipeline, more clearly telling
what goes on in functions.
This is visible in the updated first image of the Wiki doc:
http://mediawiki.blender.org/index.php/BlenderDev/RenderPipeline
2006-05-27 13:35:03 +00:00