Commit Graph

602 Commits

Author SHA1 Message Date
be1bc0eb98 rename
* CDDM_calc_edges --> CDDM_calc_edges_tessface
* CDDM_calc_edges_poly --> CDDM_calc_edges
2012-01-06 02:59:28 +00:00
5c59f0d589 added
* CDDM_calc_normals
* CDDM_calc_normals_tessface

these match what we have in trunk - CDDM_calc_normals_mapping() is kept for more comprehensive operatons.
2012-01-06 00:45:07 +00:00
ded0af482b rename CDDM_calc_normals() --> CDDM_calc_normals_mapping 2012-01-06 00:12:24 +00:00
2b2c1007f6 rename normal calc functions.
comparing bmesh to trunk, mesh_calc_normals() in bmesh is a much more comprehensive function, calculating mpoly,mface normals, where trunk only calculated vertex normals.

renamed:
* mesh_calc_normals() --> mesh_calc_normals_mapping_ex
* mesh_calc_tessface_normals --> mesh_calc_normals_tessface() - only calculates normals from tessface
* added mesh_calc_normals() - only calculates normals from poltys

this way we can have mesh_calc_normals() remain fast for parts of the code which only need vertex normals to be updated.

only refactor, no func changes- didnt replace mesh_calc_normals_mapping_ex() with mesh_calc_normals() anywhere yet.
2012-01-06 00:08:37 +00:00
20b425e5d1 minor changes for mirror modifier, bigger changes coming. 2012-01-03 09:37:57 +00:00
71bc053bb2 remesh now working for bmesh 2011-12-31 12:58:03 +00:00
45f1d7fa17 minor speedup to CDDM_merge_verts (called by mirror)
* was doing 2 edge hash lookups, where only 1 was needed.
* was checking MLoop verts and edges if they were -1, when they are never set to -1
2011-12-29 09:41:31 +00:00
ab5bef6fbb bmesh mirror modifier cleanup
* vertex map was a dynamicly realloc'd array when the final size was known, use a fixed array instead.
* vertex map was being calculated even when not used.
* face tesselation was being called twice.
* an unused deform group array was being created.
2011-12-29 09:15:06 +00:00
2da527b017 un-inline edgehash functions, BLI_edgehash_insert was far too big to inline.
and have edge hash use unsigned ints since edge verts are unsigned ints for MEdge's
2011-12-28 10:06:10 +00:00
dab41e0499 macro for getting next/previous MPoly loops 2011-12-28 07:10:27 +00:00
4bc4c018d1 set mloop edge and vertex as unsigned ints since face/edge reference verts as unsigned ints too 2011-12-28 04:43:29 +00:00
2457d4f5ab svn merge ^/trunk/blender -r42680:42722 2011-12-19 10:40:48 +00:00
90ef435145 Fix a bug in CustomData_duplicate_referenced_layer(_named) functions: MEM_dupallocN does not work with complex layers like CD_MDEFORMVERT ones, so rather use copy func when available. 2011-12-19 08:26:53 +00:00
74a1123059 Quite some compiler warnings... 2011-12-17 16:22:08 +00:00
980e68175b svn merge ^/trunk/blender -r42495:42516 2011-12-08 17:32:37 +00:00
a5fb261016 Fix #29520: issue drawing with VBO + GLSL + alpha pass. Includes some refactoring
to hopefully make alpha material drawing code more clear.
2011-12-07 22:03:49 +00:00
4b0b3f578c alternative fix for [#29338], now dont duplicate the vertex layer when calculating normals, instead only calculate face normals. 2011-12-07 01:12:53 +00:00
f07df7287e manual sync with trunk - pulling in changes where the issues are not bmesh spesific
- some merges added lines in multiple times
- removed some NULL checks that were only in bmesh
- enable cycles by default (was disabled because it used not to work)
- make formatting match
2011-12-04 23:13:28 +00:00
15ad39e684 svn merge ^/trunk/blender -r42303:42329 2011-12-02 01:01:07 +00:00
c21f19374b Fixed crash caused by recent VBO's changes
Crash was caused by non-initialized original index passing to compareDrawOptions
callback. Due to in some cases it's enough to know indices of faces in final DM
(like for comparing if the same texture used for mesh drawing) assume this
callback receives index in final DM and if it's needed it will make conversion
to original index itself.

This should help reaching extra speed if textured object is affected by
bevel modifiers, i.e.
2011-12-01 18:26:48 +00:00
f6f7e270e3 Slight refactor of VBO code to deal with multiple textures.
Added compareDrawSettings callback to driver mesh's callbacks which are
drawing textured faces (mapped and not mapped). This new callback checks
if two faces are drawing with the same settings (testures, shading etc)
and if they not, flush of faces happens into ogl using glDrawArrays and
next face would be drawn with it's own settings.

Currently implemented compareDrawSettings is used to resolve issue from
bug report only, probably there are extra places where this callback is
needed, but haven't seen configuration where current logic will fail,
so it should be ok.

Also reordered arguments passing to drawMappedFaces DM's callbacks,
so now all drawing callback are accepting list of callbacks and then
userData, instead of using mixed order of callbacks and userData which
was a bit confusing to work with.

This commit fixes:
- #26410: VBO & multitexture doesnt work
- #29464: VBO enabled causes UV coruption
2011-12-01 12:12:39 +00:00
56da69fd03 Fix for [#29467] Selection of active vertex color layer doesn't work
Need to push active layer indices from loops & polys to faces again after tesselations
2011-12-01 09:49:27 +00:00
f06bbaed92 split BMFlags_To_MEFlags & MEFlags_To_BMFlags into type specific calls, since we always know the types with these functions theres not much point in having generic calls with a type switch. 2011-12-01 01:41:56 +00:00
bc9b593909 More DM func renames, fixing some build breaks, renaming more stuff, also seems like it might be fixing the recent CDDM_copy corruption/leak bug 2011-11-30 18:03:56 +00:00
274080025d remove wrong solidify & draw changes i had checked in here and had also proposed for trunk, because the problem was fixed differently in trunk.
#-This line, and those below, will be ignored--

M    source/blender/modifiers/intern/MOD_solidify.c
M    source/blender/blenkernel/intern/cdderivedmesh.c
2011-11-30 06:27:38 +00:00
eb46f6bf0d More DM func renames, this one includes renames of the function pointer members of the DerivedMesh struct 2011-11-29 13:01:51 +00:00
4e86b48cbd Rename DM *_face_* funcs to be either *_tessface_* or *_poly_* to avoid confusion
This is the first step in a few changes to cleanup confusing/missing DM funcs
2011-11-29 05:09:54 +00:00
e73176ddfb fix for [#29437] normals incorrect using bevel modifier in edit mode 2011-11-28 10:57:30 +00:00
1e4ec06e07 r42101 causes problems. reverting and instead make correct CD_ORIGINDEX for tesselated faces to fix the problem. 2011-11-23 20:44:04 +00:00
dd001d85b2 fix for vertex paint and face mask selection - drawing was using CD_ORIGINDEX when it should use CD_POLYINDEX 2011-11-23 18:13:12 +00:00
d8f895c3b3 fix misisng edge hash free when CDDM_tessfaces_to_faces ran on an empty mesh 2011-11-23 17:48:55 +00:00
f850e76e04 remove assert & make warning print more helpful 2011-11-23 16:39:07 +00:00
e7cfaf1b5f ocean sim now works with bmesh 2011-11-22 19:43:09 +00:00
b5362607ab fixes from last merge 2011-11-22 12:05:46 +00:00
8a8566c894 Fix [#29256] Import images as planes add on doesn't work correctly in bmesh 2011-11-17 18:48:49 +00:00
9087cb91d4 quiet compiler warnings for BLI_array defines, split BLI_array_append into BLI_array_append / BLI_array_append_r, the latter returning the new array location. 2011-11-16 17:09:41 +00:00
da849bbfc0 prepare for flagging the bmesh has having invalid index values, so we can skip looping over all elements if its already valid.
- went over every BM_SetIndex call and added comments about its use, if its setting dirty values or correct ones.
- replace loops over all elements _just_ to set index values, with a new function, BM_ElemIndex_Ensure(...), this will eventually only initialize values when they are dirty.
2011-11-16 12:38:40 +00:00
e6e265b2b5 svn merge -r41779:41847 ^/trunk/blender 2011-11-15 02:58:06 +00:00
e59ab6486f svn merge -r41751:41779 ^/trunk/blender 2011-11-15 02:05:32 +00:00
35ab6cabbf fix a leak from the CD_POLYINDEX changes that occurs for certain modifiers (when re-calculating normals over an existing ^C_NORMALs layer) 2011-11-14 17:38:34 +00:00
90871d54c5 Fix: Last triangle wasn't always drawn when VBO enabled. 2011-11-14 16:34:11 +00:00
2266c7fc1c Add CD_POLYINDEX layer to reduce need for retesselations 2011-11-13 15:13:59 +00:00
e84c0980a3 correct indentation and some whitespace edits (no functional changes) 2011-11-11 13:09:14 +00:00
92d35b74e7 svn merge -r41722:41723 ^/trunk/blender 2011-11-11 06:25:45 +00:00
afeb0eeaf0 Dynamic Paint merge:
Commit Dynamic Paint from "soc-2011-carrot" branch into trunk.

End-user documentation:
http://wiki.blender.org/index.php/Doc:2.6/Manual/Modifiers/Simulation/Dynamic_Paint

GSoC wiki page:
http://wiki.blender.org/index.php/User:MiikaH/GSoC-2011-DynamicPaint
2011-11-10 10:24:34 +00:00
a96c3ce9e0 fix compile errors for previous merge 2011-11-10 03:40:02 +00:00
685041d53a svn merge -r41650:41655 ^/trunk/blender --- cycles merge, this wont copile, still need to manually update some funcs 2011-11-10 03:05:11 +00:00
1b4a54ad73 Merge with trunk r41701 2011-11-09 15:46:53 +00:00
28ee0f9218 Texturing: texture and 3d view draw type changes, these should only have any
effect for a render engine using new shading nodes. In short:

* No longer uses images assigned to faces in the uv layer, rather the active
  image texture node is what is edited/painted/drawn.
* Textured draw type now shows the active image texture node, with solid
  lighting.
* Material draw mode shows GLSL shader of a simplified material node tree,
  using solid lighting.
* Textures for modifiers, brushes, etc, are now available from a dropdown in
  the texture tab in the properties editor. These do not use new shading nodes
  yet.

http://wiki.blender.org/index.php/Dev:2.6/Source/Render/TextureWorkflow
2011-11-08 13:07:16 +00:00
edec46b0a6 Merge with trunk r41625 2011-11-07 16:36:49 +00:00