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
2011-02-13fix for warnings from Sparse static source code checker, mostly BKE/BLI and ↵Campbell Barton
python functions. - use NULL rather then 0 where possible (makes code & function calls more readable IMHO). - set static variables and functions (exposed some unused vars/funcs). - use func(void) rather then func() for definitions.
2011-02-12access past array bounds in layerInterp_mdisps, also make some vars const.Campbell Barton
2011-01-31Todo issue: sculpting on deformed meshSergey Sharybin
Used a crazyspace approach (like in edit mode), but only modifiers with deformMatricies are allowed atm (currently shapekeys and armature modifiers only). All the rest modifiers had an warning message that they aren't applied because of sculpt mode. Deformation of multires is also unsupported. With all this restictions users will always see the actual "layer" (or maybe mesh state would be more correct word) they are sculpting on. Internal changes: - All modifiers could have deformMatricies callback (the same as deformMatriciesEM but for non-edit mode usage) - Added function to build crazyspace for sculpting (sculpt_get_deform_matrices), but it could be generalized for usage in other painting modes (particle edit mode, i.e) Todo: - Implement crazyspace correction to support all kinds of deformation modifiers - Maybe deformation of multires isn't so difficult? - And maybe we could avoid extra bad-level-stub for ED_sculpt_modifiers_changed without code duplicating?
2011-01-30Total displacement levels should be set in multires_topology_changedSergey Sharybin
2011-01-13remove/comment unused varsCampbell Barton
also removed unnecessary NULL checks (where the pointer was used later without checking).
2011-01-11comment/remove unused vars from particle and multires code.Campbell Barton
also remove calls to dm->getFaceDataArray() within a loop for particle grid distribution, instead call this once at the start and reuse the result.
2011-01-08Fix for bug [#21534] Multires modifier strange deformationsNicholas Bishop
This adds the "Apply Base" feature from my gsoc2010 branch. Apply Base partially applies the modifier, in that the mesh is reshaped to more closely match the deformed mesh. The upper-level displacements are recalculated so that the highest multires level appears unchanged. Multires does not currently deal well with too large displacements. An easy-to-reproduce example: create any mesh type, add multires, subdivide a few times, then use the sculpt grab brush to drag the entire mesh over a few units. At the highest level, and at level 0, the mesh looks fine, but all of the intervening levels will have ugly spikes on them. This patch doesn't help with situations where you can't modify the base mesh, but otherwise works around the problem fairly well (albeit with a heuristic, not an exact solution.)
2011-01-07remove references to BKE_utildefines where its not needed.Campbell Barton
- move GS() define into DNA_ID.h - add BLI_utildefines as an automatic include with makesrna generated files.
2011-01-07split BKE_utildefines.h, now it only has blender specific defines like GS() ↵Campbell Barton
MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h. no functional changes.
2011-01-05Get rid of uninitialized variable and malicios derived mesh relising.Sergey Sharybin
Pointer by llvn analyzer.
2011-01-02Splitting quad into triangles and merging triangles into quad shouldSergey Sharybin
work correct with sculpting data now. Joining two triangles could give incorrect sculpting result for special topologies, but it's that case that can't be nicely handled with our layers architecture.
2011-01-02Multires math function used for layer interpolation moved from customdata.c ↵Sergey Sharybin
to multires.c No functional changes
2010-12-14Initial implementation of mdisps layer interpolationSergey Sharybin
Sculpt data shouldn't be lost when making topology changes without quads<->tris face converison. General idea: - Go through all grid points of each corner and convert per-corner coordiante to per-face cooredinate - Apply weights and convert new point to per-corner coordinate - Use bilinear interpolation to get needed displacement vector Some additional work was necessery: - Two neighbour corners could have different displacements along common boundary. multires_mdisp_smooth_bounds() makes displacement "symmetrical" - Point could change it's corner, so displacement vector should be flipped in some way. In some cases it's not only flipping, because corner could be mapped with some rotation. It's not solved for triangular faces yet, so only z-axis displacement would be interpolated for tris. More limitations: - Interpolation will give incorrect result after quad<->triangle face conversion. - When face normal was fillped displacement would change it's direction too.
2010-12-13Use mdisps layer from edit_mesh when adding/removing multires modifierSergey Sharybin
when object is in edit mode.
2010-11-20== Multires ==Nicholas Bishop
Fixed bug #20620, "VertColors and Flat/Soft imported from 2.49 are wrong (MultiRes)" reported by Manuel R. * Added function to load level-0 vertex colors * Added function to load level-0 face flags * Warning: the 2.5 multires modifier doesn't support multires vertex colors or multires face flags; that data will be lost if you import it into 2.5.
2010-11-10Removed unused code from multires moduleSergey Sharybin
2010-11-08Fixed own mistake from previous commit -- get_levels_from_disps can't be usedSergey Sharybin
when handling topology changes. Added grid size detection based on totdisp and corners count.
2010-11-08Fix crash when creating new faces in edit modeSergey Sharybin
- Do not check corners count if totdisp is set to 0 - Allocate memory for such mdisps to prevent the whole disp layer erasing
2010-11-05Read external mdisp when hamdling topology changesSergey Sharybin
2010-11-05minor c90 compat edits. (no functional changes).Campbell Barton
2010-11-04Fix #24388: multires base meshSergey Sharybin
- MDisp should be re-allocated if face changed amount of vertices - Allocate disps array in layerSwap_mdisps to prevent loosing all highres data
2010-11-02Fix #24485: Applying scale to multires object end up in a blender crashSergey Sharybin
Fixed multires_apply_smat to work properly with different current and total subdivision levels.
2010-10-31initialize structs to zero rather then using memset().Campbell Barton
2010-10-25Fix #24255: Multires object gets modified when joining it to another ↵Sergey Sharybin
multires object. Fix #22018: joining objects with different multires levels loses levesl from the higher multires object - Synchronyze mulires subdivision level when joining objects - Apply scale on MDISP layer when applying scale - Re-calculate MDISP when joining scaled objects
2010-10-21/WX enabled for MSVC in CMake too.Nathan Letwory
Warning fixes.
2010-10-16most unused arg warnings corrected.Campbell Barton
- removed deprecated bitmap arg from IMB_allocImBuf (plugins will need updating). - mostly tagged UNUSED() since some of these functions look like they may need to have the arguments used later.
2010-09-09== Multires ==Nicholas Bishop
Fixed bug #23657, "Modifiers dosen't work when you select diffrent mesh for object" Multires modifier now adds empty mdisps if they're missing, rather than displaying a warning Switching an object's mesh will now check for a multires modifier; if found the modifier's total number of levels are reset to match the mesh's mdisps Switching the mesh also forces a multires update so that sculpted changes aren't lost
2010-07-05Fix #22213: applying deform modifier in front of multires modifier crashes,Brecht Van Lommel
should not do multires reshape in this case, but just regular apply.
2010-06-22Fix #22589: pressing subdivide or updating displacements after sculptingBrecht Van Lommel
on multire would unnecessarily subdivide vertex groups and other layers, making the operation slower than necessary.
2010-06-22Enabled openmp multithreading for multires/subsurf again, but onlyBrecht Van Lommel
if there are >= 1 million faces estimated in the resulting mesh. (merge from render25 branch)
2010-06-07Fixed bug #22293, v2.49b to v2.5alpha2 incompatibilityNicholas Bishop
* UV data on multires meshes wasn't getting imported properly. Fixed by separately loading in all "first-level" data from the old multires data type into mesh. Note that an "incorrect" data layers might still be loaded and be active on the mesh, but the correct layers should now also show up in the UV layer selector.
2010-06-06- Added checking if modifier is active in find_multires_modifierSergey Sharybin
- Pass MultiresModifierData to reshape functions
2010-06-02Sculpt & modifiers: patch by Sergey Sharybin, with modifications by me.Brecht Van Lommel
Fixes various crashes and redraw problems, most noticeable new feature is that you can now sculpt on a multires mesh with deforming modifiers preceding it. I've left out support for sculpting on multires with enabled modifiers following it, in this case only the base mesh can be sculpted now. The code changes needed to do this are just too ugly in my opinion, would need a more torough redesign which I don't think we should try now. In my opinion this is also not really an important case, since it's going to be incredibly slow anyway to run a modifier on a high res mesh while sculpting. So, to summarize current state: * Fastest sculpting: base mesh with no modifiers or multires with only modifiers preceding it. * Slower sculpting: base mesh with modifiers, depends on the speed of the modifiers. * Not supported: multires mesh with modifiers following it.
2010-06-01Fix #22239: external btx won't load.Brecht Van Lommel
2010-06-01Workaround #20467: disabled OpenMP multithreading on subsurf/multires/sculptBrecht Van Lommel
for now, it's too fine grained and so becomes a performance bottleneck on some platforms, while only providing a modest speedup on others. Couldn't find a simple enough solution to solve this, so for now no multithreading here.
2010-05-21Removed unused argument mmd from multires reshape functions.Sergey Sharybin
2010-05-10Recommit fix that I seem to have uncommitted accidentally, had the fixBrecht Van Lommel
still in my source tree but svn wasn't showing any diffs.. weird.
2010-05-07Merge image related changes from the render branch. This includes the imageBrecht Van Lommel
tile cache code in imbuf, but it is not hooked up to the render engine. Imbuf module: some small refactoring and removing a lot of unused or old code (about 6.5k lines). * Added a ImFileType struct with callbacks to make adding an file format type, or making changes to the API easier. * Move imbuf init/exit code into IMB_init()/IMB_exit() functions. * Increased mipmap levels from 10 to 20, you run into this limit already with a 2k image. * Removed hamx, amiga, anim5 format support. * Removed colormap saving, only simple colormap code now for reading tga. * Removed gen_dynlibtiff.py, editing this is almost as much work as just editing the code directly. * Functions removed that were only used for sequencer plugin API: IMB_anim_nextpic, IMB_clever_double, IMB_antialias, IMB_gamwarp, IMB_scalefieldImBuf, IMB_scalefastfieldImBuf, IMB_onethird, IMB_halflace, IMB_dit0, IMB_dit2, IMB_cspace * Write metadata info into OpenEXR images. Can be viewed with the command line utility 'exrheader' For the image tile cache code, see this page: http://wiki.blender.org/index.php/Dev:2.5/Source/Imaging/ImageTileCache
2010-05-07Multires: fix for "failed to read" error message with external displacements.Brecht Van Lommel
2010-04-13Todo #21831: Deform modifier is applied to base mesh instead ofSergey Sharybin
multires modifier if both are in the stack (patch #21965) This patch also removes limitation of multires reshaping when destination object has got modifiers after multires modifier.
2010-03-22Sculpt Mode Bugfixes:Brecht Van Lommel
* #20833: layer brush doesn't work with multires. * #20946: sculpt mode partially removes parts of the mesh in the viewport. * #20420: grab brush stops after moving some distance. * #20906: sculpt grab tool moves in wrong direction. * #21132 and #21272: undo on object with subdivision surface modifier crashes. * #21115: subsurf + multires + sculpting + undo causes crash. * #20683: sculpt + multires apply + undo crash. * #19094: wrong outline in solid mode.
2010-03-22spaces -> tabs, (4 spaces == 1 tab, only for white space preceding text)Campbell Barton
2010-03-21removed unused includes, except for physics and particle related filesCampbell Barton
2010-02-12correct fsf addressCampbell Barton
2010-02-07Fix #20398: smooth brush + multires could still give problems at innerBrecht Van Lommel
face edges.
2010-02-07Fix #20928: difference boolean modifier is not applied during rendering,Brecht Van Lommel
fixed by last depsgraph commit and this extra check to avoid unnecessary free of derivedmesh for sculpt/multires.
2010-01-26Fix #20820: multires subdivide crash.Brecht Van Lommel
2010-01-25Added simplification back for quicker preview renders with less subdivisionBrecht Van Lommel
levels, child particles, and shadow/SSS/AO quality.. Now also works on what is displayed in the 3d view instead of only rendering, see panel in the scene properties. Most file changes were to make scene available in the isDisabled modifier callback function.
2009-12-21Multires: added back Reshape function, to copy vertex locationsBrecht Van Lommel
from another mesh.
2009-12-14Fix #20362: multires conversion from 2.5alpha0 not working. It's still notBrecht Van Lommel
entirely the same, the tangets are a bit different at face edges/corners.