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
2007-01-31== Multires ==Nicholas Bishop
Fixed bug #5815, Multires mesh UVs get lost (or crashes!) when adding additional UV layers * Switching to Face Select mode adds a UV layer automatically, was missing code there to add the layer to multires as well * Adding/Deleting a customdata layer on a multires mesh should update the multires data first
2007-01-01-> Fix for bug #5472Geoffrey Bantle
Vertex snapping now works with backbuffered selection modes. Previously backbuffer sampling had no way to check whether or not the indices that it retrieved were selected or not. To resolve this I added two optional arguments to sample_backbuf_rect in drawview.c. The first argument tells the function that some additional testing of the retrieved index values needs to be done and the second argument is a pointer to a function to do the testing. findnearestvert() in editmesh_mods.c now makes use of this and passes sample_backbuf_rect() the appropriate argument when being used for vertex snapping.
2006-12-22Fix: active face was lost switching between faceselect mode and editmode.Brecht Van Lommel
2006-12-21Added names to UV and vertex color layers, and display them as a list.Brecht Van Lommel
Added support for multiple UVs in the render engine. This also involved changing the way faces are stored, to allow data to be added optionally per 256 faces, same as the existing system for vertices. A UV layer can be specified in the Map Input panel and the Geometry node by name. Leaving this field blank will default to the active UV layer. Also added sharing of face selection and hiding between UV layers, and at the same time improved syncing with editmode selection and hiding. Still to do: - Multi UV support for fastshade. - Multires and NMesh preservation of multiple UV sets.
2006-12-14* reverted and tweaked UV calculation menu after IRC discussion with CamMatt Ebb
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-12Added a new Python slot "UvCalculate", moved Archimap and "UVs from ↵Campbell Barton
adjacent" into it. Removed 1/2 1/4 1/8 uv mapping options. made re-evaluating the py-scripts dir use the wait cursor (could take a while at times)
2006-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-12-03Copy vcols wasnt working me->mcol[a] needs to be me->mcol[a*4]Campbell Barton
2006-11-27Disable mipmapping in texture paint mode, so fast redrawing will nowBrecht Van Lommel
work by default for power-of-two textures. Improved texture painting across different images a bit.
2006-11-21Bugfix #5258Ton Roosendaal
UV edit: option "project from view 1:1" included object center and clipped min/max wrong, so off-centered faces didn't get a 1:1 projection.
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-11-15Bugfix #5224Ton Roosendaal
Prob: selection sometimes gave wrong edges/faces Selection code for editmesh was still using a short for calculating the distance of a projected vertex/edge/face from the mouse position. In zoomed in cases that'll give overflows and unpredictable results. It was fixed only half before... now all shorts are removed for distance calculus.
2006-09-12Bugfix: texture paint didn't work correct with modifiers.Brecht Van Lommel
2006-09-07Fix for bug #4966:Brecht Van Lommel
Texture painting handled non-planar quads incorrectly in some cases.
2006-08-27Texturepaint now supports all the imagepaint brush settings, with theBrecht Van Lommel
exception of the clone tool. One level undo for image- and texturepaint, only storing those tiles that changed. Test to improve texturepaint performance using glTexSubImage2D, only enabled with 2^n sized textures and mipmapping off. Painting a 2048x2048 texture is then pretty smooth here, as long as the geometry is not too complex.
2006-08-08fix for bug 4819Joilnen Leite
.
2006-07-28Image Paint:Brecht Van Lommel
- Code for brush spacing and timing was rewritten, making spacing more even. Example: http://users.pandora.be/blendix/brush_spacing.jpg - Instead of Stepsize for regular brushes and Flow for airbrushes, there is now Spacing for both, and Rate for airbrushes. - Airbrush now works more like it does in the Gimp now, by maintaining the spacing even if the brush moves faster than the painting rate. - Some preparations to make brushes work in texture paint mode.
2006-07-27Brush Datablock:Brecht Van Lommel
- Added a new Brush datablock, only used by image paint, but intended to be used in texture paint, vertex paint, weight paint and sculpt mode also. - Being a datablock, these brushes can be saved, appended and linked. They have a fake user by default, to make sure they are saved even if not selected. Image Painting: - Replaced the img module with C code in imagepaint.c - Airbrush is no longer a separate tool, but rather an option that can be used for soften, smear and clone also. - Blend modes mix, add, subtract, multiply, darken and lighten have been added, code taken directly from vertex paint. Note to project files maintainers: - The img module was removed from SCons and Makefiles, and this should be done in other build systems also. I'll wait to remove the module from cvs, to not break compilation.
2006-06-27previous commit to editface made it impossible to leave faceSelect mode of ↵Campbell Barton
the object was in an unseen layer. Now you can leave faceSelect/UV mode while the object is hidden but not enter it. This is how editmode works. Tweak to crease comparison.
2006-06-23face select mode would allow you to enter it even if the object was not on a ↵Campbell Barton
visible layer. Changed this to be the same as editmode.
2006-06-19moved defines for top of fileJoilnen Leite
.
2006-06-19fixing line 1350Joilnen Leite
.
2006-06-19renamed uv mapping menu items to make more sense.Campbell Barton
=== UKEY UV MAPPING MENU=== Cube -> Cube Projection Cylinder -> Cylinder from View Sphere -> Sphere from View Bounds to */* -> Project from View */* Standard */* -> Reset */* From Window -> Project from View
2006-04-07Undo Campbell's last commit that disabled face select mode on fluidsimBrecht Van Lommel
meshes, and actually fix the bug that caused the crash. The fluidsim result doesn't preserve a mapping to the original mesh, so it shouldn't be displayed in face select mode.
2006-04-07going into face select mode for fluidsim meshes segfaulted blender, do a ↵Campbell Barton
check so it dosent happen.
2006-03-11Fix for bug #3802: Display problems with modifiers and uv face selectBrecht Van Lommel
The bug reported here was already fixed some weeks ago, but there were more issues. Modifier display in face select and paint modes was never properly finished. This fixes some small drawing update glitches, and only allows modifiers that preserve a mapping to the original mesh to be applied. Otherwise selection and painting isn't even possible.
2006-02-22Fix for crashing border select in FaceSelect mode. This was part of theTon Roosendaal
exr & floatbuffer merge of january 9... faulty code I didn't check.
2006-02-10Faceselect mode fixes:Brecht Van Lommel
- Don't allow entering faceselect mode on a linked mesh (only checked object). - Enable drawing of seams after ctrl+E seam marking.
2006-02-09Seam Cutting in Faceselect Mode:Brecht Van Lommel
- Mark Border Seam: mark edges on the border of face selection as seam. - Clear Seam: clears seams in selected faces. Hotkey: Ctrl+E - Alt+RMB Click: mark/clear edge as seam - Alt+Shift+RMB Click: mark/clear seams along the shortest/straightest path from last marked seam. The cost of the path also includes some measure of 'straightness' next to the typical distance to make things work more predicatble and edgeloop friendly. Note that this cuts a path from edge to edge, not vertex to vertex. That gives some nice control over the direction of the seam. Also includes: - Removed old LSCM code. - Fix updates glitches with DerivedMesh/Subsurf drawing in FaceSelect mode. Now there's a drawMappedFacesTex instead of drawFacesTex. - Minimize Stretch menu entry called Limit Stitch. - Removed the lasttface global, was being set before it was used anyway, so might as wel return from a function. - Moved some backbuf sampling code to drawview.c from editmesh, so it can be used by Faceselect and VPaint. - Use BLI_heap in parametrizer.c.
2006-02-05UV Editor Tweaks:Brecht Van Lommel
- Set local sticky in the uv editor as default. - Don't do live unwrap on fully selected charts or charts with no pins selected. - Fixed bug with live unwrap not respecting transform cancel in some cases. - "View Home" didn't work without an image. - Move UV Calculation settings (cube size, cylinder radius, ..) into the scene toolsettings, instead of global variables - Remove the name LSCM from the UI (and python docs on seams), and replace it with 'Unwrap', with upcoming ABF this didn't make sense anymore. - Move the Old/New LSCM switch into the UV Calculation panel. New LSCM is the default now. Also renamed LSCM there to "Conformal". - Made some room in the UV Calculation panel by removing the buttons to execute the UV calculation, only leaving the settings. Fill Holes: - LSCM now has an option to fill holes in the chart before unwrapping. This on by default, and enables two things: - Prevent internal overlaps (e.g. eyes, mouth) for LSCM unwrapping. - Allow the internal boundaries to move freely during stretch minimize. - The possibility to switch it off is there because it is not always possible to define which the outer boundary is. For example with an open cylinder where there are two identical holes.
2006-01-09Orange branch: OpenEXR finally in Blender!Ton Roosendaal
Credits go to Gernot Ziegler, who originally coded EXR support, and to Austin Benesh for bringing it further. Kent Mein provided a lot of code for integrating float buffers in Blender imbuf and ImBuf API cleanup, and provided Make and Scons and static linking. At this moment; the EXR libraries are a *dependency*, so you cannot get the Orange branch compiled without having OpenEXR installed. Get the (precompiled or sources) stuff from www.openexr.com. Current default is that the headers and lib resides in /user/local/ Several changes/additions/fixes were added: - EXR code only supported 'half' format (16 bits per channel). I've added float writing, but for reading it I need tomorrow. :) - Quite some clumsy copying of data happened in EXR code. - cleaned up the api calls already a bit, preparing for more advanced support - Zbuffers were saved 16 bits, now 32 bits - automatic adding of .exr extensions went wrong Imbuf: - added proper imbuf->flags and imbuf->mall support for float buffers, it was created for *each* imbuf. :) - found bugs for float buffers in scaling and flipping. Code there will need more checks still - imbuf also needs to be verified to behave properly when no 32 bits rect exists (for saving for example) TODO: - support internal float images for textures, backbuf, AO probes, and display in Image window Hope this commit won't screwup syncing with bf-blender... :/
2005-10-25More bugfixing related to #3149:Brecht Van Lommel
Drawing of rotation limits and IK solving was wrong with pose mode bone offsets. Also added proper modifier stack update after uv unwrap and lscm.
2005-09-24 - assorted warning fixes (signedness, float->double)Daniel Dunbar
- added decimate,boolean modifier copydata methods
2005-09-17- Imagepaint code cleanup:Brecht Van Lommel
- Move UVTEXTTOOL variables into global Gip struct (like Gvp for vertex paint). This will probably be moved into SpaceImage later, so it is saved with the .blend file. - Disable tool drawing. a better solution needs to be found. - Panel button layout is still the same, this will change. - Removed the NAN_TPT define, it has no use anymore.
2005-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-18 - added DerivedMesh.drawUVEdges function & implementationsDaniel Dunbar
- removed DerivedMesh.drawLooseEdges and replaced with much more general drawEdgesFlag function that draws based edge flags. - switch DerivedMesh.drawFacesTex to give user control over which faces are drawn - added object_uvs_changed and object_tface_flags_changed functions to do object recalc flag flush/redraw queueing and added calls in appropriate places - added various edge flags to mark TFace information. This is used by the drawEdgesFlag routine and was the best way I could come up with to deal with drawing TFace information from modifier stack. Unfortunate side effects are (1) uses a lot of MEdge flags (although not needed in file so thats fine) and (2) requires recalculation of modifier stack on UV selection changes. #2 is disappointing but I could not find a better solution. - update UV mesh shadow drawing to use modifier result. At the moment just uses the final result but probably should be integrated with the editmode cage option. - convert draw_tfaces3D to use drawEdgesFlag routine which cleaned up the code quite a bit. - convert draw_tface_mesh to draw using result of modifier stack. Same comment about which result actually gets draw in FACESELECT mode as for UV editor shadow drawing applies. There is a still a bug in that selection is using the wrong mesh to draw.
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-11New "Mirror UVs" function in faceselect mode, to complement Rotate UVs.Brecht Van Lommel
It mirrors the UVs or Vertex Colors of individual faces (on the red edge of the UV face). Patch provided by Martin Poirier, thanks!
2005-07-14 - switch to using DAG_object_flush_update instead of mesh_changedDaniel Dunbar
- mesh drawing calculated derived surface before clipping to view matrix, waste for offscreen objects
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-06-17With no objects in scene, press F (ALT+F) for faceselect crashed.Ton Roosendaal
Bugfix #2755
2005-05-12Fixed various errors with Blender allowing editing Library linked data.Ton Roosendaal
CTRL+V on buttons NKEY Panels join mesh join curve editing buttons boolean vpaint faceselect Manipulator Also; Transform() got in useless loop when you entered without anything selected. Not sure why Martin recoded it this way... maybe as a first step to handlerify it? For evil Python Aussie Bosses? :P
2005-04-28A couple more simple gcc4.X warnings fixed.Kent Mein
softbody.c I removed an unused var. text.c added return values to 2 return statements that didn't have anything. Makefile added $(FIX_STUBS_WARNINGS) to CFLAGS for the stub. source/blender/src/editface.c fixed up int vs unsigned int stuff source/blender/src/resources.c had two vars declared as unsigned char * and then inputs to them were cast as char * so updated the casts. Kent
2005-04-23Merging over some uv editor tweaks from tuhopuu:Brecht Van Lommel
- Moved Weld/Align out of transform code, now it's a menu. - Removed confirmation popups for LSCM unwrapping in the uv editor, didn't make sense anymore now we have undo. - Extended select linked, to work more like it does in edit mode: - L: select linked uvs/faces under the mouse - Shift+L: select/deselect linked uvs/faces under the mouse (like shift+click for selecting single uvs/faces) - Ctrl+L: how L worked before - More accurate uv selection: when selecting one uv from a group of uvs that are in the same position, it now selects the uv belonging to the face the mouse is over, instead of a random uv. - 'View Selected' (numpad .-key) for both faceselect mode and the uv editor.
2005-04-23Add "View Selected" (numpad .-key) for faceselect mode and the uv editor.Brecht Van Lommel
Also includes some 2d vector operations (subtract, dot, normalise).
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
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-11-07Added some missing undo pushes for the UV editor and UV Face Select Mode.Brecht Van Lommel