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
2009-06-13merged from trunk 20741:20848 Campbell Barton
* Missing changes to release/windows/installer * Sequencer fixes in source/blender/src/seqaudio.c dont apply to 2.5 * brechts fix for #18855 r20763 wasnt merged, does this apply to 2.5?
2009-06-09Fix for bug #18881 and #18866: Surface option for Fields crashedBrecht Van Lommel
on non-mesh objects, so hide it if not applicable. Also made it support surf, curve, font objects.
2009-01-042.5Ton Roosendaal
Think global, act local! The old favorite G.scene gone! Man... that took almost 2 days. Also removed G.curscreen and G.edbo. Not everything could get solved; here's some notes. - modifiers now store current scene in ModifierData. This is not meant for permanent, but it can probably stick there until we cleaned the anim system and depsgraph to cope better with timing issues. - Game engine G.scene should become an argument for staring it. Didn't solve this yet. - Texture nodes should get scene cfra, but the current implementation is too tightly wrapped to do it easily.
2009-01-022.5Ton Roosendaal
From the anti-globalization department: G.obedit terminated! Wherever possible, use CTX_data_edit_object(C) to get this now. It's stored in scene now, and the screen context has it defined.
2008-12-312.5Ton Roosendaal
So, editmode mesh is back! :) At the moment only TABkey works and mouse select, 1 vertex at a time. More will follow of course. Note for the devs: - G.editMesh has been removed, be careful with old code. - EditMesh now is property of Mesh itself Although it means unlimited editmodes, for migration purposes we better stick to 1 "obedit" per scene, which is in Context too - G.obedit will get removed soon, so use CTX_data_edit_object(C) Or if you can't, just scene->obedit for now - Also removed the CTX_data_edit_mesh(), this has no meaning anymore. EditMesh is not context senstitive anymore, only the edit-object for time being is. - Martin: I've already tucked some EditMesh pointer in T and removed all G.editMesh there.
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-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!
2007-11-27ParticlesBrecht Van Lommel
========= Merge of the famous particle patch by Janne Karhu, a full rewrite of the Blender particle system. This includes: - Emitter, Hair and Reactor particle types. - Newtonian, Keyed and Boids physics. - Various particle visualisation and rendering types. - Vertex group and texture control for various properties. - Interpolated child particles from parents. - Hair editing with combing, growing, cutting, .. . - Explode modifier. - Harmonic, Magnetic fields, and multiple falloff types. .. and lots of other things, some more info is here: http://wiki.blender.org/index.php/BlenderDev/Particles_Rewrite http://wiki.blender.org/index.php/BlenderDev/Particles_Rewrite_Doc The new particle system cannot be backwards compatible. Old particle systems are being converted to the new system, but will require tweaking to get them looking the same as before. Point Cache =========== The new system to replace manual baking, based on automatic caching on disk. This is currently used by softbodies and the particle system. See the Cache API section on: http://wiki.blender.org/index.php/BlenderDev/PhysicsSprint Documentation ============= These new features still need good docs for the release logs, help for this is appreciated.
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-21Step one in migrating to use glArray calls in BlenderTon Roosendaal
- Curve/Nurbs/Font/MBall now all draw arrays. - had to flip abgr to rgba in shaded drawing - Mesh drawing can't be easily done; the indices for faces are not in in one chunk. Also need a way to gether trias/quads, per material. Speedup results are mixed. Something between 2-4 times. Especially for text it seems to help.
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-06-21Fix for bug #4393: initial vertex colors were not created from shadedBrecht Van Lommel
mode colors anymore, which also affected python scripts that depend on this feature. Restored that now.
2006-05-28More render pipeline finishing up;Ton Roosendaal
- Shaded drawmode is back (shift+z). Note it still only uses orco texture; but lighting/shading is using the internal render module entirely. - "Make Sticky" option back. (Also fix in sticky texture render, was wrong scaled)
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-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-15 - readded DL_VERTS type to store lattice deformed vertsDaniel Dunbar
- new feature, twiddled with lattice resizing to try to maintain existing vertex changes... much nicer than just resetting the lattice if you decide you need more detail in the lattice. - modifiers work with lattices now. yes, that does mean you can make a chain of lattices effecting each other 8 miles long. - some cleanup of softbody code, was rather splintered and call path was twisted and confusing. reworked main object step routine to do things in a more obvious and consistent manner and without duplicate code - added ob->softflag OB_SB_RESET instead of sbObjectReset call - modifier changes reset softbody now - moved curve_getVertexCos/curve_applyVertexCos into curve.c - update curve modifier eval to work with virtual modifiers - update modifier apply to work with curves/surfs - update make parent to also recalc object data NOTE: Although you can turn SB on for curve/font objects at the moment it doesn't really work because they call deform in multiple steps and this confuses SB. Not sure how to deal with atm.
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-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-28 - update storage.c to use standard time codes (should fix issueDaniel Dunbar
with MSVS 8) - broke mesh_create_shadedColors out of shadeDispList, used to build vertex colors for mesh in vpaint as well (also fixed bug where they were not initialized correctly for subsurfs) - added modifier_copyData and modifier_findByType functions - change editmode modifiers to only calculate if Realtime and Editmode bits are both set, makes more sense for copying modifiers - update object_copy to correctly copy modifiers - removed duplicate redefinition of ME_ attributes in python, this is a horrible idea, why was it done in the first place? - update armature auto vertex group code to check for subsurf in modifier stack - fixed flip_subdivision to work with move to modifier stack - added copymenu_modifiers, can copy all modifiers or just data from first modifier of a certain type (not sure how to deal with multiple modifiers of same type... not a big issue though I think)
2005-07-19 - change mesh_get_derived_render to mesh_create_derived_render (alwaysDaniel Dunbar
builds new DerivedMesh... caching can come later) - split DerivedMesh returning functions into editmesh and mesh groups - got rid of DL_NORS displist type (get built on fly for mesh when needed) - got rid of Mesh.disp (yay!) - started to punch DerivedMesh returning functions into shape to introduce modifier stack
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-17 - removed unused DL_TRIA typeDaniel Dunbar
2005-07-17 - added DerivedMesh.getMinMax function (calls DO_MINMAX on all vertices)Daniel Dunbar
- static'd boundbox_displist - added getMinMax implementations for all existing DerivedMesh implementations (mesh, editmesh, displistmesh, and ccgsubsurf)
2005-07-17 - added dontFreeNors flag to DispListMesh as wellDaniel Dunbar
- changed mesh_get_derived_render to always return a DerivedMesh (even if no subsurf) - changed init_render_mesh to always get the mesh data through a DerivedMesh
2005-07-17 - added dontFreeVerts and dontFreeOther flags to displistmesh forDaniel Dunbar
situations where data can be shared easily. - added convertDisplistToMesh function for regular mesh DerivedMesh interface (how many times can *you* use mesh in one sentence?) - do_puno was uninitialized in init_render_mesh - added mesh_get_derived_final (temporary), difference from mesh_get_derived is it always returns a derived mesh, even if no subsurf.
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-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-05-27Bug fix #2629Ton Roosendaal
Aye... OpenGL cannot draw concave (C shaped) polygons... that screws up the Lasso tool, when it uses backbuffer selection. Examined for little while the GLU Tesselation library, but apart from its nightmarish structure, it's even stupid (no builtin clock/counterclock). So, instead coded a DispList based function using Blender's edgefill. Works like a charm! :)
2005-04-04 - removed DispListMesh.{editedge,editface}Daniel Dunbar
- removed displistmesh_from_{mesh,editmesh} - removed EditVert.ssco - removed unused functions for DispListMesh DerivedMesh Still need lots more testing for this stuff.
2005-03-29 - removed dlm->flagDaniel Dunbar
2005-03-29 - remove free_displist_by_typeDaniel Dunbar
- free derived mesh on freedisplist_object... bit of a hack but just to be safe. oh dependency graph where are you!
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 nors to DispListMesh (for face normals)... this is just toDaniel Dunbar
avoid throwing them on later with addnormalsdisplist which is just silly and burdensome. - renamed displist_calc_vert_normals to displist_calc_normals
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.
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-10-31Just some nice updates in drawing (extruded) Curve objects;Ton Roosendaal
- display of 'smooth' or 'solid' is correct now - standard bevel and extrude displays in 'smooth' correctly now (with sharp edges where you expect it)
2004-10-31For solid display of curves in editmode; found fix (thnx intrr :) thatTon Roosendaal
hopefully prevents weird results in grabber... error was that the editNurb was not used for triangulating. Also; added drawing the wire as extra in solid display editing curves... that for unfilled curves as well.
2004-10-29Finally something new!Ton Roosendaal
- in Solid draw mode, curves without faces draw as wireframe now - in Solid draw mode, curves without faces don't get fat outline on select - in Solid draw mode, editing curves shows filled now!
2004-09-25Two nice workflow improvements;Ton Roosendaal
- Zbuffer clipped selection Based on same algos as for drawing (blender polygon offset) vertices, edges and faces now are clipped for draw and selection when Zbuffer is used. Note that it works for endpoint vertices of edges, and for facecenters. Also works for border and circle-select - Optimal draw subsurfs This now draws optimal with faces and edges selected/unselected, hiding the original 'cage' (mesh) completely. TODO: edge select, which still uses original (invisible) edge. http://www.blender3d.org/cms/Mesh_editing_rewrite.425.0.html
2004-08-29Forgot to export Object as struct Object...Ton Roosendaal
2004-08-29Apparently the curve render code doesnt use the displist... so there'sTon Roosendaal
duplicate code for tapering needed. Now tapered curves render too.
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-05-29NEW! Blender now displays flipped (negative scaled) Objects correctly inTon Roosendaal
OpenGL draw. (BTW: the previous commit also solves raytrace errors with negative scaled objects...) Further a cleanup of displaylist flags and object/base flags. The #define ACTIVE is moved to filesel.c (only used here). The GONNA_MOVE #define got a OB_ added in front.
2004-03-28 - replaced G.{edve,eded,edvl} with G.editMesh, atm just a structure toDaniel Dunbar
hold the three lists, nothing major, but gives a place to hang data off of and a single "mesh" structure to pass around for editing functions.
2004-03-15Removed the struct MFaceInt from DNA_mesh_types.h (by the recommendationChris Want
of zr). This struct was never written to file and the new 'int based' MFace can be used in it's place. Some removal of redundant code could perhaps be done now (I didn't do any though, just "s/MFaceInt/MFace/").
2004-01-07 - removed some old cruft from init_render_displist_mesh (for smeshes-RIP)Daniel Dunbar
- reduced main subsurf interface to two functions to make DispListMesh structures from an editmesh or a regular mesh. for the most part this means that to implement a geometry modifier you only need to write these two functions (not very plugable yet however). - added displistmesh_from_mesh and displistmesh_from_editmesh functions which allow simple support of subdivLevel(0) subsurfs, somewhat handy for testing things (like why orco doesn't work for subsurf).
2004-01-07 - migrated a subsurf routine to displist.c: displistmesh_calc_vert_normals()Daniel Dunbar
- removed some vertice tweaking for subsurf->displist conversion - replaced stupid way of doing edcode calculation for ME_OPT_EDGES flag
2003-10-21- added new drawing type for subsurf editing. Is called 'Optimal' andTon Roosendaal
can be found under the 'SubSurf' button. Optimal drawing only shows the subdivided original edges. Quite nice! And; it's a load faster! - to evaluate: do we want this in editmode too?