Commit Graph

11057 Commits

Author SHA1 Message Date
Andre Susano Pinto
d786fead10 Fixed double inflation in case of co_moving points 2008-08-04 11:50:36 +00:00
Andre Susano Pinto
c2cd6bebe6 added openmp support for bvhtree build (max processes = tree_type) 2008-08-03 15:37:24 +00:00
Andre Susano Pinto
ae5217733d Added shrinkwrap as a constraint.
All modes are available:
nearest surface
nearest vertex
normal projection (along X,Y or Z axis)
2008-08-03 02:02:15 +00:00
Andre Susano Pinto
289d875dfd svn merge -r 15688:15908 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-08-01 21:37:36 +00:00
Andre Susano Pinto
9e1ca2c1be Fixed simple deform strech/squash function 2008-07-25 23:52:16 +00:00
Andre Susano Pinto
1537e75cba Converted shrinkwrap to a DeformOnly modifier
*the options "remove faces", "merge" points were removed
*made shrinkwrap work with CVs (curves and nurbs surfaces)
*cleanup shrinkwrap code.. (removed bruteforces and raytree methods)
2008-07-25 18:48:24 +00:00
Andre Susano Pinto
aec6b78ded svn merge -r 15590:15688 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-07-22 12:02:57 +00:00
Andre Susano Pinto
06f67dd531 *BVHTreeFromMesh api changed.. it now stores all information like defaults callbacks to raycast and nearest surface (just to make it easier to use)
*Fixed button size of "Above surface"
2008-07-22 11:50:50 +00:00
Andre Susano Pinto
3c8b695f72 Fixed a bug relative to editmode..
now its calling CDDM_calc_normals when receiving a mesh to deform,
since in edit mode the mesh doenst has normals calculated
2008-07-21 22:36:05 +00:00
Andre Susano Pinto
4c76c57a77 Made shrinkwrap modifier work when target or cutPlane are in editmode. 2008-07-21 18:12:02 +00:00
Andre Susano Pinto
0703d9aad1 Following the same optimization as bvh raycast:
*Made nearest surface also use "quad" bvh tree (instead of splitting quads in 2 bvh nodes).
 Again that leaded to improvements in build and query time.

*BLI_bvhtree_find_nearest api is now following the same concept as BLI_bvhtree_ray_cast

removed code relative to bvhtree_from_mesh_tris.
2008-07-19 15:22:38 +00:00
Andre Susano Pinto
59a2b50171 *Added "kept" mesh above surface option on shrinkwrap to nearest surface
changed a few code relative to project over normal mode (to try to kept code generic and more independent of modifier itself)
2008-07-18 22:24:20 +00:00
Andre Susano Pinto
8d94bfec1b Last commit fixed the file contents.. but some svn props were missing.
So I fixed the problem with merges instead of copying files over.
Also trunk/blender/release/scripts/scripttemplate_ipo_gen.py from revision 14530 was missing. (that was fixed)

svn merge -r 15590:15551 https://svn.blender.org/svnroot/bf-blender/branches/soc-2008-jaguarandi (revert changes to the point where the merge was incorrect)
svn merge -r 15552:15572 https://svn.blender.org/svnroot/bf-blender/branches/soc-2008-jaguarandi (apply branch modifications)
svn merge -r 15392:15590 https://svn.blender.org/svnroot/bf-blender/trunk/blender (merge from trunk)
2008-07-15 21:08:39 +00:00
Andre Susano Pinto
afc30d1a33 There was a problem with the last merge :S
Somehow it didnt finished and didnt added some files under the svn control
(found thanks to lguillaume that reported some files were missing)

Last merge fixed and also merged modifications up to revision 15584.

I checked the diff
svn diff --new . --old https://svn.blender.org/svnroot/bf-blender/trunk/blender
And everything seems to be right now
2008-07-15 12:54:57 +00:00
Andre Susano Pinto
785123cc5a Improved build time on BLI_kdopbvh
Its now faster than raytree (both on build and query)

Things tryed:
 X=>Y=>Z=>X split (reduces build time.. but increases query time)
 bucket sorts
	(initial sorts for fast usage of bucket take a long time)
	(nth is linear.. so its quite fast already)

Best times archieve with:
 *usage of 4-ary trees.. reduces build time and tree size but didnt decreased query time
 *quads are on the same node instead of splitting in 2 tris..
	(this actually turned on speedup on query time.. since tree size is reduced by a factor of 2)
 *test ray-bb before ray-primitive gives better times on both tris and quads

Notes:
 measures where made projecting a sphere from inside the head of suzanne.
