Commit Graph

1703 Commits

Author SHA1 Message Date
Campbell Barton
46045fbb09 style cleanup - braces & else / if's 2012-03-07 04:53:43 +00:00
Nicholas Bishop
71e5edeb6a Code cleanup: use typedefs for DerivedMesh drawing callbacks.
There are still fairly bewildering set of callbacks being tossed
around, but it's at least a little less verbose now.
2012-03-07 04:41:14 +00:00
Campbell Barton
31d2ee9bf7 style cleanup, brackets in else/if, some indentation. 2012-03-06 18:40:15 +00:00
Nicholas Bishop
cc850522bc Fix incorrect null parameter in PBVH drawing 2012-03-06 09:19:13 +00:00
Nicholas Bishop
c7ffe7f621 Draw individual face's material and shading correctly in the PBVH.
Previously, the shading and material was set once per PBVHNode when
drawing. This is still the case, but PBVHNodes are now built to
contain only one material and shading mode.

This is done with an extra partitioning step; once the number of
primitives in the node falls below the PBVH leaf limit, it's
primitives are checked for matching materials. If more than one
material or shading mode is present in the node, it is split and
partitioned (partitioned by material rather than 3D location.)

Given a sufficiently 'annoying' input, like a dense mesh with
thousands of materials randomly scattered across it, this could
greatly increase PBVH build time (since nodes might end up containing
a single primitive), but in general this shouldn't come up.

