Commit Graph

3949 Commits

Author SHA1 Message Date
f02dde5de7 Patch from Raul Fernandez Hernandez - volume render multiple scattering fixes
Also: Changed 'Spread' value to be proportional to the light cache voxel grid 
(i.e. 0.5 spreads half the width of the grid), so that it's independent of light 
cache resolution. This means that results should be similar as you increase/
decrease resolution.
2010-01-03 23:45:13 +00:00
c6e40798fb Stickness factor for particle collisions, patch submitted by Raul Fernandez Hernandez (farsthary). 2010-01-03 14:51:34 +00:00
251ef0a47f Changes to Brush texture workflow
This changes how textures are accessed from Brushes, with the intention of simplifying 
the workflow, and reducing the amount of clicking. Rather than the previous texture slots 
(which didn't work as a stack anyway), brushes now have a single texture linked. Rather 
than taking time having to set up your slots in advance, you can now select and change 
textures directly as you sculpt/paint on the fly. For complex brushes, node textures can 
be used, or for fast access, it's easy to make a duplicate of your brush with the texture 
you like and assign a hotkey.

Brush textures can now be chosen from a new Textures panel in the brush tool 
properties - click on the thumbnail to open a texture selector. This is done using a new 
variation on the ID template - the number of rows and columns to display in the popup 
can be customised in the UI scripts.
2010-01-03 08:37:18 +00:00
ca4a5f309e solidify supports original mapping, so enable in the modifier.
this means you can select the copied face (as with the mirror modifier)
2010-01-03 05:49:56 +00:00
bf6fc75161 freeing particle modifier would access freed memory (only to tak the psys to be deleted), set to NULL after freeing and check before tagging. 2010-01-03 04:35:51 +00:00
a7d268d38e Cessen Rigging Request: "Copy Transforms" Constraint
This constraint simply copies the transformation matrix of the target, and assigns it to the owner.
2010-01-02 04:14:17 +00:00
4ab4d2dd20 Fix some build warnings 2010-01-01 15:48:14 +00:00
e6f26957ea Cleanup of MotionPaths+Ghosts (AnimViz) - Part 1
This commit sets up some of the groundwork necessary to extend the animation visualisation capabilities, previously only available for bones in PoseMode, to Objects as well. Also, some of the other goals of this refactor is to make future visualisation goodies (i.e. editable paths) more feasible...
(There's really nothing to see here yet. The following log notes are really just for my own reference to keep track of things.)

Currently, the following things have been done:
* New datastructures + settings have been tidied up, ready for usage
* Added these new types into the Object and PoseBone code as necessary, with freeing/adding/copying accounted for
* File IO code for the new data, including version patching to convert the old system to the new one.
* Set up the drawing system for motionpaths based on the old armature path drawing code. Armatures still draw using the old system, since the two systems use different storage systems.
* Started setting up the motionpath 'baking' code, but the core of this still needs to be coded...

Next Steps (after some semi-urgent Durian Driver changes):
* Port the ghosting/onionskinning code over too
* Finish motionpath baking code
* RNA wrapping for the new types
* Hooking up all the new code into the operators, etc.
2010-01-01 12:24:16 +00:00
174eccf078 Huge new year audio commit!
* Refactored the whole audaspace library to use float as sample format over all readers.
* Added new Readers like the linear resampler, envelope, lowpass, highpass and butterworth.
* Note: The butterworth filter isn't working correctly, some bug in there... Maybe also true for the envelope.
* Added a sound to f-curve operator that behaves mostly like the soundtracker script of technoestupido.
2010-01-01 05:09:30 +00:00
74829be79a Fix for [#20430] Boids options for Flying and climbing do not work
* Boids didn't yet use global gravity
2009-12-30 15:58:59 +00:00
Dalai Felinto
e37e3845a1 BGE: stereoscopic settings changes: (1) eye separation is the UI (2) focallength uses camera focallength
Now the default eye separation value is 0.10 (reasonable for games with 1 meter == 1 B.U.
The focallength used is the camera focal length (DOF settings). It allow you to even use different focal lengths for different scenes (good for UI)

In order to change it you can change the camera focal length or use Rasterizer.setFocalLength.
If you use the Rasterizer method it will use this value for all the cameras.

ToDo:
- Blenderplayer settings
- Update wiki documentation (any volunteer)?

* Note to stereo fans:
I don't have a real stereo environment to test it (other than cheap cyan-red glasses). If you can give it a try in a more robust system and report bugs or problems with BGE current system please let me know. I would be glad to help to make it work 100% by the time Blender 2.5 is out.

For the record, BGE is using the method known as 'parallel axis asymmetric frustum perspective projection'. This method is well documented here:
http://local.wasp.uwa.edu.au/~pbourke/miscellaneous/stereographics/stereorender/
2009-12-29 15:47:20 +00:00
5cd837a562 * speedup for animating bones, in one scene with sintel and a dragon animated its over 4x faster.
* utility function BLI_findstring to avoid listbase lookup loops everywhere.
  eg: 
    ListBase *lb= objects= &CTX_data_main(C)->object;
    Object *ob= BLI_findstring(lb, name, offsetof(ID, name) + 2);

* made some more math functions use const's, (fix warnings I made in previous commits)
2009-12-29 15:40:26 +00:00
8177f343a0 - object.add_shape_key(name="Key", from_mix=True)
- ensure new shape key names are unique
- Transfer ShapeKey now can have its settings changes (redo operator)
2009-12-28 18:03:04 +00:00
32656ad4ba moved shape key insert function into BKE_object.h 2009-12-28 15:26:36 +00:00
860e46082f Assorted Animation/RNA fixes:
* Fix for compiler warning in mesh.c from previous commit
* Fix for wrong name for dopesheet filter button used for meshes
* Added RNA defines for the default values for quaternion and axis-angle rotations, so that clearing these to their default values "does the right thing (TM)"
2009-12-28 03:45:24 +00:00
03c1e4374b Fix for [#20032] outliner cuts off long names after pasing them
The system that ensures unique ID names chopped off the end 
of the name to add a number suffix (.001 or so) regardless of 
whether it already had a number or not. In this particular case, 
(no suffix number) it now just shaves off the last letter of the 
name until it's unique.

I've been testing this patch here for a while, and seems to work 
properly, if anyone would like to have a quick look over this 
commit and doublecheck, that would be great too.
2009-12-28 01:31:47 +00:00
be55097353 Mesh Animation + Depsgraph Tweaks:
* Mesh data/settings can now be animated. It is not recommended that geometry be animated directly, but other settings such as autosmooth, etc. can be...

* Code cleanups for depsgraph, making sure that drivers get included for all object data types.
2009-12-28 00:52:31 +00:00
ff31d2d65c Try to get soft body to curve working 2009-12-28 00:07:24 +00:00
310d417334 Curve/Nurbs/Font Animation Bugfixes:
* NURBS and Font animation data now appear in the animation editors. 

* Fixed depsgraph tagging code for determining if the AnimData attached to object data blocks (i.e. animation for curve or lamp data) needs to be tagged for updates on frame changes. This means that animating curve settings now works.
2009-12-27 23:37:13 +00:00
d5592fe254 fixes for errors/warnings found with cppcheck 2009-12-26 20:23:13 +00:00
20ab9a4d9b Particles bug fix: Particle birth location between frames weren't calculated correctly for moving emitters as the functionality of where_is_object_time has changed a bit in the new anim system. 2009-12-26 15:59:07 +00:00
7a19832a78 Fix for [#20294] Switching to particle mode after changing number of hair particles causes blender to crash.
* Particle edit mode wasn't freed when the particle amount was changed.
2009-12-26 00:17:54 +00:00
fc066a6a5d Fix for [#20458] Segmentation fault when trying to enable Hair dynamics
* The hair mesh vertex index was stored as a short, but vertex counts can easily go higher than what fits in a short so changed this to an int.
* Also removed particle life looping, which didn't work correctly anyways. Similar functionality will become available when I get to recoding reactor particles into a better system.
2009-12-25 23:51:29 +00:00
99e3423a50 fix for accessing invalid memory when loading a new file. 2009-12-25 23:50:35 +00:00
b0b3e27471 Particles bug fix: using virtual parents for child particles crashed in some cases. 2009-12-25 22:58:11 +00:00
4dd3e6c360 support for registering operators using the same internal rna api as panels, menus, headers & render engines since there was a fair bit of duplicate functionality.
will remove the old system and update scripts next.
2009-12-24 16:10:26 +00:00
a2b0020e11 Reverted the addition of the f-curve sound modifier (was added in revision 24759) due to unusability and performance issues. The ability to use a sound as animation source will be added as an import operator later that renders a sound to an f-curve which brings the advantage that you can edit the generated curve later and the disadvantage it is not automatically updated when the sound changes. 2009-12-24 14:01:22 +00:00
d653192751 Reports: writing movies now uses the reports mechanism to throw errors.
Also fixes bug #19463: screencast to xvid ffmpeg crash.
2009-12-22 12:01:32 +00:00
3221dea46e clone and stencil layer access added, renamed mask to stencil layer internally 2009-12-22 10:48:13 +00:00
5a3ac3ceeb Assorted F-Curve/Keyframe API stuff (for use with some Sequencer editing):
* Added function for F-Curves to find the F-Curves in a given list which affect some named data, such as bones, nodes, or sequence strips.

* Added a BezTriple offsetting callback to be used with the F-Curve+Keyframe loopers in use for many of the keyframe editing tools.
2009-12-22 10:14:13 +00:00
e207d04532 quite a few python panels (10 or so) had names longer then the PanelType allowed,
for panels it would fail silently but for menu's it meant further references would give errors.

increase the registered class name from 32 to 64 and raise an error if the limit reached.
2009-12-22 10:04:15 +00:00
1f8cd19d4b removing sequence strip overlap didnt adjust the animation key time
single images were not having their animation data transformed correctly
made sequence strip opacity 0-1 rather then 0-100 in RNA
2009-12-21 16:57:39 +00:00
29ea21e6bd Multires: added back Reshape function, to copy vertex locations
from another mesh.
2009-12-21 15:55:10 +00:00
5832f2fb7b * Rest length parameter for harmonic force springs. Implementation is a slightly modified version of the patch provided by Raúl Fernández Hernández (Farsthary).
* Also added a "multiple springs" option to use every effector point as a harmonic spring instead of just one.
2009-12-21 11:19:07 +00:00
f7f06d96f3 Solidify rim faces now get face data from the faces they extrude from, (UV and VCol support) 2009-12-21 10:16:04 +00:00
824b763322 solidify modifier - rim faces now copy values from the faces they extrude from (material, face flags but not uvs or vcols yet)
this doesnt work in editmode yet.
2009-12-21 08:37:30 +00:00
54c9557b85 Solidify modifier for Durian (allow cloth sim on single layer and make solid after)
Mostly the same as the recently added editmode tool with some extras.

* Options to disable filling in the rim between inner and outer surface, since its faster not to detect this in cases where its not needed.
* Option to disable high quality normal calculation, mostly noticable when operating on building walls, not needed for cloth or more organic shapes.
* Option to disable 'even thickness', again, not needed in some cases.

Also options for creasing inner/outer and rim edges, need this for makign Sintels cloths solid since zero crease looks far too soft.

note:
* UVs and VCols etc are copied to the new skin however rim faces dont get the UVs or vcols set from the faces they are created from yet.
* Normals are assumed to be pointing outwards
* used patch from Uncle Entity as a template since it added the DNA and RNA entries but the actual modifier from the patch wasnt used.
2009-12-21 01:02:08 +00:00
be323efa35 Fix preview do_version bug (causing region type missing errors)
The missing region was added to the wrong region base.

Bump the subversion, new code to fix wrong region layouts saved in previous subversion and correct all old files correctly.
2009-12-19 22:40:45 +00:00
3e23f002b4 fix for non Euler-XYZ rotations...
- Camera to 3D view didnt check for rotation order.
- Fly mode didnt check for rotation order.

added util functions.
- object_apply_mat4(ob, mat4); applies a 4x4 matrix to an objects loc,scale,rot (accounting for rotation modes)
- object_mat3_to_rot(ob, mat3, use_compat); apply a 3x3 matrix to the objects rotation, option to use a euler compatible with the existing euler.
2009-12-19 10:27:23 +00:00
50544ea645 - sequence strips without scenes would crash on display
- appending scenes would not append the sound and scene ID's for sequence strips
- reload button in sequence header now reloads sounds as well.
- redrawing the sequence image view didnt work while plaing (unless play was activated from that region)
- generic functions for running a callback on sequence strips recursively. seqbase_recursive_apply() and seq_recursive_apply()
- bind marker with camera was set to home key, use Ctrl+B instead.
2009-12-18 13:28:03 +00:00
4f3af9980f Keyframing Bugfix:
This commit attempts to fix some of the bugs which were causing grief with some Durian animation tests. 

In one of those files, the order in which F-Curves were stored was seriously messed up; causing problems with some F-Curves still existing but unable to be edited (i.e. still showing up in the Object/Action summaries but nowhere else) since the standard assumptions for the way the data was stored had been violated.

I've recoded the code that ensures that when F-Curves get added to Action Groups (and the Action that contains these) it ends up in the right places, since it was very likely that all the F-Curves would only ever get added near the end of the list. 

Hopefully this is enough to prevent these problems reoccurring, though I have a feeling there may still be one or two buggy tools which caused the problems in the first place.
2009-12-18 11:55:18 +00:00
8505c5bcf3 sequencer copy clipboard wasnt checking if all related strips were selected 2009-12-17 23:29:11 +00:00
4271a40ee7 - sequencer clipboard now stored globally (not in the scene, makes pasting into other scenes nicer)
- multiple pastes after copying
- clear the sound handle when copying (was crashing)
- allow seq freeing without a scene (assumes seq strip isnt active and sound handle isnt set)
- free clipboard sequences on exit
- paste sequence strips using the relative playhead location from when they were copied.

TODO
- check scene pointers on paste
- detect overlaps after paste
2009-12-17 16:28:45 +00:00
51fdfa0de9 sequencer clipboard
note: for inter-scene copying this uses a hack because Colin needs it because half his scene was scrambled by blender.
2009-12-17 14:45:47 +00:00
88d72e796a remove warnings. Sequencer selection for fcurve view didnt work in metastrips.
- added RNA_property_string_set to the RNA_access.h
- include BKE_animsys.h in pipeline.c for sequencer update, hope these are ok.
2009-12-17 11:16:28 +00:00
fac65a3f4d Durian request:
Extend the 'only selected' property in the graph editor to only show curves
from selected sequence strips and nodes as well.
2009-12-17 04:55:15 +00:00
c3401eb5cb camera switching via markers
Currently access by selecting a marking and binding with the active camera from the view menu.

Note:
after long discussion we decieded there is no nice way to do this.. animate pointers? animate multiple camera visibility?, use sequencer? use NLA?.... have a kind of event system (like framechange scriptlinks)... etc
so this is ifdef'd with DURIAN_CAMERA_SWITCH
2009-12-16 19:49:33 +00:00
b6d2d9f63a have sequence strip rna not depend on the current editing sequencer context (TODO- rename) 2009-12-16 16:35:31 +00:00
fedea2eb5c Fix #20393: subsurfed objects only allow a single material. 2009-12-15 18:00:22 +00:00
8aa8efb327 * rna attributes for sequence strips - seq.start_frame_final & seq.end_frame_final
these expose the final start and end after offsets are applied. when set this is like grabbing the handle and moving it.
* made swapping strips shuffle effects and check for overlap.
2009-12-15 11:27:46 +00:00