Commit Graph

7808 Commits

Author SHA1 Message Date
Campbell Barton
e8a70d4b90 fix for crash in python matrix utility functions .inverted/adjugated/transposed if the matrix has a read callback and fails.
also replace DM_get_poly_data_layer with dm->getPolyDataArray() since this is the convention in subsurf code and the functions now added.
2012-10-31 03:21:13 +00:00
Campbell Barton
00acdb6292 remove CD_POLYINDEX customdata layer:
reported as [#29376] BMESH_TODO: remove tessface CD_ORIGINDEX layer

for a single mesh there could be 3 origindex mappings stored, one on the polygons and 2 on the tessfaces.
(CD_POLYINDEX and CD_ORIGINDEX).

as Andrew suggests, now tessfaces (which are really a cache of polygons), using origindex to point to polygons on
the same derived mesh, and polygons only store the original index values.
2012-10-30 19:20:17 +00:00
Mitchell Stokes
3bf9bb3b13 BGE: Adding support for Bullet's collision masks. Each object now has a collision mask and a collision group. Object A and object B collide if object A's groups is in object B's mask and object B's group is in object A's mask. In other words, the group defines what the object is (collision wise) and the group defines what the object can collide with.
The majority of this patch was provided by Kupoman with some edits from me and heavy testing by z0r.
2012-10-30 15:44:16 +00:00
Campbell Barton
e09a1bc7cf minor changes to select similar,
- replace ngon_fake_area() with generic call to BM_face_calc_area().
- add defvert_find_shared() utility function.
2012-10-30 11:40:36 +00:00
Bastien Montagne
b4e484e211 Fix for own r51737.
Refactoring of draw code showed another problem: The MCol we want to draw may change without dm rebuild (e.g. when enabling solid textured option)! Also, choosing which MCol layer to use in GPU code is stupid, different draw modes use different layers/order of precedence!

Solved this by adding a new colType parameter to GPU_color_setup, and removing any 'color choosing' code from gpu_buffers.c.
2012-10-30 11:00:06 +00:00
Antony Riakiotakis
58f29fc9ab Fix: wrong brush drawn in image painting, image editor if uv sculpt is on. Now the correct paint struct is returned and the image zoom is calculated correctly 2012-10-29 19:47:26 +00:00
Ton Roosendaal
9efdd09578 Bugfix #33004
Screencast recording stopped on a undo/redo. This was because all thread jobs
were killed then. Now it leaves screen jobs (screen cast) running, that's 
data that doesn't change on undos.

Also renamed jobs_stop_all() to jobs_kill_all() - it terminates threads.
2012-10-29 17:41:19 +00:00
Bastien Montagne
f139377a1a Complete fix for [#33002] Wrong vertex color.
Appart from the color glitch, there was several problems with vpaint:
* "fast_update" mode was never on, because of wrong testing code;
* drawing refresh during stroke in "fast_update" (i.e. no dm rebuild) mode was broken in VBO mode, because updated (tess data) mcol wasn't moved to colors GPUBuffer.

Solved the later point by adding a new DM_DIRTY_MCOL_UPDATE_DRAW flag to DerivedMesh dirty var, which is set each time vpaint stroke directly update me->mcol, and forces GPU_color_setup() to refresh the gpu's colors buffer.

Also got rid of the uggly GPU_color3_upload(), which basically did the same thing, but with an additional intermediate buffer !
2012-10-29 16:26:18 +00:00
Campbell Barton
eb69d1c1ae style cleanup: also quiet harmless compiler warning. 2012-10-29 15:43:54 +00:00
Campbell Barton
5549904171 style cleanup 2012-10-29 02:11:40 +00:00
Lukas Toenne
5464979dfd Fix for freeing node trees that are part of other data blocks (material, world, lamp, texture, scene). These node trees were not properly freeing the IDProperty data, due to not being called from BKE_libblock_free.
Now there is an extra function BKE_libblock_free_data, which is called explicitly in ntreeFreeTree if the tree is not part of the library data (ntreeCopyTree does a similar thing using BKE_libblock_copy_data).
2012-10-28 17:09:50 +00:00
Miika Hamalainen
c64fa6a344 Smoke/Dynamic Paint: Allow use of fluid sim generated particles as emitter/brush. 2012-10-27 17:19:55 +00:00
Joshua Leung
9b2a0f3824 Comment + whitespace tweaks for constraints
* Radiant -> Radians

* Noted down revision number for when Jahka removed the old constraint blending
logic. I spent some time hunting this down while trying to check if it might've
caused any obvious changes leading to one of the (now closed) bugreports. Better
to note this in the code then.
2012-10-27 13:22:44 +00:00
Campbell Barton
9fc95bd7ee use min/max inline functions where MIN2/MAX2 were doing type conversion. 2012-10-27 11:18:54 +00:00
Bastien Montagne
ec67334e25 A few more BMesh errors messages translated, and "automated" translation for modifers too! 2012-10-27 11:12:09 +00:00
Campbell Barton
aeba4950c3 style cleanup 2012-10-27 10:42:28 +00:00
Bastien Montagne
c9dade4fe0 Big i18n commit: add "reports" from bmesh/readfile/tracking/dynapaint (and a few others), and another bunch of UI messages tweaks/fixes, as well as some BKE_report()<->BKE_reportf()... 2012-10-26 17:32:50 +00:00
Sergey Sharybin
9b110f2f64 Camera tracking fixes
- Dopesheet should be invalidated after solution
- Prevent crash when non-camera object is set as scene camera
2012-10-26 12:36:50 +00:00
Ton Roosendaal
13af773398 Bugfix #32975
Shader nodes didn't redraw correct on preview-type changes.
Also made shader node previews draw nicely, without flashing empty images.
2012-10-26 11:29:30 +00:00
Campbell Barton
0e494b74c4 style cleanup 2012-10-26 04:14:10 +00:00
Campbell Barton
e5a31eff37 code cleanup: use squared length for comparisons and is_zero_v# rather then checking length == 0. 2012-10-25 23:04:33 +00:00
Lukas Toenne
09ed97afc5 Internal node links are now cached in a per-node list, instead of being generated as a transient list that is returned from the callback and had to be freed by the caller. These internal links are used for muted nodes, disconnect operators and reroute nodes, to effectively replace the node with direct input-to-output links.
Storing this list in the node has the advantage of requiring far fewer calls to the potentially expensive internal_connect callback. This was called on every node redraw ...

Also it will allow Cycles to properly use the internal links for muted nodes, which ensures consistent behavior. The previous method was not applicable in Cycles because transient list return values are not supported well in the RNA and particularly the C++ API implementation.
2012-10-25 16:49:06 +00:00
Bastien Montagne
0632da0829 Cleanup: remove old, commented code for constraints' space conversion for bones. 2012-10-25 10:14:35 +00:00
Campbell Barton
9804515cf0 bmesh todo: dont calculate normals in editmesh with modifiers applied, its assumed modifiers output correct normals at the moment. 2012-10-25 04:58:27 +00:00
Campbell Barton
9e6d27bbf0 add BLI_STATIC_ASSERT macro. 2012-10-25 04:44:46 +00:00
Campbell Barton
ade7a000fd hide text overlays when 'Only Render' option is enabled. 2012-10-25 03:10:35 +00:00
Brecht Van Lommel
5aa6327e2f Cycles UI: keep node input sockets collapsed by default in the properties editor,
when doing the linking in the node editor, to keep the properties editor more
clean in this case.
2012-10-24 21:57:16 +00:00
Sergey Sharybin
1fecf8ff31 Patch #29142: Reduce hopping when switching between perspective and orthographic on 3D view
Patch by Yasuhiro Fujii, thanks!

Original issue was that in vases viewport's lens are different from default
value switching between perspective and orthographic projections will change
viewplane a lot, which is disorienting and annoying.
2012-10-24 16:15:46 +00:00
Ton Roosendaal
f746f3ea09 Bugfix #32496
You don't believe it, this bug traces back to 2002. Went by unreported for a decade.

If you link in an object, delete it, and relink again its materials are lost!
Easy fix, annoying error. :)
2012-10-24 13:24:34 +00:00
Campbell Barton
c93978d445 code cleanup: some edits for unused vars in recent smooth addition and some style edits. 2012-10-24 11:31:57 +00:00
Jeroen Bakker
0fb9b7beda Adding a pixelate node.
This makes it possible to create pixelized scale in the Tile compositor.

Just append the node in front of a scale node or where you want the pixelization to take place.

There were some bugs on this subject, but they used the work around to add a blur size of 0 in the place where they need the pixelization.
2012-10-24 08:36:10 +00:00
Campbell Barton
2de2acc681 add CDDM_from_bmesh(), avoids using BMEditMesh in modifiers. 2012-10-24 07:24:11 +00:00
Campbell Barton
cbc734dd79 comment R_SEQ_GL_REND flag, opengl render now does gl previews. 2012-10-24 03:37:32 +00:00
Campbell Barton
17530108f4 enable rendering from the sequencer again. this was working since 2.4x and shouldn't have been disabled. 2012-10-24 03:27:11 +00:00
Janne Karhu
9055ec3e0a Final fix for [#31017] Particles not generated on Grid Distribution
* In some cases a quad would be intersected twice so particles near this double-intersection point were not generated in grid distribution due to being marked as outside the surface.
2012-10-24 01:43:59 +00:00
Campbell Barton
e038a1c613 reduce float comparisons for keying operation and despill. 2012-10-23 16:32:39 +00:00
Campbell Barton
fec81d9b56 use min_ max_ functions in more places.
also fix minor error in MOD decimate when the modifier did nothing the reported face count would be wrong.
2012-10-23 16:21:55 +00:00
Campbell Barton
90f7b9e9cc comment quick cache RNA and quiet compiler werning. 2012-10-23 15:07:09 +00:00
Ton Roosendaal
88a23b5327 Related to previous commit I did:
Removed checks for PTCACHE_QUICK_CACHE for exception handling. This to ensure normal
cache works as if old PTCACHE_QUICK_CACHE wasn't set.

Thanks Campbell for pointing at this!
2012-10-23 15:01:41 +00:00
Brecht Van Lommel
b131359834 Fix #32867: normal map baking issue with flat shaded faces since bmesh. Also
removed the old unused normal map tangent computation code.
2012-10-23 14:57:49 +00:00
Ton Roosendaal
d273ddfd4f Bugfix 30974
- Disabled "Quick Cache" option. It was causing ridiculous updates
  on the entire animation system for start-end frame on every user
  event causing changes here (like during transform). Worst was that you
  couldn't transform animated objects for that reason either.

  Most of the code is still there, waiting for a moment to revise it...

- Constraint "Follow Track" (marker) wasn't using inverse matrix code
  in transform, making it wacko to use (wrong pivot, crazyspace)
2012-10-23 14:07:32 +00:00
Campbell Barton
101660c809 code cleanup: give rng functions BLI prefix. 2012-10-23 13:50:44 +00:00
Campbell Barton
f70d2c65d8 rename api functions...
- minf, maxf, mini, maxi --> min_ff, max_ff, min_ii, max_ii
2012-10-23 13:28:22 +00:00
Campbell Barton
1767b65846 style cleanup: also rename bmesh_decimate.c --> bmesh_decimate_collapse.c 2012-10-23 03:38:26 +00:00
Andrea Weikert
05f147f12e fix: drivers on materials and texture don't update when rendering animation
* Added additional tag_main_idcode in BKE_scene_update_for_newframe similar to what was done previously in BKE_scene_update_tagged to fix #32017 (unlimited recursion issue for material updates) by Joshua Leung
* So issue wasn't the dependencies, but the material was already tagged (from previous drawing), so wouldn't be updated each frame.
2012-10-22 19:45:16 +00:00
Sergey Sharybin
3285d47842 Fix #32930: texture colors in material nodes (blender internal) are brighter than normal
There was a missing byte buffer linearization for shader nodes.

Also fixed incorrect image input color space refresh when image is packed.
2012-10-22 17:34:06 +00:00
Sergey Sharybin
6e62491c5a Fix #32522: Object's diffuse color not showing in Sculpt Mode
Added option to display object's diffuse color multiplied by sculpting
mask. This option could be found in Options panel of toolshelf when in
sculpting mode.

Thanks to Nicholas and Brecht for reviewing the patch!
2012-10-22 17:33:53 +00:00
Campbell Barton
23baf8c9c3 code cleanup: check defgroup_name_index() return value != -1, rather then checking >= 0.
also remove unused bmesh decimator code.
2012-10-22 17:19:05 +00:00
Sergey Sharybin
4e11fe6c5a Patch #27397: Improved DPX/Cineon code
Patch by Julien Enche, thanks!

From the patch comment:

It allows Blender to load:
- 1, 8, 10, 12 and 16 bits files. For 10 and 12 bits files, packed or
  filled type A/B are supported.
- RGB, Log, Luma and YCbCr colorspaces.
- Big and little endian storage.
- Multi-elements (planar) storage.

It allows Blender to save :
- 8, 10, 12 and 16 bits file. For 10 and 12 bits files, the most used
  type A padding is used.
- RGB and Log colorspaces (Cineon can only be saved in Log colorspace).
  For Log colorspace, the common default values are used for gamma,
  reference black and reference white (respectively 1.7, 95 and 685 for
  10 bits files).
- Saved DPX/Cineon files now match the viewer.

Some files won't load (mostly because I haven't seen any of them):
- Compressed files
- 32 and 64 bits files
- Image orientation information are not taken in account. Here too,
  I haven't seen any file that was not top-bottom/left-right oriented.
2012-10-22 12:49:00 +00:00
Campbell Barton
ddc2dbc2a4 style cleanup 2012-10-22 08:15:51 +00:00