blender-staging.git
7 years agobmesh api cleanup
Campbell Barton [Sat, 25 Feb 2012 22:23:40 +0000 (22:23 +0000)]
bmesh api cleanup
* better type safety for BM_elem_flag_* and BM_elem_index_* functions.
* add BMElem type to be used where BMFace/Edge/Vert/Loop can be interchanged.
* fix bug in select manifold, found when making functions more strict.

7 years agominor style edits
Campbell Barton [Sat, 25 Feb 2012 21:27:45 +0000 (21:27 +0000)]
minor style edits
- use GL_TRUE/FALSE for glLightModeli
- use set for python checks against multiple string values.

7 years agoadjustment to r44436.
Campbell Barton [Sat, 25 Feb 2012 21:15:02 +0000 (21:15 +0000)]
adjustment to r44436.

dont set the header text multiple times when many objects are selected, instead just print the difference thats applied.

when theres a single object selected, behavior us unchanged.

7 years agobmesh code cleanup
Campbell Barton [Sat, 25 Feb 2012 20:58:03 +0000 (20:58 +0000)]
bmesh code cleanup
* change BMO_elem_flag_* defines to inline functions.
* BMO_slot_map_insert() is too big for an inline function - un-inline it.
* remove redundant casts.

7 years agoPatch [#30341] by Davis Sorenson (dsavi). Thanks!
Thomas Dinges [Sat, 25 Feb 2012 19:49:23 +0000 (19:49 +0000)]
Patch [#30341] by Davis Sorenson (dsavi). Thanks!

* Now the 3D view header displays value changes, when changing a value in the Object Special value (w-key).

7 years agobmesh api:
Campbell Barton [Sat, 25 Feb 2012 19:43:51 +0000 (19:43 +0000)]
bmesh api:
* added BM_elem_flag_set, BMO_elem_flag_set. to avoid 'if(...) enable(); else disable();' all over the place.
* added bmesh_operator_api_inline.c, the header file was getting messy.

7 years agofix for own error edge tagging sharp.
Campbell Barton [Sat, 25 Feb 2012 18:13:58 +0000 (18:13 +0000)]
fix for own error edge tagging sharp.

7 years agoChanges in double side lighting usage
Sergey Sharybin [Sat, 25 Feb 2012 18:09:39 +0000 (18:09 +0000)]
Changes in double side lighting usage

Disabled double-side lighting by default and changed areas which are using
double sided lighting to switch it off just after doing stuff which requires
double side.

This makes code a bit more simple to follow (no all that disabling double side
lighting all over the code and so).

This change also fixes crash of blender caused by intel gme965 driver which
leads to stack corruption in some place when double side lighting isn't
disabled (probably driver still kind of using double side in some areas or so).

Hopefully it'll also fix #30293: Converting Text to Mesh

Thanks to Campbell to assist writing this patch!

7 years agostyle cleanup, use { on newline after function definition.
Campbell Barton [Sat, 25 Feb 2012 16:49:59 +0000 (16:49 +0000)]
style cleanup, use { on newline after function definition.
spelling 'impliment' -> 'implement'

7 years agocode cleanup: white space, spelling & ';;' end of lines.
Campbell Barton [Sat, 25 Feb 2012 16:04:03 +0000 (16:04 +0000)]
code cleanup: white space, spelling & ';;' end of lines.

7 years agobmesh py api - add funcs
Campbell Barton [Sat, 25 Feb 2012 15:51:39 +0000 (15:51 +0000)]
bmesh py api - add funcs
* BMFace.copy_from_face_interp(face)
* BMLoop.copy_from_face_interp(face, vert=True, multires=True)

These are important for rebuilding geometry from existing faces without loosing UV's, vcols etc.

7 years ago[#30197] Snapping: Align rotation button
Martin Poirier [Sat, 25 Feb 2012 15:14:41 +0000 (15:14 +0000)]
[#30197] Snapping: Align rotation button

Reported by Pep Ribal

Volume snapping was showing invalid options.

7 years agofix for own regression in r44361 (broke BM_vert_in_face)
Campbell Barton [Sat, 25 Feb 2012 14:56:37 +0000 (14:56 +0000)]
fix for own regression in r44361 (broke BM_vert_in_face)

also fix py api: bmesh.utils.face_split(face, v1, v2)

7 years agoOSX: scons: fix own mistake, truncate output of xcode-build -version to major.minor...
Jens Verwiebe [Sat, 25 Feb 2012 11:21:20 +0000 (11:21 +0000)]
OSX: scons: fix own mistake, truncate output of xcode-build -version to major.minor version in config to change the var not only the print

7 years agoOSX: scons: corrected output string of xcode-build -version, so only major/minor...
Jens Verwiebe [Sat, 25 Feb 2012 10:59:32 +0000 (10:59 +0000)]
OSX: scons: corrected output string of xcode-build -version, so only major/minor version is used

7 years agobugfix
Campbell Barton [Sat, 25 Feb 2012 09:06:17 +0000 (09:06 +0000)]
bugfix
* ntreeCompositExecTree accessed 'ntree' before NULL check.
* BM_face_triangulate accessed 'f' before NULL check.

also quiet warning in BKE_text_to_curve() and add a check for BMesh bridge loops so it knows quicker if it can copy loop data or not.

7 years agocode cleanup
Campbell Barton [Sat, 25 Feb 2012 09:02:05 +0000 (09:02 +0000)]
code cleanup
* correct cmake/clang warning.
* use same include guard names as everywhere else for BLI math inline.
* correct define for madd_sh_shfl

7 years agoremove redundant NULL check in draw_new_particle_system()
Campbell Barton [Sat, 25 Feb 2012 08:37:51 +0000 (08:37 +0000)]
remove redundant NULL check in draw_new_particle_system()

7 years agoCollada export: bone parenting is actually against the tail.
Juha Mäki-Kanto [Fri, 24 Feb 2012 21:45:59 +0000 (21:45 +0000)]
Collada export: bone parenting is actually against the tail.

Don't know the reasoning for having it be against the tail and not the head.

7 years agoCollada export: fix no polylist after bmesh-merge
Juha Mäki-Kanto [Fri, 24 Feb 2012 21:15:58 +0000 (21:15 +0000)]
Collada export: fix no polylist after bmesh-merge

Just needed a call to BKE_mesh_tessface_ensure when exporting geometries.

7 years agoFix for #30336: Couldn't playback from Python without having played back via logic...
Joerg Mueller [Fri, 24 Feb 2012 19:34:29 +0000 (19:34 +0000)]
Fix for #30336: Couldn't playback from Python without having played back via logic bricks once.

Thanks Colin Nickerson for reporting.

7 years agoOSX: set ffmpeg back in darwin-config according librenaming
Jens Verwiebe [Fri, 24 Feb 2012 18:31:09 +0000 (18:31 +0000)]
OSX: set ffmpeg back in darwin-config according librenaming

7 years agobmesh bridge - copy UVs and face data whem available.
Campbell Barton [Fri, 24 Feb 2012 17:47:51 +0000 (17:47 +0000)]
bmesh bridge - copy UVs and face data whem available.

7 years agoPython: add MeshLoop.index, same as already existed for vert/edge/face/poly.
Brecht Van Lommel [Fri, 24 Feb 2012 15:53:26 +0000 (15:53 +0000)]
Python: add MeshLoop.index, same as already existed for vert/edge/face/poly.

7 years agoCycles: tweak for AMD opencl compile of advanced shading, from Daniel Genrich,
Brecht Van Lommel [Fri, 24 Feb 2012 15:53:19 +0000 (15:53 +0000)]
Cycles: tweak for AMD opencl compile of advanced shading, from Daniel Genrich,
still does not work correct but should compile if you have enough memory.

7 years agoBlender should now compile fine with older FFmpeg libraries used.
Sergey Sharybin [Fri, 24 Feb 2012 15:34:57 +0000 (15:34 +0000)]
Blender should now compile fine with older FFmpeg libraries used.

7 years agoMore consistent variable naming.
Sergey Sharybin [Fri, 24 Feb 2012 14:03:18 +0000 (14:03 +0000)]
More consistent variable naming.

7 years agoTODO item: zoom to mouse location in image editor
Sergey Sharybin [Fri, 24 Feb 2012 14:01:42 +0000 (14:01 +0000)]
TODO item: zoom to mouse location in image editor

7 years agobmesh py api - fix for error creating a new face
Campbell Barton [Fri, 24 Feb 2012 13:50:36 +0000 (13:50 +0000)]
bmesh py api - fix for error creating a new face

7 years agoCode clean-up and make zoom in/out operator store mouse coordinate
Sergey Sharybin [Fri, 24 Feb 2012 13:44:45 +0000 (13:44 +0000)]
Code clean-up and make zoom in/out operator store mouse coordinate
so exec() callback will zoom in/out properly.

7 years agoCLIP_OT_view_zoom (Ctrl-MMB) now takes into account Zoom to Mouse Position setting
Sergey Sharybin [Fri, 24 Feb 2012 13:31:18 +0000 (13:31 +0000)]
CLIP_OT_view_zoom (Ctrl-MMB) now takes into account Zoom to Mouse Position setting

7 years agobmesh python api:
Campbell Barton [Fri, 24 Feb 2012 12:57:05 +0000 (12:57 +0000)]
bmesh python api:
 bm.verts.get(verts) / bm.faces.get(verts)

 - use to find an edge or face from a vertex list passed.

7 years agoFixed crash in UV project modifier.
Sergey Sharybin [Fri, 24 Feb 2012 12:30:49 +0000 (12:30 +0000)]
Fixed crash in UV project modifier.

7 years agochange default name of Texture face layer to UVMap, while we fake UV's and texface...
Campbell Barton [Fri, 24 Feb 2012 12:10:41 +0000 (12:10 +0000)]
change default name of Texture face layer to UVMap, while we fake UV's and texface as being the same.

7 years agobmesh py api - bmesh.utils.face_flip
Campbell Barton [Fri, 24 Feb 2012 11:04:09 +0000 (11:04 +0000)]
bmesh py api - bmesh.utils.face_flip

7 years agobmesh: minor speedup, use 1 iterator rather then 2 when normalizing verts.
Campbell Barton [Fri, 24 Feb 2012 10:40:32 +0000 (10:40 +0000)]
bmesh: minor speedup, use 1 iterator rather then 2 when normalizing verts.

7 years agobmesh py api - normal_update() functions for vert/edge/face.
Campbell Barton [Fri, 24 Feb 2012 10:35:52 +0000 (10:35 +0000)]
bmesh py api - normal_update() functions for vert/edge/face.

7 years agobmesh py api, minor change - edges now take a seq of 2: bm.verts.new((v1, v2), exampl...
Campbell Barton [Fri, 24 Feb 2012 10:17:30 +0000 (10:17 +0000)]
bmesh py api, minor change - edges now take a seq of 2: bm.verts.new((v1, v2), example=None)

7 years agobmesh docs now written in sphinx doc generator.
Campbell Barton [Fri, 24 Feb 2012 09:53:29 +0000 (09:53 +0000)]
bmesh docs now written in sphinx doc generator.
* http://www.blender.org/documentation/blender_python_api_2_62_0/bmesh.types.html
* http://www.blender.org/documentation/blender_python_api_2_62_0/bmesh.utils.html

7 years agoChanges in FFV1 codec settings
Sergey Sharybin [Fri, 24 Feb 2012 09:49:44 +0000 (09:49 +0000)]
Changes in FFV1 codec settings

Since FFmpeg 0.10 release FFV1 codec supports alpha channel which is getting
enabled when using PIX_FMT_RGB32 pixel format. This leads to incompatibility of
videos rendered in Blender with almost all external players (especially in OSX).

Seems that PIX_FMT_BGR0 is recommended to be used to make videos compatible with
older players which doesn't support alpha channel in FFV1.

Also added an option to switch to RGBA rendering if FFV1 codec is used and if RGBA
rendering is used FFV1 will be using PIX_FMT_RGB32 format which supports alpha channel.

7 years agotypo cleanup, no functional changes.
Campbell Barton [Fri, 24 Feb 2012 06:44:04 +0000 (06:44 +0000)]
typo cleanup, no functional changes.

7 years agobmesh py api (some api changes and doc additions)
Campbell Barton [Fri, 24 Feb 2012 05:56:06 +0000 (05:56 +0000)]
bmesh py api (some api changes and doc additions)
* remove 'select' and 'hide' from BMLoop
* remove BMesh.update
* add BMesh.normal_update(skip_hidden=False)
* add BMElemSet.index_update(), eg: bm.verts.index_update()

bmesh api
* BM_mesh_normals_update() now takes skip_hidden as an argument
(previously this was default behavior), however this isnt good when
using BMesh modifiers, where you want all normals to be recalculated.
* add bm_iter_itype_htype_map[], to get the iter type from a BMesh
iterator.

7 years agobmesh python api - add/improve rst docstrings.
Campbell Barton [Fri, 24 Feb 2012 04:59:13 +0000 (04:59 +0000)]
bmesh python api - add/improve rst docstrings.

7 years agoFix #30325: bmesh edges were marked as sharp by default, after recent
Brecht Van Lommel [Thu, 23 Feb 2012 21:23:49 +0000 (21:23 +0000)]
Fix #30325: bmesh edges were marked as sharp by default, after recent
refactor to reuse BM_ELEM_SMOOTH flag for sharp flag.

7 years agoFix #30268: cloth collision and springs not working after bmesh merge,
Brecht Van Lommel [Thu, 23 Feb 2012 21:07:22 +0000 (21:07 +0000)]
Fix #30268: cloth collision and springs not working after bmesh merge,
these cloth and collision modifiers require tesselation still.

7 years agoFix #30326: calling e.g. bpy.ops.object.proxy_make(object = 'Lamp') would
Brecht Van Lommel [Thu, 23 Feb 2012 20:31:51 +0000 (20:31 +0000)]
Fix #30326: calling e.g. bpy.ops.object.proxy_make(object = 'Lamp') would
not pick the right object. This operator had two properties "object" and
"type", but the latter was used while the former had the right description.
Now changed it to have only an "object" property, so that the above code works.

7 years agoFix #30140: cycles multi GPU rendering with one device supporting full
Brecht Van Lommel [Thu, 23 Feb 2012 20:27:17 +0000 (20:27 +0000)]
Fix #30140: cycles multi GPU rendering with one device supporting full
shading and the other not can't work correct, disabled that now.

7 years agoFix #30246: rendering multiple render layers with CUDA still not working,
Brecht Van Lommel [Thu, 23 Feb 2012 19:48:18 +0000 (19:48 +0000)]
Fix #30246: rendering multiple render layers with CUDA still not working,
should really be fixed now.

7 years agoFix #30323: Graph view in the Movie Clip Editor does not stay open
Sergey Sharybin [Thu, 23 Feb 2012 18:51:24 +0000 (18:51 +0000)]
Fix #30323: Graph view in the Movie Clip Editor does not stay open

In fact, Graph View wasn't been supposed to be opened in Clip show editor mode.
Made curves view unavailable from Clip view mode and store it's alignment in
a runtime flag in SpaceClip structure.

7 years agobmesh py api - ensure data layers to store bmesh pointers exist - removing all elemen...
Campbell Barton [Thu, 23 Feb 2012 17:22:37 +0000 (17:22 +0000)]
bmesh py api - ensure data layers to store bmesh pointers exist - removing all elements could free them for eg.

7 years agobmesh py api
Campbell Barton [Thu, 23 Feb 2012 17:14:53 +0000 (17:14 +0000)]
bmesh py api
bmesh.utils.face_join(faces)

added a utility function for converting a list of python BMesh elements into a C array.
use for this face_join as well as BMesh.faces.new()

7 years agoFix #30306: crash duplicating object with action actuator but no animation data.
Brecht Van Lommel [Thu, 23 Feb 2012 16:12:36 +0000 (16:12 +0000)]
Fix #30306: crash duplicating object with action actuator but no animation data.

7 years agobmesh split tool (Ykey), was only splitting off faces, unlike EditMesh which could...
Campbell Barton [Thu, 23 Feb 2012 16:00:53 +0000 (16:00 +0000)]
bmesh split tool (Ykey), was only splitting off faces, unlike EditMesh which could also split edges.
make this behavior optional and default to off (match EditMesh).

7 years agoprevious fix wasnt working in edge mode, now selection +/- works in vert/edge/face...
Campbell Barton [Thu, 23 Feb 2012 15:47:18 +0000 (15:47 +0000)]
previous fix wasnt working in edge mode, now selection +/- works in vert/edge/face modes.

7 years agofix [#30318] increase/decrease selection won't work (select-more/less)
Campbell Barton [Thu, 23 Feb 2012 15:22:29 +0000 (15:22 +0000)]
fix [#30318] increase/decrease selection won't work (select-more/less)

This was a problem with bmesh merge, now it works as expected again.

7 years agoFix #30298: fluid simulation from older files not working when loaded into 2.62,
Brecht Van Lommel [Thu, 23 Feb 2012 15:10:26 +0000 (15:10 +0000)]
Fix #30298: fluid simulation from older files not working when loaded into 2.62,
this was due to a wrong version patch which leaves simulation speed to 0.

7 years agoCycles: fix cuda kernel not getting rebuilt correctly after changes, due to
Brecht Van Lommel [Thu, 23 Feb 2012 15:10:10 +0000 (15:10 +0000)]
Cycles: fix cuda kernel not getting rebuilt correctly after changes, due to
refactoring that changed variable names, also fixed OpenCL compile issue with
advanced shading.

7 years agofix for meshes not showing up in the game engine.
Campbell Barton [Thu, 23 Feb 2012 14:24:45 +0000 (14:24 +0000)]
fix for meshes not showing up in the game engine.

7 years agobmesh py api, added: bmesh.utils.edge_rotate(edge, ccw=False)
Campbell Barton [Thu, 23 Feb 2012 14:15:26 +0000 (14:15 +0000)]
bmesh py api, added: bmesh.utils.edge_rotate(edge, ccw=False)

    also improved docstrings.

7 years agoquiet error message when saving (WM_OT_save_as_mainfile.use_mesh_compat not found).
Campbell Barton [Thu, 23 Feb 2012 13:14:59 +0000 (13:14 +0000)]
quiet error message when saving (WM_OT_save_as_mainfile.use_mesh_compat not found).

7 years agoelsyiun theme
Campbell Barton [Thu, 23 Feb 2012 13:08:42 +0000 (13:08 +0000)]
elsyiun theme
* too light unselected vertex color.
* active color was darker then selected color (make active a lighter tint of selected).

7 years agoFix #30320: Shading issue with boolean modifier
Sergey Sharybin [Thu, 23 Feb 2012 12:28:18 +0000 (12:28 +0000)]
Fix #30320: Shading issue with boolean modifier

Seems that after converting tessfaces into faces normals should be re-calculated.
At least that's what happening in some other modifiers and what makes boolean
work fine with smooth normals.

7 years agoadding icosphere was broken with own recent commit
Campbell Barton [Thu, 23 Feb 2012 12:11:27 +0000 (12:11 +0000)]
adding icosphere was broken with own recent commit

7 years agoSegments and rings for UV Sphere were swapped.
Sergey Sharybin [Thu, 23 Feb 2012 12:06:49 +0000 (12:06 +0000)]
Segments and rings for UV Sphere were swapped.

7 years agobmesh py api, new elements now take optional 'example' arguments, so the new data...
Campbell Barton [Thu, 23 Feb 2012 11:27:22 +0000 (11:27 +0000)]
bmesh py api, new elements now take optional 'example' arguments, so the new data copies from the existing.

7 years agouse __ prefix on header guards to avoid mixing up defines with api functions / classes.
Campbell Barton [Thu, 23 Feb 2012 10:41:31 +0000 (10:41 +0000)]
use __ prefix on header guards to avoid mixing up defines with api functions / classes.

7 years agoBugfix: don't read from a write-only VBO when updating grid buffers.
Nicholas Bishop [Thu, 23 Feb 2012 10:35:23 +0000 (10:35 +0000)]
Bugfix: don't read from a write-only VBO when updating grid buffers.

7 years agobmesh py api functions:
Campbell Barton [Thu, 23 Feb 2012 10:29:04 +0000 (10:29 +0000)]
bmesh py api functions:
bmesh.utils.vert_collapse_edge, vert_collapse_faces, vert_dissolve, face_split

7 years agobmesh api cleanup, remove unused header.
Campbell Barton [Thu, 23 Feb 2012 10:24:20 +0000 (10:24 +0000)]
bmesh api cleanup, remove unused header.

7 years agoFix #30315: Temporary proxy files are not erased and old proxys are not updated if...
Sergey Sharybin [Thu, 23 Feb 2012 10:18:10 +0000 (10:18 +0000)]
Fix #30315: Temporary proxy files are not erased and old proxys are not updated if the proxy is built more then once (windows)

Two issues are fixed here:
- On windows rename() doesn't actually renames file if destination file is already exist.
  Solved by ulinking previously built proxy/timecode.
- IMB_TC_MAX_SLOT was set to incorrect value leading to record run timecode calculating
  several times.

7 years agoBGE is compilable by MSVC again
Sergey Sharybin [Thu, 23 Feb 2012 09:40:10 +0000 (09:40 +0000)]
BGE is compilable by MSVC again

Compilation error was mostly caused by trying to use namespace std before it was
actually defined (e.g. before any include of stl header).
It's not actually good idea to use namespaces in header files -- it's really easy to
run into namespace conflicts and so. Resolved by not using "using namespace" in header
files and using full quality accessing to stl collections (e.g. std::vector).

7 years agobmesh minor api refactor
Campbell Barton [Thu, 23 Feb 2012 09:26:53 +0000 (09:26 +0000)]
bmesh minor api refactor
* BM_vert_in_face now loops over a vert's faces rather then every vert in the face.
* rename bmesh_radial_find_first_facevert --> bmesh_radial_find_first_faceloop
* rename bmesh_radial_find_next_facevert --> bmesh_radial_find_next_faceloop
* rename BM_vert_collapse_edges --> BM_vert_collapse_edge (only collapses one)

7 years ago* Fixed some typos in the code, patch [#30247] by Vladimir Rutsky (rutsky). Thanks!
Thomas Dinges [Thu, 23 Feb 2012 09:23:29 +0000 (09:23 +0000)]
* Fixed some typos in the code, patch [#30247] by Vladimir Rutsky (rutsky). Thanks!

7 years agoCycles:
Thomas Dinges [Thu, 23 Feb 2012 09:11:17 +0000 (09:11 +0000)]
Cycles:
* Remove obsolete comments in the Oren Nayar code.

7 years agoRefresh all cached ibmufs used by sequencer after all proxies are built.
Sergey Sharybin [Thu, 23 Feb 2012 08:41:13 +0000 (08:41 +0000)]
Refresh all cached ibmufs used by sequencer after all proxies are built.

Hopefully this will fix #30196: Proxies Not Visible in VSE Preview Window until Blender Reboot

7 years agoCode cleanup: replace some common CCG operations with functions.
Nicholas Bishop [Thu, 23 Feb 2012 07:21:33 +0000 (07:21 +0000)]
Code cleanup: replace some common CCG operations with functions.

The new functions are ccg_gridsize, ccg_edgesize, ccg_spacing, and
ccg_edgebase. These target most of the left-shift operations in the
code.

7 years agobmesh py api, new submodules
Campbell Barton [Thu, 23 Feb 2012 05:20:09 +0000 (05:20 +0000)]
bmesh py api, new submodules
* bmesh.types, just allows access to BMVert, BMEdge etc.
* bmesh.utils, so far only added edge_split() function, this module will give access to mesh editing functions.

7 years agoswap arg order for BM_edge_split(), makes sense to have edge as first
Campbell Barton [Thu, 23 Feb 2012 05:17:07 +0000 (05:17 +0000)]
swap arg order for BM_edge_split(), makes sense to have edge as first
arg.

7 years ago- swap arg order for BM_face_copy() boolean options.
Campbell Barton [Thu, 23 Feb 2012 04:26:24 +0000 (04:26 +0000)]
- swap arg order for BM_face_copy() boolean options.
- use edge example for BM_face_split().

7 years agobmesh py api, more wrapped funcs:
Campbell Barton [Thu, 23 Feb 2012 04:19:25 +0000 (04:19 +0000)]
bmesh py api, more wrapped funcs:
* BMFace.copy(verts=True, faces=Trur)
* BMEdge.other_vert(vert)

7 years agobmesh py api: functions for getting the area/angle/center of BMesh elements.
Campbell Barton [Thu, 23 Feb 2012 03:39:39 +0000 (03:39 +0000)]
bmesh py api: functions for getting the area/angle/center of BMesh elements.

7 years agocode cleanup: dont set the namespace in STR_String.h - 'using namespace std', since...
Campbell Barton [Thu, 23 Feb 2012 02:36:30 +0000 (02:36 +0000)]
code cleanup: dont set the namespace in STR_String.h - 'using namespace std', since this is included in many places.

7 years agocode style cleanup, no functional changes.
Campbell Barton [Thu, 23 Feb 2012 02:23:42 +0000 (02:23 +0000)]
code style cleanup, no functional changes.

7 years agostyle cleanup for blenkernel, no functional changes.
Campbell Barton [Thu, 23 Feb 2012 02:17:50 +0000 (02:17 +0000)]
style cleanup for blenkernel, no functional changes.

7 years agoMove PBVH bitmap to separate header in blenlib.
Nicholas Bishop [Wed, 22 Feb 2012 23:57:31 +0000 (23:57 +0000)]
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.

7 years agoCode cleanup: de-duplicate code in GPU_build_grid_buffers() with a macro.
Nicholas Bishop [Wed, 22 Feb 2012 23:30:56 +0000 (23:30 +0000)]
Code cleanup: de-duplicate code in GPU_build_grid_buffers() with a macro.

7 years agoCode cleanup: split up some long functions in sculpt_undo.c.
Nicholas Bishop [Wed, 22 Feb 2012 23:13:05 +0000 (23:13 +0000)]
Code cleanup: split up some long functions in sculpt_undo.c.

Should be no functional changes.

7 years agoCode cleanup: don't use GHash for GPU_build_mesh_buffers().
Nicholas Bishop [Wed, 22 Feb 2012 22:48:34 +0000 (22:48 +0000)]
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.

7 years agoCode cleanup: remove unused 'skip' field from PBVH iterator.
Nicholas Bishop [Wed, 22 Feb 2012 22:41:08 +0000 (22:41 +0000)]
Code cleanup: remove unused 'skip' field from PBVH iterator.

7 years agoCode cleanup: move the PBVH iterator's initialization into a function.
Nicholas Bishop [Wed, 22 Feb 2012 22:37:01 +0000 (22:37 +0000)]
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.

7 years agofix scons compilation, hopefully for all platforms that have a problem.
Antony Riakiotakis [Wed, 22 Feb 2012 20:31:19 +0000 (20:31 +0000)]
fix scons compilation, hopefully for all platforms that have a problem.

7 years agoArmature pose evaluation: more factorization of code.
Bastien Montagne [Wed, 22 Feb 2012 20:06:33 +0000 (20:06 +0000)]
Armature pose evaluation: more factorization of code.

Now constraints' space conversion code also uses generic armature_mat_(pose_to_bone/bone_to_pose). Previous own function (constraint_pchan_diff_mat) was somewhat inconsistent too with Hinge/NoScale/LocalLocation options...
As with previous similar changes, this might break some old rigs, in very specific cases (when constraint-evaluating an hinge/noscale/local_location bone in local space).

In the same part of code, removed unnecessary matrices copying, mult_m4_m4m4 can take the same matrix as input and output, nowadays...

Also found a bug-generator weakness in those armature_mat_ functions (if both input and output mat where the same, result was wrong, now systematically copying input mat, as done in LIB's matrix funcs).

Finally, factorized offset bone matrix generation into its own small function too, as it is used in two different places in armature.c (pchan_to_pose_mat itself, and restpose's where_is_armature_bone).

Note: I think all parts of blender's code related to that topic have now been tackled, but yet have to check BGE, it’s probably using that stuff too, one way or the other...

7 years agoFix blenderplayer linking with recent additions to bmesh python. We should really...
Antony Riakiotakis [Wed, 22 Feb 2012 18:57:17 +0000 (18:57 +0000)]
Fix blenderplayer linking with recent additions to bmesh python. We should really start building with player on so that mistakes like this can be detected early.

7 years agocode cleanyp - no functional changes.
Campbell Barton [Wed, 22 Feb 2012 16:52:06 +0000 (16:52 +0000)]
code cleanyp - no functional changes.

7 years agoMore style edits (adding a space between statements and parenthesis, if (foo) blah...
Bastien Montagne [Wed, 22 Feb 2012 16:21:17 +0000 (16:21 +0000)]
More style edits (adding a space between statements and parenthesis, if (foo) blah;), to follow wiki.blender.org/index.php/User:Nazg-gul/CodeStyle proposition.

7 years agobmesh python api change in internal behavior.
Campbell Barton [Wed, 22 Feb 2012 16:08:30 +0000 (16:08 +0000)]
bmesh python api change in internal behavior.

* Only have 1 python object per bmesh, vertex, edge, loop, face.
* Store pointers back to the python data in a custom data layer so as not to use more memory for normal editing operations (when pythons not running).
* Currently this data is created and freed along with the BMesh PyObject.
* Incidentally - this fixes comparisons for bmesh elements which wasnt working before.

7 years agoStyle code cleanup and consistancy (mainly spaces around assignements, C++ comments...
Bastien Montagne [Wed, 22 Feb 2012 15:35:42 +0000 (15:35 +0000)]
Style code cleanup and consistancy (mainly spaces around assignements, C++ comments to C, and misc spaces/tabs cleanup). No functional change.

7 years agoCycles: improve the Oren-Nayar BSDF (roughness value for Diffuse), to avoid
Brecht Van Lommel [Wed, 22 Feb 2012 15:04:22 +0000 (15:04 +0000)]
Cycles: improve the Oren-Nayar BSDF (roughness value for Diffuse), to avoid
undesired dark rings, and give more accurate lighting when the light is
behind the object. As a bonus, the code is simpler & faster.

Patch by Yasuhiro Fujii, detailed explanation here:
http://mimosa-pudica.net/improved-oren-nayar.html

7 years agofix 2 small bugs
Campbell Barton [Wed, 22 Feb 2012 14:55:12 +0000 (14:55 +0000)]
fix 2 small bugs
* Ctrl+Click extrude wasnt normalizing the quaternion (was printing warnings)
* bmesh bevel was supposed to add a float layer and remove, but removing passed the mask define of the customdata layer.

7 years agoMulti File Output Node:
Thomas Dinges [Wed, 22 Feb 2012 14:19:39 +0000 (14:19 +0000)]
Multi File Output Node:
* Some small UI tweaks, grey out image settings rather than hide and made it a bit more compact.