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-01-09Orange branch: OpenEXR finally in Blender!Ton Roosendaal
Credits go to Gernot Ziegler, who originally coded EXR support, and to Austin Benesh for bringing it further. Kent Mein provided a lot of code for integrating float buffers in Blender imbuf and ImBuf API cleanup, and provided Make and Scons and static linking. At this moment; the EXR libraries are a *dependency*, so you cannot get the Orange branch compiled without having OpenEXR installed. Get the (precompiled or sources) stuff from www.openexr.com. Current default is that the headers and lib resides in /user/local/ Several changes/additions/fixes were added: - EXR code only supported 'half' format (16 bits per channel). I've added float writing, but for reading it I need tomorrow. :) - Quite some clumsy copying of data happened in EXR code. - cleaned up the api calls already a bit, preparing for more advanced support - Zbuffers were saved 16 bits, now 32 bits - automatic adding of .exr extensions went wrong Imbuf: - added proper imbuf->flags and imbuf->mall support for float buffers, it was created for *each* imbuf. :) - found bugs for float buffers in scaling and flipping. Code there will need more checks still - imbuf also needs to be verified to behave properly when no 32 bits rect exists (for saving for example) TODO: - support internal float images for textures, backbuf, AO probes, and display in Image window Hope this commit won't screwup syncing with bf-blender... :/
2006-01-02Orange: more noodle updates!Ton Roosendaal
**** NEW: Group Nodes Node trees usually become messy and confusing quickly, so we need not only a way to collapse Nodes into single 'groups', but also a way to re-use that data to create libraries of effects. This has been done by making a new Library data type, the NodeTree. Everything that has been grouped is stored here, and available for re-use, appending or linking. These NodeTrees are fully generic, i.e. can store shader trees, composit trees, and so on. The 'type' value as stored in the NodeTree will keep track of internal type definitions and execute/drawing callbacks. Needless to say, re-using shader trees in a composit tree is a bit useless, and will be prevented in the browsing code. :) So; any NodeTree can become a "Goup Node" inside in a NodeTree. This Group Node then works just like any Node. To prevent the current code to become too complex, I've disabled the possibility to insert Groups inside of Groups. That might be enabled later, but is a real nasty piece of code to get OK. Since Group Nodes are a dynamic Node type, a lot of work has been done to ensure Node definitions can be dynamic too, but still allow to be stored in files, and allow to be verified for type-definition changes on reloading. This system needs a little bit maturing still, so the Python gurus should better wait a little bit! (Also for me to write the definite API docs for it). What works now: - Press CTRL+G to create a new Group. The grouping code checks for impossible selections (like an unselected node between selected nodes). Everthing that's selected then gets removed from the current tree, and inserted in a new NodeTree library data block. A Group Node then is added which links to this new NodeTree. - Press ALT+G to ungroup. This will not delete the NodeTree library data, but just duplicate the Group into the current tree. - Press TAB, or click on the NodeTree icon to edit Groups. Note that NodeTrees are instances, so editing one Group will also change the other users. This also means that when removing nodes in a Group (or hiding sockets or changing internal links) this is immediately corrected for all users of this Group, also in other Materials. - While editing Groups, only the internal Nodes can be edited. A single click outside of the Group boundary will close this 'edit mode'. What needs to be done: - SHIFT+A menu in toolbox style, also including a list of Groups - Enable the single-user button in the Group Node - Displaying all (visible) internal group UI elements in the Node Panel - Enable Library linking and prevent editing of Groups then. **** NEW: Socket Visibility control Node types will be generated with a lot of possible inputs or outputs, and drawing all sockets all the time isn't very useful then. A new option in the Node header ('plus' icon) allows to either hide all unused sockets (first keypress) or to reveil them (when there are hidden sockets, the icon displays black, otherwise it's blended). Hidden sockets in Nodes also are not exported to a Group, so this way you can control what options (in/outputs) exactly are available. To be done: - a way to hide individual sockets, like with a RMB click on it. **** NEW: Nodes now render! This is still quite primitive, more on a level to replace the (now obsolete and disabled) Material Layers. What needs to be done: - make the "Geometry" node work properly, also for AA textures - make the Texture Node work (does very little at the moment) - give Material Nodes all inputs as needed (like Map-to Panel) - find a way to export more data from a Material Node, like the shadow value, or light intensity only, etc Very important also to separate from the Material Buttons the "global" options, like "Ztransp" or "Wire" or "Halo". These can not be set for each Material-Node individually. Also note that the Preview Render (Buttons window) now renders a bit differently. This was a horrid piece of antique code, using a totally incompatible way of rendering. Target is to fully re-use internal render code for previews. OK... that's it mostly. Now test!
2005-12-17Saturday merger of bf-blender in orange branch.Ton Roosendaal
2005-12-17* ctrl-alt-numpad0 didn't correctly update 3dview when the camera had ↵Nathan Letwory
anything parented to it. Fix for #3596 (http://projects.blender.org/tracker/index.php?func=detail&aid=3596&group_id=9&atid=125)
2005-12-16Orange bugfix; using in NLA window the Ckey option (Convert to NLA), didTon Roosendaal
not use the proper call to increase user count && set the action to get a tag "extern linked". This caused actions to get lost when indirectly linked from library files.
2005-11-22This is a modified version of patch #2995Kent Mein
To enable dynamic tiff support. I had to fix some of the logic in the fileselect box for icons, I also expanded the patch to look in various default locations for a dynamic libtiff.so/libtiff.dll and look at the env variable BF_TIFF_LIB if it can't find it automatically. If unable to load the library it prints a message about setting BF_TIFF_LIB to the console. I haven't been able to test it on a lot of platforms but hopefully it will just work ;) I added the files to scons but have not had a chance to test that as well. Kent
2005-11-20Patch provided by Alfredo de GreefTon Roosendaal
This adds Radiance HDR image file support. So now at least we can save the 'fbuf' (4x32 bits float colors) in Blender. It doesn't change anything for internal support in imbuf for floa colors, so when reading .hdr files it still converts it to 32 bits RGBA. As an extra I've added that saving images with F3 now also adds the optional extension, when the F10 "Extensions" option is set. One important note; I don't know the proper license for the code, it was provided without... will await feedback from Alfredo about it. For now I've added the standard Blender GPL header.
2005-10-28New: use ALT+ScrollWheel to step through frames. Like for Arrow keys, itTon Roosendaal
does not cycle (not jump back to start frame on the end). Mac users can also use Apple+ScrollWheel btw!
2005-09-13* Added hotkeys for rendering animation (Ctrl F12) and playing backMatt Ebb
animation (Ctrl F11) similar to rendering a still with F12 and showing it in the buffer with F11.
2005-08-24 - add option to drawMappedFaces to draw with colors (from tface or mcol)Daniel Dunbar
- convert weightpaint/vertexpaint to draw using drawMappedFaces, slightly hacky because during weightpaint mcol's get overridden in order to have them propogate through modifiers. should work fine. - add NULL check in shaded draw, prevents crash w/ dupliframe
2005-08-22Made weight-painting more bearable :)Ton Roosendaal
- Hotkey CTRL+TAB toggles weightpaint on/off - If Mesh has no vertex groups yet, it still accepts Weight Paint mode. Then, on a first painting stroke it creates a default group. - When combining WeightPaint mode with Bone selecting, if you select a Bone without vertex group it draws Mesh dark blue. On a first painting stroke it then also creates a new group, with the Bone name.
2005-08-11 - added recalc ob, recalc data options to ctrl-alt-shift-t timerDaniel Dunbar
2005-08-03 - got rid of silly #define ..._BIT, #define ... (1<<..._BIT) stuffDaniel Dunbar
- switched almost all uiDefBut(..., TOG|BIT|..) to use UiDefButBit and the name of the actual bit define instead of just a magic constant, this makes searching the code much nicer. most of the credit here goes to LetterRip who did almost all of the conversions, I mostly just checked them over.
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-16 - removed makeDispList, set_displist_onlyzeroDaniel Dunbar
- appropriate callers of makeDispList replaced with depgraph calls - unappropriate places just killed... small chance this gives some errors in corner cases if dep graph isn't notified (example, font family displists) but these can be tracked down as they show up. - still a large number of callers of makeDispListCurveTypes, but makeDispListMesh has just a few.
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-18Initial commit for new text object.Alexander Ewering
Important notes: - Full compatibility with old text objects not fully restored (word spacing will be 0.0, need to set it manually to 1.0), will either need version upgrade to 238 or a hack. Will check. - lorem.c (about to be committed) contains BF copyright notice, but as BF did not exist a few hundred years ago, probably best to remove it :) - If you notice any cross-platform issues (especially beloved windows), please report - A few tiny warnings left, I will fix those issues still. The rest has been said already - so have fun testing. And please do! === Reminder: === Documentation at http://blender.instinctive.de/docs/textobject.txt ===
2005-06-10* fix for bug #2720Nathan Letwory
2005-05-25Removed unused rect_float variable from imbuf structure. Was added for theTon Roosendaal
openEXR testing only. It broke sequence plugins... Note: adding variables in end of Imbuf struct at least doesn't crash old sequence plugins immediately. :)
2005-05-20Pressing ESC now stops 'animated UI playback' too. It doesnt conflict withTon Roosendaal
ESC for other situations... so might work well after all.
2005-04-11Bug fix #2411Ton Roosendaal
(Looks like big commit, but is mostly just change of API call!) Particle emittors now can be parented to an armature Bone, and give the correct path for each particle. Note that this doesn't work for deform! And, for each particle the entire armature is evaluated, all actions and NLA strips. It used to work a little while BTW, but the code just called ALL armatures and made ALL deforms again. Was quite slow... thats why the API call change: do_all_actions() now accepts Object * to only do that one. With a NULL it now does all still. Will disapppear in recode of course...
2005-03-24Removed a couple of redundant "FTF_api.h" includes,Rob Haarsma
removed leftovers from Freeimage/Imagemagick experiments and removed stuff from a Quicktime for linux implementation. Also removed the (win32) Fullscreen button from the UI and disabled the corresponding commandline option. The code is still present to reenable the option whenever the ATI issues get solved.
2005-03-14This commit reverses the OpenEXR specific stuff in the OpenEXR commit IKent Mein
did last friday. A patch will be available in the patches tracker that will have the current stuff there until everything is working. Kent
2005-03-11Gernot Ziegler's patch to add OpenEXR support to blender.Kent Mein
To enable it you will need to download OpenEXR and install it. For the Makefiles you will need to set WITH_OPENEXR=true and set NAN_OPENEXR to point to where OpenEXR is installed. For scons you'll need to remove config.opts to get the new options so you can enable OpenEXR, I was not able to get blender to link with scons so the scons stuff may need to be tweaked a little but I think it should work. For other platform managers The OpenEXR stuff is similar to QUICKTIME you need to define WITH_OPENEXR and setup the library stuff and as you'll notice in this commit there are two extra files. Kent
2005-03-09big warning hunt commitJean-Luc Peurière
lot of casts, added prototypes, missing includes and some true errors
2004-12-27Biiig commit! Thanks to 2-3 weeks of cvs freeze...Ton Roosendaal
Render: - New; support for dual CPU render (SDL thread) Currently only works with alternating scanlines, but gives excellent performance. For both normal render as unified implemented. Note the "mutex" locks on z-transp buffer render and imbuf loads. - This has been made possible by major cleanups in render code, especially getting rid of globals (example Tin Tr Tg Tb Ta for textures) or struct OSA or using Materials or Texture data to write to. - Made normal render fully 4x32 floats too, and removed all old optimizes with chars or shorts. - Made normal render and unified render use same code for sky and halo render, giving equal (and better) results for halo render. Old render now also uses PostProcess options (brightness, mul, gamma) - Added option ("FBuf") in F10 Output Panel, this keeps a 4x32 bits buffer after render. Using PostProcess menu you will note an immediate re- display of image too (32 bits RGBA) - Added "Hue" and "Saturation" sliders to PostProcess options - Render module is still not having a "nice" API, but amount of dependencies went down a lot. Next todo: remove abusive "previewrender" code. The last main global in Render (struct Render) now can be re-used for fully controlling a render, to allow multiple "instances" of render to open. - Renderwindow now displays a smal bar on top with the stats, and keeps the stats after render too. Including "spare" page support. Not only easier visible that way, but also to remove the awkward code that was drawing stats in the Info header (extreme slow on some ATIs too) - Cleaned up blendef.h and BKE_utildefines.h, these two had overlapping defines. - I might have forgotten stuff... and will write a nice doc on the architecture!
2004-11-101) Fix for bugs #1735 #1759Ton Roosendaal
Rotate edges was unfinished still, and not supposed to work on large selections. Code cleaned up some, and restricted to work on a single selected edge, or two adjacent selected faces. Also changed menu description, and give error() on wrong selection. 2) Fix for undo mixup in texteditor Global hotkey list now passes on ctrl+z (global undo) to local queue in textwindow. (Also for ctrl+y). Scriptwindow also doesn't accept global undo key.
2004-10-29Fix for #1706 (Wavk again!)Ton Roosendaal
- Undo in texteditor didnt work, event (ALT+U) was swallowed by new undo menu (ALT+U too) - global undo doesnt restore UI's as we know... so undo-ing with a text editor active cannot always restore correct text block you were editing. As extra service I added that when no restore is possible, it links to the first block available.
2004-10-20Bug fix for #1493 -Simon Clitherow
- Changed shortcut of "Align Active Camera to View" to Ctrl+Alt+Numpad0 to make it Windows-friendly. - Old shortcut of Shift-Numpad0 still works (until we find some other use for it!) Could use testing on KDE/Gnome, etc - incase we make X do somersaults or something equally daft! :P
2004-10-19Two reported issues with undo #1667 and #1168Ton Roosendaal
- press TAB without object active cleared undo stack - typo (another!) in variable name, causing undo stack from wrong object to be used (when have edited more objects) Plus i found: - rule for preserving editmode undo stacks, while using global undo, made stricter now. Before it only checked name, now it checks for existance of pointers extra.
2004-10-06Version 1.0 of the new OutlinerTon Roosendaal
The outliner is a hierarchical diagram displaying a list of data in Blender and its dependencies. The 'databrowse' doesn't really show it, and Oops is too chaotic still. And most of all, the former two don't offer much tools. After discussions on irc, Matt came with this design proposal; http://mke3.net/blender/interface/layout/outliner/ Which is closely followed for the implementation. The current version only shows all 'library data' in Blender (objects, meshes, ipos, etc) and not the 'direct data' such as vertex groups or NLA. I decided to make it inside the Oopw window, as an option. You can find the option in the "View" pulldown, or directly invoke it with ALT+SHIFT+F9 Here's a quick overview of the Outliner GUI: - Header pulldown has options what it can show (Visible = in current layers) - click on triangle arrow to open/close - press AKEY to open/close all - Leftmouse click on an item activates; and does based on type a couple of extra things: - activates a scene - selects/activates the Object - enters editmode (if clicked on Mesh, Curve, etc) - shows the appropriate Shading buttons (Lamp, Material, Texture) - sets the IpoWindow to the current IPO - activates the Ipo-channel in an Action - Selected and Active objects are drawn in its Theme selection color - SHIFT+click on Object does extend-select - Press DOTkey to get the current active data in center of view TODO; - rightmouse selection; for indicating operations like delete or duplicate - showing more data types - icon (re)design... - lotsof options as described in Matts paper still...
2004-10-01- fixed error in lasso select (evaluated lasso coords one too many!)Ton Roosendaal
- made ctrl+tab menu for selectmode only pop up in editmode mesh - changed lasso code in zbuffer-select mode, that it also accepts lines as lasso
2004-10-01- Improved memory system for pupmenu(), which now stores 255 entries max.Ton Roosendaal
Meaning menus come back to previous selection almost always. Also fixed annoying bug that caused Mirror menu (M in editmode) to start at 2nd item - New hotkey (test :) CTRL+TAB in editmode gives (and shows!) current selectmode. I prefer this over cycling, since the menu is informing you what happens. - To enforce pupmenus to start at specific item, use pupmenu_set_active() - pupmenu_col() to be done
2004-09-29Added Dump 3dView and Dump Screen to the File menuKent Mein
with their shortcuts. Kent
2004-09-24EditMesh refactory + undo recodeTon Roosendaal
The changelog is very long... it's on the web too: http://www.blender3d.org/cms/Mesh_editing_rewrite.425.0.html EditMesh refactor notes (user) **** New selection modes When entering Edit Mode for a Mesh, you now have the choice for three selection modes. These are shown as icons in the 3D header (hotkey is being searched for!). - Vertex Select Select vertices as usual, fully compatible with how previous version work - Edge Select Vertices are not drawn anymore, and selections happen by default on the edges. It is a true edge select, meaning that you can select three out of four edges in a face, without automatic having the 4th edge selected. - Face Select Instead of vertices, now selection 'points' are drawn in the face centers. Selected faces also get a colored outline, like for edges. This also is true face select, for each face individual regardless selection status of its vertices or edges. While holding SHIFT, and press a selection mode, you can also combine the above choices. Now selection becomes mixed, and will behave as expected. For example; in Edge+Face select mode, selecting the 4 edges of a face will select the face too. The selection modes and optional drawing modes (like transparant faces, normals, or solid drawing) all work together. All of Blender's mesh editing tools now react to the correct selection mode as well. Most noticeable it's in: **** Extrude Extruding in Edge or Face Select mode allows much more precise control over what's extruded and what should be excluded. Try for example a checker pattern selection, and extrude it. New is the fixed translation when faces are extruded. This always follows the (averaged) face normal(s) of the old face(s), enabling much easier working in 3D views . A single 'G' (Grab) or 'R' (Rotate) or 'S' (Scale) will change transform modus as usual. **** Other things to note - Hiding edges/faces will also behave different based on Select Mode. - while editing, normals of faces are updated always now - Border select (BKEY) has 2 different rules for edges; when one edge is fully inside of the border, it will only select edges that are fully inside. Otherwise it selects each edge intersecting with the border. - in face mode, adding vertices, edges or a circle is invisible... - "Add monkey" now works as a normal primitive (rotated and on 3d cursor) - Mesh undo was fully recoded, hopefully solving issues now with Vertex Keys and Groups - Going in and out of editmode was fully recoded. Especially on larger models you'll notice substantial speed gain. **** Todo Add 'FaceSelect mode' functionality in EditMode, including zbuffered selection, display and editing of UV texture. EditMesh refactor notes (coder) **** Usage of flags in general The "->f" flags are reserved for the editmesh.c and editmesh_lib.c core functions. Actually only selection status is there now. The "->f1" and "->f2" flags are free to use. They're available in vertex/edge/face structs. Since they're free, check carefully when calling other functions that use these flags... for example extrude() or subdivide() use them. **** Selection flags EditVert: eve->f & SELECT EditEdge: eed->f & SELECT EditFace: efa->f & SELECT - Selection is only possible when not-hidden! - Selection flags are always up-to-date, BUT: if selection mode >= SELECT_EDGE vertex selection flags can be incorrect if selection mode == SELECT_FACE vertex/edge selection flags can be incorrect This because of shared vertices or edges. - use for selecting vertices: eve->f &= SELECT - use for selecting edges always: void EM_select_edge(eed, 1) // 1 = select, 0 = deselect - use for selecting faces always: void EM_select_face(efa, 1) // 1 = select, 0 = deselect - To set the 'f' flags in all of the data: void EM_set_flag_all(int flag); void EM_clear_flag_all(int flag); - the old faceselectedOR() and faceselectedAND() are still there, but only to be used for evaluating its vertices **** Code hints for handling selection If the selectmode is 'face'; vertex or edge selections need to be flushed upward. Same is true for 'edge' selection mode. This means that you'll have to keep track of all selections while coding... selecting the four vertices in a face doesn't automatically select the face anymore. However, by using the above calls, at least selections flush downward (to vertex level). You then can call: void EM_selectmode_flush(void); Which flushes selections back upward, based on the selectmode setting. This function does the following: - if selectmode 'vertex': select edges/faces based on its selected vertices - if selectmode 'edge': select faces based its selected edges This works fine in nice controlled situations. However, only changing the vertex selections then still doesn't select a face in face mode! If you really can't avoid only working with vertex selections, you can use this call: void EM_select_flush(void); Now selection is flushed upward regardless current selectmode. That can be destructive for special cases however, like checkerboard selected faces. So use this only when you know everything else was deselected (or deselect it). Example: adding primitives. **** Hide flags EditVert: eve->h EditEdge: eed->h EditFace: efa->h - all hide flags are always up-to-date - hidden vertices/edges/faces are always deselected. so when you operate on selection only, there's no need to check for hide flag. **** Unified undo for editmode New file: editmode_undo.h A pretty nice function pointer handler style undo. Just code three functions, and your undo will fly! The c file has a good reference. Also note that the old undo system has been replaced. It currently uses minimal dependencies on Meshes themselves (no abuse of going in/out editmode), and is restricted nicely to editmode functions. **** Going in/out editmode As speedup now all vertices/faces/edges are allocated in three big chunks. In vertices/faces/edges now tags are set to denote such data cannot be freed. ALso the hashtable (lookup) for edges uses no mallocs at all anymore, but is part of the EditEdge itself.
2004-09-18- redo now also ctrl+y.Ton Roosendaal
- made undo/redo display of previewrender nice
2004-09-18OSX only: the Apple key now is a normal modifier in code, so can beTon Roosendaal
detected as others, LR_COMMANDKEY Unline previous commit, Apple key doesnt map to control anymore, but is handled separate where needed. Now only for undo (Apple-Z)
2004-09-18Another step in the undo evolution.Ton Roosendaal
- Made unified API for undo calls, to be found in space.c BIF_undo_push(char *str) BIF_undo(void) BIF_redo(void) These calls will do all undo levels, including editmode and vpaint. The transition is work in progress, because mesh undo needs recode. - New global hotkey CTR+Z for undo Note: 'shaded draw mode' still is SHIFT+Z, the old CTRL+Z was to recalc the lighting in shaded mode, which already became much more interactive, like during/after any transform(). Recalc hotkey now is SHIFT+ALT+Z CTRL+<any modifier>+Z is redo. - For OSX users; the Apple-key ("Command") now maps to CTRL as well. This disables the one-mouse-button hack for rightmouse btw, will be fixed in next commit. At least we can use Apple-Z :) - Old Ukey for undo is still there, as a training period... my preference is to restore Ukey to "reload original data" as in past, and only use new CTRL+Z for undo. - Added undo_push() for all of editobject.c and editview.c. Meaning we can start using/testing global undo in the 3d window. Please dont comment on missing parts for now, first I want someone to volunteer to tackle all of that. - Since the global undo has a full 'file' in memory, it can save extremely fast on exit to <temp dir>/quit.blend. That's default now when global undo is enabled. It prints "Saved session recovery to ..." in console then. - In file menu, a new option is added "Recover Last Session". Note that this reads the undo-save, which is without UI. - With such nice new features we then can also kill the disputed Cancel/Confirm menu on Q-KEY. - Added fix which initializes seam/normal theme color on saved themes. They showed black now.... (Note: that's in usiblender.c!)
2004-09-05Second itteration of global undo system. Now based on:Ton Roosendaal
- file-to-memory save - incremental difference steps (compression) everthing has been tightly coded to use minimum of memcpy or allocs. In fact this system works with a single full buffer (=file) in memory, and undosteps as differences from it. Speed gain is factor 4-8 faster. I've added it in CTRL+ALT+T timer menu for a test. Please note the gain is especially in the undo-storing, not in retrieving undo. Also new: file read option to skip UI read (file menu). This now also is default for the undo system.
2004-08-30Fix for bug #1574: shift+tab switched back to object mode from all modes,Brecht Van Lommel
except for Texture Paint mode. Now it works for texture paint mode too.
2004-07-15Commit for the 4 aforementioned "features":Alexander Ewering
- "Global Pivot": Maintains a global Pivot and Align mode setting for all 3d views when enabled, instead of seperate settings per 3d view - "Auto Perspective": Switch to ortho mode automatically on 1/3/7, and to Perspective when the view is rotated with the mouse - "Align mode": As suggested on the list, when enabled, transformations on several objects only transform their locations, not their sizes or rotations. - Grid dotted when not 1:1 ***ATTENTION***! The User Interface parts of these features have not been committed, as I work on my own modified UI here. The three features need toggle buttons to turn them on and off. I used the following 3 buttons (first two features are in userprefs, third as a 3d view setting): uiDefButBitS(block, TOG, USER_AUTOPERSP, B_DRAWINFO, "Auto Persp", (xpos+edgespace+(3*medprefbut)+(3*midspace)+smallprefbut+2),y3+10,smallprefbut,buth, &(U.uiflag), 0, 0, 0, 0, "Automatically switch between orthographic and perspective"); uiDefButBitS(block, TOG, USER_LOCKAROUND, B_DRAWINFO, "Global Pivot", (xpos+edgespace+(4*midspace)+(4*medprefbut)),y3+10,smallprefbut,buth, &(U.uiflag), 0, 0, 0, 0, "Use global pivot setting for all 3d views"); uiDefIconButS(block, TOG|BIT|10, B_AROUND, ICON_ALIGN, xco+=XIC,0,XIC,YIC, &G.vd->flag, 0, 0, 0, 0, "Translate only (align)"); Someone needs to add these to the interface in an appropriate manner! Thanks.
2004-06-17Added Panel support in Sequence window, and converted old Nkey menu for it.Ton Roosendaal
2004-06-14* Floating panel cosmetic tweaksMatt Ebb
* Minor language/label cleanups I missed first time around.
2004-06-05* Big, mundane clean up and edit of (error/ok/etc)Matt Ebb
messages and pupmenu()s. Edited spelling and grammar, stylistic consistency, etc. I added the guidelines and rationale that I used to the CMS here: http://www.blender3d.org/cms/Language_and_terminology.338.0.html Next step is to get icons in there, to make it easier to see at a glance what sort of message (and how much attention should be paid to it, or if it can be dismissed with a flick of the mouse, eg. boring remove doubles notifications) mockup: http://mke3.net:9000/blender/ui/controls/error_ok_icons.png
2004-04-21- code cleanup: blender/src now compiles -Wall without warnings again.Ton Roosendaal
- first code for panel in NLA window, tomorrow I continue with it.
2004-04-20Another phase in panelizing all window types. Did lots of small codeTon Roosendaal
fixes, including: - Panel in action window (disabled it, since there's no need for it) - fix: when action was added to mesh with vertex keys, the action couldn't be deleted, nor did action window draw key names - mouse on RVK (key) in Action window: Nkey menu pops as well. This is not a good candidate to put in Panel, no selection possible here. - when you change name of RVK in action window, it shows in IpoWindow too
2004-04-20Preparations to have Panels in all window types. Also implementedTon Roosendaal
it for the UV Image window (as Nkey replacement). Blendix can take this further now. Other little improvement: vertices in UV window now draw unselected first, and then selected over it. Less confusing! Next spaces: Action and Nla.
2004-04-08Bug fix 823Ton Roosendaal
Animated metaballs didn't update correctly when changing frame, this when they were parented (for example) to an object with Ipo. The fix consists of three things: - the test_displist() call doesn't remake displist anymore, but frees it. this works, because when drawing an mball object it checks for a displist and creates one when needed - the main drawing routine drawview3d() now has a separate loop where first all objects are updated with where_is_object(), then they're drawn. This effectively solves lag for mballs. Might improve other lags too! - included in NumPad-9 call to test_displist() too, to force a full upgraded 3d view
2004-01-10Added support for outputting bmp'sKent Mein
The padding is slightly messed up, so it produces somewhat trunkcated images however it works. I'll try and fix it later but I have to go home now. Its atleast usable at this stage. I moved bmp_decode.c to bmp.c and cleaned it up a little bit. Kent
2004-01-08 - added displist option to 10-timer (ctrl-alt-t), runs makedisplistDaniel Dunbar
on current option (for timing subsurf stuff).