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
2010-03-08- Fixed trouble with rendering curves with disabled modifiers, which areSergey Sharybin
disabled for realtime displaying but enabled for rendering. - Calculate tex space for curves before modifiers applying.
2010-03-05Constructive modifiers for curves and surfacesSergey Sharybin
Used approach with creating DerivedMesh for curves whet they've got such modifiers. Available modifiers are: array, edge split, mirror, solidify, subsurf.
2010-02-12correct fsf addressCampbell Barton
2009-10-22Shape KeysBrecht Van Lommel
Internal change to not apply the shape keys to the Mesh vertex coordinates, but rather use it as part of the derivedmesh/displist evaluation. This only has one practical advantage right now, which is that you can now make a linked duplicate and pin it's shape key to a different shape than the first object. Further, this makes shape keys correctly fit into the modifier stack design, which will help implement some other features later. Also it means the mesh vertex coordinates are now really the orco's.
2009-10-10added mesh to curve conversion (edge loops only)Campbell Barton
like the script in 2.4x
2009-04-11as per discussion with ton, the editmesh accessors now liveJoseph Eagar
in blenkernel.
2009-01-232.5: multiple small fixesBrecht Van Lommel
- wm draw method is now initialized correct when reading older files, but the SDNA bug causing the problem is still unsolved. is due to // char pad[8]; not being recognized as commented. - triple buffer proxy texture test follows spec better now, was disabling triple buffer unnecessarily on some drivers. - some cmake compile fixes related to sequencer pthread usage and removed bad level calls lib for player. - show outliner header buttons in oops mode as well until that can be switched in the UI. - fix region data free issue for tooltips - warning fixes
2009-01-22Brought back sculpt smooth brush. Also added a new brush flag for setting ↵Nicholas Bishop
whether to use brush spacing.
2008-09-05Merge of first part of changes from the apricot branch, especiallyBrecht Van Lommel
the features that are needed to run the game. Compile tested with scons, make, but not cmake, that seems to have an issue not related to these changes. The changes include: * GLSL support in the viewport and game engine, enable in the game menu in textured draw mode. * Synced and merged part of the duplicated blender and gameengine/ gameplayer drawing code. * Further refactoring of game engine drawing code, especially mesh storage changed a lot. * Optimizations in game engine armatures to avoid recomputations. * A python function to get the framerate estimate in game. * An option take object color into account in materials. * An option to restrict shadow casters to a lamp's layers. * Increase from 10 to 18 texture slots for materials, lamps, word. An extra texture slot shows up once the last slot is used. * Memory limit for undo, not enabled by default yet because it needs the .B.blend to be changed. * Multiple undo for image painting. * An offset for dupligroups, so not all objects in a group have to be at the origin.
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-03-12Added two UV features (Apricot request):Brecht Van Lommel
- Alt+click edge loop select. - Next to Align X/Y, Align Auto which will pick X or Y automatically, should give the expected result for nearly all cases.
2008-03-07Normal map tangents are now not always averaged at vertices anymore,Brecht Van Lommel
but only when the UV's are connected. That fixes some artifacts when baking and using tangent space normal maps. It does mean increased memory usage because it now stores 4 tangents per face like UV's, and increased processing time, but there's no simple way around that.
2008-01-29Fix for bug #7965:Brecht Van Lommel
Array modifier could generate edges with twice the same vertex, fix provided by Ken, thanks.
2007-12-27== Sculpt ==Nicholas Bishop
Fixed bad level calls in sculptmode.
2007-12-11Fix for mirroring issues in particle mode, where the particles wereBrecht Van Lommel
not mirrored exactly, though the problem is not completely solved. The way local frames are computed for particles is still not fully symmetric, which shows especially on long hairs... Also made the shift+o subsurf switch work recursively into dupli-groups, did only the first level before.
2007-12-06Bugfix for mysteriously disappearing left eyeball. Bounding boxesBrecht Van Lommel
used for clipping were being stored in the mesh, but modifiers can result in two objects with the same mesh having a different bounding box. Solution is to store bounding box in the object.
2007-12-05ParticlesBrecht Van Lommel
========= - Texture orco coordinates for particles are now actual orcos instead of just the vertex positions, which means they are the same under deformations and the same as the ones on the mesh. - Particle distribution now uses these orcos to get consistent distributions independent of deformation. - This required changing the way orco's are computed for meshes. Now instead of generating an orco derivedmesh separately, the derivedmesh is generated alongside the regular one and stored in an orco custom data layer.
2007-11-05Mesh Deform ModifierBrecht Van Lommel
==================== The MeshDeform modifier can deform a mesh with another 'cage' mesh. It is similar to a lattice modifier, but instead of being restricted to the regular grid layout of a lattice, the cage mesh can be modeled to fit the mesh better. http://www.blender.org/development/current-projects/changes-since-244/modifiers/ Implementation Notes: - OpenNL has been refactored a bit to allow least squares matrices to be built without passing the matrix row by row, but instead with random access. MDef doesn't need this actually, but it's using this version of OpenNL so I'm just committing it now. - Mean value weights for polygons have been added to arithb.c, a type of barycentric coordinates for polygons with >= 3 vertices. This might be useful for other parts of blender too.
2007-09-18fixed copy between UV layers.Campbell Barton
made the UV layer menu a generic functions (can make a menu from the names of any custimdata layer type) added a menu in the UV window for selecting teh editnmode UV layer - If there ends up not being enough room in the header this may need to be removed.
2007-09-10UV Editing is now done in editmode rather then UV/Face Select mode.Campbell Barton
Notes * you cant edit UV's in the image window in "UV Face Select" mode. (removed UV from the name) * going into Face Select mode no longer adds UV's and does not need UV's to work. * The UV Calculation menu is now in editmode (Alt+W) Todo.. * Image replace - partly broken in stable also. * Rotate/Mirror UV/VCol are still only in Face Select mode. * Hide/Reveal is not quite right, (issue with editmode flushing)
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
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-02-19Warning fix in subsurf_ccg.c. Also changed subsurf UV vertex and edgeBrecht Van Lommel
handles to be more consistent.
2006-01-10Apply Subsurf to UV's.Brecht Van Lommel
This fixes most of the UV distortion issues with subsurf. Near seams however there might still be some distortion, but this should at least not be worse than before. Subsurf UV is enabled by default on new meshes, and can be enabled in the modifier panel for existing ones. Before and after: http://users.pandora.be/blendix/notsmooth.png http://users.pandora.be/blendix/smooth.png
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-09-03Saturday morning first cup of coffee hack (yeah, its a lateDaniel Dunbar
morning) - fun for the whole family, boolean mesh modifier... doesn't work with layered modifiers yet (just uses base mesh), although may god have mercy on your soul if you want to run boolean on a subsurf anyway - added displistmesh_add_edges This exposes a bug in boolean, apparently the output is somehow random (hash on alloc'd pointer value perhaps) which is sortof lame. It also makes more apparent the desire for some level of control over dep graph evaluation during editmode (at the moment dep graph is reevaluated for a mesh object in editmode, but since mesh changes are on editmesh other objects don't really see any change, so it is a wasted recalc).
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-07-23 - removed mface->puno flags, was only used to flip normals in displayDaniel Dunbar
and this is better left to user (whee this was a fun commit! so much deleting!) - removed mesh_calculate_vertex_normals (replaced by mesh_calc_normals)
2005-07-22 - moved mesh_getVertexCos to mesh.c and prototypedDaniel Dunbar
- make mesh_modifier build vertex locations on demand
2005-07-19 - ditch mesh_uses_displistDaniel Dunbar
2005-07-18 - removed orco pointer from struct MeshDaniel Dunbar
- switch renderer to store orco's in a hash table instead of caching in mesh (I don't like the renderer caching data in the actual mesh structure) - added mesh_create_orco[_render] function
2005-07-18 - replace displistmesh_calc_normals by mesh_calc_normalsDaniel Dunbar
- convert MeshDerivedMesh to calculate new vertex normals and such on initialize, means copy free conversion to DispListMesh - replace vertex access through function by direct access fo MeshDerivedMesh - shadeDispList was not getting correct orco's
2005-07-15 - decided it made more sense to make a key_get_active function, switchedDaniel Dunbar
to that in editmesh as well as for edit{curve,lattice} - added a G.editModeTitleExtra string that gets displayed in header info string in editmode. currently used to display "(Key)" when editing a key (before there was not UI level display of this info).
2005-07-15 - more signedness warning fixes in editsimaDaniel Dunbar
- added mesh_get_active_key and replaced code in editmesh to use this - removed obsolete code in object_deform
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-14 - add mesh_get_bb function to return mesh boundbox and calc if neededDaniel Dunbar
- switch all mesh boundbox access to go through mesh_get_bb - switch object_handle_update to call mesh_changed instead of making the displist data immediately (delayed calculation)
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-03-26 - integrated get_mvert_weight and color_temperatureDaniel Dunbar
into drawobject.c (just used for calculating weight map) - removed two_sided (replace with glLightModeli calls) - huge rewrite of drawobject.c for meshes, extracting simple drawing functions and then reworking to bring some order and clarity back to the code. A lot was changed here so it is likely I missed a few things in testing although I tried to be very careful. Please let me know if you find any changes in drawing.
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-03-21 - added editmesh_[de]select_by_material functionDaniel Dunbar
- added mesh_set_smooth_flag, mesh_delete_material_index function - isolated some globals - got rid of reliance on meshdata in buttons_editing.c and material.c
2004-01-08 - removed duplicate flags from BKE_mesh.hDaniel Dunbar
- removed rendermesh_uses_displist (no longer relevant) - converted appropriate me->flag tests to using mesh_uses_displist - made vert and face counting (for info header) use proper counts - changed flip_subdivision to allow level==0 argument - ps. thanks for subsurf orco fix ton
2003-03-24Oops, forgot to use 'struct Mesh' in prototype.Daniel Dunbar
2003-03-24Added a mesh_calculate_vertex_normals function for rebuilding the normalsDaniel Dunbar
outside edit mode.
2002-12-27Removed the config.h thing from the .h's in the source dir.Kent Mein
So we should be all set now :) Kent -- mein@cs.umn.edu
2002-11-25Did all of the .h's in sourceKent Mein
(adding) #ifdef HAVE_CONFIG_H #include <config.h> #endif also the Makefile.in's were from previous patch adding the system depend stuff to configure.ac Kent -- mein@cs.umn.edu
2002-10-30fixed spacing in the headers to get rid of some warnings and some otherKent Mein
little minor spacing issues.
2002-10-12Initial revisionv2.25Hans Lambermont