diff options
author | Ton Roosendaal <ton@blender.org> | 2013-04-16 21:39:20 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2013-04-16 21:39:20 +0400 |
commit | ae58968e0a610d1b2551bdb5e4d489a8105fd812 (patch) | |
tree | 54036ce7a2ac86bb80542371de6952f1213970f5 /source/blender/blenkernel | |
parent | 6dcee054bef7846d6a07f20ca2aa32cba94bab60 (diff) |
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.
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/intern/depsgraph.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/depsgraph.c b/source/blender/blenkernel/intern/depsgraph.c index 3a531cf32ae..0a4a15cca09 100644 --- a/source/blender/blenkernel/intern/depsgraph.c +++ b/source/blender/blenkernel/intern/depsgraph.c @@ -2341,7 +2341,8 @@ void DAG_ids_check_recalc(Main *bmain, Scene *scene, int time) /* we tag based on first ID type character to avoid * looping over all ID's in case there are no tags */ - if (id && bmain->id_tag_update[id->name[0]]) { + /* XXX very weak... added check for '27' to ignore freestyle added objects */ + if (id && id->name[2] > 27 && bmain->id_tag_update[id->name[0]]) { updated = 1; break; } |