2008-07-14 18:42:53 +00:00
Andre Susano Pinto
70730c7226 svn merge -r 15392:15551 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-07-13 13:21:01 +00:00
Andre Susano Pinto
7d6e004153 Adding the Cullface option on normal projection of shrinkwrap when using bvhtrees 2008-07-13 01:49:53 +00:00
Andre Susano Pinto
21d032e919 Added sphere cast (tought it doenst seems to solve the intersection problem)
Fixed SweepingSphereIntersectsTriangleUV
2008-07-11 19:46:35 +00:00
Andre Susano Pinto
d674041f2b Add raycast ability for BLI_kdopbvh
small bvh fixes:
*allow to create any tree type >= 2
*save split axis

changed shrinkwrap to perform normal cast with raytree and bvh tree and print both times:

Shrinkwrap (OBCube)24578 over (OBSuzanne)504482
target = raytree_create_from_mesh(calc->target): 1260.000000ms
shrinkwrap_calc_normal_projection_raytree(&calc): 1850.000000ms
tree = bvhtree_from_mesh_tri(calc->target): 3330.000000ms
shrinkwrap_calc_normal_projection(&calc): 3780.000000ms

On general query time is bit smaller on bvh tree..
but the build time of bvh is pretty big.
(build time can be removed from both if a cache system is added)
But I am still trying to see how fast I can make the bvh build
2008-07-09 19:43:09 +00:00
Andre Susano Pinto
37a017b18a *Added vertex groups on simple deform
*Fixed a few UI things

*Make SimpleDeform and Shrinkwrap to use vertexgroup_get_vertex_weight, a similar function
 "static float vert_weight(MDeformVert *dvert, int group)"  existed on modifier.c, changed
it a bit and moved into BKE_deform.h
2008-07-04 19:56:31 +00:00
Andre Susano Pinto
ad310b5087 Added modes Squash and Strech to SimpleDeform (need testing)
CHanged the add modifier menu to show a submenu for selecting the type of simpledeform.
2008-07-04 01:03:50 +00:00
Andre Susano Pinto
eca709e481 Added lower and upper options on all modes of simple deform
Fixed existent offset after applying bend.
2008-07-02 00:17:08 +00:00
Andre Susano Pinto
c7dbc65488 svn merge -r 15292:15392 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-06-30 22:57:52 +00:00
Andre Susano Pinto
09c898bd65 Modifications on simple modifier
+Added limits on bend
+button to create an empty and make child of object
+empty is now relative to object
2008-06-27 16:45:37 +00:00
Andre Susano Pinto
9629f7ca11 Adding initial SimpleModifier (bend,taper,twist)
(I might only touch this code again late on the week :S, so here is a tmp commit)
2008-06-24 12:04:27 +00:00
Andre Susano Pinto
ac898d39ca Changed the style on shrinkwrapModifier_copyData.
Genscher made me do it the same way that the other 10 modifiers do.
The reason why I initially choosed memcpy was so that if anyone added
parameters on DNA there would be no need to update _copyData, unless
if it was a feature related to memory (eg.: point cache)
2008-06-23 16:23:26 +00:00
Andre Susano Pinto
0f8697b9d2 Fixed bug.. on shrinkwrap_copyModifier 2008-06-23 15:48:03 +00:00
Andre Susano Pinto
e426c7ce29 Added shrinkwrapModifier_isDisabled api function 2008-06-23 14:12:22 +00:00
Andre Susano Pinto
ffbe42129e svn merge -r 15202:15292 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-06-20 21:36:15 +00:00
Andre Susano Pinto
824eac5095 Added cut-plane option.
Its now possible to project 2 planes over a model and get a cloth..
Tought it still has a few issues.. related with distance to kept from mesh.
2008-06-20 21:10:16 +00:00
Andre Susano Pinto
91f8ad8398 Added merge option to shrinkwrap when using projection mode (bruteforce for now)
Changed code to remove faces (now quad faces that got one vertice projected are turned on tri)

