Age | Commit message (Collapse) | Author |
|
|
|
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).
|
|
|
|
Remove the function (and call to) check_partitioning(), this was just
a debug function.
|
|
Removes also a confusing else{} block that didn't make much sense.
|
|
|
|
* 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.
|
|
|
|
- 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.
|
|
|
|
|
|
|
|
for bevel.
|
|
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
|
|
The new functions are copy_v2_fl, copy_v3_fl, and copy_v4_fl.
|
|
where the values are unchanged.
|
|
also have doxygen ignore *.py files and fix some warnings.
|
|
|
|
|
|
|
|
* correct cmake/clang warning.
* use same include guard names as everywhere else for BLI math inline.
* correct define for madd_sh_shfl
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
Should be no functional changes, just shortens the amount of code
living in the macro.
|
|
|
|
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.
|
|
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.
|
|
Building the mesh buffers already gets the PBVH_UpdateDrawBuffers flag
set, so this was double-updating the vertex buffer.
|
|
|
|
scanfill memory on exit.
|
|
- copy & rename EditMesh stricts for use with scanfill (remove unused members)
|
|
|
|
|
|
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.
|
|
without the underscores these clogged up the namespace for autocompleation which was annoying.
|
|
comparison, convert constant values to radians (not resulting angle to deg).
|
|
both crash and leak are fixed now.
|
|
macro needed parentheses.
|
|
intended.
|
|
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.
|
|
|
|
* 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.
|
|
- use consistant header guards
- correct doxy comments
- remove ED_toolmode.h (unused)
|
|
|
|
|
|
|
|
|