Commit Graph

150 Commits

Author SHA1 Message Date
Joseph Eagar
d88bb9115f =bmesh=
Coded a new modifier, "Precision UV Interpolation", 
that triangulates, subdivides, then uses brecht's mean
value interpolation to interpolate face data.

Textures on ngon faces get interpolated a bit nicer, in 
other words (though concave cases, e.g. 'N', don't work very well).
2011-03-25 00:32:38 +00:00
Joseph Eagar
7ccc17b98c =bmesh= fixed bunches of modifier stack bugs 2011-03-19 21:33:33 +00:00
Joseph Eagar
18494f8d33 scons fix 2011-03-17 23:39:26 +00:00
Joseph Eagar
bbbbea6024 scons fix 2011-03-17 23:30:29 +00:00
Joseph Eagar
1216fe7f21 =bmesh=
Bevel! Implemented bevel (from scratch).  Man is
this tool way cooler then I thought it was.  Note that
uv/vcol interpolation is working (loop level data) but 
vert/edge data (like vgroups) likely still needs
work.
2011-03-17 22:59:54 +00:00
Joseph Eagar
a147a91899 =bmesh=
Fixed view selected code.  Made MDisps->disps use the
special allocation library I wrote as a
temporary fix to MDeformGroup->dw problems.

Why was the vgroup solution reused?  It's really slow,
and its hard to tie in something like mempool or memarena.
The hackish allocator I wrote really needs to go, eventually,
or be folded into guardedalloc.

Also fixed a customdata bug with modifiers.
2011-03-03 07:10:42 +00:00
Joseph Eagar
065a7f4e2f =bmesh=
Mirror modifier no longer uses bmesh, but is now
100% CDDM.  This is faster; the sluggishness was
driving me crazy.  Still need to deal with UVs,
but that shouldn't be hard.
2011-02-27 07:49:36 +00:00
Joseph Eagar
f01261d040 merge with/from trunk at r35190 2011-02-27 06:19:40 +00:00
Nathan Letwory
caa7bea1c5 doxygendoxygen: blender/modifiers tagged. 2011-02-25 13:57:17 +00:00
Campbell Barton
b357033f5e remove unused vars. 2011-02-24 05:41:03 +00:00
Janne Karhu
3bee6abb74 Fix for [#26133] Explode modifier doesn't care about UVs (Option "split edges")
* This is basically a total rewrite of the edge split algorithm. The old one didn't handle tris at all and quads were cut wrong in some cases too with the addition of not handling uv coordinates at all.
* This new algorithm uses a flag system to categorize different splits and the identical but rotated cases in a similar way to how marching cubes indexes different cases.
* It cuts quads and tris and creates proper uv's for the new faces too.
* I also renamed the option to "edge cut" to differentiate if from the edge split modifier and added an option to override a uv-channel in the exploded mesh with particle age as x-coordinate so that the shrapnel can be faded out nicely etc.
2011-02-23 19:29:59 +00:00
Nathan Letwory
5b607701a7 doxygen: prevent GPL license block from being parsed as doxygen comment. 2011-02-23 10:52:22 +00:00
Joseph Eagar
1c0cf60377 =bmesh=
Fixed join meshes, and an annoying modifier bug (making modifiers
not work in editmode).  Also fixed a tesselation bug.

Also got edge slide to work right, yay!  Dunno why I couldn't get
it working right before; took me twenty minutes to fix.
2011-02-23 00:01:50 +00:00
Nathan Letwory
322ff7dfe4 I swear, it was just an innocence change in guardedalloc!
The butterfly wing flap, causing a nice storm in the rest of blender.

Now all dependencies should point ok again. CMakers, do double-test.
2011-02-21 12:35:04 +00:00
Nathan Letwory
8c8ae3dedf doxygen: entry for gpu, modifiers, nodes, python and render 2011-02-21 06:58:46 +00:00
Campbell Barton
06aee2ef0e misc warnings/fixes
- WITH_OPENJPEG wasn't defined for creator.c with CMake.
- remove shadowed/redefined vars.
- remove some unused RNA report args.
- re-arrange IMB_FILE_TYPES so IRIS is not the first format tested, since its not very common test JPEG and PNG first.
2011-02-20 15:48:01 +00:00
Campbell Barton
aed7eaf0d9 sphinx doc gen: multiple examples possible and include the scripts docstring inline in sphinx.
also tag unused vars
2011-02-16 17:31:04 +00:00
Janne Karhu
f6911cfe38 Fix for [#26102] Particle Texture mismapped on Multires (in some modes)
* Particle modifier didn't check for particle textures using uv-coordinates properly.
2011-02-16 11:38:28 +00:00
Joseph Eagar
8b4eab10f1 pre-merge commit 2011-02-15 01:16:32 +00:00
Nathan Letwory
d4ebace149 Tweak priority so link error on Linux is solved. Reported by Hypercrush on IRC. 2011-02-14 21:00:49 +00:00
Campbell Barton
4124804b4e many functions in blender are not marked static but should be.
most local modifier,GPU,ImBuf and Interface functions are now static.

also fixed an error were the fluid modifier definition and the header didnt have the same number of args.
2011-02-13 14:16:36 +00:00
Campbell Barton
0955c664aa fix for warnings from Sparse static source code checker, mostly BKE/BLI and 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-13 10:52:18 +00:00
Campbell Barton
867fc4b463 enforce string limits (reported by pedantic checking tools & some developers).
mostly replace strcpy with BLI_strncpy and multiple strcat's with a BLI_snprintf().
also fix possible crash if CWD isnt available.
2011-02-13 03:21:27 +00:00
Campbell Barton
55f68c3657 fix for more warnings.
- modifier code was using sizeof() without knowing the sizeof the array when clearing the modifier type array.
- use BLI_snprintf rather then sprintf where the size of the string is known.
- particle drawing code kept a reference to stack float values (not a problem at the moment but would crash if accessed later).
2011-02-12 16:54:24 +00:00
Michael Fox
0ebf448bee small fix so older files are loaded with merge on in the mirror modifiers 2011-02-10 00:44:26 +00:00
Daniel Salazar
cbe544fb6c Set default for merge mirror to ON 2011-02-10 00:25:00 +00:00
Michael Fox
446299db1c small feature request from zanqdo, merging in the mirror modifier is now optional, simply turning town the merge limit just simply do anything, and merging is off by default as this seems more logical behaviour 2011-02-10 00:05:03 +00:00
Campbell Barton
0884147698 fix [#25968] Crash on changing merge distance in array modifier with edgesplit modifier in chain 2011-02-09 04:45:53 +00:00
Sergey Sharybin
329e2d8037 Todo issue: sculpting on deformed mesh
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-31 20:02:51 +00:00
Campbell Barton
89c617a116 remove nan-makefiles 2011-01-30 15:29:22 +00:00
Campbell Barton
1bd0db59f4 use cmake defined names for jpeg, png, zlib and python libs, building on *nix with non-standard libjpeg/png/zlib locations was broken.
in the case of python this makes it easier to move to find_package(PythonLibs) when 3.x is supported.
2011-01-25 14:43:13 +00:00
Campbell Barton
d2076e38f1 correct own bad spelling 2011-01-23 12:42:07 +00:00
Campbell Barton
d7c6ddd7e9 correct spelling 2011-01-21 02:32:58 +00:00
Campbell Barton
8cf1184c04 bad spelling; 'indicies' --> 'indices' 2011-01-18 01:58:19 +00:00
Campbell Barton
d4fa68e448 speedup fluid file reading, seek past arrays rather then reading them & use fewer function calls to gzread().
also added missing MEM_freeN(), though it would only leak in exceptional cases.
2011-01-13 11:06:12 +00:00
Janne Karhu
9024b6789e Possible fix for [#24924] crash-Fluids
* In some rare cases gzread has problems with the fluid files. This could be minor file corruption or some strange thread issue, but checking the amount of read bytes always after read seems to give a graceful way out.
2011-01-13 10:10:13 +00:00
Campbell Barton
63018144ba remove redundant assignments & unused vars.
also minor functional changes
- OBJECT_OT_make_links_data() type property is now assigned to the operator property (so popup menu can find it)
- removing BG image now returns cancelled if no image is removed.
2011-01-12 03:41:12 +00:00
Campbell Barton
3b74074aec remove unused code & variables. 2011-01-08 12:43:44 +00:00
Campbell Barton
89c9aaaa25 remove references to BKE_utildefines where its not needed.
- move GS() define into DNA_ID.h
- add BLI_utildefines as an automatic include with makesrna generated files.
2011-01-07 19:18:31 +00:00
Campbell Barton
8f21a43535 split BKE_utildefines.h, now it only has blender specific defines like GS() MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h.
no functional changes.
2011-01-07 18:36:47 +00:00
Janne Karhu
a601fd8893 Bug fix: unbaked particle cache was cleared from current frame onwards on file load. 2011-01-07 17:27:27 +00:00
Campbell Barton
03e0f28ea0 bugfix [#25528] lack of update and crash using hook modifier. 2011-01-07 11:48:35 +00:00
Joseph Eagar
5faa1e354b sculpt/multires fix 2010-12-27 20:05:34 +00:00
Ton Roosendaal
b2be78c0cc Bugfix #25392
Compositor: Texture node didn't use texture-nodes itself.
Now composites initialize texture nodes correctly.

Also reviewed the fix for crashing texture nodes for displace.
It appears texture nodes also are used for sculpt/paint 
brushes, in these cases it can be allowed again. But, don't
do this during rendering for now!
2010-12-27 19:26:38 +00:00
Campbell Barton
5e382eb8e5 rename blenderlib to blender_add_lib 2010-12-22 23:09:30 +00:00
Nathan Letwory
a8febab31b Workaround for blenderplayer not linking on linux with scons.
Maybe as a next big, uncool project would be: solve bad level calls.
2010-12-21 00:21:42 +00:00
Brecht Van Lommel
8b28c24d16 Fix #25272: shrinkwrap with dependency cycle could lead to eternal
loop and increasing memory usage.

Modifiers should never call mesh_get_derived_final or similar, only
use ob->derivedFinal if it exists, if the dependencies are set correct
and there are no cycles, it will be there.
2010-12-17 20:13:54 +00:00
Campbell Barton
7e10a9e6ce ensure pasted graph keys are always selected. 2010-12-15 17:36:08 +00:00
Janne Karhu
6b2b56c35e Fix for [#25218] No smoke is emitted when particle system starts and ends on same frame
* Depsgraph wasn't updated properly for smoke flow collision object dependencies.
* Smoke also wasn't properly using the actual emission frame of the flow particles.
* There was a lot of bloated logic in some parts of particle code so this fix turned into a small scale cleanup operation.
** As a result particle updating and cache usage should be a bit more stable too.
2010-12-15 17:05:34 +00:00
Ton Roosendaal
0efdb860f1 Bugfix #22982
Displace modifier: mapping "Global" didn't set a dependency entry.
Fix provided by the reporter himself, thanks Jacob F!
2010-12-15 13:08:34 +00:00