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-10-28added scons option BF_WITH_PYTHON (defined as DISABLE_PYTHON)Campbell Barton
2008-10-06fix for own bugs in curves.Campbell Barton
- the number of segments was always 1 too many on cyclic curves. - [#17739] - normals were not being calculated when rendering curves. Replaced macro DL_SURFINDEX with a function. it that assumes variable names and could break from the loop that called it.
2008-09-12Add some typecasts for intptr_t and uintptr_t value to fix gcc warnings.Ken Hughes
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-02-27Fix for bug: cross platform strand render differences with kink/branch.Brecht Van Lommel
This time is was due to different accuracy of floating point computation, now it uses does a comparison a bit different to avoid this. Also changed the vectoquat function to be threadsafe.
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-29Cleanup work for 2.5 branch. Target is to get it compile and linkTon Roosendaal
still!
2007-08-20VRML and DXF were saving all meshes that had at least one user - so all ↵Campbell Barton
meshes in other scenes, and meshes without object users like textmesh. used the flag LIB_DOIT to tag meshes used in the current scene and only write those.
2007-06-05filelen is set to the return result of BLI_filesizeKent Mein
which can return -1. So lets check for -1 before calling malloc and doing more work. Another coverity fix. Kent
2007-04-04moved source and text to american spellingCampbell Barton
* colour -> color * centre -> center * normalise -> normalize * modelling -> modeling
2007-03-13added back videoscape for pythonCampbell Barton
2007-03-13removed videoscape support, a format from 1988 that nobody uses anymore.Campbell Barton
2007-03-11made all data adding functions accept a name such as add_mesh or add_curve, ↵Campbell Barton
previously only some datatypes adding functions accepted a name. also updated the Bpy.py epydocs
2007-02-07Bugfix for reading DXF files, custom data layer wasn't alwaysBrecht Van Lommel
added properly.
2006-12-13Multiple UV and vertex color layers: (still work in progress)Brecht Van Lommel
These can be created and deleted in the Mesh panel in the same place as before. There is always one active UV and vertex color layer, that is edited and displayed. Important things to do: - Render engine, material support - Multires and NMesh now lose non active layers Also CustomData changes to support muliple layers of the same type, and changes to layer allocation, updated documentation is here: http://mediawiki.blender.org/index.php/BlenderDev/BlenderArchitecture/CustomData
2006-12-05Modifier Stack: Limit calculation to required data.Ben Batt
This commit upgrades the modifier stack to only calculate the data which is needed, either by modifiers further down the stack or by other functions at the end of the stack (e.g. drawing functions). This speeds up modifier stack recalculation, especially where vertex groups and UV coordinates are concerned. For example, a mesh with an Armature modifier followed by a Subsurf modifier would previously have required the Subsurf modifier to interpolate all the vertex groups in the mesh, slowing down modifier calculations considerably. With this update, vertex group data is not propagated beyond the Armature modifier, so calculations are faster. Note that this depends on the order of modifiers in the stack. If the Armature and Subsurf modifiers were swapped in the above example, the Subsurf modifier would have to interpolate vertex groups, as they are needed by the Armature modifier.
2006-11-20* remove a stray ; and place a declaration before any actual code. msvc8 was ↵Nathan Letwory
falling over these. GCC needs some good spanking for allowing this type of code to get through by compiling it /Nathan
2006-11-20Added custom vertex/edge/face data for meshes:Brecht Van Lommel
All data layers, including MVert/MEdge/MFace, are now managed as custom data layers. The pointers like Mesh.mvert, Mesh.dvert or Mesh.mcol are still used of course, but allocating, copying or freeing these arrays should be done through the CustomData API. Work in progress documentation on this is here: http://mediawiki.blender.org/index.php/BlenderDev/BlenderArchitecture/CustomData Replaced TFace by MTFace: This is the same struct, except that it does not contain color, that now always stays separated in MCol. This was not a good design decision to begin with, and it is needed for adding multiple color layers later. Note that this does mean older Blender versions will not be able to read UV coordinates from the next release, due to an SDNA limitation. Removed DispListMesh: This now fully replaced by DerivedMesh. To provide access to arrays of vertices, edges and faces, like DispListMesh does. The semantics of the DerivedMesh.getVertArray() and similar functions were changed to return a pointer to an array if one exists, or otherwise allocate a temporary one. On releasing the DerivedMesh, this temporary array will be removed automatically. Removed ssDM and meshDM DerivedMesh backends: The ssDM backend was for DispListMesh, so that became obsolete automatically. The meshDM backend was replaced by the custom data backend, that now figures out which layers need to be modified, and only duplicates those. This changes code in many places, and overall removes 2514 lines of code. So, there's a good chance this might break some stuff, although I've been testing it for a few days now. The good news is, adding multiple color and uv layers should now become easy.
2006-10-27Fixed all gcc 4 warnings in blenkernel. Found 2 potentially harmfulBrecht Van Lommel
unintialized variables in the verse code, verse_session.c:451 and verse_object_node.c:339, those are properly initialized now.
2006-08-09Bugfix #4811Ton Roosendaal
Videoscape export wrote color value wrong on little endian systems, when no material was assigned to object (default color).
2006-07-06[ #4585 ] - fix for reading videoscape filesAndrea Weikert
- yet again a file path that was too short ;)
2006-06-21Bug #4382Ton Roosendaal
When Blender tries to open a non-existing file, two error popups were called. Very annoying. Was simple one-liner fix; the 'read exotic' function should return a -1 when file doesn't exist. :)
2006-04-09#bugfix #3791Ton Roosendaal
Missing depsgraph update tag in Object made dxf import seem as if it didn't import anything.
2006-01-03As positively recieved on the mailing list and irc (and blessed byChris Want
guitargeek), this commit enhances the support for temporary storage for the structs EditVert, EditEdge, and EditFace. The field "EditVert *vn" has been removed and replaced by a union called "tmp" that can hold: v, an EditVert pointer; e, an EditEdge pointer; f, an EditFace pointer; fp, a float pointer; p, a void pointer; l, a long; Please see the mailing list post here for more information about this: http://projects.blender.org/pipermail/bf-committers/2005-December/012877.html
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-09-22More properly coded version for adding edges... now only do_versions()Ton Roosendaal
reads from the old mface->edcode flag to set edge drawing. ALso; added a pointer check in draw_mesh_object(), here the derivedmesh gives NULL on reading regression file lostride.blend. Zr needs to check!
2005-08-21 - added mesh_strip_loose_faces, works in conjunction with make_edgesDaniel Dunbar
to get rid of faces with MFace.v3==0 - change all Mesh's to have ->medge now. This is forced by make_edges on readfile, and in the various exotic important routines, and on conversion back in python. - make python NMesh structure always have medges now (needs testing) - with above two changes it is guarenteed that mf->v3 is never ==0 in main blender code (i.e., all MFace's are actually triangles or quads) and so I went through and removed all the historic tests to deal with MFace.v3==0. Equals lots of deleting, I am in heaven! - removed MEdge edcode flag, no longer needed - added experimental replacement for edge flag system Still are some inconsistencies in FACESELECT mode edge drawing to be ironed out. NOTE: This commit adds an experimental edge flag calc system, based on 10-seconds-of-thought algorithm by yours truly. Would appreciate feedback on how this system works, esp compared to old one and esp on complex or interesting models. To Use: New system is enabled by setting G.rt to a value between 1 and 1000 (Value of 0 uses old system). Value 1000 is reserved for "auto" edge, which is more or less identical to old system but also makes sure that at least 10% of edges are drawn (solves errors for super subdivided meshes). Values between 1 and 999 act as percent (out of 1000) of edges that should be drawn, starting with "most interesting" edges first. Please try it and comment!
2005-08-20 - convert all DerivedMesh map functions to use index basedDaniel Dunbar
mapping (instead of Edit{Vert,Edge,Face} pointers) - dropped convertToDispListMeshMapped (whew, glad of it too) - added DerivedMesh drawMappedFaces function - dropped EM suffix for DerivedMesh functions, it was neither particularly correct nor descriptive - converted test_index_mface to test_index_face that also corrects MCol and TFace. Good thing we had three versions of this routine, you never know when one might burn down. - removed flipnorm_mesh, not used anymore (and was incorrect to boot) - Getting face select to work with modifiers turned out to be much more complicated than expected. Reworked mapping architecture for modifiers - basically elements in a DispListMesh are now required to be stored in an order that corresponds exactly to original ordering. MVert/MEdge/MFace all have a new flag ME_XXX_STEPINDEX that is set on each element that is set on the first derived element of each original element. I can't say the code to follow these requirements for subsurf is particularly transparent, but on the upside it is a reasonably consistent and simple system that is memory efficient and allows keeping the DispListMesh structure. - rewrote mirror modifier to be simpler/conform to new requirements for mapped DispListMesh structure. This also means that mirror interacts much better with incremental subsurf calculation (it used to recalc one entire side on any topology change, now it generally avoids that). - added EM_{init,free}_index_arrays and EM_get_{vert,edge,face}_for_index functions to handle mapping indices back into appropriate EditMesh structures. - bug fix, make edges didn't recalc object data - bug fix, initial image assignment to TFace's didn't recalc object data - new feature, added circle select support for FACESELECT - bug fix, creating new faces in editmode duplicated the TFACE active flag - but there should only be one active tface - bug fix, possible crash when deleting all faces in faceselect mode on mesh with tfaces... Still todo: TFace edge drawing is still not always correct in face mode, in particular with a mirror modifier when mesh has edges (and no preceeding subsurf). Have not yet decided how to deal with this. Best solution is probably to do switch to meshes all having MEdge's, in which case I can get rid of TFace edge flags (and need to recalc modifiers on tface selection change).
2005-08-12 - remove some silly array copying code for nurb displist generationDaniel Dunbar
- converted dl->flag to use consistent defines for cyclic U/V
2005-08-07 - add allowShared argument to DerivedMesh.convertToDispListMesh to allow ↵Daniel Dunbar
returned DLM to share data from DerivedMesh (reduces some copying/memory allocation) - added displistmesh_copyShared function to copy a DLM but not duplicate any internal data - changed crease drawing to use DerivedMesh functions... this means varying edge width style of creases had to go, I replaced by using varying color to show crease weight instead. Don't think this is a big loss since the subsurf result gives you a much better indication of the crease weight anyway. - bug fix in mirror modifier, didn't copy edge creases from editmesh correctly
2005-07-27Patch provided by Shaul Kedem: Compressed files are back!Ton Roosendaal
He even made a nice doc in wiki: http://wiki.blender.org/bin/view.pl/Blenderdev/Blendgz Usage: set the option "Compress File" in the main "File" pulldown menu. This setting is a user-def, meaning it is not changed on reading files. If you want it default, save it with CTRL+U. The longest debate went over the file naming convention. Shaul started with .blend.gz files, which gave issues in Blender because of the code hanging out everywhere that detects blender files, and that appends the .blend extension if needed. Daniel Dunbar proposed to just save it as .blend, and not bother users with such details. This is indeed the most elegant solution, with as only drawback that old Blender executables cannot read it. This drawback isn't very relevant at the moment, since we're heading towards a release that isn't upward compatible anyway... the recode going on on Meshes, Modfiers, Armatures, Poses, Actions, NLA already have upward compatibility issues. We might check - during the next month(s) - on a builtin system to warn users in the future when we change things that make a file risky to read in an older release.
2005-07-19Bugfix #2818Ton Roosendaal
On importing a file (dxf for example), the active filename got set to the imported filename, causing save-over to use that too. Tracked it down to be a very old feature... better to remove this, doesn't work according specs!
2005-07-18 - convert write_object_stl to use mesh_get_derived_finalDaniel Dunbar
2005-07-17 - converted write_videoscape_mesh to use mesh_get_derived_deformDaniel Dunbar
2005-07-15 - added mesh_get_texspace (should be used instead of direct access)Daniel Dunbar
which calculates texspace on demand if need be. - removed almost all calls to tex_space_mesh There may be a few corner cases where this goes wrong (meshes with vertex keys) but these should get ironed out by coming modifier system.
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-04-27Bug fix #2483Ton Roosendaal
Wrong referencing of Materials created when importing DXF caused crashes. Note for the person who coded it: the use of Blender internals (database) is quite confusing... most of exotic.c isn't really OK code to reuse from. There's also a lot of redundant code there... with many chunks adding objects or mesh data being copied completely. This can be structured much better! :)
2005-04-25Bug fix #2469Ton Roosendaal
Apparently DXF allows layers to be read too... this went wrong in 2 ways; - object->lay was not equal to base->lay - if DXF has layer info, but not readable, it set object->lay to 1 instead of using 'current layer'.
2005-04-17Replaced a bunch of malloc() calls with proper MEM_mallocN()Ton Roosendaal
(and free() and calloc() of course) Remainder malloc() calls need to be there for realloc().
2005-03-31 - fix some signed/unsigned comparison warningsDaniel Dunbar
2005-03-29 - added Mesh->derived and Mesh->decimated DerivedMesh pointersDaniel Dunbar
- removed DL_MESH displist type!!!! Now store a DerivedMesh directly. - May still be some issues left having to do with releasing this at the right time (old code just splashed free_displist all over the place).
2005-03-28 - added DerivedMesh convertToDispListMesh function with implementations,Daniel Dunbar
this is to ease migration. - updated particles and STL converter to use DerivedMesh interface. This is a bit wasteful at the moment, but these are not key performance areas. Can update once DerivedMesh has accessors for faces and face data.
2005-03-20 - remove all obsolete inclusions of BLI_winstuff.h (due to recent changes)Daniel Dunbar
NOTE: BLI_winstuff.h was meant to be a wrapper around windows.h to handle undefining various crap that windows.h defines. Platform specific headers should only have to be included in a few places. This reduces the number of inclusions of BLI_winstuff.h to 16 which is a much more reasonable number (than the 144 or whatever it used to be)
2005-03-09big warning hunt commitJean-Luc Peurière
lot of casts, added prototypes, missing includes and some true errors
2005-03-04Bug fix #2270Ton Roosendaal
Accidentally left in testing line in dxf reader... causing quads to be imported as triangles. Was released in 2.36! Tsk.
2004-12-27Biiig commit! Thanks to 2-3 weeks of cvs freeze...Ton Roosendaal
Render: - New; support for dual CPU render (SDL thread) Currently only works with alternating scanlines, but gives excellent performance. For both normal render as unified implemented. Note the "mutex" locks on z-transp buffer render and imbuf loads. - This has been made possible by major cleanups in render code, especially getting rid of globals (example Tin Tr Tg Tb Ta for textures) or struct OSA or using Materials or Texture data to write to. - Made normal render fully 4x32 floats too, and removed all old optimizes with chars or shorts. - Made normal render and unified render use same code for sky and halo render, giving equal (and better) results for halo render. Old render now also uses PostProcess options (brightness, mul, gamma) - Added option ("FBuf") in F10 Output Panel, this keeps a 4x32 bits buffer after render. Using PostProcess menu you will note an immediate re- display of image too (32 bits RGBA) - Added "Hue" and "Saturation" sliders to PostProcess options - Render module is still not having a "nice" API, but amount of dependencies went down a lot. Next todo: remove abusive "previewrender" code. The last main global in Render (struct Render) now can be re-used for fully controlling a render, to allow multiple "instances" of render to open. - Renderwindow now displays a smal bar on top with the stats, and keeps the stats after render too. Including "spare" page support. Not only easier visible that way, but also to remove the awkward code that was drawing stats in the Info header (extreme slow on some ATIs too) - Cleaned up blendef.h and BKE_utildefines.h, these two had overlapping defines. - I might have forgotten stuff... and will write a nice doc on the architecture!
2004-12-22Last minute fix #1Ton Roosendaal
Dxf reader had 2 crucial erros; - didnt read files correct with \r\n enters (\n and \r go fine) - polyline triangles were added as quads with identical first and last vertex, going terrible wrong on mesh import of 3DS files.
2004-12-12Bug fix #2005Ton Roosendaal
Simple case; make MAXSTACK define for vrml import to allow import up to 750k faces or 1M vertices (was 125k faces, 160k vertices).
2004-11-26Fixes in reading .dxf (bug #1883)Ton Roosendaal
- fgets() doesn't recognize DOS strings in unices, made my own fgets - reading polyline didnt support 3d lines - reading polyline didn't create edges All in all, this code isn't very nice and badly structured... a code review or test (yes sirdude!) could have been useful. :)