Merge option is still not very usefull since shrinkwrap does not yet moves unprojected vertices
2008-06-17 19:00:21 +00:00
Andre Susano Pinto
39d35edbe6 Merge from trunk
svn merge -r 15104:15202 https://svn.blender.org/svnroot/bf-blender/trunk/blender
2008-06-11 22:53:52 +00:00
Andre Susano Pinto
a39c8de24b Reason of last commits kdopbvh tree is now on trunk.
Added those files to the branch and added code for NearestNeighbour, needed for shrinkwrap
2008-06-03 19:56:19 +00:00
Andre Susano Pinto
7265e9e855 Merge from trunk
svn merge -r 15064:15104 https://svn.blender.org/svnroot/bf-blender/trunk/blender
2008-06-03 19:27:46 +00:00
Andre Susano Pinto
db650f1be9 Removed BLI_kdopbvh 2008-06-03 19:20:57 +00:00
Daniel Genrich
0c0c43f620 Collision commit code cleanup for nicer compile 2008-06-03 19:06:54 +00:00
Daniel Genrich
c84c0201e1 Collisions: Commit of collision cleanup, put kdop-bvh structure into BLI_kdopbvh (just like kdtree interface now), huge speedup for selfcollisions, also better normal collisions (merge from cloth branch) 2008-06-03 18:48:54 +00:00
Joshua Leung
62ca0e07da A few compiler warning fixes. Those in BME_customdata.c were more serious. 2008-06-03 10:04:42 +00:00
Joshua Leung
29f839b4a5 Bugfix #13603:
Action Editor Copy/Paste didn't trigger a depsgraph update for the active object (if the action was applied to it).
2008-06-03 10:00:09 +00:00
Peter Schlaile
6eeef64370 == REDCODE ==
got #endif position wrong, breaking compile without redcode, sorry.
(Thanks to jms for pointing that out)
2008-06-03 06:42:13 +00:00
Campbell Barton
510d4b22ec increase the level you can zoom out (andy's timelapse videos were a pain to edit) 2008-06-03 01:01:47 +00:00
Peter Schlaile
cfd67321d2 == REDCODE ==
Forgot to free redcontext in IMB_free_anim...
2008-06-02 22:02:26 +00:00
Peter Schlaile
ca8aa8c901 == RED one (redcode) ==
This adds redcode (the file format of RED one, R3D) support to blender.
Seems to work fine with the footage I found on the web, but keep in
mind, that because of the unoptimized nature of libopenjpeg, frame
decoding isn't that fast.

It is also a rather challenging task, to make 4k-float-footage realtime :)
2008-06-02 21:35:57 +00:00
Geoffrey Bantle
8a5f362192 -> More Bmesh Custom Data stuff
Some more Bmesh custom data functions and
structures. This still does not do anything
yet because the various conversion functions
don't bother making use of the new custom data
functions. Hooking them up should be fairly
simple though.

Also note that the custom data code is mostly
copy/pasted from the existing custom data
functions for editmode with a few modifications.
Duplicating code like this isn't nice, but I
felt it was better to keep things for Bmesh
'standalone' for the moment and take only what is
immediatly needed instead of creating
a tangle of interdependant code.
2008-06-02 20:52:40 +00:00
Benoit Bolsee
1cc61f633f Patch #11000 approved: [new function] KX_GameObject::alignAxisToVect() Align an object's axis to a given vector 2008-06-02 17:31:05 +00:00
Joshua Leung
8a2a91ddfe Added missing newline for error print in Py-button expressions 2008-06-02 02:54:33 +00:00
Joshua Leung
86a0afb829 Compiler warning fixes (unused vars).
Notes:
- edgehash.c still has some weirdo code causing warnings on lines 80 and 117
i.e.  if (v1<v0) v0 ^= v1 ^= v0 ^= v1;
- material.c (in pyapi) apparently doesn't seem to be making use of some functions for glossy stuff
2008-06-02 01:02:08 +00:00
Geoffrey Bantle
85e77e53ef -> Fix for last few commits
New memory allocator broke compilation on
GCC/Linux. Fixed
2008-06-01 18:43:22 +00:00
Geoffrey Bantle
33321d13d3 -> Beginning of Custom Data support for BMesh
Now that new allocator is in place, Custom Data
can be effeciently added to BMesh. The plan is to
make all data not directly related to topology
Custom Data and allow callers to decide precisely
what information a mesh should have in order to
make the best tradeoff between memory usage/speed.

Right now not much to look at, just some structure
definitions and commented out code. More to come
soon...
2008-06-01 18:02:29 +00:00
Geoffrey Bantle
07b1608fbe -> New memory allocator for Bmesh
Added a new pooling allocator for Bmesh based upon
the pool allocator availible in the Boost C++ library
as described here:

http://www.boost.org/doc/libs/1_34_0/libs/pool/doc/concepts.html

Each pool allocates elements of a fixed size, so every
element type in a mesh gets its own pool. For instance
verts occupy a different pool than edges. Each pool
is comprised of multiple arrays of a fixed size and allocating
/freeing elements is simple as removing or adding a head 
to a linked list. Since the list of free elements is interleaved
throughout the unused space in the arrays, the overhead
for storing the free list is only 1 pointer total per pool.
	
This makes building/destroying bmesh structures much faster
and saves quite a bit of memory as well.
2008-06-01 17:15:03 +00:00