Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-07-10Apricot Request:Joshua Leung
When changing the active action in the NLA editor with NLA-override off, armatures now have their restpose applied before the new action is evaluated. I've commented the code here to make it clearer what is going on.
2008-07-09[#17298] surface normal direction compensation for objects with negative ↵Campbell Barton
scale in rendering with radiosity from Roelf De Kock (kiemdoder) Fixes bug [#7969] Mirroring Object Breaks Radiosity Calculations - copied from the tracker. The code in this patch detects whether an object has negative scale (test the OB_NEG_SCALE bit in Object.transflag) and then compensate for the negative scale when the surface normals are calculated for a radiosity render.
2008-07-09Fixed bug #14510 - wave modifier crashBen Batt
CDDM_apply_vert_coords needs a CDDerivedMesh, but it was getting a CCGDerivedMesh from the preceding Subsurf modifier. This fix just makes a CDDerivedMesh copy of the supplied DerivedMesh rather than using it directly.
2008-07-09Buhh... and now I left in testing print in exr code.Ton Roosendaal
2008-07-09Replaced strcasecmp with BLI_strcasecmp, to make msvc happy!Ton Roosendaal
2008-07-09Fix for reported openexr file reading failures.Ton Roosendaal
For simple RGB(A) files, the channel names in openexr were supposed to be simply "R" "G" "B" and "A" too. Other programs like other names... like lower case, or like "ambient.r" Tested with file from renderman.
2008-07-09Fix for bugfix #12075: gamma node check for nan was alwaysBrecht Van Lommel
checking red channel.
2008-07-09soc-mx-2008: SWIG dependency - wrapper functions extracted from ↵Maxime Curioni
ModuleWrapper.cpp
2008-07-09soc-2008-mxcurioni: first (blank) file upload for SWIG removal, in ↵Maxime Curioni
source/blender/freestyle/intern/python. The migration will be based on source/blender/freestyle/intern/swig/ModuleWrapper.{cpp,h}
2008-07-08Fix for crash in freeing group nodes, node trees have to be freedBrecht Van Lommel
before materials.
2008-07-08BGE logic patch: new "Add" mode for Ipo actuator, several corrections in ↵Benoit Bolsee
state system. New Add mode for Ipo actuator ============================= A new Add button, mutually exclusive with Force button, is available in the Ipo actuator. When selected, it activates the Add mode that consists in adding the Ipo curve to the current object situation in world coordinates, or parent coordinates if the object has a parent. Scale Ipo curves are multiplied instead of added to the object current scale. If the local flag is selected, the Ipo curve is added (multiplied) in the object's local coordinates. Delta Ipo curves are handled identically to normal Ipo curve and there is no need to work with Delta Ipo curves provided that you make sure that the Ipo curve starts from origin. Origin means location 0 for Location Ipo curve, rotation 0 for Rotation Ipo curve and scale 1 for Scale Ipo curve. The "current object situation" means the object's location, rotation and scale at the start of the Ipo curve. For Loop Stop and Loop End Ipo actuators, this means at the start of each loop. This initial state is used as a base during the execution of the Ipo Curve but when the Ipo curve is restarted (later or immediately in case of Loop mode), the object current situation at that time is used as the new base. For reference, here is the exact operation of the Add mode for each type of Ipo curve (oLoc, oRot, oScale, oMat: object's loc/rot/scale and orientation matrix at the start of the curve; iLoc, iRot, iScale, iMat: Ipo curve loc/rot/scale and orientation matrix resulting from the rotation). Location Local=false: newLoc = oLoc+iLoc Local=true : newLoc = oLoc+oScale*(oMat*iLoc) Rotation Local=false: newMat = iMat*oMat Local=true : newMat = oMat*iMat Scale Local=false: newScale = oScale*iScale Local=true : newScale = oScale*iScale Add+Local mode is very useful to have dynamic object executing complex movement relative to their current location/orientation. Of cource, dynamics should be disabled during the execution of the curve. Several corrections in state system =================================== - Object initial state is taken into account when adding object dynamically - Fix bug with link count when adding object dynamically - Fix false on-off detection for Actuator sensor when actuator is trigged on negative event. - Fix Parent actuator false activation on negative event - Loop Ipo curve not restarting at correct frame when start frame is different from one.
2008-07-08Bugfix #16535Ton Roosendaal
The infamous Fkey 'make face' in editmode still failed in cases, giving an annoying convex error popup. Found two errors in this code: - not all cases were evaluated to make a face of 4 vertices (6 cases) - the function that makes always a face when the 4 edges already exist failed when not in vertex-select mode. I also removed the popup, but added a print... its still not perfect.
2008-07-08scenes set pose objects would draw in posemode while weight painting if they ↵Campbell Barton
were set to posemode in their scene.
2008-07-08Compiler warning fixes (how some of this stuff compiled without stopping ↵Joshua Leung
compiling I don't know) ;)
2008-07-08== Select Swap for Armatures (Ctrl I) ==Joshua Leung
It is now possible to swap the selection of bones in EditMode and PoseMode using the CTRL IKEY hotkey. As a result, the hotkey for adding IK Constraints has now changed to SHIFT IKEY (so that select swap can have a consistent hotkey)
2008-07-08-> UV and VCOL support for bevel (editmode)Geoffrey Bantle
BMesh and the bevel code now support UVs/VCOLS. The offset is fixed at this time, but will be made dynamic later.
2008-07-08own mistake with drawing used state bits.Campbell Barton
Other minor changes and removed some warnings.
2008-07-07[#17288] Sequencer API: added a method, a geter/setter, the blend modes dict ↵Campbell Barton
and corrected a malfunction on audio strips blend mode from Luca Bonavita (mindrones) - adds the method "rebuildProxy()" useful to rebuild all the strips at once: the user can do - adds a BlendModes dictionary under the Blender.Scene.Sequence module: the user can see the blending option with - adds the getter/setter "blendMode" - adds a function seq_can_blend in sequence.c as requested by Peter, useful for these purposes but also to solve a bug after - the bug is you can apply blend modes to an audio strip that doesn't make sense: changed the test and now you cannot assign blend mode other than Replace to audio strips Omitted DNA cleanup part since its only whitespace and Id prefer to have a useful "svn blame" output.
2008-07-07* New UV editor selection mode: IslandMatt Ebb
This goes alongside vertex and face selection and selects an entire UV island with a single click. It's a lot less painful to use when rearranging UV layouts, especially with Drag Immediately on - see: http://mke3.net/blender/etc/uv_island.mov
2008-07-07Derived Mesh BugfixMartin Poirier
EditMesh MEdge vertex index were doubled incremented, so more or less always wrong (even worse, could read outside of array).
2008-07-07Little tweak to timeline_force_draw, so that button windows are updated properlyJoshua Leung
2008-07-07Fix for bug: [#14570] particle system: grid distribution + vertex emitting bugJanne Karhu
- grid distribution didn't check for emission from vertices
2008-07-06soc-2008-mxcurioni: merge-repair with trunk rev 15456Maxime Curioni
2008-07-06=== Transform Snap ===Martin Poirier
Bugfix face snapping in edit mesh didn't test for selection properly
2008-07-06GameObject rayCast and rayCastTo were not setting exception strings (causes ↵Campbell Barton
return without exception set error) Also made game state buttons only have a dot in states that have controllers in them.
2008-07-06Bugfix #16669Ton Roosendaal
The Image "do premul" option didn't work when Image was of type Sequence. (Note: this option converts key-alpha images to premul, as is standard in Blender rendering)
2008-07-06#16675: Object name doesn't get updated in 3D viewports if it is changed via ↵Joshua Leung
Buttons Window
2008-07-06Bugfix #17139Ton Roosendaal
When "image type" is a movie, image file saving falls back to jpg as a default. The code checking extensions didn't correctly include quicktime.
2008-07-05soc-2008-mxcurioni: merged changes to revision 15441Maxime Curioni
2008-07-05soc-2008-mxcurioni: render buffer modificationMaxime Curioni
2008-07-05soc-2008-mxcurioni: render buffer formatMaxime Curioni
2008-07-05patch [#17275] Fix for: pressing delete on an empty sequencer pops up a ↵Campbell Barton
confirmation from Roelf De Kock (kiemdoder) to address report #15025
2008-07-05soc-2008-mxcurioni: render layer with FBOs -> render buffers, version 2. ↵Maxime Curioni
Still not working.
2008-07-05soc-2008-mxcurioni: first render layer implementation with frame buffer ↵Maxime Curioni
objects. It does not work yet: I cannot manage to read from the correct buffer yet.
2008-07-05->Last Commit broke compilation on GCCGeoffrey Bantle
CustomData_bmesh_set function header and prototype didnt match. For some reason this not only compiledon MSVC but didnt even warn...
2008-07-05== compile fix ==Andrea Weikert
- fix compilation for MSVC (added missing math define) - note: defines were already duplicated, added twice to keep them in synch
2008-07-04Made some python game engine funcs use NOARGS, getAxisVec was using wrong ↵Campbell Barton
multiplication order. Use BUT_TOGDUAL for controllers init states so you can see what the init state is for any controller without using the button to check.
2008-07-04-> Vertex Group support for bevel (editmode only)Geoffrey Bantle
Vertex groups are now preserved when beveling (editmode only). Modifier support as well as uv/vert colors to follow soon.
2008-07-04-> Moving Pooling Alloctor to BlenLibGeoffrey Bantle
Bmesh's pooling allocator is probably usefull for other parts of blender as well, so I am moving it to BlenLib.
2008-07-04BGE logic update: new servo control motion actuator, new distance constraint ↵Benoit Bolsee
actuator, new orientation constraint actuator, new actuator sensor. General ======= - Removal of Damp option in motion actuator (replaced by Servo control motion). - No PyDoc at present, will be added soon. Generalization of the Lvl option ================================ A sensor with the Lvl option selected will always produce an event at the start of the game or when entering a state or at object creation. The event will be positive or negative depending of the sensor condition. A negative pulse makes sense when used with a NAND controller: it will be converted into an actuator activation. Servo control motion ==================== A new variant of the motion actuator allows to control speed with force. The control if of type "PID" (Propotional, Integral, Derivate): the force is automatically adapted to achieve the target speed. All the parameters of the servo controller are configurable. The result is a great variety of motion style: anysotropic friction, flying, sliding, pseudo Dloc... This actuator should be used in preference to Dloc and LinV as it produces more fluid movements and avoids the collision problem with Dloc. LinV : target speed as (X,Y,Z) vector in local or world coordinates (mostly useful in local coordinates). Limit: the force can be limited along each axis (in the same coordinates of LinV). No limitation means that the force will grow as large as necessary to achieve the target speed along that axis. Set a max value to limit the accelaration along an axis (slow start) and set a min value (negative) to limit the brake force. P: Proportional coefficient of servo controller, don't set directly unless you know what you're doing. I: Integral coefficient of servo controller. Use low value (<0.1) for slow reaction (sliding), high values (>0.5) for hard control. The P coefficient will be automatically set to 60 times the I coefficient (a reasonable value). D: Derivate coefficient. Leave to 0 unless you know what you're doing. High values create instability. Notes: - This actuator works perfectly in zero friction environment: the PID controller will simulate friction by applying force as needed. - This actuator is compatible with simple Drot motion actuator but not with LinV and Dloc motion. - (0,0,0) is a valid target speed. - All parameters are accessible through Python. Distance constraint actuator ============================ A new variant of the constraint actuator allows to set the distance and orientation relative to a surface. The controller uses a ray to detect the surface (or any object) and adapt the distance and orientation parallel to the surface. Damp: Time constant (in nb of frames) of distance and orientation control. Dist: Select to enable distance control and set target distance. The object will be position at the given distance of surface along the ray direction. Direction: chose a local axis as the ray direction. Range: length of ray. Objecgt within this distance will be detected. N : Select to enable orientation control. The actuator will change the orientation and the location of the object so that it is parallel to the surface at the vertical of the point of contact of the ray. M/P : Select to enable material detection. Default is property detection. Property/Material: name of property/material that the target of ray must have to be detected. If not set, property/ material filter is disabled and any collisioning object within range will be detected. PER : Select to enable persistent operation. Normally the actuator disables itself automatically if the ray does not reach a valid target. time : Maximum activation time of actuator. 0 : unlimited. >0: number of frames before automatic deactivation. rotDamp: Time constant (in nb of frame) of orientation control. 0 : use Damp parameter. >0: use a different time constant for orientation. Notes: - If neither N nor Dist options are set, the actuator does not change the position and orientation of the object; it works as a ray sensor. - The ray has no "X-ray" capability: if the first object hit does not have the required property/material, it returns no hit and the actuator disables itself unless PER option is enabled. - This actuator changes the position and orientation but not the speed of the object. This has an important implication in a gravity environment: the gravity will cause the speed to increase although the object seems to stay still (it is repositioned at each frame). The gravity must be compensated in one way or another. the new servo control motion actuator is the simplest way: set the target speed along the ray axis to 0 and the servo control will automatically compensate the gravity. - This actuator changes the orientation of the object and will conflict with Drot motion unless it is placed BEFORE the Drot motion actuator (the order of actuator is important) - All parameters are accessible through Python. Orientation constraint ====================== A new variant of the constraint actuator allows to align an object axis along a global direction. Damp : Time constant (in nb of frames) of orientation control. X,Y,Z: Global coordinates of reference direction. time : Maximum activation time of actuator. 0 : unlimited. >0: number of frames before automatic deactivation. Notes: - (X,Y,Z) = (0,0,0) is not a valid direction - This actuator changes the orientation of the object and will conflict with Drot motion unless it is placed BEFORE the Drot motion actuator (the order of actuator is important). - This actuator doesn't change the location and speed. It is compatible with gravity. - All parameters are accessible through Python. Actuator sensor =============== This sensor detects the activation and deactivation of actuators of the same object. The sensor generates a positive pulse when the corresponding sensor is activated and a negative pulse when it is deactivated (the contrary if the Inv option is selected). This is mostly useful to chain actions and to detect the loss of contact of the distance motion actuator. Notes: - Actuators are disabled at the start of the game; if you want to detect the On-Off transition of an actuator after it has been activated at least once, unselect the Lvl and Inv options and use a NAND controller. - Some actuators deactivates themselves immediately after being activated. The sensor detects this situation as an On-Off transition. - The actuator name can be set through Python.
2008-07-04soc-2008-mxcurioni: foundations for Freestyle as a render layer - new UI ↵Maxime Curioni
buttons and mode flags, Freestyle API refactoring, modified pipeline to incorporate the new render layer. Compared to previously, the layer functionality is available when selecting 'Blender Internal' as the rendering engine. Freestyle's result is not available in the layer yet. I need to integrate OpenGL offscreen rendering properly (with framebuffer objects) to reach that goal.
2008-07-04non user visible changes and small optimizations to the game engine pyapi as ↵Campbell Barton
well as fixing some bugs. * 2 returning errors without exception set another return None instead of NULL. * a missing check for parent relation * BPY matrix length was incorrect in matrix.c, this change could break some scripts, however when a script expects a list of lists for a matrix, the len() function is incorrect and will give an error. This was the only thing stopping apricot game logic running in trunk. Also added a function for GameObjects - getAxisVect(vec), multiplies the vector be the objects worldspace rotation matrix. Very useful if you want to know what the forward direction is for an object and dont want to use Blender.Mathutils which is tedious and not available in BlenderPlayer yet.
2008-07-03Sun,Sky and atmosphere for lamps(sun type), PATCH#8063 ↵Hamed Zaghaghi
http://projects.blender.org/tracker/?func=detail&atid=127&aid=8063&group_id=9
2008-07-03== Python, GE & Threads ==Willian Padovani Germano
Martin Sell (thanks!) reported that threading via scripts was not working in the game engine with Blender 2.46 and later. My fault, to make pynodes work properly with threads > 1 I disabled Python's "check interval", preventing threads created via scripts from receiving time to run. Now only during rendering check interval is disabled (set to max int). Still experimental, I added the calls in BPY_do_all_scripts, since it's called in BIF_do_render, but will probably move the code to its own function after more testing & feedback.
2008-07-03Cloth collisions: Reorganized collision system to be more flexible for other ↵Daniel Genrich
parts of blender, so it can be more easily reused. Also slowed down friction impulse.
2008-07-02soc-2008-mxcurioni: renamed libQGLWidget's Camera class to ↵Maxime Curioni
AppGLWidget_Camera to use Blender's Camera struct, integrated the camera parameters from Blender. Perspective projection (precisely field of view) is now correct. Orthographic projection still having issues.
2008-07-01let the logic buttons operate on objects in different scenes. They would ↵Campbell Barton
already display but pressing the buttons did nothing. This is useful when using 1 scene for a character and another for a test level, so the character logic can be edited without switching scenes.
2008-06-30Fix for python APi error - (Campbell: please check :) ) -- using ↵Daniel Genrich
myLamp.setType(Area) resulted in 'TypeError: expected int argument in [0,5]' (reported in IRC by Djoef)
2008-06-30Fix crash in python API (Campbell: please check :) ) -- using ↵Daniel Genrich
myLamp.setType(number) crashed blender (reported in IRC by Djoef)
2008-06-30BGE python api addition, GameObject get/setState and Controller.getState()Campbell Barton
Also added a note in the tooltip for action priority when using more then 1 action at a time.