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-12-20The Big Image refactor!Ton Roosendaal
Please read: http://www.blender3d.org/cms/Imaging.834.0.html Or in short: - adding MultiLayer Image support - recoded entire Image API - better integration of movie/sequence Images Was a whole load of work... went down for a week to do this. So, will need a lot of testing! Will be in irc all evening.
2006-11-30Two-in-one commit:Ton Roosendaal
- Proxy Armature: armature layer (visible bones) is now saved in proxy, so on file reload the layer settings are restored - bugreport: disabling subsurf (for view) didn't change the total amounts in header.
2006-10-28New Curves Widget option: curves can get extrapolated extension.Ton Roosendaal
Especially for Compositing it was annoying that colors always got clipped in the 0.0-1.0 range. For this reason, extrapolated Curves now is the default. Old saved files still have horizontal extrapolation. Set the option with 'Tools' menu (wrench icon). This is a setting per curve, so you might need to set all 4 curves for an RGBA curves widget.
2006-09-03Animation department feature request: support for vertex groups in LatticesTon Roosendaal
In a quick glance: (temp image) http://www.blender.org/bf/rt.png Main reason is that Lattices are useful a lot for Armature deformation. Lattices just provide much more precise and interesting control. However, with only bone envelopes it's very hard to use. Working with Lattice vertex groups is nearly identical to Mesh: - on CTRL+P 'make parent' you can choose the deform option now - In editmode, the buttons to control vertex groups are available - In outliner you can select vertexgroups too - Deforming Lattices with Armatures has all options as for Mesh now. Note: - No WeightPaint has been added yet. To compensate, the editmode drawing for a Lattice with vertex group shows weight values for the active vertex group. - Lattice editmode doesn't undo/redo weight editing yet. - Softbody for Lattice still uses own vertex weights Implementation notes: - derivedmesh weight_to_rgb() is now exported to drawobject.c - been doing cleanups in code (order of includes, var declarations, etc) - weightpaint button handling now is generic I've checked on Brecht's proposal for Custom Element data; http://mediawiki.blender.org/index.php/BlenderDev/CustomElementData It could have been used, but that would mean the existing code for vertexgroup handling and armature deform couldn't be re-used. I guess this is really a later todo.
2006-08-09Fixes I did before leaving to siggraph, couldn't commit it due to freeze:Ton Roosendaal
- buffer overflow was possible with providing a file path argument longer than 256 characters. - buttons "VCol Light" and "VCol Paint" were not mutual exclusive - quicktime error menu (unable to create) had a enter in end - deleting points in CurveMapping button (like Curves node in compositor) did not give proper recalc event - edges render menu had a tooltip still mentioning the unified render
2006-07-07Bugfix: (own todo)Ton Roosendaal
When you rename a generated image, like "Render Result" or "Composite" the float buffer in this image had to be copied, otherwise a next render will make the renamed Image buffer invalid. Note that renaming will not mean the images get packed or saved! So on reloading .blend they're gone.
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-28Orange: made Compositing more interactive. It now has an event basedTon Roosendaal
system tracking changes in nodes, making sure only these nodes and the ones that depend, are executed. Further the 'time cursor' now counts down to indicate which node is being done. Also: you now can disable the "use nodes" button in the header, edit all changes, and when you press that button again it nicely executes the changes. Still on the todo: - make compositing threaded - find a way to nicely exit compositing on input events... so the UI keeps being responsive - idea; a 'percentage' menu in header to enforce calculations on smaller images temporally
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-11Orange: Added Alpha viewing option in Image window.Ton Roosendaal
2006-01-11Orange: more work on float/exr buffers;Ton Roosendaal
- EXR now saves and reads Zbuffers correctly - EXR reading didn't set alpha to 1 yet when no alpha buffer was present - ImageWindow: the "black point" only checked for the r value... now is OK - ImageWindow: Curves panal has button "reset" - ImageWindow: hold LMB drag shows rgba and z values. With SHIFT or CTRL it applies black/white point whilte dragging too - ImageWindow: saving file copied the entire buffer... removed that. Also made the header print clear; this save only saves in own file type. - Curves: zoom and drag now gets clamped by the Clipping value - Imbuf: duplicate buffer only copied one quarter of to new buffer
2006-01-10Orange: and now for the real exr fun: float buffer support in Image window!Ton Roosendaal
Image as loaded in Blender (from openexr.com): http://www.blender.org/bf/exrcurve1.jpg Image with different white point: http://www.blender.org/bf/exrcurve2.jpg Image with white and black point and a curve: http://www.blender.org/bf/exrcurve3.jpg Use SHIFT+click to set the black point, and CTRL+click for white point. The buttons in the panel work too, of course. The curves work after the black/white range was corrected, so you can stick to curves with a normal 0-1 range. There's also now a general color curve, marked with 'C' button. Note; this currently only maps the float colors to a visible 8 bits per channel rect. You can save it, but when the blender file loads the curve or mapping is not executed until you click in the curves... have to look at that still. Speed for this is also quite unoptimized... still WIP, but fun!
2006-01-08Orange:Ton Roosendaal
- New UI element: the "Curve Button". For mapping ranges (like 0 - 1) to another range, the curve button can be used for proportional falloff, bone influences, painting density, etc. Most evident use is of course to map RGB color with curves. To be able to use it, you have to allocate a CurveMapping struct and pass this on to the button. The CurveMapping API is in the new C file blenkernel/intern/colortools.c It's as simple as calling: curvemap= curvemapping_add(3, 0, 0, 1, 1) Which will create 3 curves, and sets a default 0-1 range. The current code only supports up to 4 curves maximum per mapping struct. The CurveMap button in Blender than handles allmost all editing. Evaluating a single channel: float newvalue= curvemapping_evaluateF(curvemap, 0, oldval); Where the second argument is the channel index, here 0-1-2 are possible. Or mapping a vector: curvemapping_evaluate3F(curvemap, newvec, oldvec); Optimized versions for byte or short mapping is possible too, not done yet. In butspace.c I've added a template wrapper for buttons around the curve, to reveil settings or show tools; check this screenie: http://www.blender.org/bf/curves.jpg - Buttons R, G, B: select channel - icons + and -: zoom in, out - icon 'wrench': menu with tools, like clear curve, set handle type - icon 'clipping': menu with clip values, and to dis/enable clipping - icon 'x': delete selection In the curve button itself, only LMB clicks are handled (like all UI elements in Blender). - click on point: select - shift+click on point: swap select - click on point + drag: select point (if not selected) and move it - click outside point + drag: translate view - CTRL+click: add new point - hold SHIFT while dragging to snap to grid (Yes I know... either one of these can be Blender compliant, not both!) - if you drag a point exactly on top of another, it merges them Other fixes: - Icons now draw using "Safe RasterPos", so they align with pixel boundary. the old code made ints from the raster pos coordinate, which doesn't work well for zoom in/out situations - bug in Node editing: buttons could not get freed, causing in memory error prints at end of a Blender session. That one was a very simple, but nasty error causing me all evening last night to find! (Hint; check diff of editnode.c, where uiDoButtons is called) Last note: this adds 3 new files in our tree, I did scons, but not MSVC!
2005-12-28Christmas coding work!Ton Roosendaal
********* Node editor work: - To enable Nodes for Materials, you have to set the "Use Nodes" button, in the new Material buttons "Nodes" Panel or in header of the Node editor. Doing this will disable Material-Layers. - Nodes now execute materials ("shaders"), but still only using the previewrender code. - Nodes have (optional) previews for rendered images. - Node headers allow to hide buttons and/or preview image - Nodes can be dragged larger/smaller (right-bottom corner) - Nodes can be hidden (minimized) with hotkey H - CTRL+click on an Input Socket gives a popup with default values. - Changing Material/Texture or Mix node will adjust Node title. - Click-drag outside of a Node changes cursor to "Knife' and allows to draw a rect where to cut Links. - Added new node types RGBtoBW, Texture, In/Output, ColorRamp - Material Nodes have options to ouput diffuse or specular, or to use a negative normal. The input socket 'Normal' will force the material to use that normal, otherwise it uses the normal from the Material that has the node tree. - When drawing a link between two not-matching sockets, Blender inserts a converting node (now only for value/rgb combos) - When drawing a link to an input socket that's already in use, the old link will either disappear or flip to another unused socket. - A click on a Material Node will activate it, and show all its settings in the Material Buttons. Active Material Nodes draw the material icon in red. - A click on any node will show its options in the Node Panel in the Material buttons. - Multiple Output Nodes can be used, to sample contents of a tree, but only one Output is the real one, which is indicated in a different color and red material icon. - Added ThemeColors for node types - ALT+C will convert existing Material-Layers to Node... this currently only adds the material/mix nodes and connects them. Dunno if this is worth a lot of coding work to make perfect? - Press C to call another "Solve order", which will show all possible cyclic conflicts (if there are). - Technical: nodes now use "Type" structs which define the structure of nodes and in/output sockets. The Type structs store all fixed info, callbacks, and allow to reconstruct saved Nodes to match what is required by Blender. - Defining (new) nodes now is as simple as filling in a fixed Type struct, plus code some callbacks. A doc will be made! - Node preview images are by default float ********* Icon drawing: - Cleanup of how old icons were implemented in new system, making them 16x16 too, correctly centered *and* scaled. - Made drawing Icons use float coordinates - Moved BIF_calcpreview_image() into interface_icons.c, renamed it icon_from_image(). Removed a lot of unneeded Imbuf magic here! :) - Skipped scaling and imbuf copying when icons are OK size ********* Preview render: - Huge cleanup of code.... - renaming BIF_xxx calls that only were used internally - BIF_previewrender() now accepts an argument for rendering method, so it supports icons, buttonwindow previewrender and node editor - Only a single BIF_preview_changed() call now exists, supporting all signals as needed for buttos and node editor ********* More stuff: - glutil.c, glaDrawPixelsSafe() and glaDrawPixelsTex() now accept format argument for GL_FLOAT rects - Made the ColorBand become a built-in button for interface.c Was a load of cleanup work in buttons_shading.c... - removed a load of unneeded glBlendFunc() calls - Fixed bug in calculating text length for buttons (ancient!)
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-06Orange branch: Revived hidden treasure, the Groups!Ton Roosendaal
Previous experiment (in 2000) didn't satisfy, it had even some primitive NLA option in groups... so, cleaned up the old code (removed most) and integrated it back in a more useful way. Usage: - CTRL+G gives menu to add group, add to existing group, or remove from groups. - In Object buttons, a new (should become first) Panel was added, showing not only Object "ID button" and Parent, but also the Groups the Object Belongs to. These buttons also allow rename, assigning or removing. - To indicate Objects are grouped, they're drawn in a (not theme yet, so temporal?) green wire color. - Use ALT+SHIFT mouse-select to (de)select an entire group But, the real power of groups is in the following features: -> Particle Force field and Guide control In the "Particle Motion" Panel, you can indicate a Group name, this then limits force fields or guides to members of that Group. (Note that layers still work on top of that... not sure about that). -> Light Groups In the Material "Shaders" Panel, you can indicate a Group name to limit lighting for the Material to lamps in this group. The Lights in a Group do need to be 'visible' for the Scene to be rendered (as usual). -> Group Duplicator In the Object "Anim" Panel, you can set any Object (use Empty!) to duplicate an entire Group. It will make copies of all Objects in that Group. Also works for animated Objects, but it will copy the current positions or deforms. Control over 'local timing' (so we can do Massive anims!) will be added later. (Note; this commit won't render Group duplicators yet, a fix in bf-blender will enable that, next commit will sync) -> Library Appending In the SHIFT-F1 or SHIFT+F4 browsers, you can also find the Groups listed. By appending or linking the Group itself, and use the Group Duplicator, you now can animate and position linked Objects. The nice thing is that the local saved file itself will only store the Group name that was linked, so on a next file read, the Group Objects will be re-read as stored (changed) in the Library file. (Note; current implementation also "gives a base" to linked Group Objects, to show them as Objects in the current Scene. Need that now for testing purposes, but probably will be removed later). -> Outliner Outliner now shows Groups as optio too, nice to organize your data a bit too! In General, Groups have a very good potential... for example, it could become default for MetaBall Objects too (jiri, I can help you later on how this works). All current 'layer relationships' in Blender should be dropped in time, I guess...
2005-11-05Fix #3256Ton Roosendaal
DXF: when an error message occurs during read, the main call returned without clearing the used global vars... causing crash on calling again. ALso: added warning when trying to assign a taper or bevel using Object itself. (report from opengl tracker :)
2005-10-28Autocomplete for buttons that need Blender data names (ID's and Bones).Ton Roosendaal
Just press TAB and it completes up to the level a match is found. If more matches exist a menu could pop up, thats for later. Now an evening off! :)
2005-09-24bugfix #3100Ton Roosendaal
Hrms... previous commit here to make sure faces are not added 'double', caused a part in removedoubles not to work well, removing too many faces. Solved it more proper now.
2005-09-24Created a new sub-context ("tab") for all physics related button panels.Ton Roosendaal
There we can find now Particles, Fields & deflectors, Soft Body and Fluids. This also as preparation for more work on the particle side (becomes two panels). Also renamed panels, and made sure the name "Soft Body" is spelled every- where the same! It uses an icon as was designed long ago already. Needs some thinking...
2005-08-21At last! B-bones now deform. :)Ton Roosendaal
This works pretty nice for better control over the curvature of any bone deform. No need to give Bones (vgroups) large influence, just add a coupleof B-bone segments. Two notes; - The Bone property "Segments" defines if a deform happens as a 'B-bone'. The drawtype B-bone is just for display in 3d window. - A B-bone also deforms (bends) in Rest-position, if there's a joint that creates a curved Bone. Therefore, best results you get by creating a rest-position with straight joints. Or, if you prefer a slightly bended restposition (for a spine or so), make sure the Mesh model is *not* curved, the B-bone will do this for you. Also added: proper events on changing buttons for Bones, like "Segm" or "Dist" etc.
2005-08-04 - modifier UI update (aka, find the modifier buttons!!)Daniel Dunbar
- moved back to editing buttons, where life is now cramped... switched to constraint style foldout panes, still a WIP. In particular not sure what buttons should be in header (and if current toggles stay in header if they should also be in an expanded pane). Also need new icons for move up/move down (and drag and drop would of course be nice). Finally current plane is to make it so modifiers will expand out in modifier pane for horizontal orientations instead of just going down down down to goblin town. - added error field to modifiers that is displayed in UI, need to have some way for modifiers to return errors back to interface (esp. important for python) - tweaked cage determination and handling, currently the editmode cage is determined by last modifier with OnCage set that is preceeded completely by modifiers that support mapping or are disabled in editmode. it is kinda confusing, but the interface only lets you toggle OnCage for modifiers that support it - it just might not be clear all the time why you can't toggle a certain modifier OnCage. - update displistmesh_copy to only copy edges if non-NULL There is a display bug that already existed but is more obvious with new modifiers where parts of the pane get drawn in a different area after toggling editmode. It has to do with drawing parts of the interface using GL instead of 100% buttons. I try to keep my grubby little toes out of the interface code so this can wait for Ton to return.
2005-07-22 - shuffled editmesh derived function name/functionDaniel Dunbar
- added ModifierTypeInfo.freeData function - added modifier_{new,free] utility function - added ccgSubSurf_getUseAgeCounts to query info - removed subsurf modifier faking (ME_SUBSURF flag is no longer valid). subsurf modifier gets converted on file load although there is obscure linked mesh situation where this can go wrong, will fix shortly. this also means that some places in the code that test/copy subsurf settings are broken for the time being. - shuffled modifier calculation to be simpler. note that all modifiers are currently disabled in editmode (including subsurf). don't worry, will return shortly. - bug fix, build modifier didn't randomize meshes with only verts - cleaned up subsurf_ccg and adapted for future editmode modifier work - added editmesh.derived{Cage,Final}, not used yet - added SubsurfModifierData.{mCache,emCache}, will be used to cache subsurf instead of caching in derivedmesh itself - removed old subsurf buttons - added do_modifiers_buttons to handle modifier events - removed count_object counting of modifier (subsurfed) objects... this would be nice to add back at some point but requires care. probably requires rewrite of counting system. New feature: Incremental Subsurf in Object Mode The previous release introduce incremental subsurf calculation during editmode but it was not turned on during object mode. In general it does not make sense to have it always enabled during object mode because it requires caching a fair amount of information about the mesh which is a waste of memory unless the mesh is often recalculated. However, for mesh's that have subsurfed armatures for example, or that have other modifiers so that the mesh is essentially changing on every frame, it makes a lot of sense to keep the subsurf'd object around and that is what the new incremental subsurf modifier toggle is for. The intent is that the user will enable this option for (a) a mesh that is currently under active editing or (b) a mesh that is heavily updated in the scene, such as a character. I will try to write more about this feature for release, because it has advantages and disadvantages that are not immediately obvious (the first user reaction will be to turn it on for ever object, which is probably not correct).
2005-04-24The zblur plugin (aka as DoF) integrated in render. Compared to patchTon Roosendaal
submitted by Alexander, changes/improvements are: - Moved to new Panel in Scene buttons "Post Effects". Together with other postprocessing options, such as Edge render. It is also not called DoF, this because that's a bit pretending too much then. It's a zblur still! - Made it render Alpha as well - Made it use and deliver float buffers - Huge cleanup of zblur.c code, was very messy. It was alling things in render code without need even (win matrices, transform faces, etc) - Fixed errors in using Z values (zbuffer is signed int) - Removed very weird gamma corrections for front/back half - Tweaked gaussian table, allow variable 'Sigma' to be set for gauss curve - Didn't copy 'auto focus' yet. Use of this is very limited, and gives false expectations, nor works for rendering anims with deamons well. Main issue remains: it's not a very advanced feature... I still doubt very much if this deserves to be released. Spent 2 days on trying to get the key issues solved, with not much results. - gauss filter code has weird side effects on large blur size - having unsharp (blurred) in front also blurs what's around in back. only blurred in back with sharp in front works a little bit - severe aliasing errors... also due the code splitting in 2 halves - doesnt work with unified yet - won't work for halos, spot halos or transparant faces Anyhoo... It was promised to be committed, so now artists can play with it. Who knows it's useful after all, or some fixes can be implemented. :)
2005-03-21 - another BLI_winstuff.h removalDaniel Dunbar
2005-03-09big warning hunt commitJean-Luc Peurière
lot of casts, added prototypes, missing includes and some true errors
2004-11-09- Bug located in outliner (missing break) by sgefant, thnx!Ton Roosendaal
- On click on camera object in outliner, world buttons didnt display always Plus; commented out the calls to select items with rightmouse. This is too much WIP for official release, too much not working, and Matt prefers time to further work on it as well.
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-07-28Oops, include file belonging to previous commit...Ton Roosendaal
Plus: moved particle interaction and effect buttons back to a single Object context. The proposed solution (sub context) has workflow issues, (adds another click (no hotkey) to view settings) whilst almost all Object buttons nicely fit in single view still. This was on todo since first particle commit, actually the idea was to move particle related issues to a special sub-context, but leave the effects themselves in the Object main menu. Splitting off Particles from the Effect system isn't in the scope of what is feasible now. Also note; the current panel 'particle interaction' actually should be a generic 'forces and collision' panel, since it's also relevant for soft body feature (WIP)... that can be changed later.
2004-06-26The revised patch from Leon for new particle effects.Ton Roosendaal
New is that objects can have a force field, and Meshes can even deflect (collide) particles. This is in a new sub-menu in Object buttons F7 The full instructions where on the web, Leon mailed it me and I will put it in CMS tomorrow. For those who like to play with it now, here are demo files: http://download.blender.org/demo/test/ Quite some changes where in the integration though... so previous created particle deflectors will not work. Changes to mention now are: - gravity is renamed to 'force field' - force field and deflector options are in Object now, not in Mesh - the options also have its own struct, doesnt add to Object by default - force fields are possible for all object types, but only work on center. So empty objects are typical for it. Work to do: - add draw method in 3d win to denote forcefield objects - check on the UI (panel with different size?) - add 'recalc' button in deflector panel
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-05-10Bug #1264Ton Roosendaal
When in texture buttons, selecting Lamp, Camera or other Object didnt update the shown texture correctly. Now it nicely switches.
2004-04-29Fix #1205Ton Roosendaal
Array with 'auto' names for textures didn't have the new names yet (musgrave, voronoi, distnoise)
2004-04-07Bug #928Ton Roosendaal
Logic buttons have not been Panelized (will be difficult, dont try!) so the 'Home' and automatic view-limits didn't work it anymore. This caused logic blocks not being accessible by scrolling window. Fixed by updating the code that sets view limits.
2004-04-05New UV Calculation panel and code. The uv mapping function was split up intoBrecht Van Lommel
multiple functions and partially recoded. Because now all the uv mapping settings are accessible throught the panel, no popus will be shown when pressing 'U' to unwrap faces in face select mode. Also From Window to Cylinder and From Window to Shpere became obsolete, as you can set this in the new panel. The panel contains buttons for all the existing uv mapping modes, and the following settings: - Cube size: For Cubical unwrapping. - Radius: Radius for Cylindrical unwrapping. - View Aligns Face, View Aligns Top, Align to Object: For Cylinder and Shpere. Respectively means you are in front of the Cylinder/Sphere, look through the Cylinder, or use the object rotation to determine how the cylinder is positioned (old Cylindrical unwrapping). - Polar XZ, Polar XY: With 'View Aligns Top' enabled, defines at which polar you are looking. - No Edges, Draw Edges, All Edges: Draw no edges, draw edges z-buffered on top, draw all edges, without depth test. All credits for this part (and also at least half of the other UV editor improvements) go to Jens Ole Wund aka "bjornmose".
2003-12-30- fixed switching contexts... the previous commit about this was tooTon Roosendaal
rigurous. Now it only switches context when selecting a new object type, also "invisble", when shading buttons are not drawn. What I committed changed context always when pressing the 'shading context' icon button. This was annoying when you were editing textures or radiosity, world, etc. In such cases it should just draw the old settings.
2003-12-29Area lights and more...Ton Roosendaal
- New lamp type added "Area". This uses the radiosity formula (Stoke) to calculate the amount of energy which is received from a plane. Result is very nice local light, which nicely spreads out. - Area lamps have a 'gamma' option to control the light spread - Area lamp builtin sizes: square, rect, cube & box. Only first 2 are implemented. Set a type, and define area size - Button area size won't affect the amount of energy. But scaling the lamp in 3d window will do. This is to cover the case when you scale an entire scene, the light then will remain identical If you just want to change area lamp size, use buttons when you dont want to make the scene too bright or too dark - Since area lights realistically are sensitive for distance (quadratic), the effect it has is quickly too much, or too less. For this the "Dist" value in Lamp can be used. Set it at Dist=10 to have reasonable light on distance 10 Blender units (assumed you didnt scale lamp object). - I tried square sized specularity, but this looked totally weird. Not committed - Plan is to extend area light with 3d dimensions, boxes and cubes. - Note that area light is one-sided, towards negative Z. I need to design a nice drawing method for it. Area Shadow - Since there are a lot of variables associated with soft shadow, they now only are available for Area lights. Allowing spot & normal lamp to have soft shadow is possible though, but will require a reorganisation of the Lamp buttons. Is a point of research & feedback still. - Apart from area size, you now can individually set amount of samples in X and Y direction (for area lamp type 'Rect'). For box type area lamp, this will become 3 dimensions - Area shadows have four options: "Clip circle" : only uses a circular shape of samples, gives smoother results "Dither" : use a 2x2 dither mask "Jitter" : applys a pseudo-random offset to samples "Umbra" : extra emphasis on area that's fully in shadow. Raytrace speedup - improved filling in faces in Octree. Large faces occupied too many nodes - added a coherence check; rays fired sequentially that begin and end in same octree nodes, and that don't intersect, are quickly rejected - rendering shadow scenes benefits from this 20-40%. My statue test monkey file now renders in 19 seconds (was 30). Plus: - adjusted specular max to 511, and made sure Blinn spec has again this incredible small spec size - for UI rounded theme: the color "button" displayed RGB color too dark - fixed countall() function, to also include Subsurf totals - removed setting the 'near' clipping for pressing dot-key numpad - when you press the buttons-window icon for 'Shading Context' the context automaticilly switches as with F5 hotkey Please be warned that this is not a release... settings in files might not work as it did, nor guaranteed to work when we do a release. :)
2003-11-18- removed temporal patch from myortho2() in mywindow.c, and changedTon Roosendaal
all calls to ortho2 with correctness offset of 0.375 instead of 0.5. this efficiently solves bug in drawing UV lines as reported. cvS: ----------------------------------------------------------------------
2003-11-13- further cleanup of window matrix code. Now ALL 2d ortho calls areTon Roosendaal
using an identical offset; which is 0.375 and official recommended by OpenGL. This to further investigate the AA font errors on some systems with ATI cards.
2003-10-28Fixing loose ends:Ton Roosendaal
- nkey menu for buttonswindow (hex values) couldnt be restored yet, is for next release - replaced Nkey in IpoWindow with Panel, this now displays the buttons that were formerly in 'anim buttons' as well; to view the boundbox values of all visible curves, and adjust it. - the new panel also has the 'set speed' option, fixed stuff in it and added better errorwarning... still not a very well coded tool!
2003-10-23BugFix: do_global_buttons() was split into do_global_buttons() and ↵Robert Wenzlaff
do_global_buttons2(), but do_butspace() still routed events for do_global_buttons2() to do_global_buttons(). This kept a lot of "Single User" buttond from working.
2003-10-19- simplified Theme API. No need to include 'current active area' anymore.Ton Roosendaal
like: BIF_ThemeColor(TH_GRID); will be sufficient. Blender does the rest. - fixed bug in CTRL-X (reload home file) with themes - fixed bug in horizontal alignment of different height panels. Seems also to solve the drawing error with constraints...
2003-10-18- further work on theme colors:Ton Roosendaal
- panels work - ipo window done - buttonswindow done Please be warned that saving Themes now wont work... it will also save BLACK for all uninitalized colors... so dont panic when you see weird things, just go back the default theme and copy a new one.
2003-10-15- expanded internal windowmanager that it allows button panels in anyTon Roosendaal
window (type) - each SpaceData struct (not the window!) can get 'block handlers' assigned, basically event codes that invoke drawing button panels. - this is saved in files, and Panels behave in any window like it does now in buttonswindow - it also means that a 'space window' should leave with a matrix set for buttons level - try it in view3d header menu, 'view'->'backdrop'. this opens the old viewbuttons - it all works non blocking! instant updates of viewbuttons visible in 3d window now. Not done yet: - checking and fixing frontbuffer drawing (select a wireframe draws over) - temporally vertices cannot be selected, is my next project - closing or hiding Panels... - styling stuff... i committed for others to review as well. Have fun. this is certainly a huge improvement over the old viewbuttons!
2003-10-14- converted constraint buttons, they're a Panel in Object main menuTon Roosendaal
- converted sound buttons, part of Scene - special request Matt: headers of windows 2 pixels higher! (test) - special request Stefano: icons instead of menu for buttons-header - 'data browse' buttons now almost all in buttonswindow. - almost all buttons have been panelized now. next stage: cleaning up usage of color in Blender, to allow presests!
2003-10-13- experiment: changed drawing style of Panels to minimal and fullyTon Roosendaal
transparant. - converted the Texture buttons, they're nice too!
2003-10-13- restored scriptlink buttonsTon Roosendaal
i tried to find place for it in the other menus, like material, object, camera, etc. But thats hard... now it's just one nice Panel, without the idiot headerbuttons icons! - changed drawing of 'tabbed' Panels. The old method takes too much space. hint from xype! Dragging tabbed Panels can be done with the right hand circle. designers are welcom to tweak this. main reason: dragging is not meant to be happening a lot... pressing tabs is more important.
2003-10-12- added radiobuttonsTon Roosendaal
- cleaned unused calls and defines
2003-10-12- Converted lamp buttons and world buttons, they're pretty!Ton Roosendaal
- menu auto open now is user preset, including 2 thresholds you can set - hilites of pulldown menus were not cleared, fixed - changed F4 key to logic. F5 will show lamp buttons, when lamp active - in 'shader context' buttons, clicking camera will show world - Converted lamp buttons and world buttons, they're pretty! - menu auto open now is user preset, including 2 thresholds you can set - hilites of pulldown menus were not cleared, fixed - changed F4 key to logic. F5 will show lamp buttons, when lamp active - in 'shader context' buttons, clicking camera will show world
2003-10-12- converted full materialbuttons...Ton Roosendaal
EEEK! It doesn't look well yet! Hopefully it inspires others to come with great solutions. - the material buttons have 6 panels, three of them merged - some drawing errors in preview render - made settings for new Material that makes sense for Flares