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
2007-02-07The Object restriction flag 'do not allow select' was only handled in theTon Roosendaal
end of the selection code. That gave bad errors, especially in solid drawmode. Instead, when an object is not selectable it is excluded from the opengl selection code entirely now.
2006-12-25Cleanup of the SDNA SculptData struct. Moved a lot of data that isn't saved ↵Nicholas Bishop
into a separate SculptSession struct (outside of SDNA.)
2006-11-29Duplicator feature:Ton Roosendaal
Vertex/Face/Frame duplication now draws using OpenGL display lists. Makes drawing go much faster (2-5 times, depending on size of duplicated object). This system uses boundbox checks too, so outside of view it draws faster. Note for face duplication: I've fixe a bug for incorrect alignment when the parent was rotated when a parenting happened, the 'inverse parent correction matrix' then messed up alignment. For face duplication it now works OK, but for vertex-dupli not... need a way to fix this backwards compatible.
2006-11-25Removed the highly disputable implementation that guessed a new view-centerTon Roosendaal
when you go from Camera view to normal view. Now it returns, as usual, just back to where you where working.
2006-11-07Long wanted feature for animators: option to lock a view to always showTon Roosendaal
a specific object, so you can see long walkcycles or actions well. Option is per 3d window, in "View Properties" panel. It also can optional lock a view to a single bone even! Temporal movie for fun: http://www.blender.org/bf/0001_0060.avi
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-11-03Bugfix #5100Ton Roosendaal
The camera view shift didn't allow to view the entire image when zoomed in. Added a correction for zoomfactor.
2006-10-23Bugfix: commit of Campbell june 20, for fly mode, didn't check for theTon Roosendaal
G.vd->camera pointer. If not set, a view change can crash. Reported & shown by Ivan!
2006-08-15Bugfix #4857Ton Roosendaal
Boundbox code for display lists lacked a check for empty Curve/Surface objects, causing a boundbox to be giant (initialized huge values). That frustrates code like 'view3d home', or 'centered object view'. (Commit in view.c is only a little bit code cleanup)
2006-07-19Bugfix #4724Ton Roosendaal
Actually a bug since dark ages... the code that tries to find the view correction (zoom) factor for grabbing stored result in a global. With multiple 3d windows open, with different views, that could result in wrong correction. Just made the factor a local property in View3D.
2006-07-05Bugfix #3787Ton Roosendaal
Option "rotate view about active object" was disabled when object was in editmode or posemode. Removed this limit so the option just always uses active object as center, disregarding mode.
2006-06-20Fixed fly mode so moving from camera mode to prespective dosent move the view.Campbell Barton
Applied the same fix when panning from camera view.
2006-05-11OMG! Can't be true, a new feature for character animators!Ton Roosendaal
When weightpainting, with the armature in posemode, you now can press the NumPad-period key to zoom in to the selected bone. (it used to zoom to the painted mesh instead). Actually bugreport 4161.
2006-04-11=== Transform ===Martin Poirier
Bug #3779: In camera view with center cursor (on camera), it's impossible to use translations. Initgrabz didn't account for negative zero values (nor near zero values). Works now. Of course, this is just a safety to give back the appearance of working, since the cursor is on the point of convergence, there's no way to properly calibrate anything. Word of advice: Always check where the transform center is.
2006-03-04Dupli-Group fix: when using multiple instances of groups, with groups onTon Roosendaal
different layers, the layer flags of objects got mixed up on selection. This caused groups to become unselectable or uneditable, also the original group...
2006-02-09Seam Cutting in Faceselect Mode:Brecht Van Lommel
- Mark Border Seam: mark edges on the border of face selection as seam. - Clear Seam: clears seams in selected faces. Hotkey: Ctrl+E - Alt+RMB Click: mark/clear edge as seam - Alt+Shift+RMB Click: mark/clear seams along the shortest/straightest path from last marked seam. The cost of the path also includes some measure of 'straightness' next to the typical distance to make things work more predicatble and edgeloop friendly. Note that this cuts a path from edge to edge, not vertex to vertex. That gives some nice control over the direction of the seam. Also includes: - Removed old LSCM code. - Fix updates glitches with DerivedMesh/Subsurf drawing in FaceSelect mode. Now there's a drawMappedFacesTex instead of drawFacesTex. - Minimize Stretch menu entry called Limit Stitch. - Removed the lasttface global, was being set before it was used anyway, so might as wel return from a function. - Moved some backbuf sampling code to drawview.c from editmesh, so it can be used by Faceselect and VPaint. - Use BLI_heap in parametrizer.c.
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-25==bugfix==Ken Hughes
Access to G.vd without an active 3D window from sequences during Alt-A playback caused segfault; check and return if it's NULL, and print an error to stderr. (Someone should check why viewmove() is being called).
2006-01-24Giant commit!Ton Roosendaal
A full detailed description of this will be done later... is several days of work. Here's a summary: Render: - Full cleanup of render code, removing *all* globals and bad level calls all over blender. Render module is now not called abusive anymore - API-fied calls to rendering - Full recode of internal render pipeline. Is now rendering tiles by default, prepared for much smarter 'bucket' render later. - Each thread now can render a full part - Renders were tested with 4 threads, goes fine, apart from some lookup tables in softshadow and AO still - Rendering is prepared to do multiple layers and passes - No single 32 bits trick in render code anymore, all 100% floats now. Writing images/movies - moved writing images to blender kernel (bye bye 'schrijfplaatje'!) - made a new Movie handle system, also in kernel. This will enable much easier use of movies in Blender PreviewRender: - Using new render API, previewrender (in buttons) now uses regular render code to generate images. - new datafile 'preview.blend.c' has the preview scenes in it - previews get rendered in exact displayed size (1 pixel = 1 pixel) 3D Preview render - new; press Pkey in 3d window, for a panel that continuously renders (pkey is for games, i know... but we dont do that in orange now!) - this render works nearly identical to buttons-preview render, so it stops rendering on any event (mouse, keyboard, etc) - on moving/scaling the panel, the render code doesn't recreate all geometry - same for shifting/panning view - all other operations (now) regenerate the full render database still. - this is WIP... but big fun, especially for simple scenes! Compositor - Using same node system as now in use for shaders, you can composit images - works pretty straightforward... needs much more options/tools and integration with rendering still - is not threaded yet, nor is so smart to only recalculate changes... will be done soon! - the "Render Result" node will get all layers/passes as output sockets - The "Output" node renders to a builtin image, which you can view in the Image window. (yes, output nodes to render-result, and to files, is on the list!) The Bad News - "Unified Render" is removed. It might come back in some stage, but this system should be built from scratch. I can't really understand this code... I expect it is not much needed, especially with advanced layer/passes control - Panorama render, Field render, Motion blur, is not coded yet... (I had to recode every single feature in render, so...!) - Lens Flare is also not back... needs total revision, might become composit effect though (using zbuffer for visibility) - Part render is gone! (well, thats obvious, its default now). - The render window is only restored with limited functionality... I am going to check first the option to render to a Image window, so Blender can become a true single-window application. :) For example, the 'Spare render buffer' (jkey) doesnt work. - Render with border, now default creates a smaller image - No zbuffers are written yet... on the todo! - Scons files and MSVC will need work to get compiling again OK... thats what I can quickly recall. Now go compiling!
2006-01-05Orange; last commit didnt draw passepartout correctly. Also added a limit,Ton Roosendaal
so you cannot screw up the entire view :)
2006-01-05Orange: Hold SHIFT+MMB in camera view shifts the viewports around.Ton Roosendaal
2005-12-11Big commit with work on Groups & Libraries:Ton Roosendaal
-> Any Group Duplicate now can get local timing and local NLA override. This enables to control the entire animation system of the Group. Two methods for this have been implemented. 1) The quick way: just give the duplicator a "Startframe" offset. 2) Advanced: in the NLA Editor you can add ActionStrips to the duplicator to override NLA/action of any Grouped Object. For "Group NLA" to work, an ActionStrip needs to know which Object in a group it controls. On adding a strip, the code checks if an Action was already used by an Object in the Group, and assigns it automatic to that Object. You can also set this in the Nkey "Properties" panel for the strip. Change in NLA: the SHIFT+A "Add strip" command now always adds strips to the active Object. (It used to check where mouse was). This allows to add NLA strips to Objects that didn't have actions/nla yet. Important note: In Blender, duplicates are fully procedural and generated on the fly for each redraw. This means that redraw speed equals to stepping through frames, when using animated Duplicated Groups. -> Recoded entire duplicator system The old method was antique and clumsy, using globals and full temporal copies of Object. The new system is nicer in control, faster, and since it doesn't use temporal object copies anymore, it works better with Derived Mesh and DisplayList and rendering. By centralizing the code for duplicating, more options can be easier added. Features to note: - Duplicates now draw selected/unselected based on its Duplicator setting. - Same goes for the drawtype (wire, solid, selection outline, etc) - Duplicated Groups can be normally selected too Bonus goodie: SHIFT+A (Toolbox) now has entry "Add group" too, with a listing of all groups, allowing to add Group instances immediate. -> Library System - SHIFT+F4 data browse now shows the entire path for linked data - Outliner draws Library Icons to denote linked data - Outliner operation added: "Make Local" for library data. - Outliner now also draws Groups in regular view, allowing to unlink too. -> Fixes - depsgraph missed signal update for bone-parented Objects - on reading file, the entire database was tagged to "recalc" fully, causing unnecessary slowdown on reading. Might have missed stuff... :)
2005-12-07Orange request; Bones in Armature now have own layer settings.Ton Roosendaal
Works like for Object layers, but local within Armature itself. Each Bone can be in (16 now) any layer, and the Armature layer defines what is visible or not. Also note that hiding will still work too. Since the Blender code is *stuffed* with Bone options now, this commit requires a good test if all tools we got now comply to layers... (I counted 130 cases for checking for selected Bones in code!) In PoseMode; hotkey M will show 'movetolayer' menu. Not in editmode... then its the mirror menu. Todo: make action/nla drawing comply to Armature layer settings.
2005-11-28As reported on bf-committers maillist: new object centers were drawing inTon Roosendaal
sets. To fix it, I got rid of a very ancient hack to enable set grey wire drawing (setting a global to pretend it's picking select draw). Now this setting is nicely passed on via functions as argument.
2005-10-04Bugfix #3141Ton Roosendaal
Ending localview didn't correctly restore selection, so oops or outline were not updated.
2005-10-02Fixing bones grab in "pose" transform. Bug #3030: ↵Martin Poirier
http://projects.blender.org/tracker/?func=detail&atid=125&aid=3030&group_id=9 It didn't do initgrabz correctly.
2005-09-30Bugfix #3112Ton Roosendaal
Mesh selection in editmode didnt work proper with new ALT+B clip option.
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-08-20New feature; User definable Clipping Planes.Ton Roosendaal
Press ALT+B in 3d window, draw a rect, and it becomes a clipping volume of 4 planes. You then can rotate the view anyway you like. Works for each 3d window individually. Disable it with another ALT+B press. Commit is huge because it had to change all selection code as well. The user-clipping planes are in 'eye space', the other clipping happens in projected 'viewport space'. Nice to notice is that the 'x=3200' convention (to denote a coordinate is clipped) now is a define. Define value is still a number though... but we now can get up to screens of 12000 pixels without issues! Known issue; here it refuses to draw the 'object centers' or Lamp icons within the clipping region. Can't find any reason for it... however, we might move to non-pixmaps for it anyway. Testing might reveil numerous issues, will be standby for it. Curious? Check this http://www.blender.org/bf/rt4.jpg
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-15 - added view3d_get_object_project_mat function, returns mat to projectDaniel Dunbar
object cos into screenspace without mucking with gl matrices. - added view3d_project_ functions, take arguments instead of using globals - removed View3D.{mx,my,mxo,myo} - switch drawobject foreachScreenVert functions to use new projection functions - switch edge slide to use new projection functions, fixes erratic behavior (project was using wrong mat I believe) - bug fix in edgeslide, nearest edge to start was one-off
2005-08-14Patch provided by Adam (ajk48n). It reverses the turntable rotation whenTon Roosendaal
you have the view 'upside down', resulting in correct feedback.
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-13Armature "XRay mode" now draws nicely with solid too. For it to work, ITon Roosendaal
had to add a new feature to the 3d window, to collect "after draw" objects, which get drawn as last, after a clear of the zbuffer. Same method can be used for nice OpenGL transparent draw, the system is ready for it, do that later. The huge commit is caused by cleaning up globals from struct Global. Many variables were unused or just not needed anymore. Did that to move the ugly G.zbuf to where it belongs, in the View3D space struct. :)
2005-07-11New: Armature editmode/posemode now react correctly to HOME or Numpad-DOTTon Roosendaal
for viewing all or only selection nicely centered. Fix: Poses without NLA or Action were reset to restposition on file read or exit editmode.
2005-07-11Boundbox select object mode optimisation.Martin Poirier
Changed selectprojektie (and renamed to view3d_opengl_select as suggested by Ton) to accept a buffer size, so boundbox can adapt it's buffer size to the number of object in scene. Also, the loop is done more smartly, since glSelect fills the buffer in the same order as the drawing order, so we save lops of looping on unselected object (which used to go through all the buffer before finding that they weren't selected). This scheme could probably be applied to all the other loops using glSelect. (good project for newbie coders)
2005-07-063D view orbit option: Around ActiveMartin Poirier
This fixes the active object in place when orbiting the view. Choppy 15fps demo can be seen there: http://www.elysiun.com/~theeth/bf/around_active.html Image Memory Grabage Collection This adds memory handling to the image code. An image is tagged each time it is used. During a collection cycle (frequency of cycles is user defined), if an image is older than a user defined limit, its buffer gets deallocated. This also applies to gl memory buffers. Images that are loading in GL memory needs to go through two time outs before being fully deallocated: the first time out deallocated the gl memorry, the second the buffer in ram. Notes: Image buffer loaded from python gets tagged as permanent upon load. That tag is removed when python stops using the image. I might have missed some tagging spots, especially in the rendering pipeline. Someone with more knowledge about this code should check to be careful. Tagging is done on every access, for rendering, this will probably be a performance hit. A scheme should be developped to only tag when the rendering is completed. Collecting is called in draw_object, most likely not the best place to do it. Safe from undo, since using undo deallocates memory anyway (like when loading a blend file with one currently opened) Userpref DNA changes: I've changed a couple of flagging variables from short to int. Some because they needed more space, others to keep SDNA happy. Info window changes: I've grouped a couple of buttons in aligned blocks and changed the color of mutually exclusive options to make them clearer. Matt didn't do any changes on that in tuhopuu, so hopefully I'm not stepping on anyone's feet with this. Also changed double constants into floats with f in a couple of places (mostly space.c) to make compiler happier.
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.
2005-05-12Animated UI for TimeLine "Play"Ton Roosendaal
Using the Play button in timeline, now uses an event-driven system to update the animation system and signal windows to redraw. Meaning the full UI remains responsive! Check the new Pulldown "Playback" to set which windows you like to see updated. Same settings is used for LMB 'dragging' frames in Timeline. Implementation notes; - the Icon for 'Pause' (or stop) has to be made yet, I commit this from my laptop... all was coded during a 2 x 5 hour train ride to germany - the anim playback system (ALT+A too) now uses correct "frames per second" as maximum speed. Buttons can be found in 3 places in the UI, also added it as pulldown item - The system works with 'screen handlers', which has been coded with using Python (networked) events or verse in mind too. A doc on that will follow. - the buttons code has been made 'resistant' to animated UIs too, preventing flashing of hilites. - All subloops (like transform) stop playback, with exception of MMB view manipulations. As extra; found tweak to make Textured AA fonts draw without distortion. Looks perfect here on laptop now (like Pixmap fonts) and is 20x faster.
2005-05-02Bug fix #2507Ton Roosendaal
While doing a viewmove/rotate, the queue was not emptied nor read... so after a while the entire queue gets full, not registering a modifier key-release anymore. Fixed :) Reported error confirmed in windows and OSX.
2005-04-28Restored traditional Turntable for view rotation, and without the errorTon Roosendaal
of previous code which slanted after a while. Patch provided by John Aughey, thanks! (John will send me the additional diff for a correction when going from trackball to turntable)
2005-04-23Add "View Selected" (numpad .-key) for faceselect mode and the uv editor.Brecht Van Lommel
Also includes some 2d vector operations (subtract, dot, normalise).
2005-03-20 - remove all obsolete inclusions of BLI_winstuff.h (due to recent changes)Daniel Dunbar
NOTE: BLI_winstuff.h was meant to be a wrapper around windows.h to handle undefining various crap that windows.h defines. Platform specific headers should only have to be included in a few places. This reduces the number of inclusions of BLI_winstuff.h to 16 which is a much more reasonable number (than the 144 or whatever it used to be)
2005-03-09big warning hunt commitJean-Luc Peurière
lot of casts, added prototypes, missing includes and some true errors
2005-02-27Fixed Constraint projection code in perspective mode. When using a planar ↵Martin Poirier
constraints, it follows the movement of the mouse exactly instead of just casting on the plane. In user terms: the motion on screen of the selection follows the motion of the mouse pointer. Gives some errors when the constraint plane is nearly perpendicular to the view port though. Added a debug print function for 4D vectors to arithb.c Optimised the 3D -> view projection functions in view.c (a bit).
2005-01-30Fixed old annoyance; enabling true Ortho render in Blender.Ton Roosendaal
It used to be a simple hack, scaling lens with 100, and moving the camera to the back with an equivalent amount. Because of the hack, making it 100% compatible with older files I could not achieve (yet?). To help reminding users, I've added a print when reading old files with Ortho cameras. Full description of how it works can be found here; http://www.blender3d.com/cms/Render_changes.515.0.html
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-12-16Increased builtin limit for selection buffer (border select in Object mode)Ton Roosendaal
to allow up to 2500 objects (was 500). Still an arbitrary limit, could use better code. For now its less frustrating :)
2004-11-18Made view3d "home" and "local view" and "zoom to selection" (dot key) doingTon Roosendaal
all the same. The latter two didnt take aspect ratio of windows into account
2004-10-17Outliner now visualizes and allows selection and name editing of ArmaturesTon Roosendaal
in edit mode. Small extra fix; selection (mouse) on armature points goes easier now (larger accepted distance from mouse pointer)