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-12-12Added a new Python slot "UvCalculate", moved Archimap and "UVs from ↵Campbell Barton
adjacent" into it. Removed 1/2 1/4 1/8 uv mapping options. made re-evaluating the py-scripts dir use the wait cursor (could take a while at times)
2006-11-27IRC reported bug:Ton Roosendaal
When linking a referenced (Library) Image to a texture face, it wasn't tagged to become saved in file. So you lost data. Also fixed: tooltip for the "Li" icons was wrong.
2006-11-17Fixed the delete texture button for sculptmode texturesNicholas Bishop
2006-11-07The occosional warning cleanup;Ton Roosendaal
- unused varialbles - unused functions - wrong casted callback for SDL - gcc3 related; (GLint *) for opengl calls.
2006-11-06Merged Google Summer of Code sculptmode/multires/retopo tools.Nicholas Bishop
From the tracker: https://projects.blender.org/tracker/index.php?func=detail&aid=5018&group_id=9&atid=127
2006-10-22I was impossible to set a render window back to being a non render window ↵Campbell Barton
without changing the TexFace image. now the cross will unset the render window and use the texface if its there, cross again removes the image as useual.
2006-08-20Fixes for:Andrea Weikert
[ #4337 ] Cant refresh the C:\ [ #4710 ] Wrong paths in file selector under user prefs [ #4353 ] Using ^ char + click on Open/Load = Blender crash Details: Fixes for root paths like C:\ on Windows, where Blender still used '/'. Also contains fixes for relative paths: - no relative paths for the default dirs (forced to absolute) - message if using relative paths when .blend file hasn't been saved. Lastly also added '.' for refresh in root paths. Windows FindFirstFile/FindNextFile also return '.' and '..', but not in root paths like C:\
2006-07-31ImagePaint Refactoring:Brecht Van Lommel
- ImagePaint now uses ImBuf directly, and the rect blending functions were moved into the imbuf module. - The brush spacing, timing and sampling was abstracted into brush.c, for later reuse in other paint modes. Float ImagePaint support. Textured Brushes: - Only the first texture channel is used now. - Options for size and offset should be added, but need to find some space in the panel, or add a second one ..
2006-07-27Brush Datablock:Brecht Van Lommel
- Added a new Brush datablock, only used by image paint, but intended to be used in texture paint, vertex paint, weight paint and sculpt mode also. - Being a datablock, these brushes can be saved, appended and linked. They have a fake user by default, to make sure they are saved even if not selected. Image Painting: - Replaced the img module with C code in imagepaint.c - Airbrush is no longer a separate tool, but rather an option that can be used for soften, smear and clone also. - Blend modes mix, add, subtract, multiply, darken and lighten have been added, code taken directly from vertex paint. Note to project files maintainers: - The img module was removed from SCons and Makefiles, and this should be done in other build systems also. I'll wait to remove the module from cvs, to not break compilation.
2006-07-08Bug fix #4640Ton Roosendaal
Renaming Meta Object to become the 'mother meta' should invoke a call to reconstruct the dependency graph.
2006-07-05Bug #4616Ton Roosendaal
Node Editor: selecting Material buttons in header crashed, when no buttons window was opened. Code didn't check for proper window it was called from. Also: autoname "Cyan" was spelled dutch! :)
2006-05-26Slight simplification of windowtype_pup()...Alexander Ewering
2006-05-13Browsing Mesh data in editmode used to be locked (uiButLock). Cleanup ofTon Roosendaal
headerbuttons code in orange branch disabled this lock. Brought it back.
2006-02-19Patch: [ #3283 ] strcat --> sprintfMartin Poirier
Less yuckiness!
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; maintenance commit!Ton Roosendaal
- Moved all 'render pipeline control' options out of the Material panels into the (now renamed) "Links and Pipeline" Panel. These are the options that are not per material-node, but global for the entire Material tree. It includes ZTransp, Zinvert, Strands, Halo, Wire, etc. - To further make Node editing clear, when you enable Nodes for the first time, the link button to the first Material node is drawn red, to note that here needs something linked or added. - Protected Node editing for Library data - Fixed header buttons to work OK for Node Window
2006-01-03Orange; tweaks for further integrating node editing in UITon Roosendaal
- Previews inside groups now get updated too - Activating nodes inside of groups updates UI and preview render correctly - Entering/leaving groups updates UI and previewrender - Material Node: now draws socket name next to colorpicker for inputs
2005-12-29More node goodies!Ton Roosendaal
First note; this is a WIP project, some commits might change things that make formerly saved situations not to work identically... like now! ------ New Material integration ------ Until now, the Node system worked on top of the 'current' Material, just like how the Material Layers worked. That's quite confusing in practice, especially to see what Material is a Node, or what is the "base material" Best solution is to completely separate the two. This has been implemented as follows now; - The confusing "Input" node has been removed. - When choosing a Material in Blender, you can define this Material to be either 'normal' (default) or be the root of a Node tree. - If a Material is a Node tree, you have to add Nodes in the tree to see something happen. An empty Node tree doesn't do anything (black). - If a Material is a Node Tree, the 'data browse' menus show it with an 'N' mark before the name. The 'data block' buttons display it with the suffix 'NT' (instead of 'MA'). - In a Node Tree, any Material can be inserted, including itself. Only in that case the Material is being used itself for shading. UI changes: Added a new Panel "Links", which shows: - where the Material is linked to (Object, Mesh, etc) - if the Material is a NodeTree or not - the actual active Material in the Tree The "Node" Panel itself now only shows buttons from the other nodes, when they are active. Further the Material Nodes themselves allow browsing and renaming or adding new Materials now too. Second half of today's work was cleaning up selection when the Nodes overlap... it was possible to drag links from invisible sockets, or click headers for invisible nodes, etc. This because the mouse input code was not checking for visibility yet. Works now even for buttons. :)
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-18Orange:Ton Roosendaal
- Sunday merger with bf-blender - Foundations for new Node editor in Blender, generic framework that can be used for Material/Texture, Compositing, Logic or maybe even Sequencer. Note: this doesn't do anything yet, nor save! Is just to get this nice in CVS now. :)
2005-12-04Orange branch feature; Material LayeringTon Roosendaal
(WIP, don't bugs for this in tracker yet please!) - New Panel "Layers" in Material buttons, allows to add unlimited amount of materials on top of each other. - Every Layer is actually just another Material, which gets rendered/shaded (including texture), and then added on top of previous layer with an operation like Mix, Add, Mult, etc. - Layers render fully independent, so bumpmaps are not passed on to next layers. - Per Layer you can set if it influences Diffuse, Specular or Alpha - If a Material returns alpha (like from texture), the alpha value is used for adding the layers too. - New texture "Map To" channel allows to have a texture work on a Layer - Each layer, including basis Material, can be turned on/off individually Notes: - at this moment, the full shading pass happens for each layer, including shadow, AO and raytraced mirror or transparency... - I had to remove old hacks from preview render, which corrected reflected normals for preview texturing. - still needs loadsa testing!
2005-11-19Patch #3365, Toolbox from TuhopuuTon Roosendaal
Patch prvovided by Guillermo, code was - afaik - from Rob Haarsma. This changes the toolbox (space menu) to have the first level aligned vertically. Works much easier that way, and since the items open either left or right, it doesn't flip order of the contents for it either. To allow people to test (and to compare) it's a user menu setting (in View & Controls, "Plain menus"). I've turned this on by default though, since I propose to not have it a user setting. User setting can be removed later. Fixed two bugs in patch: - if saved in user settings, first time usage of this toolbox opened in wrong location - Button for "plain menus" was writing a short in an int (causing this new menu not to work for big endian systems) As a bonus I've added the long wanted hotkey support for opening and closing sublevels of pulldowns with arrow keys! I didn't add the commenting out of correcting pulldown menu order, which is based on location of the originating button in the UI. This uncommenting didn't solve anything, since button definitions itself can be flipped too. (Example: the data brose menus in top bar need to be corrected). I can imagine the order flipping is sometimes annoying, but it still has reasons to be there; - the most important / most used items are always closest to the mouse. (like opening properties panel, or "Add new" for material. - it follows muscle memory and 'locus of attention' (mouse position). - menus are configured to open to the top for bottom headers, and to the bottom for top headers. We can expect the UI is configured consistantly for headers, so in general the menus will appear consistant as well. Where menu flipping fails is especially for alphabetic listings, like in the menu button of fileselect. However, that one should be configured to open by default to the bottom, so ordering is consistant as well. If people like to check this themselves; uncomment the lines in the top of the function uiBlockFlipOrder() in src/interface.c
2005-10-25Bugfix #3242Ton Roosendaal
Ipo WIndow, "Make single user" button crashed. Forgot to recode 2 weeks ago
2005-10-17This fixes ALT+A playback in 3d windows, with one or more windows havingTon Roosendaal
unlocked (not scene) layers. Depgraph pickyness.
2005-10-10Stage two of the giant animation recode project; Ipo/Action/NLA cleanupTon Roosendaal
-> Note; added 2 new c files (split editipo.c). MSVC needs upgrade. Impatient people can check the goodies in CMS: http://www.blender3d.org/cms/Action_and_NLA_editor.706.0.html Most work was on trying to unwind the spaghetti for editing ipos. Too much history and bad design got added here. Most evident changes: - made generic 'context' for detecting which Ipo is being edited, or to assign ipos or to retrieve ipo curves. - made generic insertkey() for all ipo types, including actions - shuffled a lot of code around to make things more logical. Also made sure local functions are not exported It is far from ready... when action/nla was added in Blender, a lot of duplicate code was generated. That's for another time. Now the goodies; - made Actions to allow any Ipo type - made NLA to define active actions, for Action window too - corrected timing for active action, so it shows the 'real time', as defined in NLA editor. I did update python code, but that would require testing. Testing is needed for this commit in general, too many changes happened on all levels of the animation system. :) Will keep track of all reports this evening, hopefully it doesnt break the pre-release schedule!
2005-09-29Orange report bug; Adding a new scene, choose "link obdata" gives corruptTon Roosendaal
memory. Poses should be relinked right after duplicating, not during a redraw (when more objects use same armature). Added in readfile a patch to make sure files saved with this duplicate error can still be used.
2005-09-24Old error... on ctrl+clicking new bones, the envelope bone distances wereTon Roosendaal
not correctly flushed for connected bones.
2005-09-24Bug fix #3094Ton Roosendaal
Playback of sequencer sound crashed in combination with dupliverted Objects. (confirmed in osx only btw). Found out there's old not-needed code in the update_for_newframe() call, that was intended to do updates for Manipulators (calling countall()). In countall(), the entire duplilists were generated over, just for counting the totals. First step was removing the countall from update_for_newframe, and added a count_duplilist() call which doesn't generate the full duplilist. That made Blender not crashing anymore, but gives "Error totblock", without printing the block names even... The weird thing also was that the crash showed severe memory corruption in the malloc library, when combining audio scrubbing (SDL) and duplilists. I now suspect there's a remaining issue with DerivedMesh, but for that I need help from Daniel.
2005-09-17- Imagepaint code cleanup:Brecht Van Lommel
- Move UVTEXTTOOL variables into global Gip struct (like Gvp for vertex paint). This will probably be moved into SpaceImage later, so it is saved with the .blend file. - Disable tool drawing. a better solution needs to be found. - Panel button layout is still the same, this will change. - Removed the NAN_TPT define, it has no use anymore.
2005-09-03 - assorted minor warning fixesDaniel Dunbar
2005-08-25Huge commit, but not much features... had to shuffle a lot of code around.Ton Roosendaal
Main target was cleanup of editconstraint.c and removal of the ugly ob->activecon (active constraint channel), which was set by the "Show" button in the Constraint Panel. Better is to introduce an 'Active Constraint' itself, which stores in the Constraint itself. By using this setting, and by checking the active Bone, the UI can update reliably now. This only shows now in IpoWindow btw (for constraint ipos). The active Constraint is drawn in the Buttons with a slightly brighter backdrop. Any action in that Panel selects a constraint now (even click in backdrop). So now we have pose channels & constraint channels nicely behaving. Now the darn Action channels... :) Further in this commit: - interface.c: Button ROUNDBOX now does button callback too. Button NUMSLI didn't do the callback on a click only - Cleaned up include files in yafray, got annoyed it compiled over all the time. - removed unused variables from Constraint struct
2005-08-07 - update B_MESH{BROWSE, ALONE, LOCAL} events to flag object changedDaniel Dunbar
2005-07-27Cleanup & goodies for rigging geeks! :)Ton Roosendaal
- PoseMode: Wkey menu, "Flip Left/Right Names". On selected bones, it flips the L/R tags in names, and calls the proper code to rename everything that's related (constraint targets, bone-childs, etc). - PoseMode: Shift+S snapmenu: snap cursor to selected now works - Outliner: select bones now correctly sets 'active' flag for bones, updating the UI as well. Also made sure you cannot select hidden bones in outliner. - 3DWindow: in PoseMode/EditMode draws name of active Bone too (with user option "Draw active object name" set. - Added the new Armature/PoseMode options in View3D pulldowns. Cleanup: - moved Pose code from editaction.c to poseobject.c - removed BSE_editaction.h and BSE_editaction_types.h, moved contents of it to BIF_editaction.h. One include per C file should be fine. :) I know the src/ structure would require more elaborated includes, but we don't have that now...
2005-07-17More fixes thanks to irc testing;Ton Roosendaal
- On exit editmode and after deleting bones, a pointer in PoseChannels was not set NULL correctly, causing potential crashes. - Action Window: select on 'ipo key' (little icon) didn't select/deselect the associated bone (old bug!) - After unlinking an Action, the blue color in bones was not cleared Also: - Improved selection in editmode, doing it in 2 stages. Makes it a lot more accurate.
2005-07-08Two little bugs showing up in workshop;Ton Roosendaal
- update_for_new_frame() (on frame advance, alt+a) crashed when no 3d view was opened ever (NULL pointer) - using proportional mode on Curve editing wrote beyond end of a malloced block. Just a minus one needed here...
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-05-28Bug fix #2636Ton Roosendaal
New AA font drawing (using texture) didn't get initialized on startup, only when button was pressed. Confusing code... we need to remove all #ifdefs here once.
2005-05-19Made TimeLine "Play" also play sound and synchronize with it. Added theTon Roosendaal
feature with a header button. Works like audio playback on ALT+A, meaning you have to add the audio strips in Sequencer. The 'only sync' option for ALT+A doesn't work here. Also: fixed crash on ESC in audio playback in sequencer.
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-09BPython:Willian Padovani Germano
- Made Blender.event var (previously only used by script links) hold ascii value -- where it applies -- of current event during events callback registered with Draw.Register(gui, events, button_events). Useful for gui scripts like Campbell's Python console. No problem using this var to hold the value, since in gui scripts it was not used (always None). - Updated Window and Window.Theme with new theme vars and the Time space. - Script links: -- Added "Render" event for script links (runs twice, second time as "PostEvent", for clean-up actions). Now FrameChanged links don't run when a single pic is rendered. -- Added "Enable Script Links" button in the script buttons tab. Now this bit gets saved in .blends along with the rest of G.f, so users can define per .blend if they are on or off by default. "blender -y" also disables all slinks as happened before with OnLoad ones only. -- Other small changes in the script buttons tab: When a link is added (button "new"), it becomes the active one for the window, no need to press a button to reach it. Also, a pupmenu showing all available texts is shown when "new" is pressed, so users can choose a text w/o having to type. Cancel the popup to leave the string button empty (link exists, but has no script assigned). A pulldown would be better UI-wise, but it's kinda weird to show both scripts and normal texts (Blender doesn't differentiate them) in a script links pulldown. With a popup we can show only texts ending in ".py" (not done in this commit, need opinions) and if the script has no or another extension, case of many in old and current .blend's, there's still the string box for writing its name. -- Implemented Ton's space handler script links: Right now only for the 3d View, but it's trivial to add for others. There are two types: EVENT, to receive 3d View events from a chosen window and DRAW, to draw on the window. Ton's idea was to give scripts a controlled way to integrate better within Blender. Here's how it works: - scripts must have a proper header, like: # SPACEHANDLER.VIEW3D.EVENT and then they are shown in 3d View's View menu, "Space Handler Scripts" submenu. Check (mark, click on it) a script to make it active. EVENT handlers should consult the Blender.event var to get the current event, which can be compared with values from the Draw module: import Blender from Blender import Draw evt = Blender.event if evt == Draw.AKEY: print "a" elif evt == Draw.LEFTMOUSE: print "left mouse button" else: return # ignore, pass event back to Blender Blender.event = None # tell Blender not to process itself the event DRAW handlers are free to draw to their owner 3D View. OpenGL attributes and modelview and projection matrices are pushed before running the handler and poped when it finishes. To communicate between EVENT and DRAW handler scripts we have the Blender.Registry module, as always. Still need to code some nice example, which should also serve to test properly space handlers. Simple tests went fine. - doc updates about the additions. ======= Note: the UI part of the space handlers and script links is of course open for changes, I just tried to make it understandable. Probably we won't use the scriptlinks icon for "None Available" (check 3d View -> View -> Space Handler Scripts), though it hints at what space handlers are. The tooltips may not be accepted either, since other menus don't use them. Opinions welcomed.
2005-05-05Two little issues for Timeline window;Ton Roosendaal
- Using Arrowkeys to change frames didn't give proper redraw - Option "Record" now tied to the User-preset "Auto key insert". It is no user preset anymore even, I thought to leave a button in the User- presets for the time being though...
2005-05-05Added the new Timeline Window, copied from Tuhopuu, coded by Matt Ebb.Ton Roosendaal
Main change is that it's an own Space type now, not part of the Audio window... the audio window should restrict to own options. This way functionality is nicely separated. Since it's the first time I added a new space (since long!) I've made an extensive tutorial as well. You can find that here: http://www.blender3d.org/cms/Adding_new_Space_Window.557.0.html Notes for using timewindow; - Add time markers with MKey - CTRL+M gives option to name Marker - Markers cannot be moved yet... - Pageup-Pagedown keys moves current frame to next-prev Marker - Xkey removes Markers - If an object has Ipos or an Action, it draws key lines - CTRL+Pageup-Pagedown moves current frame to next-prev Key - Press S or E to set start/end frame for playback Notes about the implementation in Tuhopuu: - Add new Marker now selects new, deselects others - Selecting Marker didn't work like elsewhere in Blender, on click it should deselect all, except the indicated Marker. Not when holding SHIFT of course - Not exported functions are static now - Removed unused defines (MARKER_NONE NEXT_AVAIL) - Drawing order was confusing, doing too many matrix calls - Removed not needed scrollbar, added new function to draw time values. (Has advantage the MMB scroll works not confusing on a scrollbar) - Added proper support for 'frame mapping' - The string button (name Marker) had a bug (checked str[64] while str was only 64 long) - String button itself didn't allow "OK on enter" - Made frame buttons in header larger, the arrows overlapped - Removed support for negative frame values, that won't work so simple!
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-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-18So! Finally a show-off of the *power* of Martin P's work! :)Ton Roosendaal
- Made framework for 3d Transform Manipulators (widgets) - The Manipulators act like '2d buttons', by default with LeftMouse and with while-hold-move-release - Implemented now: Translation Widget, which allows: - four hotspots for axis grab or view-aligned grab - center defined by 'around' setting - SHIFT+LMB gives planar constraint on other 2 axes - works in Object mode and Edit mode (not posemode yet) Enable it with (temporal) icon in 3D header. All other 'normal' transforms then keeps working btw. On the todo for this widget: - choice for Global, Local or Normal orientation The way the widgets are going to work is in review still. Commit is also for Matt for his proposal/paper on topic. Some notes regarding this project; - no life updates (on mouse over) like 3DS, I think that's neurotic - on click, dominant axis changes to theme defined "Transform" color, other axes disappear, like maya - manipulater size is fixed preset, independent zoom. - manipulator follows selection, and is located based on 'around' mode Unresolved; - in maya, when you select 2 or more objects, the manipulator draws on the 'active' object, also interesting - what to do with G,R,S hotkeys? It could switch the manipulator "mode"... - header button/menu for manipulator mode?
2005-03-09big warning hunt commitJean-Luc Peurière
lot of casts, added prototypes, missing includes and some true errors
2005-02-13Fix for mipmap userpref button. (it was using the wrong userpref value).Rob Haarsma
2005-01-21Modified interface texture font support, which should work nicely with the ↵Rob Haarsma
freshly added bFTGL library. Also removed some redundant #include's on some files.