In order to support materials for grids, the CCGDM is building another
grid array (of DMFaceMat structs). This could be used to replace
CCGDM.faceFlag for some small memory savings (TODO).
2012-03-06 02:40:08 +00:00
Nicholas Bishop
1eb893a114 Code cleanup: factor out some common code from PBVH build_sub/build_leaf. 2012-03-05 22:24:49 +00:00
Nicholas Bishop
190c233293 Code cleanup: add comments for build_sub() and remove debug function.
Remove the function (and call to) check_partitioning(), this was just
a debug function.
2012-03-05 22:12:50 +00:00
Nicholas Bishop
10d1079226 Code cleanup: split PBVH build_sub() into two functions.
Removes also a confusing else{} block that didn't make much sense.
2012-03-05 21:55:53 +00:00
Campbell Barton
f6ae27daef style cleanup - comment spelling + translate some dutch. 2012-03-04 04:35:12 +00:00
Campbell Barton
1531e3677a bmesh py api
* add BLI_rfindlink for reverse index lookup (used so bm.select_history[-1] doesn't have to loop the entire list twice).
* add bm.select_history.active so you can get the last selected item or None without having to check seq length.
2012-03-03 22:07:58 +00:00
Campbell Barton
95670e03a0 style cleanup / comment formatting for bli/bke/bmesh 2012-03-03 20:19:11 +00:00
Campbell Barton
7bbf4b7831 style cleanup
- spelling - turns out we had tessellation spelt wrong all over.
- use \directive for doxy (not @directive)
- remove BLI_sparsemap.h - was from bmesh merge IIRC but entire file commented and not used.
2012-03-02 16:05:54 +00:00
Campbell Barton
c26f5035b6 style cleanup for mempool 2012-03-01 23:14:51 +00:00
Campbell Barton
bc767059cb Code Cleanup: update to mempool, use flag rather then bool args. 2012-03-01 22:59:18 +00:00
Campbell Barton
ea13ec1699 Spelling Cleanup 2012-03-01 12:20:18 +00:00
Campbell Barton
6c53638863 add an assert for inserting an egde with the same vertices and a BMESH_TODO for bevel. 2012-02-29 16:29:09 +00:00
Campbell Barton
7cc206ddca Code Cleanup: remove non existing function declarations.
added some missing functions too - which are not used yep but should be there for api completeness.
* CDDM_set_mloop
* CDDM_set_mpoly
* BLI_mempool_count
2012-02-29 15:00:37 +00:00
Nicholas Bishop
b18794c3b6 Add blenlib function to initialize vectors from a single float.
The new functions are copy_v2_fl, copy_v3_fl, and copy_v4_fl.
2012-02-29 04:17:26 +00:00
Campbell Barton
ed04c21374 code cleanup: use float vector size in function definitions, and const's where the values are unchanged. 2012-02-28 14:05:00 +00:00
Campbell Barton
d2cab3e8b0 move bmesh wiki docs into bmesh header and update doxygen.
also have doxygen ignore *.py files and fix some warnings.
2012-02-27 20:27:19 +00:00
Sergey Sharybin
d7f0e29291 Few files had got +x mode which seems to be totally unnecessary. 2012-02-27 12:48:06 +00:00
Campbell Barton
47c373c7a9 style cleanup (mostly whitespace) 2012-02-27 10:35:39 +00:00
Campbell Barton
6bc7c30b93 fix for build error with non debug builds from last commit. 2012-02-26 17:24:04 +00:00
Campbell Barton
c955272ec5 code cleanup
* correct cmake/clang warning.
* use same include guard names as everywhere else for BLI math inline.
* correct define for madd_sh_shfl
2012-02-25 09:02:05 +00:00
Campbell Barton
c8b53d2aaf code style cleanup, no functional changes. 2012-02-23 02:23:42 +00:00
Nicholas Bishop
c428bb4389 Move PBVH bitmap to separate header in blenlib.
The implementation was also changed in a couple ways: use unsigned
integers as its base type rather than unsigned chars, and uses macros
rather than functions. (These could be changed to inline functions.)

Currently it is still only used during PBVH building, but now it's
accessible elsewhere.
2012-02-22 23:57:31 +00:00
Nicholas Bishop
5e12c7feca Code cleanup: de-duplicate code in GPU_build_grid_buffers() with a macro. 2012-02-22 23:30:56 +00:00
Nicholas Bishop
fd87bf3ef6 Code cleanup: don't use GHash for GPU_build_mesh_buffers().
At the point where GPU_build_mesh_buffers is called, the
face_vert_indices map has already been built; it contains the same
data in an easier-to-access format.
2012-02-22 22:48:34 +00:00
Nicholas Bishop
78e1da961c Code cleanup: remove unused 'skip' field from PBVH iterator. 2012-02-22 22:41:08 +00:00
Nicholas Bishop
444885848d Code cleanup: move the PBVH iterator's initialization into a function.
Should be no functional changes, just shortens the amount of code
living in the macro.
2012-02-22 22:37:01 +00:00
Antony Riakiotakis
de595d995f fix scons compilation, hopefully for all platforms that have a problem. 2012-02-22 20:31:19 +00:00
Antony Riakiotakis
9ca3084d4d Attempt to fix scons compilation of blenderplayer.
Added bmesh to player libraries and changed the priority of blenlib so as to avoid duplicate definitions (looks like there are actually functions defined twice that cause conflicts if one changes the order of linking...figures).

Only tested this on mingw-windows, I hope it works elsewhere too.
2012-02-22 03:16:34 +00:00
Nicholas Bishop
88a2be1846 Another fix for non-VBO flat-shading in sculpt mode, this time for non-multires meshes.
As with multires, this change calculates face normals rather than
using vertex normals when the node is flat-shaded.

Flat-shading with VBO on non-multires meshes is still wrong, but
fixing that would require larger changes to our vertex buffers.
2012-02-21 04:24:30 +00:00
Nicholas Bishop
a6dc47b0ca Remove call to GPU_update_mesh_buffers from GPU_build_mesh_buffers.
Building the mesh buffers already gets the PBVH_UpdateDrawBuffers flag
set, so this was double-updating the vertex buffer.
2012-02-21 04:16:27 +00:00
Brecht Van Lommel
83aeb9cbd5 Fix broken predivide option for reading in images, patch by Troy Sobotka. 2012-02-20 20:55:30 +00:00
Campbell Barton
1cad189e32 fix harmless but annoying memory leak prints, "newmem", now free all scanfill memory on exit. 2012-02-19 22:36:24 +00:00
Campbell Barton
a368e6771a - remove some unused editmesh functions.
- copy & rename EditMesh stricts for use with scanfill (remove unused members)
2012-02-19 22:17:30 +00:00
Campbell Barton
588b26f18b more syncing smaller changes with trunk 2012-02-17 21:32:30 +00:00
Campbell Barton
48006292d8 svn merge ^/trunk/blender -r44189:44204 2012-02-17 20:56:25 +00:00
Campbell Barton
61596d5bb3 patch [#30227] Various MSVC (32-bit) Warning and Typo Fixes
made some small edits
- removed changes to AVI reading since the data types are apart of the format spec.
- absf -> abs for a double value in render code.
2012-02-17 19:21:47 +00:00
Campbell Barton
2b7ca2304a unify include guard defines, __$FILENAME__
without the underscores these clogged up the namespace for autocompleation which was annoying.
2012-02-17 18:59:41 +00:00
Campbell Barton
ca4ef8aa26 add note to avoid confusion with angle_v3v3v3, also minor change with angle comparison, convert constant values to radians (not resulting angle to deg). 2012-02-17 17:47:10 +00:00
Campbell Barton
02987fd5e1 fix [#30220] Knife Tool Leaks memory
both crash and leak are fixed now.
2012-02-17 05:33:23 +00:00
Campbell Barton
ad22305137 fix for error found while looking into #30221
macro needed parentheses.
2012-02-17 00:08:52 +00:00
Campbell Barton
020ec22114 correct for bad assumption in recent commit. angle_v3v3v3 was working as intended. 2012-02-16 20:17:45 +00:00
Campbell Barton
cde2f11244 new bmesh tool - limited dissolve.
This is a kind of simplification/cleanup tool which joins adjacent faces and edges based on the angle.

I've written this as an exercise (since I havnt written a bmesh operator before), and because quite a few users were asking for the dissolve operator to be extended, but I think this kind of functionality needs its own operator.

access from specials menu and mesh menu.

notes
* this exposed a bug in angle_v3v3v3(). will merge fix into trunk after release.
* added utility function BM_vert_edge_angle(), to get the angle between 2 connecting edges of a vert.
2012-02-13 14:37:07 +00:00
Campbell Barton
2d1a05874b svn merge ^/trunk/blender -r44024:44076 2012-02-13 04:14:35 +00:00
Campbell Barton
9a92cd8008 bmesh minor refactor
* add DM_to_bmesh_ex, DM_to_bmesh for converting a derived mesh to a BMesh (rather than a BMEditMesh)
* have a generic variable for allocsize: bm_mesh_allocsize_default, rather than copying the values about.
2012-02-12 17:44:10 +00:00
Campbell Barton
2fcb6d058e style cleanup for bmesh headers
- use consistant header guards
- correct doxy comments
- remove ED_toolmode.h (unused)
2012-02-12 14:40:08 +00:00
Campbell Barton
0327b9a0cf minor include cleanup, add GPL header (copied from BKE_animsys.h 2012-02-11 19:43:06 +00:00