Commit Graph

7007 Commits

Author SHA1 Message Date
Campbell Barton
3511f8ef9f BGE Physics
Clamp objects min/max velocity.
Accessed with bullet physics from the advanced button with dynamic and rigid body objects.
- useful for preventing unstable physics in cases where objects move too fast.
- can add linear velocity with the motion actuator to give smooth motion transitions, without moving too fast.
- minimum velocity means objects don't stop moving.
- python scripts can adjust these values speedup or throttle velocity in the existing direction.

Also made copy properties from an object with no properties work (in case you want to clear all props)
2009-04-14 12:34:39 +00:00
Benoit Bolsee
0b8661ab4d BGE: Occlusion culling and other performance improvements.
Added occlusion culling capability in the BGE. 
More info: http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.49/Game_Engine#BGE_Scenegraph_improvement
MSVC, scons, cmake, Makefile updated.

Other minor performance improvements:
- The rasterizer was computing the openGL model matrix of the objects too many times
- DBVT view frustrum culling was not properly culling behind the near plane:
  Large objects behind the camera were sent to the GPU
- Remove all references to mesh split/join feature as it is not yet functional
2009-04-13 20:08:33 +00:00
Campbell Barton
17f35293ee PropertyActuator toggle option didnt run when the Value field was empty. 2009-04-12 16:10:43 +00:00
Campbell Barton
55d2b184ec added "toggle" an option for the property actuator.
much less hassle then setting up a property sensor and 2 assignment actuators, or through python.
2009-04-12 07:24:04 +00:00
Janne Karhu
48514b3d52 Fix for: [#18499] Particle size can only be set in steps of 0.1
- Some button settings were wrong.
2009-04-10 21:07:32 +00:00
Janne Karhu
c1cf50be79 Mesh effector surface option:
- Most mesh particle effectors can now have their effection point taken per particle as the nearest point on the mesh surface.
- This is activated with the "surface" button in the effector field panel.
- Activating the option adds a "surface" entry to the modifier stack where the state of the mesh is read from.

For an example of usage see http://www.youtube.com/watch?v=3XkO1EAmJks.
2009-04-10 19:40:21 +00:00
Benoit Bolsee
2074128fad Patch #18462: Fisheye (Dome) and Spherical Panoramic mode in BGE.
User guide:
http://wiki.blender.org/index.php/Dev:Source/GameEngine/Fisheye_Dome_Camera

Fixed two bugs from original patch:
- deleting a text will clear the warp field from Game framing settings
- removed spurious black dots along the edge of the cube map in the gameplayer 

Known limitation:
- resizing of the screen doesn't work in the gameplayer

Known bugs:
- Texture with reflexion are not rendered correctly
- Spurious problems with light
2009-04-08 15:06:20 +00:00
Benoit Bolsee
51b4145841 BGE Scenegraph and View frustrum culling improvement.
This commit contains a number of performance improvements for the
BGE in the Scenegraph (parent relation between objects in the
scene) and view frustrum culling.

The scenegraph improvement consists in avoiding position update
if the object has not moved since last update and the removal
of redundant updates and synchronization with the physics engine.

The view frustrum culling improvement consists in using the DBVT
broadphase facility of Bullet to build a tree of graphical objects
in the scene. The elements of the tree are Aabb boxes (Aligned 
Axis Bounding Boxes) enclosing the objects. This provides good
precision in closed and opened scenes. This new culling system
is enabled by default but just in case, it can be disabled with
a button in the World settings. There is no do_version in this
commit but it will be added before the 2.49 release. For now you
must manually enable the DBVT culling option in World settings
when you open an old file.

The above improvements speed up scenegraph and culling up to 5x.
However, this performance improvement is only visible when
you have hundreds or thousands of objects.

The main interest of the DBVT tree is to allow easy occlusion
culling and automatic LOD system. This will be the object of further
improvements.
2009-04-07 22:14:06 +00:00
Martin Poirier
486985762a etch-a-ton
Use head not tail normal for bone orientation.
Simplify roll to normal a bit.
2009-04-07 20:05:32 +00:00
Campbell Barton
d012a222a2 Some users have odd joysticks with more then 8 axises, increased to 16 (so 4 joysticks)
Ideally there would be no limit but I dont think its worth the effort.
Also had a bug in last commit for the pytyhon api's "axisSingle" attribute, UI index starts at 1 not zero.
2009-04-07 19:21:48 +00:00
Campbell Barton
885fa49aa4 BGE Joystick Sensor
- Raised limit of 2 axis to 4 axis pairs (4==8 joysticks axis pairs)
- Added a new Joystick Sensor type "Single Axis", so you can detect horizontal or vertical movement, rather then just Up/Down/Left/Right
- added Python attribute "axisSingle" so you can get the value from the selected axis (rather then getting it out of the axis list)
- renamed Py attribute "axisPosition" to "axisValues" (was never in a release)

If we need to increase the axis limit again just change JOYAXIS_MAX and the button limits.
2009-04-07 06:23:45 +00:00
Janne Karhu
7e23b7dc54 Texture effector nabla didn't have a correct initial value and it's button explanation needed some work. 2009-04-07 00:15:58 +00:00
Ton Roosendaal
445ca000bc bugfix #18398
When using 'angle' display for camera, the 'lens' ipo didn't update this
button. Implementation still lacks a bit... having both variables in the
camera struct is asking for troubles. Put on the re-think list for 2.5!
2009-04-06 18:08:15 +00:00
Joshua Leung
9a1e1912e1 2.4x Bugfix - #18188: "Clear user transform" does not work as described
For the record, "Clear user transform" is supposed to restore selected bones to the transforms defined by Actions/NLA, not back to rest position.
2009-04-06 00:04:04 +00:00
Joshua Leung
3fa7717b57 2.4x - Grease Pencil: Swapping the order of args for gpencil_frame_delete_laststroke() to be more consistent with the rest of the Grease Pencil API. 2009-04-05 06:54:47 +00:00
Janne Karhu
9982217a72 Fix for: [#18273] reactor particle spowns to earlier.
Particle life "rand" value could be set above "1.0" allowing for negative particle lifetimes.
2009-04-04 14:34:39 +00:00
Janne Karhu
bc789af5a9 Cleanup of particle object visualization code. No new features and hopefully no new bugs. 2009-04-03 14:54:29 +00:00
Janne Karhu
e30cb79aaa Major cleanup of particle render & drawing code. No new features and hopefully no new bugs. 2009-04-03 14:50:54 +00:00
Joseph Eagar
60bd7d12fc fix for last commit, needed some additional checks 2009-04-03 04:36:38 +00:00
Joseph Eagar
8ca30120a2 made grease pencil delete a frame if you delete all the strokes in it. 2009-04-03 03:16:31 +00:00
Guillermo S. Romero
441f26a170 Clean up for the imminent migration from SVN to GIT. 2009-03-31 22:34:34 +00:00
Martin Poirier
74e6231ff4 == etch-a-ton ==
Correct joint-guided roll to use the previous bone, not the following (that was silly). Also made first bone use view axis (since it has no previous), this is much nicer that using rotation correction only. Using the joint roll option makes it MUCH more orientation independant.
2009-03-31 14:29:58 +00:00
Martin Poirier
ac2de0f28d Hide full retarget panels behind rt -1 (not ready for large scale use and not too well documented yet. Doesn't affect etch-a-ton. 2009-03-30 15:26:14 +00:00
Erwin Coumans
b182778e71 Applied patch #18446, to do versions on damping
Re-enable vertex welding, only for soft bodies. They require it. Future versions could expose such vertexWeldingThreshold.
2009-03-29 19:54:05 +00:00
Campbell Barton
6fd597b304 removed unneeded arg from makeknots() and replaced some numbers with defines 2009-03-28 05:51:18 +00:00
Campbell Barton
f61ce664bc Tooltip fix, there is no such thing as "Tadius interpolation" 2009-03-28 04:25:21 +00:00
Martin Poirier
616897d0db Bad crash in volume snapping code when duplis where involved.
Found out using Coverity's scan report.
2009-03-24 19:39:43 +00:00
Kent Mein
6020d2cb45 Changed missing line ending style for TEX_ files
in sculptmode.c move initalization of a var to fix an issue
where index of array could be -1.
Found by coverity.

Kent
2009-03-24 19:39:02 +00:00
Campbell Barton
688db0f251 [#18260] FMOD Removal
from Jorg Muller (nexyon)

also removed references to CVS in install
2009-03-24 09:09:10 +00:00
Peter Schlaile
615c5232c7 == FFMPEG ==
Updated ffmpeg to release version 0.5
updated x264 to today's daily build
thanks to ben2610 for first patches (but you got hddaudio.c wrong :)
2009-03-22 19:19:21 +00:00
Campbell Barton
483ee1157e fixes for...
[18429] Typo in IPO Actuator

[18377] Crash fo yofankie (G.curscreen==NULL)
		/* No screen, happens when saving a blendfile in background mode,
		 * then loading in the game engine
		 * just assume we need the mesh info */
2009-03-20 06:12:22 +00:00
Campbell Barton
a1e05f4617 patch from Banlu Kemiyatorn
* when joining only 2 faces dont check they are convex
* allow edge rotate for non planer faces
- Both were very annoying especially when sub-surf modeling with edge loops
2009-03-20 02:26:02 +00:00
Martin Poirier
c5bc4e4fb1 New icon and button for Peel Object option for volume snapping.
Use snap point to get default embedding depth (for overlapping volumes).
2009-03-17 21:26:09 +00:00
Martin Poirier
772e5fbfb0 fix crash with missing image sequence 2009-03-16 21:39:12 +00:00
Martin Poirier
7d2703c805 Merging etch-a-ton branch in trunk.
Slightly out of date documentation in wiki, I'll be updating that tomorrow.

http://wiki.blender.org/index.php/User:Theeth/etch-a-ton
2009-03-16 02:55:42 +00:00
Martin Poirier
54a55827ec merging trunk 19093:19274 2009-03-13 18:04:38 +00:00
Kent Mein
0ac3e70160 removed extra space in text.
Kent
2009-03-11 02:58:18 +00:00
Kent Mein
d17ca2179d Addes libopenjpeg (jpeg2000) support to the Makefiles
Kent
2009-03-10 16:04:29 +00:00
Erwin Coumans
06d455f428 Add support to lock individual axis during rigid body simulation, for translation and rotation. This makes it easier to do 1D or 2D physics (tetris, blockout)
todo: create some example/demo.blend.
2009-03-09 07:12:16 +00:00
Kent Mein
78af62bec8 Addes jpeg2000 support to cmake.
I also did some small tweaks.  removed ifdef's for pluginapi
didn't need them there.
Fixed it so the filesel shows jp2 as image files.
(I'm going to do makefiles next)

Kent
2009-03-06 15:46:13 +00:00
Martin Poirier
892a667959 Limit cascading rotations (rotation on each child of a chain) to Individual Center mode, as I thought I had done at first. :| 2009-03-01 15:03:45 +00:00
Martin Poirier
dff781c2a8 Continue snapping cleaning job.
Snap to armature correctly in edit mode and when posed.
Merge snap and embed in skeleton sketching. Ctrl key does both, depends on the snap mode (volume or other). Snaps to other strokes in all snapping mode except Volume.
2009-02-25 20:07:45 +00:00
Campbell Barton
97e70ef3c4 forgot this file- remove Sumo from the menu if its disabled. 2009-02-25 17:20:41 +00:00
Campbell Barton
a4ad52f1aa New Pulse option for the collision sensor (off by default wont change existing logic)
Previously only the first collision would trigger an event (no collisions a negative event ofcourse)

With the Pulse option enabled, any change to the set of colliding objects will trigger an event.

Added this because there was no way to count how many sheep were on a platform in YoFrankie without running a script periodically.

Changes in collision are detected by comparing the number of objects colliding with the last event, as well as a hash made from the object pointers.

Also changed the touch sensors internal list of colliding objects to only contain objects that match the property or material.

- pulse isnt a great name, could change this.
2009-02-25 17:19:30 +00:00
Campbell Barton
7fffb0b630 Building the game engine with Solid/Sumo is now optional for scons using WITH_BF_SOLID.
Now Sumo is has been deprecated for a while we might want to remove it for 2.5.
2009-02-25 12:07:51 +00:00
Martin Poirier
aa7c45c190 Snaping cleanup, removing a lot of duplicate code.
Snapping to armatures: non-editmode armatures only, rest pose only, ... (this is mostly work in progress code).
2009-02-24 21:25:36 +00:00
Martin Poirier
57c7200a65 Merging volume embedding and transform snapping.
- Volume embed is available as a transform snap option (need new icon). Not as "continuous" as stroke embed, will have to be fixed somehow.
- Transform snaps work in armature edit mode (only snap to mesh, not other armatures, for now). Adding to other edit data type should be easy.
- Strokes can use all the transform snap options plus volume embed.

Bug fix: added small threshold to face snap (and volume embed) to prevent slipping in cracks between faces. More tweaking needed but this now takes care of all the worst cases.
2009-02-24 00:45:40 +00:00
Martin Poirier
7c830b75f1 merging trunk 17520:19093 2009-02-23 21:00:42 +00:00
Campbell Barton
334da0fa57 [#18291] Viewing muliple object UV's in the UV/Image editor
patch from Chris and Guillermo S. Romero.
2009-02-23 12:35:16 +00:00
Campbell Barton
7d2582de09 more uninitialized variables and auto-complete could copy a string over its self. 2009-02-18 05:49:51 +00:00