Commit Graph

5222 Commits

Author SHA1 Message Date
Joshua Leung
022e815fbd Sound clip NLA Strips for Nexyon
These are basically just for specifying when a speaker should fire off
it's soundclip, and as such, many NLA operations are irrelevant for
it. They can only be specified on object-level for speaker objects.

I've still got some UI tweaks I'll need to work on in order for these
to be able to be added even when the speaker doesn't have any NLA
tracks yet. (EDIT: while typing this, I had an idea for how to do
this, but that'll be for next commit). In the mean time, you'll need
to add a single keyframe for the object, snowflake that action and
delete the NLA strip before you can start editing.
2011-08-07 12:27:20 +00:00
Joerg Mueller
2d884fc035 3D Audio GSoC:
* Pepper depends on ffmpeg 0.7.1 or higher now, windows and mac build systems set to ffmpeg-0.8
* Fixed orientation retrieval in OpenAL device code.
* Added stopAll() method to AUD_IDevice (also for Python) and call it on BGE exit
* Changed BGE to use audaspace via native C++ instead over the C API.
* Made AUD_SequencerFactory and AUD_SequencerEntry thread safe.
* Changed sound caching into a flag which fixes problems on file loading, especially with undo.
* Removed unused parameter from sound_mute_scene_sound
* Fixed bug: changing FPS didn't update the sequencer sound positions.
* Fixed bug: Properties of sequencer strips weren't set correctly.
* Minor warning fixes.
2011-08-07 11:54:58 +00:00
Joshua Leung
dca090abc8 Assorted loose ends for auto-clamped handles work
* Tweaked order of handle types to make it easier to find Auto/Auto-
clamped in the list
* Fixed a number of places which were still just checking for auto-
handles when they should have included auto-clamped too, including
handle rotation
2011-08-05 11:23:28 +00:00
Joshua Leung
900928f8bf Bassam Feature Request: "Auto Clamped" handles can now be set per
handle/key

This used to be a weird per-curve setting which would happen to get
applied/work correctly if handles were set to "auto", and was a source
of constant confusion for both old and new animators. The main effect
of this handle-type/option was really to just ensure that auto-handles
stayed horizontal, instead of tilting as the keys were moved.

This commit simply changes this from a per-curve to per
keyframe/handle setting.
2011-08-04 14:13:05 +00:00
Joerg Mueller
c284725a1a 3D Audio GSoC:
* versioning stuff for btheme->tv3d.speaker
* separating object.c speaker functions in own source file

Thanks Brecht for the suggestions.
2011-08-04 07:12:03 +00:00
Joerg Mueller
6d7490632f 3D Audio GSoC:
* Minor audaspace library improvements.
* Considering location, velocity and orientation in AUD_SequencerReader and AUD_SequencerHandle.
* Bugfix: Maximum and Minimum volume weren't used before in the software device.
* Bugfix: Adding speaker objects via info space crashed.
* Listener settings now get updated in the audio system.
2011-08-03 09:25:40 +00:00
Joerg Mueller
4e8e502c02 Merging trunk up to r38932. 2011-08-02 12:16:06 +00:00
Joerg Mueller
3e85ec432e 3D Audio GSoC:
Adds new speaker object type.

Notes:
* Needs some nice icons
* Quickily review by Joshua Leung (5 mins)
* Properties UI updated (with help of Thomans Dinges)
* Speakers have their own theme color
* No real audio functionality yet.
* Minor bug regarding lamps/lattices fixed in interface_templates.c

I personality tested:
* Creation, Deletion, Duplication
* Saving, Loading
* Library linking (incl. make local)
* Tracking
* Dope Sheet, Outliner
* Animation
* Drawing (incl. Theme)
2011-08-01 11:44:20 +00:00
Campbell Barton
cd793378db fix [#28112] Vertex paint crash 2011-08-01 06:50:24 +00:00
Campbell Barton
af39f26360 fix, uvproject modifier wasn't copying the uv layer name,
also edit var names from recent commit to better fit with other functions.
2011-08-01 05:25:30 +00:00
Campbell Barton
9da712a581 replace dutch variable name 'aantal' with 'tot' 2011-08-01 02:58:44 +00:00
Campbell Barton
f48b906261 fix for failure to create curve knots when both endpoint and bezier U were enabled.
use default when invalid settings given.

removed odd/annoying bit shifting of the flagu/v for such basic function made code hard to understand and would fail if new flags were added.
2011-08-01 02:52:08 +00:00
Campbell Barton
c74bb09584 fix for material slot removal (r38879)
- The object ID was being passed to the data_delete_material_index_id() from object_remove_material_slot(), rather then the object data. (so the material slot fix wouldnt run in that case).
- add support for fixing text object materials too.
2011-07-31 12:43:41 +00:00
Dalai Felinto
432bd158fb bugfix [#28111] material.pop breaks mt->mat_nr
create a new parameter for materials.pop() to not remove material slot.
this way the mat_nr is still the old one.

for the default behaviour we now have material remapping (i.e. data_delete_material_index_id(id, index)).
This new function is brought from the material_slot remove function.
2011-07-31 11:12:38 +00:00
Nicholas Bishop
6c3bb8b903 EditMesh-based skin node drawing 2011-07-31 02:03:48 +00:00
Nicholas Bishop
cff57b14a1 Imported bsphere.c, mostly ifdef'd out for now 2011-07-31 02:03:39 +00:00
Nicholas Bishop
601eb68420 Added SkinNode DNA and customdata. 2011-07-31 02:03:21 +00:00
Joerg Mueller
29f214f7f3 Merging up to trunk r38834. 2011-07-29 21:28:18 +00:00
Thomas Dinges
6a27da310c While looking at the bug report, found some more issues...
This is the result of RNA renaming at it's glance. ;-)
2011-07-29 20:59:46 +00:00
Thomas Dinges
99997ccd18 Fix for [#28117] Diffuse reflection IPO curve not imported correctly from 2.49b files 2011-07-29 20:46:30 +00:00
Mitchell Stokes
eb7b1f0c58 This allows the game engine to build again, but I'm not sure if it's the best approach. Aligorith: feel free to revert this if there is a better solution. 2011-07-28 15:07:32 +00:00
Joerg Mueller
bd6ca0570e 3D Audio GSoC:
Implemented basic audio animation.

* AnimatableProperty: Propper cache writing and spline interpolation for reading (the solution for stair steps in audio animation)
* Animatable properties so far are: volume, pitch, panning
* Users note: Changing the pitch of a sound results in wrong seeking, due to the resulting playback length difference.
* Users note: Panning only works for mono sources, values are in the range [-2..2], this basically controls the angle of the sound, 0 is front, -1 left, 1 right and 2 and -2 are back. Typical stereo panning only supports [-1..1].
* Disabled animation of audio related ffmpeg output parameters.
* Scene Audio Panel: 3D Listener settings also for Renderer, new Volume property (animatable!), Update/Bake buttons for animation problems, moved sampling rate and channel count here
2011-07-28 13:58:59 +00:00
Sergey Sharybin
2dc826f083 New option for multires modifier: Subdivide UVs
Enabled by default and also enabled for older filesm so
there should be no regressions.

In some cases it's useful to not use subdivided uvs for multires.
2011-07-28 11:16:10 +00:00
Dalai Felinto
f532ccedf5 refix for #27912: crash after mesh.materials.pop() (fixed wrongly on rev. 38299 - patch by Benoit Boilsee
bug spotted while reviewing a patch.
things are working now
2011-07-27 20:36:11 +00:00
Campbell Barton
3b6cb504b1 minor warning fixes for clang-static-checker 2011-07-27 13:03:56 +00:00
Campbell Barton
48a64ffa70 more minor warning cleanups and improve error reporting if text fails to save. 2011-07-27 06:55:20 +00:00
Joerg Mueller
9077b8bffc 3D Audio GSoC:
Main: Complete rewrite of the sequencer related audio code to support 3D Audio objects later and especially adressing the animation system problems (see mailing list if interested).
Note: Animation is not working yet, so with this commit volume animation doesn't work anymore, that's the next step.

Minor things:
* Changed AUD_Reference behaviour a little to be more usage safe.
* Fixed bug in AUD_I3DHandle: Missing virtual destructor
* Fixed enmus in AUD_Space.h
* Fixed a warning in rna_scene.c
* Removed an unneeded call in rna_sound.c
2011-07-26 13:56:31 +00:00
Sergey Sharybin
7c9033d606 Fix #28087: Opening files in the text editor ignores the last newline '\n'
It was tricky conversion of file buffer to text lines. Should work fine now.
2011-07-26 08:13:27 +00:00
Janne Karhu
a22de3f73c Effector calculations are now thread safe.
* where_is_object_time was called for every effector evaluation only to determine the object velocity in some rare cases.
* Calculating the effector velocity is now done in the effector precalculation stage.
* Removing this makes the code thread safe and also should give some nice performance boosts when simulating a lot of points.
* Thanks to MiikaH for noticing this problem.
2011-07-24 17:44:22 +00:00
Joshua Leung
6a392e8cb5 == RNA Property Updates get called by Animation System now ==
This fixes bug #26764 and several others like it, where modifier
properties (and others, but most visibly modifiers) would not do
anything when animated or driven, as modifier properties require the
RNA update calls to tag the modifiers to get recalculated.

While just adding a call to RNA_property_update() could have gotten
this working (as per the Campbell's patch attached in the report, and
also my own attempt #25881). However, on production rigs, the
performance cost of this is untenatable (on my own tests, without
these updates, I was getting ~5fps on such a rig, but only 0.9fps or
possibly even worse with the updates added).

Hence, this commit adds a property-update caching system to the RNA
level, which aims to reduce to the number of times that the update
functions end up needing to get called.

While this is much faster than without the caching, I also added an
optimisation for pose bones (which are numerous in production rigs) so
that their property updates are skipped, since they are useless to the
animsys (they only tag the depsgraph for updating). This gets things
moving at a more acceptable framerate.
2011-07-24 04:34:46 +00:00
Joerg Mueller
682cc63161 Merging with trunk up to r38631. 2011-07-23 16:34:30 +00:00
Campbell Barton
6040a28f03 missed this file when adding option to disable frameserver 2011-07-22 00:34:03 +00:00
Campbell Barton
e6604288c8 cmake - option to disable the frame server 2011-07-21 23:06:51 +00:00
Joerg Mueller
4532bd731d Merge with trunk up to r38584. 2011-07-21 21:11:58 +00:00
Campbell Barton
28780342ed fix/workaround [#28040] float images reduced to 256 levels per channel upon save
Generated images would not be re-generated with a float buffer on load, even when selected on creation.
Now save the float buffer setting as a generated image flag.

This means you can enable before baking to enable baking to a float buffer.
2011-07-21 00:41:00 +00:00
Campbell Barton
ce0ad0b40b fix [#28018] Sequence Swap Data Operator does not work 2011-07-19 01:36:59 +00:00
Janne Karhu
9469f0d0af Bug fix: particle cache should only be cleared on the exact first integer frame, not in the case of a subframe between the first and second frame. 2011-07-18 02:40:54 +00:00
Campbell Barton
1fd33b6e77 cmake option to build without smoke sim: WITH_MOD_SMOKE 2011-07-13 18:40:21 +00:00
Campbell Barton
5e841e4b4a fix for animation playback and build error when compiling without WITH_AUDASPACE 2011-07-13 17:24:33 +00:00
Joerg Mueller
d9cf985730 Merging trunk up to r38329. 2011-07-12 13:09:22 +00:00
Joshua Leung
2fd3ae7539 Bugfix #27881: Motion paths don't correctly update with pose sliding
tools
2011-07-12 03:02:53 +00:00
Brecht Van Lommel
7dfe34864e Fix #27912: crash after mesh.materials.pop(). 2011-07-11 09:08:08 +00:00
Brecht Van Lommel
8ca556a32a Fix #27921: optimal display with 2 subsurf modifiers fails. 2011-07-11 09:05:10 +00:00
Janne Karhu
897cbe4b42 Fix for [#27398] Particle systems with animated groups render incorrectly in viewport
* Hmph.. depsgraph and group duplication == illogical.
2011-07-10 23:49:59 +00:00
Janne Karhu
2fb4a37baa Fix for [#27289] Hair: Render Option - Object does not point objects to end of "hair path"
* Objects are now always rotated in the directions of the hair paths
* Secondary fix: particle size wasn't updated for hair particles, so dupliobject size couldn't be change after the hair was edited
2011-07-10 17:30:31 +00:00
Janne Karhu
de7592b489 Fix for [#26873] Animated displacement modifier on an object doesn't work with hair particle objects
* Noise is now considered an animated texture as it changes with every frame
* Converted a few places in particles code to use the particle system's own random table instead of BLI_frand.
2011-07-10 17:04:56 +00:00
Ton Roosendaal
de10ffab75 Bugfix #27761
Material nodes: when no output node was active, it sets one.
Not common to happen anymore, only for deleting output nodes
without clicking on nodes.
2011-07-09 17:03:35 +00:00
Sergey Sharybin
5506d18fa8 Fox #27866: Curve handle snaps/locks when it shouldnt
It was a precision error in calchandleNurb. Do not align handles
along handle which si too short.
2011-07-09 14:22:52 +00:00
Nicholas Bishop
abdf420a6d == GPU Buffers ==
This patch attempts to clean up and document the GPU buffers
code. There are a few bug fixes as well.

Patch reviewed here: http://codereview.appspot.com/4631052/

Summary:

* Bugfix: make GPU_buffer_copy_normal convert from shorts to floats
  correctly, also fixed the use of cached face normal CustomData.

* Bugfix: changed the `mat_nr' field of GPUBufferMaterial from char to
  short.

* Changed color buffer setup to not alloc a temporary copy of color
  data, just passes the MCol data in directly.

* Changed the GPU buffer pool code to make clearer what operates
  specifically on the global pool.

* Lots of refactoring for GPU_drawobject_new; should operate mostly
  the same (except got rid of one unecessary allocation), just split
  into more functions and without macros now.

* Converted some #defines into enumerations.

* Made some stuff private, pulled out of header file.

* Deleted unused function GPU_buffer_pool_free_unused().

* Removed GPU_interleaved_setup and related #defines. (I think this
  was used for editmode VBOs, but those were disabled.)

* Added lots of comments.

* Added a few comments in the code signed `--nicholas' to note places
  where I am unsure about design or usage, would be good to address
  these better.

* Code formatting changed to be more consistent with the rest of
  Blender.

* Renamed some fields and variables to be more consistent with
  Blender's naming conventions.

* Renamed some fields and variables to use more descriptive names,
  e.g. renamed `redir' to `mat_orig_to_new'.

* Removed print outs with DEBUG_VBO -- don't feel too strongly about
  this one, just not used elsewhere in Blender, could be easily added
  back if others disagree though.

* Moved the PBVH drawing code down to the bottom of the file, before
  was sitting in the middle of the other VBO code
2011-07-08 19:58:02 +00:00
Brecht Van Lommel
a5906de7c4 Fix #26962: softbody collision doesn't respect subsurf+displace modifiers.
Softbody was still using a flag to determine if it should use the final or
deform derivedmesh, but this wans't exposed in the UI. Others systems use the
collision modifier, now softbody uses it also to get vertices and faces, but
with own collision code.
2011-07-08 13:22:58 +00:00