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
2008-11-13Merge of trunk into blender 2.5:Brecht Van Lommel
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r12987:17416 Issues: * GHOST/X11 had conflicting changes. Some code was added in 2.5, which was later added in trunk also, but reverted partially, specifically revision 16683. I have left out this reversion in the 2.5 branch since I think it is needed there. http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16683 * Scons had various conflicting changes, I decided to go with trunk version for everything except priorities and some library renaming. * In creator.c, there were various fixes and fixes for fixes related to the -w -W and -p options. In 2.5 -w and -W is not coded yet, and -p is done differently. Since this is changed so much, and I don't think those fixes would be needed in 2.5, I've left them out. * Also in creator.c: there was code for a python bugfix where the screen was not initialized when running with -P. The code that initializes the screen there I had to disable, that can't work in 2.5 anymore but left it commented as a reminder. Further I had to disable some new function calls. using src/ and python/, as was done already in this branch, disabled function calls: * bpath.c: error reporting * BME_conversions.c: editmesh conversion functions. * SHD_dynamic: disabled almost completely, there is no python/. * KX_PythonInit.cpp and Ketsji/ build files: Mathutils is not there, disabled. * text.c: clipboard copy call. * object.c: OB_SUPPORT_MATERIAL. * DerivedMesh.c and subsurf_ccg, stipple_quarttone. Still to be done: * Go over files and functions that were moved to a different location but could still use changes that were done in trunk.
2008-05-26* The displist would be uninitialized when nurbs bezieru/v was set and the ↵Campbell Barton
order wasnt 3 or 4. add a function that checks nurbs can produce a valid line. check_valid_nurb_u/v * when check_valid_nurb_u/v fails, no curve is allocated or drawn. * knotsu/v could be NULL but some functions didn't check for this, make sure this is checked for everywhere. * The interface didnt change check the order when the bezier u/v flag was set, added functions clamp_nurb_order_u/v that takes into accound the number of points and the bezier u/v flag.
2008-04-25Suggestion by GSR; move "extern C" into header file, remove "_" fromKen Hughes
utf8towchar function name.
2008-04-25Duplicating UTF-8 changes from Revision 14536 in another place in the source ↵Ken Hughes
tree. Pointed out in IRC by Kent.
2008-04-17Patch from GSR that a) fixes a whole bunch of GPL/BL licenseChris Want
blocks that were previously missed; and b) greatly increase my ohloh stats!
2008-01-07Patch to change license to GPL only, from GSR.Chris Want
2008-01-01removed blenderdef.h, BIF_*, BDR_* and BSE_* header files (except for ↵Campbell Barton
BIF_gl.h and BIF_glutil.h)
2007-12-24Blenkernel for 2.5 project, changes mainly are because of disablingTon Roosendaal
bad level calls. (which is not finished at all)
2007-04-04moved source and text to american spellingCampbell Barton
* colour -> color * centre -> center * normalise -> normalize * modelling -> modeling
2006-06-10Fixed an almost one-decade long annoyance: Text objects with "TextOnCurve"Alexander Ewering
now scale correctly. Formerly, they just used to scale away from the curve into nirwana. Now, they nicely follow the curve while scaling. Both the curve and the text objects themselves can be scaled. This will of course break compatibility with files that used this "bug". Acceptable? I guess :-)
2006-05-23Fix underlining for text objects to use correct material index (and preventAlexander Ewering
renderer from crashing).
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-11-01Three new features:Ton Roosendaal
1) Stride Bone For walkcycles, you could already set an NLA strip to cycle over a path based on a preset distance value. This cycling happens based on a linear interpolation, with constant speed. Not all cycles have a constant speed however, like hopping or jumping. To ensure a perfect slipping-less foot contact, you now can set a Bone in an Armature to define the stride. This "Stride Bone" then becomes a sort-of ruler, a conveyor belt, on which the character walks. When using the NLA "Use Path" option, it then tries to keep the Stride Bone entirely motionless on the path, by cancelling out its motion (for the entire Armature). This means that the animation keys for a Stride Bone have to be exactly negative of the desired path. Only, at choice, the X,Y or Z Ipo curve is used for this stride. Examples: http://www.blender.org/bf/0001_0040.avi The top armature shows the actual Action, the bottom armature has been parented to a Path, using the Stride Bone feature. http://www.blender.org/bf/0001_0080.avi Here the Stride Bone has a number of children, creating a ruler to be used as reference while animating. Test .blend: http://www.blender.org/bf/motionblender1.blend Notes: - Note that action keys for Bones work local, based on the Bone's orientation as set in EditMode. Therefore, an Y translation always goes in the Bone's direction. - To be able to get a "solvable" stride, the animation curve has to be inverse evaluated, using a Newton Raphson root solver. That means you can only create stride curves that keep moving forward, and cannot return halfway. - Set the Stride Bone in the Editing Buttons, Bone Panel. You can set change the name or set the axis in the NLA Window, Strip Properties Panel. - Files in this commit will move to the blender.org release section. 2) Armature Ghosting In EditButtons, Armature Panel, you can set an armature to draw ghosts. The number value denotes the amount of frames that have to be drawn extra (for the active action!) around the current frame. Ghosts only evaluate its own Pose, executing it's Actions, Constraints and IK. No external dependencies are re-evaluated for it. 3) NLA/Action time control If you click in the NLA window on the action (linked to Object), it makes sure the Timing as drawn in the Action editor is not corrected for NLA. If you also set the Object to "Action", this timing will be executed on the Object as well (not NLA time). (It's a bit confusing... will make a good doc & maybe review UI!)
2005-10-31Found a potential crash where NULL could be passed to vfont_get_data(),Alexander Ewering
here's the fix. Maybe it fixes Andy's file :)
2005-10-31Comment out debug printfAlexander Ewering
2005-10-28Fixing Bug: 3273, Removing my goto calls from font.c.Mika Saari
2005-10-28Fixed gcc warnings for unused var and unitialiazed vars.Ton Roosendaal
NOTE: I had to fix NMesh.c, Mesh_fromNMesh(), that is a real bad function... it was returning a Py object as a Mesh (on error). This is still not really solved (NULL return is not handled).
2005-10-22A tweak for text follow curve -- the old comment in the code saysChris Want
"why not 0.5?", so I am setting it to 0.5 since it looks way better that way (I think somebody should really revisit this code at some point).
2005-10-11Found a crasher in editing text; load file with text, enter editmode forTon Roosendaal
it and reload. I could fix the crash quickly, but it still gives not freed memory errors. More important; this code is VERY BAD! Not sure who added all this *goto* stuff, but it's not acceptable code that way... (kernel, font.c) The hacks in editfont.c are very bad too. I really hope Alexander and/or Mika will clean up before we officially release!
2005-09-29Fix Python API to correctly create Text3D objects. This is just aAlexander Ewering
temporary fix (duplicating code again), the *real* fix would be to once make one central function to create and init a text object for all places... I also tried to introduce compatibility code to be able to load old files with broken text objects (cu->tb == NULL due to missing init code). Hope it works :)
2005-09-19Coding style from spaces to tabs in files related to Unicode Font Object.Mika Saari
Function strlen changed to wcslen in editfont.c in ALT-U (undo) functionality.
2005-09-19Looking at it, I could improve drawing of selection at leastAlexander Ewering
*slightly* for TextOnCurve. It draws with errors, but it's at least possible to remotely guess the selection :-)
2005-09-19Disabling underlining for text objects with "TextOnCurve", because it canAlexander Ewering
never work correctly with it, the way it is currently implemented. The selection won't draw correctly either with TextOnCurve, and this is really asking a bit much.. What to do...
2005-09-16Fix the "Text to 3D Font" options in the text editor.Alexander Ewering
Note: The "Insert Text" button pretty much replaces this, together with the fact that editing 3d text is now much more powerful than the usual text editor ;-)
2005-09-14Commented out the memset(...) in chtoutf8(), as it just assumed the bufferAlexander Ewering
was at least 16 bytes long, but wasn't always, and it gets cleared manually by all calling places anyway. Should fix crashes.
2005-09-14On behalf of Mika Saari, the famous Unicode Font support!Alexander Ewering
Further information is available here: http://wiki.blender.org/bin/view.pl/Blenderdev/UnicodeFont3D Shortlist of features: - Unicode character support for Font3D - UI to select characters from Unicode character list - UI to select Unicode table areas - Optimized character loading (Load only those characters which are used in font object) Please test extensively if it breaks anything, try also loading/saving files, packing fonts, etc. The official text regression file in the regression suite should be a good start. Thanks to mikasaari for this very useful addition!
2005-09-04Fix truetype (freetype2) font loadingAlexander Ewering
2005-08-31Re-enabled freetype font rendering :-)Alexander Ewering
2005-08-29More text object fancyness, and fixes:Alexander Ewering
- "Flush" is now split into two seperate Alignment modes "Flush" and "Justify": - Justify does exactly the same as a normal word processor's justify function does, and in addition, it uses *whitespace* instead of *character spacing* (kerning) to fill lines. Much more readable. - Flush is pretty much the old Blender "Flush" mode - and as such it uses character spacing to fill lines. Just as Justify, this only works with at least one textframe. - Underlining for text objects. Not a lot to explain. New button "U" in the editbuttons, and CTRL-U as hotkey toggle underlining for newly entered characters or for the selection, just like CTRL-B/CTRL-I do for bold/italic. Underline height (thickness) and Underline position (vertical) can be set in the editbuttons. Implemented as CU_POLY polygon curves. - The B, U and i buttons (and the corresponding CTRL-B/U/I keystrokes) have been fixed to only affect *one* attribute at a time. Formerly, hitting CTRL-B when no other style was active, on a text portion with italics text, for example, would kill the italics and just apply bold. Now, these attributes always add or substract only, but do not replace the style. - In the past, there were bugs with material indices uninitialized, and thus crashes in the renderer with illegal material indices. Even though I assume they have been fixed, I've put in a check that checks (hah) if the material index of a character is illegal (bigger than ob->totcol), and then sets it to zero, and spits out a warning on stderr. If you see such warnings, please report and link to the .blend. - Bugfix: All alignment modes only worked if there were at least *two* lines of text in the text object. Fixed There's now a regression test file for text objects, please add to the corresponding repository: http://blender.instinctive.de/downloads/release/demo/text-regression.blend.gz
2005-08-14 - added make_orco_curf, even does keys!Daniel Dunbar
- removed {lattice,curve}_modifier functions - changed render code to use displist for curve rendering instead of making its own. required adding a bevelSplitFlag field to DispList. I also fixed the bevel face splitting which did not work correctly in many situations. - changed so all curve data creation happens in makeDispListCurveTypes, includes making bevel list and filling polys - changed render code to use displist for surface rendering - removed Curve.orco variable, built as needed now - removed stupid BLI_setScanFill* functions... why use a function argument when you can use a global and two functions! Why indeed. (this fixed crash when reloading a file with filled curves and toggling editmode) - bug fix, setting curve width!=1 disabled simple bevel for no apparent reason - cleaned up lots and lots of curve/displist code (fun example: "if(dl->type==DL_INDEX3 || dl->type==DL_INDEX3)"). Hmmm! - switched almost all lattice calls to go through lattice_deform_verts, only exception left is particles - added DBG_show_shared_render_faces function in render, just helps to visualize which verts are shared while testing (no user interface). - renamed some curve bevel buttons and rewrote tooltips to be more obvious - made CU_FAST work without dupfontbase hack Also by the way I wrote down some notes on how curve code works, nothing spiffy but it is at: http://wiki.blender.org/bin/view.pl/Blenderdev/CurveNotes
2005-07-16 - removed makeDispList, set_displist_onlyzeroDaniel Dunbar
- appropriate callers of makeDispList replaced with depgraph calls - unappropriate places just killed... small chance this gives some errors in corner cases if dep graph isn't notified (example, font family displists) but these can be tracked down as they show up. - still a large number of callers of makeDispListCurveTypes, but makeDispListMesh has just a few.
2005-07-14 - split makeDispList into makeDispList{Mesh,MBall,CurveTypes}, there isDaniel Dunbar
still a makeDispList that dispatches to the appropriate one. makeDispList is on the way out and this makes it easier to track down exactly which places use makedispList and for what types of objects. - switch calls to makeDispList to appropriate more specific function (if the object type is known by caller). - added mesh_changed function that invalidates cached mesh data (but does not rebuild, mesh data gets rebuilt on access). Most old calls to makeDispListMesh use this instead now.
2005-07-03Result of 2 weeks of quiet coding work in Greece :)Ton Roosendaal
Aim was to get a total refresh of the animation system. This is needed because; - we need to upgrade it with 21st century features - current code is spaghetti/hack combo, and hides good design - it should become lag-free with using dependency graphs A full log, with complete code API/structure/design explanation will follow, that's a load of work... so here below the list with hot changes; - The entire object update system (matrices, geometry) is now centralized. Calls to where_is_object and makeDispList are forbidden, instead we tag objects 'changed' and let the depgraph code sort it out - Removed all old "Ika" code - Depgraph is aware of all relationships, including meta balls, constraints, bevelcurve, and so on. - Made depgraph aware of relation types and layers, to do smart flushing of 'changed' events. Nothing gets calculated too often! - Transform uses depgraph to detect changes - On frame-advance, depgraph flushes animated changes Armatures; Almost all armature related code has been fully built from scratch. It now reveils the original design much better, with a very clean implementation, lag free without even calculating each Bone more than once. Result is quite a speedup yes! Important to note is; 1) Armature is data containing the 'rest position' 2) Pose is the changes of rest position, and always on object level. That way more Objects can use same Pose. Also constraints are in Pose 3) Actions only contain the Ipos to change values in Poses. - Bones draw unrotated now - Drawing bones speedup enormously (10-20 times) - Bone selecting in EditMode, selection state is saved for PoseMode, and vice-versa - Undo in editmode - Bone renaming does vertexgroups, constraints, posechannels, actions, for all users of Armature in entire file - Added Bone renaming in NKey panel - Nkey PoseMode shows eulers now - EditMode and PoseMode now have 'active' bone too (last clicked) - Parenting in EditMode' CTRL+P, ALT+P, with nice options! - Pose is added in Outliner now, with showing that constraints are in the Pose, not Armature - Disconnected IK solving from constraints. It's a separate phase now, on top of the full Pose calculations - Pose itself has a dependency graph too, so evaluation order is lag free. TODO NOW; - Rotating in Posemode has incorrect inverse transform (Martin will fix) - Python Bone/Armature/Pose API disabled... needs full recode too (wait for my doc!) - Game engine will need upgrade too - Depgraph code needs revision, cleanup, can be much faster! (But, compliments for Jean-Luc, it works like a charm!) - IK changed, it now doesnt use previous position to advance to next position anymore. That system looks nice (no flips) but is not well suited for NLA and background render. TODO LATER; We now can do loadsa new nifty features as well; like: - Kill PoseMode (can be option for armatures itself) - Make B-Bones (Bezier, Bspline, like for spines) - Move all silly button level edit to 3d window (like CTRL+I = add IK) - Much better & informative drawing - Fix action/nla editors - Put all ipos in Actions (object, mesh key, lamp color) - Add hooks - Null bones - Much more advanced constraints... Bugfixes; - OGL render (view3d header) had wrong first frame on anim render - Ipo 'recording' mode had wrong playback speed - Vertex-key mode now sticks to show 'active key', until frame change -Ton-
2005-06-26The overlapping curves/material indices problem got a bit out of control.Alexander Ewering
- For avoiding the 'overlapping character problem' in Text objects, I had changed the sorting code for filling nurbs to use nu->charidx (a new variable incremented with each new character) instead of nu->mat_nr (which used to work for material indices inside a 2D Curve). - This broke material indices in normal 2D Curves completely, thus: - nu->charidx is now not only used for seperating characters in text objects for filling, but also for normal 2D curves when they contain material indices. In fact, charidx is just set to the material index. - There's compatibility code in readfile.c that sets nu->charidx to nu->mat_nr when reading curves from files that are not text objects - So, the big conclusion: Instead of using material indices for creating 'filling groups', filldisplist() now uses nu->charidx, which is set appropriately when reading old files and assigning/deleting material indices in curves. - This is all pretty obscure and hard to explain. If I haven't been clear, ask. - If it breaks anything, complain!
2005-06-21Removed a debug printAlexander Ewering
2005-06-18Attempt at providing the best possible flexibility and usefulness withAlexander Ewering
"Flush": - There are now two modes, "Flush" and "Justify". Justify only flushes a line when it is *terminated* either by wordwrap or by Enter. - "Flush" *always* flushes the line, also when it's still being entered. This mode can be used for things like this: http://pub.intrr.org/flush.png ..while "Justify" would not flush the second line. - Fixed "Flush" squeezing all characters on the same spot if the textframe was set to 0 width
2005-06-18- Fix a few warningsAlexander Ewering
- Improved text editing for justified ('Flush') text: Line will not be filled up until it is completed (wordwrap or Enter) - Fixed waitcursor flickering in displist.c
2005-06-18Initial commit for new text object.Alexander Ewering
Important notes: - Full compatibility with old text objects not fully restored (word spacing will be 0.0, need to set it manually to 1.0), will either need version upgrade to 238 or a hack. Will check. - lorem.c (about to be committed) contains BF copyright notice, but as BF did not exist a few hundred years ago, probably best to remove it :) - If you notice any cross-platform issues (especially beloved windows), please report - A few tiny warnings left, I will fix those issues still. The rest has been said already - so have fun testing. And please do! === Reminder: === Documentation at http://blender.instinctive.de/docs/textobject.txt ===
2005-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)
2004-12-03Fix for #1700 and #1941Ton Roosendaal
When a font for 3d Text Object doesnt exist anymore, Blender could crash. Thanks Rob Haarsma for fixing it.
2004-11-21Fix for strange (showed in windows only) error that delivered flat curveTon Roosendaal
deforms by default. Proved to be a [3] array passed on to function needing [4] array. Bad bad... Thanks Ole for finding it! :)
2004-07-09Quite a large one this time... but now we have:Ton Roosendaal
Edges in Mesh - adds automatic when you use creases. For other situations; call the void make_edges(Mesh *me) in mesh.c. Of course, once in editmode the edges are automatically recreated. - in F9 buttons you can add/remove edges too - both for Mesh and DisplistMesh, so it speeds up drawing quite some in wireframe - render for edges can't work... edges have no material nor tface nor col.. so here still the faces are rendered in wire Creases in Subsurf - based on the code by Chris McFarlen - main changes is that now edges are used, saving quite some data in file - use SHIFT+E in editmode to set edges-sharpness. values go from 0-1 - in F9 buttons you can set draw-crease mode. It draws now blended from wire color to edge-select color (as provided in Theme) Known issue: setting sharpness on 1 cube (subdiv 2) gives weird results with some values... Chris, can you check? Further; code cleanups, changing 0 in NULL when needed, no warnings, etc etc
2004-01-16Comes with previous commit. Allow linedist setting smaller than 1.0.Rob Haarsma
2003-11-24- bug fix: in background render, the default builtin font was notTon Roosendaal
activated for rendering when other fonts were packed too.
2003-07-29Modified Text alignment, it now aligns from the origin (centre) of the Text ↵Rob Haarsma
object.
2003-04-29Added a 3D font loader that uses the Freetype2 library toRob Haarsma
parse the vector data. Freetype2 supports many font formats including Type1, TrueType and OpenType fonts. Enable with the WITH_FREETYPE2 compile flag, in the source/blender/blenkernel and source/blender/blenlib dirs.
2003-04-26- another series of translated c files.Ton Roosendaal
-Ton-
2002-11-25updated .c files to include:Kent Mein
#ifdef HAVE_CONFIG_H #include <config.h> #endif Just need to finish cpp files now :) Kent -- mein@cs.umn.edu
2002-10-12Initial revisionv2.25Hans Lambermont