Commit Graph

10681 Commits

Author SHA1 Message Date
2fefbf24a5 bmbvh was allocating an array for vert coords but not using it, removed.
also use generic name for callback data.
2013-04-18 00:24:44 +00:00
67034c378d fix for BMBVH_USE_CAGE option,
knife tool with modifier was broken when modifier cage was used.
2013-04-18 00:19:57 +00:00
4a7feafa49 Support object scale for mesh display options. (currently only uniform scale for thickness test) 2013-04-17 23:30:19 +00:00
14f9f167b2 display options to help with 3d printing.
editmesh debug info,
- overhang (with axis angle options)
- wall thickness (with min/max distance)
- self-intersections.

access below 'Mesh Display' panel.
2013-04-17 09:27:23 +00:00
cfefa1d086 add function BKE_bmbvh_find_face_segment()
given a segment, finds finds an intersecting faces from the first point to the second, needed for checking self intersections (not used yet).
2013-04-17 06:29:13 +00:00
861a38ea09 code cleanup: bmesh bvh
- remove unused members from BMBVHTree
- move per-raycast vars from BMBVHTree into per-callback structs (weren't threadsafe).
- simplify BKE_bmbvh_find_vert_closest().
2013-04-17 06:18:21 +00:00
b0752f1b89 add interp_v3_v3v3v3_uv() to use for use with uv value from isect_ray_tri_v3(), rename tree -> bmtree for BMBVHTree. 2013-04-17 05:49:06 +00:00
8ee1de2de3 text editor reload no-longer resets scroll & cursor - annoying when making tweaks to UI scripts.
also restrict freestyle hack to WITH_FREESTYLE define.
2013-04-17 04:53:23 +00:00
ae58968e0a Blender Internal Render in viewport
Because of our release soon, feature has been added behind the Debug Menu.
CTRL+ALT+D and set it to -1. Or commandline --debug-value -1.

When debug set to -1, you can put the viewport to 'render' mode, just like
for Cycles. Notes for testers: (and please no bugs in tracker for this :)

- It renders without AA, MBlur, Panorama, Sequence, Composite
- Only active render layer gets rendered. Select another layer will re-render.
- But yes: it works for FreeStyle renders!
- Also does great for local view.
- BI is not well suited for incremental renders on view changes. This only
  works for non-raytrace scenes, or zoom in ortho or camera mode, or for 
  Material changes. In most cases a full re-render is being done.
- ESC works to stop the preview render.
- Borders render as well. (CTRL+B)
- Force a refresh with arrow key left/right. A lot of settings don't trigger
  re-render yet.

Tech notes:

- FreeStyle is adding a lot of temp objects/meshes in the Main database. This
caused DepsGraph to trigger changes (and redraws). I've prepended the names
for these temp objects with char number 27 (ESC), and made these names be
ignored for tag update checking.

- Fixed some bugs that were noticable with such excessive re-renders, like 
  for opening file window, quit during renders.
2013-04-16 17:39:20 +00:00
c1276960e8 Fix some names, and move overlay flag to overlay_flags. 2013-04-16 15:59:02 +00:00
c458e051d3 fix for BKE_bmbvh_ray_cast() returning one of the vertices normals rather then the face normal. also remove redundant NULL checks. 2013-04-16 15:35:01 +00:00
9f5006a967 add distance arg to BKE_bmbvh_ray_cast(). currently unused. 2013-04-16 15:16:48 +00:00
53c9507c28 Option to hide overlay during a stroke. To enable, press the brush icon
next to the overlay alpha.
2013-04-16 15:02:41 +00:00
ea0ad013d3 bmesh speedup for bvh building, replace SmallHash with BLI_bitmap, using a hash doesn't make much sense since in most cases all vertices are accessed and the hash isn't guaranteed to be small.
gives ~9x speedup to filling 'cagecos' in my own tests on a high poly mesh.
2013-04-16 14:57:02 +00:00
e39ea5f0a3 Fix crash when no brush is active. Reported by Francesco Siddi, on irc
thanks!
2013-04-16 14:00:18 +00:00
fe4305ef82 skip calling BKE_editmesh_tessface_calc() from BKE_bmbvh_new(), also quiet float/double warnings. 2013-04-16 13:01:46 +00:00
c429349054 Fixed compilation error with gcc 4.4 and 4.5
Was giving structure re-declaration error,
made it one typedef and struct declaration only.
2013-04-16 11:27:19 +00:00
a120049c3b use psys->seed for smoke random number generator, increase size of MATHUTILS_TOT_CB and reduce float->double conversions. 2013-04-16 09:04:34 +00:00
37e73aa368 code cleanup: use BKE naming conventions for functions in BKE_editmesh.h and BKE_editmesh_bvh.h 2013-04-16 05:59:48 +00:00
77da6b3662 move editmesh functions out editderivedmesh.c into editmesh.c 2013-04-16 05:46:17 +00:00
fa919d23bc move editmesh_bvh.c into blenkernel. 2013-04-16 05:23:34 +00:00
e93f00d73d Compile fixes for recent commits 2013-04-16 00:56:24 +00:00
afb4b65167 Random number generator: replace a bunch of usage of the global random number
generator with a local one. It's not thread safe and will not give repeatable
results, so in most cases it should not be used.

Also fixes #34992 where the noise texture of a displacement modifier was not
properly random in opengl animation render, because the seed got reset to a
fixed value by an unrelated function while for final render it changed each
frame.
2013-04-15 23:12:40 +00:00
91ee88dfd0 Fix #34972: Blender crashes when Force Field-> Curve Guide is created
Made it so where_on_path works correct when Curve does
have editNurbs but no Curve->nurbs.
2013-04-15 12:04:55 +00:00
f294b3b082 minor edits to DM_update_weight_mcol(), skip getting vars when in editmode, also remove old/invalid comment. 2013-04-15 08:43:17 +00:00
e369c2375b fix for tangent curve flipping only doing 2d angle tests. 2013-04-14 11:56:11 +00:00
81cfbaacb0 code cleanup: edit-derived-mesh, define 'BMesh *bm' as local variable, avoid 'bmdm->em->bm' within functions. 2013-04-13 20:58:49 +00:00
5996242291 fix for error in editmesh derived callbacks, emDM_getVert(), emDM_getEdge(), emDM_getTessFace().
Currently the functions aren't used since they would fail have failed immediately.
2013-04-13 20:40:34 +00:00
6da961775f code cleanup: rename BKE_tessmesh -> BKE_editmesh, rename EditDerivedBMesh.tc -> em. ('tc' is odd name which isn't used elsewhere). 2013-04-13 20:31:52 +00:00
31c375b97a Mesh Drawing:
Option to draw mesh vertex-weights in editmode, available from the 'Mesh Display' panel.

TODO: get this to work when modifiers are applied in solid mode (texface-solidmode is working).
2013-04-13 20:20:21 +00:00
e1c9353c94 code cleanup: more minor changes for editmesh face drawing. 2013-04-13 18:11:27 +00:00
4d1e8cec1a code cleanup: editmesh draw functions, make face drawing more consistent. 2013-04-13 17:57:11 +00:00
2baa59e36d code cleanup: remove unused string formatting in bli_adddirstrings(), also remove unused initializations and comment unused vars. 2013-04-13 14:57:08 +00:00
2c47244954 code cleanup: use const char for args and replace wm_keyconfig_list_find() -> BLI_findstring() 2013-04-13 04:28:04 +00:00
2f9b7410dc code cleanup: warnings + style 2013-04-13 00:43:49 +00:00
a305452275 Paint refactoring commit, non-disruptive (in theory :p)
* Fix precision overflow issue with overlay previews,
* Expose alpha mask mapping to UI (still not functional but coming soon).
* More overlay refactoring:

Overlay now does minimal checking for texture refresh.
Instead, we now have invalidation flags to set an aspect of the brush
overlay as invalid. This is necessary because this way we will be able to
separate and preview different brush attributes on the overlays, using
different textures:

These attributes/aspects are:

Primary texture (main texture for sculpt, vertex, imapaint)
Secondary texture (mask/alpha texture for imapaint)
Cursor texture (cursor texture. It involves brush strength and curves)

Modified the relevant RNA property update functions and C update callback
functions to call the relevant cursor invalidation functions instead
of checking every frame for multiple properties.

Properties that affect this are:

Image changes, if image is used by current brush,
Texture slot changes, similarly
Curve changes,
Object mode change invalidates the cursor
Paint tool change invalidates the cursor.

These changes give slightly more invalidation cases than simply
comparing the relevant properties each frame, but these do not occur in
performance critical moments and it's a much more elegant system than
adding more variables to check per frame each time we add something on
the system.
2013-04-12 17:21:31 +00:00
e8474d64f8 minor edit to bake printouts which could get mixed because of \r. 2013-04-12 12:03:56 +00:00
502ddd3128 code cleanup: warnings and style. 2013-04-12 00:50:40 +00:00
7164596891 Fix #34956: rendering animation with audio would crash with an older ffmpeg
after recent changes.

New ffmpeg versions accept align = 0 as a parameter and will set it to 1
automatically, but older ones need to pass align = 1.
2013-04-11 14:46:41 +00:00
13780935dc Fixes for sequencer effects
- Add and subtract effects will now affect on only RGB channels,
  and alpha of first input is used as an alpha for the result.

  Also solved creepyness with straight->premul->straight conversion
  in byte versions of add/subtract.

- Solved issue with multiply modifier, which lead to white*white
  not being white (was off by 1.0/255) due to wrong optimization
  of division by 255 with shr by 8.

  According to Ton this issue goes back to 2000!

This fixes #34811: Wrong result of add/subtract effects
2013-04-09 16:20:24 +00:00
90779811d7 Fix #34932: drivers on world nodes not updating on frame changes. 2013-04-09 15:30:15 +00:00
2b2099cd51 Fix #34875: 0 digits of precision was not supported for FloatProperty, now
you can specify precision=0 for this, and use -1 for the default 2.
2013-04-08 18:55:08 +00:00
85e53317be fix for bug where notifiers could hold pointers to freed data which listeners would operate on. 2013-04-08 13:03:04 +00:00
1c35203249 2D stabilization default filter to bilinear 2013-04-08 11:26:56 +00:00
51a937039e Camera stabilization fixes and improvements
- Nearest interpolation was always used when there's
  no rotation for stabilization. Was a failure of
  optimization heuristic.

- Made 2d stabilization frame acquiring threaded.
  This function is only used for display and sequencer
  which will only benefit of threads here.

- Fixed bug introduced in r48749 which lead to
  re-making stable frame on every redraw.
2013-04-08 10:56:50 +00:00
9244cbef14 surpport converting boundary edges to curves with BKE_mesh_to_curve(). alt+c convert. 2013-04-08 00:25:44 +00:00
858ff6b696 Fix for [#34898] Typo in error message of mathutils.Vector
* Also fixed some more cases of "more then" -> "more than".
2013-04-07 15:09:06 +00:00
42e8f3e889 rigidbody: Fix/workaround for transforming rigid bodies with parents
Since we use the rigid body transform when transforming rigid bodies
things like parents and constraints add an offset because rigid body
transforms are in global space.

Now we just don't take rigid body transform into account on simulation
start frame so there are no problems when doing the initial setup.

The problem still exists when simulation is running of course.
To properly fix this we'd have to solve parenting and constratins while
taking rigid bodies into account before and after transform.
We'll have to see if it's really needed, would like to avoid it though.
2013-04-07 14:09:29 +00:00
ba1dc9b1b0 Fix for a heap-use-after-free issue, reported by Lockal in the IRC. 2013-04-06 19:42:58 +00:00
464a149b21 Part I of the Freestyle branch merger: new 'freestyle' folders.
This commit is the first part of a two-part merger of the soc-2008-mxcurioni
(Freestyle) branch.  New 'freestyle' folders were added to the source/blender/
and release/script/ directories through a couple of svn copy operations
(instead of svn merge, due to broken svn:mergeinfo properties of the branch).
2013-04-06 15:45:02 +00:00