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
2006-11-14Next level of Proxy support for animation: Proxy for duplicated groups.Ton Roosendaal
Notes: - Only referenced groups (from other files) - Only 1 group (no more duplicates using same group yet) - Only Proxy working well for Armature or Empty Is going to be reviewed in Plumiferos team; but target is that this will solve a major animation pipeline bottleneck :) Usage; select group, alt+ctrl+p, pick an object you want to proxify.
2006-11-11Experimental feature, especially for the animation department:Ton Roosendaal
THE OBJECT PROXY Or simple said; local control of referenced data from libraries. Having library files with references is a very common studio setup, and Blender did do quite well in that area. Were it not that for character setups it was impossible to use still. This commit will enable a full rig+character to remain in the library, and still have - under strict control - local access for animation edits. Full log: http://www.blender3d.org/cms/Proxy_Objects.824.0.html
2006-11-06Merged Google Summer of Code sculptmode/multires/retopo tools.Nicholas Bishop
From the tracker: https://projects.blender.org/tracker/index.php?func=detail&aid=5018&group_id=9&atid=127
2006-10-26== Transform ==Martin Poirier
Embryon functionnality for snapping. - Only snaps to grid on translations (grab) - Transform constraints are supported but header display is wrong. - Can be turned on/off in the Object/Mesh header menu under Transform Properties (tentative spot, will have to integrate better and in other object type menus too) - Can be turned on/off during transform with ` (Back Quote, also tentative) This is, of course, very much Work in Progress. This implements part of the structural ideas for the transform cleanup I've been juggling around with.
2006-09-25* Proportional edit mode 'random' falloffMatt Ebb
This is another proportional edit falloff that slightly randomises the influence. It's not strictly random, it's blended with linear falloff so that it's a bit smoother. The nice thing is that it works with all transforms, axis locking etc, including the special ones like to sphere, shrink/fatten/etc. It can be used for all sorts of things like roughening surfaces. I most recently used it to add a bit of randomness to the folds of some cloth. I made a short demo video here: http://mke3.net/blender/etc/prop_random-h264.mov Also included nicer icons for the falloff types.
2006-08-23Bugfix: structure declaration in the middle of code was breaking compilation.Ken Hughes
2006-08-22* Patch #4909 by Joseph Eagar (joeedh)Nathan Letwory
- this patch adds verse support for SCons, which can be enabled by giving WITH_BF_VERSE=1, ie. on command-line - this patch also adds a custom lib dir possibility. From the patch description: "To set a custom ../lib dir, put LCGDIR="path to lib dir, including the platform folder name!" in your user-config.py." * Fixed win32-vc-config.py so that it links to the proper library. Reported by Brandano.
2006-08-20Huge commit: VERSEJiri Hnidek
- All code is in #ifdef ... #endif - Only make build system is supported and you have to add: export WITH_VERSE=true to user-def.mk file - Blender can share only mesh objects and bitmaps now - More informations can be found at wiki: http://mediawiki.blender.org/index.php/BlenderDev/VerseIntegrationToBlender http://mediawiki.blender.org/index.php/BlenderDev/VerseIntegrationToBlenderUserDoc I hope, that I didn't forget at anything
2006-08-13* Shrink/Fatten for bevelled curvesMatt Ebb
This is a much faster and easier way to give a bevelled curve a taper, without using taper curves. Each point on a curve now has a 'radius' value that you can shrink and fatten using Alt S, which will influence the taper when the curve is bevelled (either with a bevob, or with front/back turned off and a bevel dept set). Alt S shrinks and fattens the selected points in an interactive transform, and you can set an absolute radius for selected points with 'Set Radius' in the curve specials menu. See demo: http://mke3.net/blender/etc/curve_shrinkfatten-h264.mov This can be a quick way to create revolved surfaces (eg. http://mke3.net/blender/etc/wineglass-h264.mov ) and it would be very interesting to use this radius value in other tools, such as a 'freehand curve' tool that would let you draw a curve freehand, with the radius affected by pen pressure, or even using the radius at each point to control curve guides for particles more precisely, rather than the continous maxdist.
2006-07-03missed a call in transform editmode active pivot to calculateCenter2D, now ↵Campbell Barton
it works as expected.
2006-03-27Seperated out some functionality into 3 new functions.Campbell Barton
EM_editselection_center EM_editselection_normal EM_editselection_plane These functions are used by the manipulator to get data from an editselection. regardless of weather its a face/edge/vert.
2006-03-27Added rotate about centre for active Vert/Edge/Face in mesh editmode. also ↵Campbell Barton
works for getting the V/E/F normal. Means we can now rotate about the last selected edge.
2006-03-11Fix for bug #3997:Brecht Van Lommel
Rotating UV coordinates with snapping was image aspect ratio 'corrected' for non square images. Only snapping for translation should be affected by the aspect ratio.
2006-02-05UV Editor Tweaks:Brecht Van Lommel
- Set local sticky in the uv editor as default. - Don't do live unwrap on fully selected charts or charts with no pins selected. - Fixed bug with live unwrap not respecting transform cancel in some cases. - "View Home" didn't work without an image. - Move UV Calculation settings (cube size, cylinder radius, ..) into the scene toolsettings, instead of global variables - Remove the name LSCM from the UI (and python docs on seams), and replace it with 'Unwrap', with upcoming ABF this didn't make sense anymore. - Move the Old/New LSCM switch into the UV Calculation panel. New LSCM is the default now. Also renamed LSCM there to "Conformal". - Made some room in the UV Calculation panel by removing the buttons to execute the UV calculation, only leaving the settings. Fill Holes: - LSCM now has an option to fill holes in the chart before unwrapping. This on by default, and enables two things: - Prevent internal overlaps (e.g. eyes, mouth) for LSCM unwrapping. - Allow the internal boundaries to move freely during stretch minimize. - The possibility to switch it off is there because it is not always possible to define which the outer boundary is. For example with an open cylinder where there are two identical holes.
2006-01-28Final merge of HEAD (bf-blender) into the orange branch.Chris Want
Here are my notes on things to look out for as potential problem spots: source/blender/blenkernel/intern/displist.c: + is initfastshade(void) supposed to be empty? I had to make it empty to get the merged tree to compile. source/blender/python/api2_2x/Armature.c: + went with the version that had Armature_getLayers() source/blender/python/api2_2x/Object.c + went with the version of Object_getPose() from bf-blender. (#ifdef 0-ed the other version) source/blender/python/api2_2x/Pose.[ch] + had problems linking due to no Pose_Init() ... copied these two files straight from bf-blender. source/blender/src/drawview.c: + view3d_panel_properties() had things shifted a few things shifted a few pixels, otherwise, things were painless source/blender/src/splash.jpg.c: + went with bf-blender version (orange is dead) source/gameengine: + went with bf-blender version -- does not compile due to IMB_rect* stuff, Ton should look into this.
2006-01-14Bug fix: #3684Martin Poirier
When grabing a camera in camera view, the constraint center wasn't the center used for initgrabz, so it messed up a lot.
2005-12-19Orange: monday merger with bf-blender (loadsa bugfixes).Ton Roosendaal
ALso: a bit tidying up in editaction.c and python Object.c
2005-12-19#3593Ton Roosendaal
The user settings "auto rotate grid" or "auto scale grid" were never implemented for new transform, apparently.
2005-12-04Orange fix: previous commit from Brecht called unwrap_lscm_live_end()Ton Roosendaal
without check for correct spacetype in use. :)
2005-12-04More work on the new unwrapper code (orange branch):Brecht Van Lommel
- There is now a (temporary) dropdown box in the image window header for switching between the old an new unwrapper code. So to test the changes described below you need to enable the new unwrapper code. - Pinning is now more predictable, if one uv is pinned, the others belonging to the same vertex are pinned also. - Live LSCM is much faster, since the LU factorization, the most expensive part of the computation, is now stored and reused (was Jens' idea). - Packing multiple uv charts is slightly improved, by doing a binary search over the texture width. This fixes the case where all the charts are packed at the bottom of the image. - LSCM now uses an angle based formulation, and the results seem somewhat different (maybe slightly better?), didn't find out why yet.
2005-12-01True X-mirror mesh editing!Ton Roosendaal
Set the option in EditMode, in 2nd mesh tools panel. It only works on transform options now (grab/rot/scale), and of course assumes a near- perfect symmetrical mesh. Mesh Object itself can be on any location though (and rotated etc).
2005-11-23New stuff & fixes in Blender OSA filtering.Ton Roosendaal
While investigating alternative filters (Mitchell), I found two small errors in the Gauss code, it clipped wrong and multiplied wrong, causing settings other than filter size 1.0 to not work properly. Took the last-minute liberty to add more filter types in Blender too. Also wrote an extensive log about how sampling & filtering in Blender works. http://www.blender3d.org/cms/Samples_and_Filtering.723.0.html
2005-11-22* LSCM live transform is finally here!Matt Ebb
This is a combined effort from Jens, Ton who finished the code here on my machine, and myself putting in the little menu toggle and committing :). Turn it on and off in the UV/Image window menu UVs -> LSCM Live Transform. It recalculates the LSCM within the transform loop when you're transforming pinned vertices, so it gives realtime feedback - a real time saver! Note: this is much more powerful than proportional edit, since it's properly calculating LSCM using the correct edge angles, etc. I recorded a quicky demo video here: http://orange.blender.org/wp-content/themes/orange/images/media/lscm_live.mov (quicktime animation codec)
2005-11-16Mirror modifier with "do clipping" set crashed in transform when noTon Roosendaal
td->loc was set (like for crease).
2005-10-30Mirror clipping bug; Martin used abs() which is for int! should be fabs().Ton Roosendaal
2005-10-29Mirror cliping polishing:Martin Poirier
- Better use of tolerance to check for elements already on seam - remove debug printfs
2005-10-29Mirror cliping polishing:Martin Poirier
- Work with multiple mirror modifiers - Take into accound elements already on the seam properly. - Use the proper mirror tolerance as limit
2005-10-29*silly whistling*Martin Poirier
See, in theory, I didn't make typos when coding. Explanation: iloc*loc will be negative when the sign changes between them, so we can snap if an element cross the limit.
2005-10-29Bug in Ton's mirror clipping feature.Martin Poirier
It was assuming the real half is always on the positive, which is not true all the time (the mirror modifier doesn't make that assumption). It incorrecly snapped everything to 0 if the half is in the negative quadrant. Fix was to do "if (td->loc[0] * td->loc[0] < 0" instead, only snapping if the sign changed. NOTE: this is all "in theory", as scons is broken, but I'm pretty sure the bug was real and the fix is.
2005-10-29New: Mirror Modifier now has option "Do Clipping", which prevents verticesTon Roosendaal
during Transform to go through the mirror. Note that it is *only* during transform, and ESC restores the non-clipped positions of vertices.
2005-10-22Various stuff in one commit;Ton Roosendaal
- Added (BKE_utildefines.h) POINTER_TO_INT(poin) and INT_TO_POINTER(int) defines, to help fixing issues with switch to 64 bits systems. This assumes that a) not more than 16GB mem is used and b) that address space is below the 1<<35 value. The latter has to be confirmed, but it seems to conform the current 64 bits generation of OSs (for mallocs). Needless to say; use long if you want to store pointers! This is for temporal fixing. - Added editmesh version for mesh-octree lookups, not used yet. - Fix: ESC on armature posemode restored the actions, should not happen - Fix: If in NLA an action was 0 frame long, it caused draw error - Fix: Click on name in Action Window now activates Bones - Fix: "Snap to" options in Armature editmode now use X-axis mirror edit.
2005-09-24Various Transform bugfixes.Martin Poirier
- Trackball rotate was missing the NoConstraints flag - Zooming didn't recalculate the 2D center correctly - Zooming in transform was sending event to the 3D window even when working on UVs. (disabled when working on UVs for now, will need to send events to a 2D window handler eventually) - In camera mode, when the selection was exactly on the camera, initgrabz was barfing, fallback to 1.0 now, which gives ok results.
2005-09-03Bug fix #2985Ton Roosendaal
Envelope correction for moving bone-points in edit mode didn't reset on ESC
2005-08-28Integration of new IK lib features in Armature Poses.Ton Roosendaal
Best is to forget yesterday's commit and old docs. New docs are underway... Here's how IK works now; - IK chains can go all the way to the furthest parent Bone. Disregarding the old option "IK to Parent" and disgregarding whether a Bone has an offset to its parent (offsets now work for IK, so you can also make T-bones). - The old "IK to Parent" option now only does what it should do: it denotes whether a Bone is directly connected to a Parent Bone, or not. In the UI and in code this option is now called "Connected". - You can also define yourself which Bone will become the "Root" for an IK chain. This can be any Parent of the IK tip (where the IK constraint is). By default it goes all the way, unless you set a value for the new IK Constraint Panel option "Chain Lenght". - "Tree IK" now is detected automatic, when multiple IK Roots are on the same Bone, and when there's a branched structure. Multiple IK's on a single chain (no branches) is still executed as usual, doing the IK's sequentially. - Note: Branched structures, with _partial_ overlapping IK chains, that don't share the same Root will possibly disconnect branches. - When you select a Bone with IK, it now draws a yellow dashed line to its Root. - The IK options "Location Weight" and "Rotation Weight" are relative, in case there's a Tree IK structure. These weights cannot be set to zero. To animate or disable IK Targets, use the "Influence" slider. - This new IK is backwards and upwards compatible for Blender files. Of course, the new features won't show in older Blender binaries! :) Other changes & notes; - In PoseMode, the Constraint Panel now also draws in Editing Buttons, next to the Bones Panel. - IK Constraint Panel was redesigned... it's still a bit squished - Buttons "No X DoF" is now called "Lock X". This to follow convention to name options positive. - Added Undo push for Make/Clear Parent in Editmode Armature - Use CTRL+P "Make Parent" on a single selected Bone to make it become connected (ALT+P had already "Disconnect"). On todo next; Visualizing & review of Bone DoF limits and stiffness
2005-08-26Fixes, as reported by BasseTon Roosendaal
- Softbody Mesh didnt update when it was child of armature-posing - Bone Stick drawing didn't draw selected in Solid + Object mode. - WeightPaint + Subsurf (nice that it works!) didn't update on Bone selection
2005-08-23Bretch's patch for 2D transform. ThanksMartin Poirier
Using new transform code to handle UV window. With the ground work done, Transform could more easily be extended to handle IPO window now. Tracker item: http://projects.blender.org/tracker/?func=detail&atid=127&aid=2946&group_id=9
2005-08-22Three little feats;Ton Roosendaal
- Vpaint and Wpaint now use our own custom cursor, this was a very old plan anyway. It uses the 'knife' now, we need a good brush icon for it! - On scaling bones in editmode, the deform distance info gets scaled now too when no "Envelope" draw mode was set. - Disabled front buffer drawing of objects with CTRL+select in Edit Mode. Uses a regular redraw now (like for select in Object Mode btw)
2005-08-20A couple of smaller fixes;Ton Roosendaal
- Modifier Panel, name label for "Virtual" modifiers was too short - On extrude Bones, "soft distance" now is always set based on length of the bone (also on CTRL+click, also when Envelope drawmode is not set) - Added undo-push for "Apply Bone Envelopees to VertexGroup" in WeightPaint. - Menu-buttons in floating panels sometimes gave drawing error - InfoWindow buttons were always allocated & drawn, even when window was zero sized... waste of cpu, tsk!
2005-08-20More armature stuff;Ton Roosendaal
- The "Skinnable" option for Bones now is taken into account for the Envelope drawmode. If not Skinnable, it also doesn't draw the soft deform area. Maybe bone should be hidden... dunno yet. - Use CTRL+LMB in weightpaint mode to sample the weight in a mesh. Note; it returns the weight of the closest visible vertex, not of a Blended result. - NKey Panel for Mesh edit now shows a menu with the VertexGroup name(s) of a selected Vertex, plus the Weight. Fix: - while scaling Bone points in editmode (Envelope drawtype), the Bone root scale was not copied from (or to) the parent tip. This was not visible (is not drawn) but deform did use it... causing weird errors. For those who saw this error today: just go into editmode, select all Bones, press Skey, enter. That fixes it :)
2005-08-19Armature "Envelope" editing.Ton Roosendaal
For defining the deformation distances of Bones, three values are being used now. The bone tip and root radius define the bone-shape itself and the "dist" defines the soft area around it. A full (user) doc is in CMS here; http://www.blender3d.org/cms/Armature_Envelopes.647.0.html Note: todo still is allowing both Vertex Deform Groups and these Envelopes together (and or per Bone). Also part of this commit is: - New: Hiding bones in EditMode. This is a separate 'hide flag', so you can keep the PoseMode hidden Bones separate from EditMode. (In the future we should do some kind of bone-grouping or so) - While transform(), the hotkeys G,R,S only switch mode when the previous mode was compatible. Caused conflicts with Crease/BoneDist/etc. - Deleting the last VertexGroup now also deletes the entire Mesh 'dvert' data. Sounds logical, but remember that VertexGroups are partial on a Mesh, partial on Object. Weird design decision though... Anyhoo, at this moment the only way to have Bone Envelopes deform, is by deleting all VertexGroups! - In PoseMode, the hotkey ALT+S now does both B-Bone size or Envelope, depending draw type. - In EditMode, Extrude now also works when only Root points were selected. - Weight editing is also symmetrical btw, with the "X-axis Mirror" option set.
2005-08-16New! When weight-painting a Mesh, and select a Bone, you can use transformTon Roosendaal
options on the Bone (G, R, S). The manipulator doesn't show btw. Is usful to get immediate feedback on how painted weights behave with Bones. Martin; I had to change the T_POSE behaviour in code a bit... it now stores in TransInfo the actual posed armature being transformed. Maybe, some day, we'll get mixed posechannel/object transform? Not much required at the moment though. :)
2005-08-15EditMode armature: mirrored editing feature.Ton Roosendaal
- Option is in EditButtons, Armature panel. - Currently only local X-axis mirror (seems to be default anyway) - Transform then applies changes to the mirrored-name bone as well. - Extrude: also does the counterpart Bone - New: SHIFT+E extrude: extrudes 2 mirrored Bones out of a normal Bone. (creating names by appening _L and _R) Or in short: you can now model a full rig without any manual naming! Of course the names are not too nice... a couple of ideas to explore; - rename a mirrored bone renames counterpart too - allow in weightpaint mode to select Bones - and of course mirrored edit in PoseMode (if that's useful...) Important note: I tweaked the naming convention a bit; names like Bone_L.005 and Bone_R.005 are considered counterparts. However, if you use the "Flip names" option, the number extension is still truncated. BTW: Commits in Zr's code are fixes for gcc warnings. :)
2005-07-24Big Transform Manipulator MergeMartin Poirier
*NOTE*: Some UI decision done in this commit will most likely be revised, all flame shall go in /dev/null. Constructive discussions of course welcomed. This commit merges manipulator orientation selection back in "traditional" transform. That's how it works: - The dropdown in the 3D view header is always visible - The orientation chosen will be used when choosing an axis with MMB and for the *second* key press of X,Y,Z However, Local orientation doesn't use the one calculated by the manipulator. This is to ensure that multiple object local and armatures in pose still works as before. - Alt-Space (to change the orientation) works during transform New Transform orientation: View, using the view axis. Fixes for the following bugs: - Constraint projection code "jammed" if input vector was <0,0,0>, reported a couple of times on IRC. Thanks to Basse for the example file. - Transform on texspace crashed on objects without texspace data (camera, lamp, ...). This was reported in tracker. - Numinput with lock constraints didn't work correctly. Reported on elysiun Probably some others that I'm forgetting I also moved a couple of functions around in an attempt to make things clearer.
2005-07-23Killed silly modal PoseMode mode! :)Ton Roosendaal
- PoseMode now is a state Armature Objects can be in. So, while in PoseMode for an Armature, you can just select another Object or Armature. - The old PoseMode options (transform, insert keys etc) are accessible with making the Armature Object 'active' (and have object in PoseMode). - At this moment no multiple Poses can be transformed/edited at the same time. - The old hotkey CTRL+TAB, and view3d header menu, still work to set an Object's PoseMode It was quite a lot recode, so tests & reports are welcome. Oh, as a bonus I added Lasso Select for Bones in PoseMode! It selects using only the line between root and tip of the Bone.
2005-07-11Corrected the Armature option "Delay deform", which doesn't update itsTon Roosendaal
children during transform... to make it work, had to trick the nice depgraph code... <sob> :)
2005-07-11MetaBall editmode didn't send the DAG recalc event while transformed. :)Ton Roosendaal
Meaning, it didn't do polygonizing while moving elements in edit mode.
2005-07-09 - add missing includes for lazy programmers who don't read error msgsDaniel Dunbar
2005-07-04Fixing pose mode transform.Martin Poirier
With new system, very easy to do in the end (figuring it out was less so). No need to go down parent chains or anything of the sort, just apply parent pose and we're all set. Ton's commit reverted back before my include files cleanup in transform, recleaning. Also, as mentionned by bjornmose, declaration after instruction choked MSVC. Fixed.
2005-07-03Result of 2 weeks of quiet coding work in Greece :)Ton Roosendaal
Aim was to get a total refresh of the animation system. This is needed because; - we need to upgrade it with 21st century features - current code is spaghetti/hack combo, and hides good design - it should become lag-free with using dependency graphs A full log, with complete code API/structure/design explanation will follow, that's a load of work... so here below the list with hot changes; - The entire object update system (matrices, geometry) is now centralized. Calls to where_is_object and makeDispList are forbidden, instead we tag objects 'changed' and let the depgraph code sort it out - Removed all old "Ika" code - Depgraph is aware of all relationships, including meta balls, constraints, bevelcurve, and so on. - Made depgraph aware of relation types and layers, to do smart flushing of 'changed' events. Nothing gets calculated too often! - Transform uses depgraph to detect changes - On frame-advance, depgraph flushes animated changes Armatures; Almost all armature related code has been fully built from scratch. It now reveils the original design much better, with a very clean implementation, lag free without even calculating each Bone more than once. Result is quite a speedup yes! Important to note is; 1) Armature is data containing the 'rest position' 2) Pose is the changes of rest position, and always on object level. That way more Objects can use same Pose. Also constraints are in Pose 3) Actions only contain the Ipos to change values in Poses. - Bones draw unrotated now - Drawing bones speedup enormously (10-20 times) - Bone selecting in EditMode, selection state is saved for PoseMode, and vice-versa - Undo in editmode - Bone renaming does vertexgroups, constraints, posechannels, actions, for all users of Armature in entire file - Added Bone renaming in NKey panel - Nkey PoseMode shows eulers now - EditMode and PoseMode now have 'active' bone too (last clicked) - Parenting in EditMode' CTRL+P, ALT+P, with nice options! - Pose is added in Outliner now, with showing that constraints are in the Pose, not Armature - Disconnected IK solving from constraints. It's a separate phase now, on top of the full Pose calculations - Pose itself has a dependency graph too, so evaluation order is lag free. TODO NOW; - Rotating in Posemode has incorrect inverse transform (Martin will fix) - Python Bone/Armature/Pose API disabled... needs full recode too (wait for my doc!) - Game engine will need upgrade too - Depgraph code needs revision, cleanup, can be much faster! (But, compliments for Jean-Luc, it works like a charm!) - IK changed, it now doesnt use previous position to advance to next position anymore. That system looks nice (no flips) but is not well suited for NLA and background render. TODO LATER; We now can do loadsa new nifty features as well; like: - Kill PoseMode (can be option for armatures itself) - Make B-Bones (Bezier, Bspline, like for spines) - Move all silly button level edit to 3d window (like CTRL+I = add IK) - Much better & informative drawing - Fix action/nla editors - Put all ipos in Actions (object, mesh key, lamp color) - Add hooks - Null bones - Much more advanced constraints... Bugfixes; - OGL render (view3d header) had wrong first frame on anim render - Ipo 'recording' mode had wrong playback speed - Vertex-key mode now sticks to show 'active key', until frame change -Ton-
2005-06-05Transform 2D center was using short. Not good enough when it's it's way off ↵Martin Poirier
screen. Switched to ints, that fixed the bug in the tracker. Switching to floats would probably be safer in the long term, but too many things to test to do that now.